Elsevier

Computer Networks

Volume 50, Issue 12, 24 August 2006, Pages 2028-2053
Computer Networks

Genesis: A scalable distributed system for large-scale parallel network simulation

https://doi.org/10.1016/j.comnet.2005.10.002Get rights and content

Abstract

The complexity and dynamics of the Internet is driving the demand for scalable and efficient network simulation. In this paper, we describe a novel approach to scalability and efficiency of parallel network simulations. This approach is based on partitioning of a network into domains and of the simulation time into intervals. Each domain is simulated independently of and concurrently with the others over the same simulation time interval. At the end of each interval, traffic statistics data, including per flow average packet delays and packet drop rates, are exchanged between domain simulators. The simulators iterate over the same time interval until the exchanged information converges, that is until the certain metric of a difference between the information exchanged in two subsequent iterations is smaller than a prescribed precision. After convergence, all simulators progress to the next time interval. This approach allows the parallelization with infrequent synchronization, and achieves significant simulation speedups.

Large memory size required by simulation software hinders the simulation of large-scale networks. To overcome this problem, our system supports distribution of network information by assigning to each participating simulator only data related to the part of the network that it simulates. Such a solution supports simulations of large-scale networks on machines with modest memory size.

Introduction

In simulating large-scale networks at the packet-level, a major difficulty is the enormous computational power needed to execute all events that packets undergo in a network [5]. Conventional simulation techniques require tight synchronization for each individual event that crosses the processor boundary [1]. The inherent characteristics of network simulations are fine granularity of events (individual packet transitions in a network) and high ratio of events that transfer a packet from a network node assigned to one processor to the network node assigned to the other. These two factors severely limit parallel efficiency of the network simulation executed under the traditional protocols [1].

Another difficulty is the size of memory required by large-scale network simulations. With the current trend of simulating ever larger and more complicated networks, the memory size becomes a bottleneck. Typically, the entire network configuration and routing information needs to be accessible to each processor and such a solution requires large total memory during construction of the simulated network. Additionally, the memory needed by each processor increases also with the intensity of traffic flows that dictate the size of the future event list. Although memory requirements can be tampered by the good design and implementation of the simulation software [7], we believe that to simulate truly large networks, the comprehensive, distributed memory approach is needed.

This paper describes our long-term research on developing an architecture that can efficiently simulate very large heterogeneous networks in near real time [17]. Our approach combines simulation and modeling in a single execution. The network parts, called domains, are simulated at the packet-level concurrently with each other. Each domain maintains the model of the network external to itself which is built by using periodically output from other domain simulations. If this model is faithfully representing the network, the domain simulation will exactly represent the behavior of its domain, so its output will ensure the correctness of models maintained by the other simulations. Each domain simulation repeats its execution, each time adjusting its model of the rest of the network and feeding the other simulations with increasingly precise model of its own domain. As a result, all domain simulations collectively converge to the consistent state of all domains and all models.

Thanks to the coarse granularity synchronization mechanism employed, our system is able to use different simulators in a single coherent network simulation. Hence we called it General Network Simulation Integration System, or Genesis in short.

Genesis addresses also the large memory requirement problem in large-scale network simulations. Many parallel simulation systems achieved speed-up in simulation time, however, they also required that every machine involved had big enough memory to hold the full network information. This requirement is most easily achieved through a system with shared memory. In Genesis, in contrast, memory usage is fully distributed. Each Genesis domain simulator stores only a part of the network, together with some additional information which is required to cooperate with other simulators. In such a way, large networks can be simulated by clusters of machines with smaller dedicated memory on each of them.

Our approach underlying Genesis can also be seen as a variant of a general scheme for optimistic simulation referred to as Time-Space Mappings proposed by Chandy and Sherman in [2]. Although all optimistic simulations can be viewed as variants of this scheme, very few apply, as we do, iterations over the same time interval to find a solution.

Section snippets

A novel view of network simulation

In large-scale network simulations, frequent remote events cause high synchronization overhead when parallel or distributed simulation techniques are used. A “general rule” for parallel and distributed simulations is that each event that is created on one processor and needs to be executed on the other introduces synchronization overhead. The processors involved in such an event need to be synchronized for this event and this delays their execution. This general rule limits the improvement of

System components

Genesis adopted some approaches common to parallel and distributed simulation systems. Hence, it contains all the general components for these systems, adjusted to meet the special needs of coarse granularity synchronization.

In conventional parallel or distributed simulation which uses the space partitioning technique to divide network into domains, the system usually consists of these general components:

  • 1.

    Network partitioning. The network topology being simulated is logically partitioned into

Non-BGP network simulation experiments

Our first set of experiments for the Genesis involved two sample network configurations, one with 64 nodes and 576 UDP and TCP flows, the other with 27 nodes and rich inter-connection structure with 162 UDP and TCP flows. These networks are symmetrical in their internal topology. We simulated them on multiple processors by partitioning them into different numbers of domains with varying number of nodes in each domain. The rate at which packets are generated and the convergence criterion are

Conclusions

The need for scalable and efficient network simulators increases with the rapidly growing complexity and dynamics of the Internet. In this paper we introduced a novel scheme, implemented in Genesis, to support scalable, efficient parallel network simulation. Our results indicate that the superlinear speedup for the single iteration step is possible and is the result of the non-linear complexity of the network simulation. Our approach achieved significant speedup in the simulations of different

Acknowledgements

We would like to acknowledge the contributions of Anand Sastry, Kiran Madnani, Qiuju Gu and Rashim Gupta to the development and implementation of the ideas presented herein.

Yu Liu received his Ph.D. degree in Computer Science from Rensselaer Polytechnic Institute in 2004 and his BS and MS degrees in Computer Science from South China University of Technology. His research interests include distributed network simulation and network managements.

References (22)

  • S. Bhatt et al.

    Parallel simulation techniques for large-scale networks

    IEEE Commun. Mag.

    (1998)
  • K.M. Chandy, R. Sherman, Space-time and simulation, in: Proc. of Distributed Simulation, Society for Computer...
  • Dartmouth College, DaSSFNet (Dartmouth SSFNet). Available from:...
  • L.R. Klein

    The LINK model of world trade with application to 1972–1973

    Quantitative Studies of International Economic Relations

    (1975)
  • L.A. Law et al.

    Simulation software for communication networks: the state of the art

    IEEE Commun. Mag.

    (1994)
  • K. Mandani, B. Szymanski, Integrating distributed wireless simulation into genesis framework, in: Proc. of Summer...
  • D. Nicol, Comparison of network simulators revisited. Available from:...
  • Y. Liu, B. Szymanski, Distributed packet-level simulation for BGP networks under Genesis, in: Proc. of 2004 Summer...
  • NMS (Network Modeling and Simulation DARPA Program) baseline model. Available from:...
  • ns(network simulator). Available from:...
  • PDNS (Parallel/Distributed NS). Available from: <http://www.cc.gatech.edu/computing/compass/...
  • Cited by (8)

    • A policy-based simulator for assisted adaptive vertical handover

      2011, Proceedings - 2011 IEEE International Symposium on Policies for Distributed Systems and Networks, POLICY 2011
    • Federated simulation of network performance using packet flow modeling

      2009, Summer Computer Simulation Conference 2009, SCSC 2009, Part of the 2009 International Summer Simulation Multiconference, ISMc
    • Remote Network Emulation for Defense Applications

      2008, The Journal of Defense Modeling and Simulation: Applications, Methodology, Technology
    • Tackling the memory balancing problem for large-scale network simulation

      2008, 2008 IEEE International Symposium on Modeling, Analysis and Simulation of Computer and Telecommunication Systems, MASCOTS
    • Federated simulation of network performance using packet flow modeling

      2008, Proceedings of ISCN'08 - 8th International Symposium on Computer Networks
    View all citing articles on Scopus

    Yu Liu received his Ph.D. degree in Computer Science from Rensselaer Polytechnic Institute in 2004 and his BS and MS degrees in Computer Science from South China University of Technology. His research interests include distributed network simulation and network managements.

    Boleslaw K. Szymanski is a Professor at the Department of Computer Science and the Founding Director of the Center for Pervasive Computing and Networking at Rensselaer Polytechnic Institute. He received his Ph.D. in Computer Science from National Academy of Sciences in Warsaw, Poland, in 1976. He is an author and co-author of more than two hundred fifty scientific publications and an Editor-in-Chief of Scientific Programming journal and Area Editor for Simulations, Transactions of SCS. He is an IEEE Fellow and a member of the IEEE Computer Society and Association for Computing Machinery. His research interests include network management, sensor system modeling and simulation, and distributed computing.

    Adnan Saifee received his M.S. degree in Computer Science from Rensselaer Polytechnic Institute in 2001. His research interests include computer networking.

    This work was partially supported by the DARPA Contract F30602-00-2-0537 and by the grant from the University Research Program of CISCO Systems Inc. The content of this paper does not necessarily reflect the position or policy of the US Government or CISCO Systems—no official endorsement should be inferred or implied.

    View full text