Omnia vincit amor
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


  Events



LogGOPSim - A LogGOPS (LogP, LogGP, LogGPS) 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!
  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.

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").

[1] T. Hoefler, T. Schneider and A. Lumsdaine:
 LogGOPSim - Simulating Large-Scale Applications in the LogGOPS Model Jun. 2010, Accepted at the ACM Workshop on Large-Scale System and Application Performance (LSAP 2010) LSAP'10 Best Paper Award
[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.94:26995© Torsten Hoefler