Home Publications Awards Research NB Collectives MPI Topologies MPI Datatypes Netgauge Network Topologies Ethernet BTL eth ORCS DFSSSP Older Projects cDAG LogGOPSim CoMPIler Teaching Miscellaneous Full CV [pdf] BLOG
Events
Past Events
|
LogGOPSim - A LogGOPS (LogP, LogGP, LogGPS) Simulator and Simulation Framework
Description
LogGOPSim [1] is a simulator for parallel applications and algorithms that
uses the LogGOPS (or LogP, LogGP, or LogGPS) network model to simulate the
execution of parallel algorithms and full applications. The simulator is
intended to work at large scale and can simulate a single collective
operation with up to 10 million processes on a single CPU. The simulator
input format is a dialect of the Group Operation Assembly Language (GOAL [2])
which can easily be generated. We also supply a tool-chain that can
convert MPI traces into simulator input.
Download LogGPSim and Tools
The simulator itself and optional helper tools can be downloaded below:
Building the Simulator and Tools
See README in distribution for details!
- tar xzf LogGOPSim-1.0.tgz && cd LogGOPSim-1.0 && make
- tar xzf Schedgen-1.0.tgz && cd Schedgen-1.0 && make
Using the Simulator (Mini Tutorial)
- generate GOAL schedule for dissemination algorithm among 1024 hosts with 15 bytes:
Schedgen-1.0/schedgen -p dissemination -s 1024 -d 15 -o schedule.goal
- transform GOAL schedule into binary representation:
LogGOPSim-1.0/txt2bin -i schedule.goal -o schedule.bin
- execute simulation:
LogGOPSim-1.0/LogGOPSim -f schedule.bin
Using the MPI Schedule Generator (Mini Tutorial)
- link liballprof to an MPI application, execute the application and collect the traces from /tmp in a single directory
- we use the included Sweep3D example trace:
Schedgen-1.0/schedgen -p trace --traces Schedgen-1.0/liballprof-samples/sweep3d-2x2/pmpi-trace-rank-0.txt -o sweep-sched.goal
- transform schedule into binary representation:
LogGOPSim-1.0/txt2bin -i ./sweep-sched.goal -o ./sweep-sched.bin -p
- execute simulation:
LogGOPSim-1.0/LogGOPSim -f sweep-sched.bin --progress
Simulations with OS Noise Injection
The simulator is also able to simulate the execution under the influence
of OS noise measured on real machines [3]. It can read noise-traces created
with the Netgauge selfish detour and
inject them in the execution (parameter: --noise-trace). By default, the
noise is scheduled randomly. The option --noise-cosched enables co-scheduling
of the noise traces.
Citation
All published work using the simulator should cite [1] (T. Hoefler, T.
Schneider and A. Lumsdaine: "LogGOPSim - Simulating Large-Scale
Applications in the LogGOPS Model").
|