Difference between revisions of "Parallel Simulations"

From Nsnam
Jump to: navigation, search
(Suggestions from Mathieu Lacage)
Line 1: Line 1:
 
{{TOC}}
 
{{TOC}}
  
Link [http://www.nsnam.org/wiki/index.php/Suggested_Projects back to Suggested Projects page]
+
= Project Background =
 +
This approach analyses the current NS3 architecture, spot areas of parallelization and build the fundamentals algorithms to achieve performance gains!
 +
Main goal is a CPU local parallelization but an powerful architecture on the other hand should also scale in large (in a distributed environments).
  
== Suggestions from Mathieu Lacage ==
+
The approach should be universal and transparent for all major subsystems withing the simulator. Therefore an additional abstraction layer should be introduced to hide all implementation issues and enable the possibility to disable the parallelization completely, substitute or enhance the algorithms. The additional layer is an increment, the first usable results should illume where an interface is suitable. Focus is still an working implementation!
 +
 
 +
= Project Plan =
 +
* Literature study
 +
* Basic parallelization and packet serialization/serialization
 +
* Synchronization approach
 +
** Node local (CMP/SMP)
 +
** Distributed (MPI)
 +
* Subsystem isolation (WHERE to split the NS3 system for parallelization)
 +
* Clean parallelization layer with the following characteristics
 +
** as few as possible interaction with other subsystems
 +
** minimal overhead
 +
** new technologies should be implemented without knownledge of the underlying algorithm (e.g. interference calculation for wireless nodes)
 +
** last but not least: the introduced algorithm should scale well for uniprocessor systems as same as TOP500.org clusters! ;)
 +
 
 +
= Approach =
 +
 
 +
Current approach and fundamental algorithm is based on a space parallel paradigm. Nodes are merged into subsets where each subset represent a working thread (consider this as a thread, local process or distributed working task).
 +
 
 +
= Status =
 +
 
 +
* Packets are transmitted and received via vanilla socket communication to test the serialization/deserialization behavior. Especially attention must consider the Packet meta data (e.g. tags).
 +
 
 +
 
 +
= Similar Parallelization Approaches =
 +
* omnet++ [http://www.omnetpp.org/doc/parsim-api/main.html]
 +
 
 +
 
 +
 
 +
= Suggestions from Mathieu Lacage =
  
 
These were posted on the ns-developers mailing-list:
 
These were posted on the ns-developers mailing-list:
 
http://mailman.isi.edu/pipermail/ns-developers/2008-March/003829.html
 
http://mailman.isi.edu/pipermail/ns-developers/2008-March/003829.html
  
Interested students could also consider studying existing implementations of similar algorithms. omnet++ has a nice implementation in their sim/parsim directory (download their last version). Doxygen-generated documentation about this implementation can be found there:
+
= Literature =
http://www.omnetpp.org/doc/parsim-api/main.html
+
 
 +
GloMoSim: A Library for Parallel Simulation of Large-scale Wireless Networks [www.qualnet.com/pdf/glomosim.pdf]

Revision as of 12:04, 14 May 2008

Main Page - Current Development - Developer FAQ - Tools - Related Projects - Project Ideas - Summer Projects

Installation - Troubleshooting - User FAQ - HOWTOs - Samples - Models - Education - Contributed Code - Papers

Project Background

This approach analyses the current NS3 architecture, spot areas of parallelization and build the fundamentals algorithms to achieve performance gains! Main goal is a CPU local parallelization but an powerful architecture on the other hand should also scale in large (in a distributed environments).

The approach should be universal and transparent for all major subsystems withing the simulator. Therefore an additional abstraction layer should be introduced to hide all implementation issues and enable the possibility to disable the parallelization completely, substitute or enhance the algorithms. The additional layer is an increment, the first usable results should illume where an interface is suitable. Focus is still an working implementation!

Project Plan

  • Literature study
  • Basic parallelization and packet serialization/serialization
  • Synchronization approach
    • Node local (CMP/SMP)
    • Distributed (MPI)
  • Subsystem isolation (WHERE to split the NS3 system for parallelization)
  • Clean parallelization layer with the following characteristics
    • as few as possible interaction with other subsystems
    • minimal overhead
    • new technologies should be implemented without knownledge of the underlying algorithm (e.g. interference calculation for wireless nodes)
    • last but not least: the introduced algorithm should scale well for uniprocessor systems as same as TOP500.org clusters! ;)

Approach

Current approach and fundamental algorithm is based on a space parallel paradigm. Nodes are merged into subsets where each subset represent a working thread (consider this as a thread, local process or distributed working task).

Status

  • Packets are transmitted and received via vanilla socket communication to test the serialization/deserialization behavior. Especially attention must consider the Packet meta data (e.g. tags).


Similar Parallelization Approaches


Suggestions from Mathieu Lacage

These were posted on the ns-developers mailing-list: http://mailman.isi.edu/pipermail/ns-developers/2008-March/003829.html

Literature

GloMoSim: A Library for Parallel Simulation of Large-scale Wireless Networks [www.qualnet.com/pdf/glomosim.pdf]