SimGrid 3.7.1
Scalable simulation of distributed systems
SimGrid - Scalable simulation of distributed systems, ranging from grids to peer-to-peer systems

SimGrid is a toolkit that provides core functionalities for the simulation of distributed applications in heterogeneous distributed environments. The specific goal of the project is to facilitate research in the area of distributed and parallel application scheduling on distributed computing platforms ranging from simple network of workstations to Computational Grids.


Overview of the toolkit components

As depicted by the following diagram, the SimGrid toolkit is basically three-layered (click on the picture to jump to a specific component).

TRACE Contrib SimDag SMPI GRAS MSG SMPI AMOK XBT
Relationships between the SimGrid components (click to jump to API)

Programmation environments layer

SimGrid provides several programmation environments built on top of a unique simulation kernel. Each environment targets a specific audiance and constitutes a different paradigm. To choose which of them you want to use, you have to think about what you want to do and what would be the result of your work.

If your favorite programming environment/model is not there (BSP, components, OpenMP, etc.) is not represented in the SimGrid toolkit yet, you may consider adding it. You should contact us first on the SimGrid developers mailing list, though.

Simulation kernel layer

The core functionnalities to simulate a virtual platform are provided by a module called SURF. It is very low-level and is not intended to be used as such by end-users. Instead, it serve as a basis for the higher level layer.

SURF main features are a fast max-min linear solver and the ability to change transparently the model used to describe the platform. This greatly eases the comparison of the several models existing in the litterature.

See the SURF section for more details.

Base layer

The base of the whole toolkit is constituted by the XBT (eXtended Bundle of Tools).

It is a portable library providing some grounding features such as Logging support, Exception support and Configuration support. XBT also encompass the following convenient datastructures: Dynar: generic dynamic array, Fifo: generic workqueue, Dict: generic dictionnary, Heap: generic heap data structure, Set: generic set datatype and Swag: O(1) set datatype.

See the XBT section for more details.

Tracing simulation

Finally, a transversal module allows you to trace your simulation. More documentation in the section TRACE documentation


The SimGrid software package can be downloaded from here.

If you are interested in the history of SimGrid and in current and planned development, you can find out more here.

Any question, remark or suggestion are welcome on the SimGrid users mailing list.


CC-GNU LGPL


Back to the main Simgrid Documentation page The version of SimGrid documented here is v3.7.1.
Documentation of other versions can be found in their respective archive files (directory doc/html).
Generated by doxygen