ComplexSim: An SMP-Aware Complex Network Simulation Framework
Fabrizio Messina, Giuseppe Pappalardo, Corrado Santoro · 2012
This paper describes Complex Sim, a C-based simulation framework aiming at providing a simple and powerful support to the study of complex networks and P2P protocols evolution by means of simulations on symmetric multiprocessing (SMP) systems. The lower architectural layer of complex Sim, the Parallel Simulation Kernel, includes a complete support for multi-threading which allows to gain a speedup when running simulations on SMP systems. The Parallel Simulation Kernel allows to define and schedule (parallel) tasks and events with a simple API, without dealing with the management of threads, which are hidden by the simulation kernel itself. The Complex Network Data & Runtime is the architectural upper layer. It allows to define a complex network or P2P system model as a graph of entities with user-defined attributes and runtime behavior. By means of the API of Complex Sim, the user code is able to simulate the evolution of its own model by focusing only on the run-time behavior of the network and the nodes, without necessary dealing with aspects such as graph management, message exchange between nodes, event management, task/thread scheduling.