Many current research and development projects require large-scale realistic computer network testbeds for testing and measurement purposes. The access to these testbeds is limited, and their simulation cannot model real-life scenarios, therefore these networks have to be emulated.
Network emulation is a technology in which certain network elements (such as links and switches) are virtual, but with they function the very same as the physical ones. Based on the infrastructure of the network emulation, two kinds of network emulation exist: internal network emulation and distributed network emulation. In case of internal emulation one computer runs the emulated network. Distributed network emulation requires distributed systems, such as computer clusters.
The reliable emulation of large-scale networks require distributed emulation due its high resource requirements. Currently, emulators run on physical clusters mainly due to their dedicated resources; however physical clusters are not easily accessible because setting up and operating them require significant investment and management skills. In contrast, virtual clusters in cloud are easily accessible and have small operation and maintenance costs. But, can virtual clusters provide at least the same reliability as physical clusters do? How effective can cloud-based emulation be in terms of time and cost?
In this thesis I focus on these questions. I present prior art, threatening factors of reliable distributed network emulation and their detection methods. I examine the relevant characteristics of cloud infrastructure with measurements. Based on these measurements, I designed a cost-efficient resource allocation algorithm and its Miniet based implementation. The presentation and evaluation of this algorithm is also a part of the thesis. Moreover, a tool that migrates an existing network emulator to the cloud is presented.