====== LUNES: Large Unstructured NEtwork Simulator ======
The main goal of LUNES is the efficient simulation of complex protocols on top of large scale, unstructured networks.
It offers an efficient and easy-to-use tool for the simulation of complex protocols on top of large graphs. In practice, LUNES is able to import the graph topologies generated by other tools (e.g. igraph) and provides the functionalities that are needed for the performance evaluation of simulated protocols.
LUNES has been designed to clearly split the fundamental phases:
* network topology creation;
* protocol simulation in a specific testbed;
* traces analysis (i.e. performance evaluation).
This modular approach permits the easy integration of external software tools. In practice, such integration is based on very simple template files (such as the graphviz dot language) and provides a good level of extensibility. Under the performance and scalability viewpoint, the most demanding points are the protocol simulation and the traces analysis.
The first one is demanded to the [[pads:artis|ARTÌS]] middleware and the [[pads:gaia|GAIA/GAIA+]] framework, such tools are based on the Parallel And Distribute Simulation (PADS) approach and provide a very good level of scalability. LUNES has been written in such a way to be able to exploit the adaptive re-configuration features provided by GAIA+.
The second one, that is the traces analysis, has been excluded from the simulation tasks and some specific software tools have been implemented. Also in this case, the design and implementation of such tools has been done in such a way to exploit all the computational resources provided by parallel (multi-processor or multi-core) architectures.
===== Features =====
* Most used dissemination protocols (gossip algorithms): conditional broadcast, fixed probability, fixed fanout
* New adaptive dissemination protocols based on model semantics
* Sequential (monolithic) simulation
* Parallel and Distributed Simulation (PADS)
* Adaptive re-allocation (at runtime) of the simulation components for communication and computation load-balancing
* Agent-based simulation approach
* Source code is available
===== Download =====
**The last version of LUNES can be freely downloaded from the [[pads:download|Download]] page.**
===== Documentation =====
For more information on the LUNES design, implementation and performance please see [[http://arxiv.org/abs/1102.0720|DISIO11]] and [[http://arxiv.org/abs/1105.2447|MOSPAS11]]. For a network study based on LUNES see [[https://arxiv.org/abs/1507.08417|JPDC2017]].
For a short guide on the LUNES installation and usage please see the [[pads:lunesinst|LUNES HOWTO]].
===== Citation =====
To cite the LUNES software use:
Gabriele D'Angelo, Stefano Ferretti.
Highly Intensive Data Dissemination in Complex Networks.
Journal of Parallel and Distributed Computing, Elsevier, vol. 99 (January 2017).
ISSN: 0743-7315.
If you use BibTeX for LaTeX, use:
@article{gda-jpdc-2017,
author = "Gabriele D’Angelo and Stefano Ferretti",
title = "Highly intensive data dissemination in complex networks",
journal = "Journal of Parallel and Distributed Computing ",
volume = "99",
number = "",
pages = "28 - 50",
year = "2017",
note = "",
issn = "0743-7315",
doi = "10.1016/j.jpdc.2016.08.004",
url = "http://www.sciencedirect.com/science/article/pii/S0743731516301058",
publisher = {Elsevier}
}
===== Known bugs =====
Up to now there are no known bugs. Bug reports are appreciated but please follow the instructions at the end of the [[pads:lunesinst|LUNES HOWTO]].