So after a few months of (occasional) posts, we finally decided to give the blog a name.
Dirty Slate Design reflects a design philosophy for systems and networking research, where deployability is a central goal. While it’s often tempting to try to solve problems by wiping the slate clean and starting afresh, expecting a complete redesign and redeployment of systems as important, complex, and far-flung as the Web or the Internet is rather optimistic at best.
So, rather than implying something that is just “quick and dirty,” this philosophy tries to push new functionality or designs in a way that can be retrofitted into existing systems/networks or can reuse existing mechanisms in new ways, whenever possible. This isn’t to say that clean-slate architectures don’t have their place, either as a “thought experiment” or something that’s trying to look farther over the horizon. And we don’t want to restrain ourselves to incremental improvements given what’s possible with today’s mechanisms, protocols, or technologies. Further, what actually constitutes “clean-slate” versus “dirty-slate” is rather subjective (just look at the NSF FIND projects, for example, where some of these could certainly be incrementally deployed on today’s Internet). Rather, let’s worry about the “dirty details” because systems often have to make non-obvious engineering tradeoffs and operate in complex environments. Because those dirty bits often lead to new, interesting research questions, and the ultimate goal should always be impact.
In the next few weeks or months, we should be describing a bunch of new projects that take some of these ideas to heart, mostly focusing on distributed systems and network architectures for geo-diverse datacenters. Stay tuned.