DocumentCode :
3367284
Title :
Open Network Emulator: A Parallel Direct Code Execution Network Simulator
Author :
Duggirala, Vedavyas ; Varadarajan, Srinidhi
Author_Institution :
Dept. of Comput. Sci., Virginia Tech, Blacksburg, VA, USA
fYear :
2012
fDate :
15-19 July 2012
Firstpage :
101
Lastpage :
110
Abstract :
In this paper, we present the Open Network Emulator (ONE) a network simulator that combines the controllability and scalability of simulation with the direct code execution properties of emulation and experimental test beds. ONE has two novel features. First is a compiler framework that automatically transforms existing network application/protocols written in imperative languages such as C and C++ into composable modules, which can then be combined to create arbitrarily complex network stacks. This compiler framework obviates the need for heavyweight virtualization and enables ONE to execute multiple virtual hosts, each with its own application and network protocol stack, within a single process. The second novel feature of ONE is a new time model called Relativistic Time that combines the controllability of virtual time with the fidelity of real-time. To implement ONE, we ported the complete TCP/IP stack from within the Linux kernel (including the sockets interface, TCP, UDP IPv4 and v6, ICMP, IGMP, traffic shaping, net filters, routing and ARP) and well-known configuration and packet tracing applications such as ifconfig and tcpdump. Existing network applications can be compiled and instantiated within ONE without requiring any source code change. We validated the fidelity of ONE by comparing the packet arrival times of multiple traffic generators on a real network against the arrival times with ONE emulation. Our preliminary performance evaluation of ONE on an 8 core system shows that ONE is highly efficient and can run over 450 virtual hosts connected over point-to-point gigabit links, while still retaining linear behavior.
Keywords :
Linux; discrete event simulation; operating system kernels; program compilers; source coding; transport protocols; virtual machines; virtualisation; Linux kernel; ONE; TCP/IP stack; arbitrarily complex network stack; compiler; controllability; imperative languages; network protocol stack; network simulator; open network emulator; packet tracing application; parallel direct code execution; point-to-point gigabit links; relativistic time model; scalability; source code; traffic generators; virtual host; virtualization; Aerospace electronics; IP networks; Instruction sets; Instruments; Protocols; Real time systems; Weaving; Network Emulation; Network Simulation; Parallel Discrete Event Simulation; Time dilation;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Principles of Advanced and Distributed Simulation (PADS), 2012 ACM/IEEE/SCS 26th Workshop on
Conference_Location :
Zhangjiajie
ISSN :
1087-4097
Print_ISBN :
978-1-4673-1797-9
Type :
conf
DOI :
10.1109/PADS.2012.29
Filename :
6305896
Link To Document :
بازگشت