Minha: Large-Scale Distributed Systems Testing Made Practical

Nuno Machado, Francisco Maia, Francisco Neves, Fábio Coelho, José Pereira, Michael Wagner
2020 International Conference on Principles of Distributed Systems  
Testing large-scale distributed system software is still far from practical as the sheer scale needed and the inherent non-determinism make it very expensive to deploy and use realistically large environments, even with cloud computing and state-of-the-art automation. Moreover, observing global states without disturbing the system under test is itself difficult. This is particularly troubling as the gap between distributed algorithms and their implementations can easily introduce subtle bugs
more » ... t are disclosed only with suitably large scale tests. We address this challenge with Minha, a framework that virtualizes multiple JVM instances in a single JVM, thus simulating a distributed environment where each host runs on a separate machine, accessing dedicated network and CPU resources. The key contributions are the ability to run off-the-shelf concurrent and distributed JVM bytecode programs while at the same time scaling up to thousands of virtual nodes; and enabling global observation within standard software testing frameworks. Our experiments with two distributed systems show the usefulness of Minha in disclosing errors, evaluating global properties, and in scaling tests orders of magnitude with the same hardware resources. . MODIST: Transparent model checking of unmodified distributed systems. In NSDI '09. USENIX Association, 2009.
doi:10.4230/lipics.opodis.2019.11 dblp:conf/opodis/MachadoMNC019 fatcat:wozfkiftbrbobpl2jo6egsonyu