Felix, qui, quod amat, defendere fortiter audet
Home -> Research -> LogGOPSim
Home
  Publications
  Professional
  Research
    
LogGOPSim
    NB Collectives
    MPI Topology
    Netgauge
    Networks
    BTL eth
    ORCS
    Older Projects
  Teaching
  BLOG
  Me(e)t me?
  Miscellaneous
  CV
LogGOPSim - A LogGOPS (LogP, LogGP, LogGPS) Simulation Framework

Description

LogGOPSim 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 [1]) 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!
  1. tar xzf LogGOPSim-1.0.tgz && cd LogGOPSim-1.0 && make
  2. tar xzf Schedgen-1.0.tgz && cd Schedgen-1.0 && make

Using the Simulator (Mini Tutorial)

  1. 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
  2. transform GOAL schedule into binary representation:
    LogGOPSim-1.0/txt2bin -i schedule.goal -o schedule.bin
  3. execute simulation:
    LogGOPSim-1.0/LogGOPSim -f schedule.bin

Using the MPI Schedule Generator (Mini Tutorial)

  1. link liballprof to an MPI application, execute the application and collect the traces from /tmp in a single directory
  2. 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
  3. transform schedule into binary representation:
    LogGOPSim-1.0/txt2bin -i ./sweep-sched.goal -o ./sweep-sched.bin -p
  4. 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. 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.

[1] T. Hoefler, C. Siebert and A. Lumsdaine:
 Group Operation Assembly Language - A Flexible Way to Express Collective Communication In ICPP-2009 - The 38th International Conference on Parallel Processing, presented in Vienna, Austria, IEEE, ISBN: 978-0-7695-3802-0, Sep. 2009,

serving: 38.107.191.85:54405© Torsten Hoefler