Distributed Systems in the Wild: The Theoretical Foundations and Experimental Perspectives
Yanyan Zhuang, Stephen Tredger, Chris Matthews, Rick McGeer, Yvonne Coady · 2012
Modernizing experimentation in system-oriented courses such as computer networks and distributed systems is often challenging due to the raw and complex nature of infrastructure testing. In these practical courses, students not only need access to network layers and system kernels, but they often need to reason about consistency issues associated with the distributed nature of these experiments. This paper outlines the pros and cons of redesigning a traditional distributed systems course to incorporate modern experimental facilities for deploying distributed systems, such as Emulab, Seattle and Planet Lab. The possibility of giving students practical and relevant experience coupled with theoretical foundations is explored by considering traditional learning outcomes in the context of new course assignment objectives. A proposed set of experiments, along with their potential pitfalls and shortcomings, provide a basis for an evaluation of the trade-offs of studying distributed systems in the wild.