Design and Evaluation of a Virtual Experimental Environment for Distributed Systems

Between simulation and experiments on real-scale testbeds, the combined use of emulation and virtualization provide a useful alternative for performing experiments on distributed systems such as clusters, grids, cloud computing or P2P systems. In this paper, we present Distem, a software tool to build distributed virtual experimental environments. Using an homogeneous set of nodes, Distem emulates a platform composed of heterogeneous nodes (in terms of number and performance of CPU cores), connected to a virtual network described using a realistic topology model. Distem relies on LXC (Linux Containers), a low-overhead container-based virtualization solution, to achieve scalability and enable experiments with thousands of virtual nodes. Distem provides a set of user interfaces to accommodate different needs (command-line for interactive use, Ruby and REST APIs), is freely available and well documented. After a detailed description of Distem, we perform an experimental evaluation of several of its features.

[1]  Olivier Richard,et al.  Lightweight emulation to study peer-to-peer systems , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[2]  JENS GUSTEDT,et al.  Experimental Methodologies for Large-Scale Systems: a Survey , 2009, Parallel Process. Lett..

[3]  Jens Gustedt,et al.  Methods for Emulation of Multi-core CPU Performance , 2011, 2011 IEEE International Conference on High Performance Computing and Communications.

[4]  Amin Vahdat,et al.  DieCast: Testing Distributed Systems with an Accurate Scale Model , 2008, TOCS.

[5]  Olivier Richard,et al.  TakTuk, adaptive deployment of remote executions , 2009, HPDC '09.

[6]  Luigi Rizzo,et al.  Dummynet revisited , 2010, CCRV.

[7]  Mike Hibler,et al.  An integrated experimental environment for distributed systems and networks , 2002, OSDI '02.

[8]  David E. Culler,et al.  Operating Systems Support for Planetary-Scale Network Services , 2004, NSDI.

[9]  Olivier Glück,et al.  Emulation of a grid network cloud: eWAN , 2004 .

[10]  Mark Carson,et al.  NIST Net: a Linux-based network emulation tool , 2003, CCRV.

[11]  Roy T. Fielding,et al.  Principled design of the modern Web architecture , 2000, Proceedings of the 2000 International Conference on Software Engineering. ICSE 2000 the New Millennium.

[12]  Emmanuel Jeannot,et al.  Wrekavoc: a tool for emulating heterogeneity , 2006, Proceedings 20th IEEE International Parallel & Distributed Processing Symposium.

[13]  David M. Nicol,et al.  A Virtual Time System for OpenVZ-Based Network Emulations , 2011, 2011 IEEE Workshop on Principles of Advanced and Distributed Simulation.

[14]  Olivier Richard,et al.  A comparative study of network link emulators , 2009, SpringSim '09.