SimGrid
3.21
Versatile Simulation of Distributed Systems
|
▼SimDag: Legacy handling of DAG algorithms | Programming environment for DAG applications |
Hosts | Host management |
Links | Link management |
Tasks | Task management |
Tasks dependencies | Functions to specify the dependencies between tasks |
Storages | Storage management |
Simulation | Functions to create the environment and launch the simulation |
▼XBT: SimGrid core toolbox | The core toolbox of SimGrid, containing useful datatypes and friends |
▼Grounding features | Grounding features are the basement of SimGrid |
Malloc and friends | Malloc and associated functions, killing the program on error (with Exception support (C++)) |
String related functions | String manipulation functions |
Exception support (C++) | |
Exception support (C) | Exceptions support (C) |
▼Logging support | A generic logging facility in the spirit of log4j (grounding feature) |
Existing log categories | (automatically extracted) |
Assert macro familly | Those are the SimGrid version of the good ol' assert macro |
▼Configuration support | Changing the configuration of SimGrid components (grounding feature) |
User interface: changing values | This is the only interface you should use unless you want to let your own code become configurable with this |
Configuration type declaration and memory management | |
Registering stuff | This how to add new variables to an existing configuration set |
Getting the stored values | This is how to retrieve the values stored in the configuration set |
▼Mallocators | The mallocator system |
Mallocator constructor and destructor | |
Mallocator object handling | |
Unit testing support | Unit testing implementation (see Adding unit tests) |
▼Usual data structures | Here are the basic data containers that every C programmer rewrites one day |
▼Dynar: generic dynamic array | DynArr are dynamically sized vector which may contain any type of variables |
Dynar constructor and destructor | |
Dynar as a regular array | |
Dynar miscellaneous functions | |
Perl-like use of dynars | |
Direct manipulation to the dynars content | Those functions do not retrieve the content, but only their address |
Speed optimized access to dynars of scalars | While the other functions use a memcpy to retrieve the content into the user provided area, those ones use a regular affectation |
Cursors on dynar | Cursors are used to iterate over the structure |
▼Dict: generic dictionnary | The dictionary data structure (comparable to hash tables) |
Dict constructor and destructor | |
Dictionaries basic usage | Careful, those functions assume that the key is null-terminated |
Dictionaries with non-nul terminated keys | Those functions work even with non-null terminated keys |
Cursors on dictionaries | Don't get impressed, there is a lot of functions here, but traversing a dictionary is immediate with the xbt_dict_foreach macro. |
▼Miscellaneous | Here are several general purposes library components designed specially for you, you lucky one |
General purpose graph library | A graph data type with several interesting algorithms |
Parallel map | Parallel map |
Simulated Synchronization | XBT synchronization tools |
Thread stuff | Thread portability layer |
Portable context implementation | Contexts are a higher level system than setjump/longjmp for non-preemptible threads |
Replay | |
▼TRACING | Gather data about your simulation for later analysis |
Tracing categories | Functions to declare tracing categories |
Tracing marks | Functions to declare and create tracing marks |
Tracing user variables | Functions to declare and define user variables associated to resources |
Routing: Determining the communication paths | Organize the platform to determine the links used by each communication |
▼SURF | Internal kernel of all the simulators used in SimGrid, and associated models |
Simulation Models | Functions to declare the kind of models that you want to use |
Simulation | Functions for creating the environment and launching the simulation |
Create a new API | How to build a new API on top of SURF |
SURF C bindings | Describes the c bindings of SURF |
SURF Interface | Describes the general interface for all components (Cpu, Network, Storage, Host, VM) |
SURF Cpu Interface | Describes the general Cpu interface for all Cpu implementations |
SURF Network Interface | Describes the general Network interface for all Network implementations |
SURF Storage Interface | Describes the general interface for all Storage implementations |
SURF Host Interface | Describes the general interface for all Host implementations |
SURF VM Interface | Describes the general interface for all VM implementations |
SURF Linear MaxMin | Describes how the linear MaxMin system work |
SURF callbacks | Describes how to use the SURF callbacks |
Energy Plugin | Describes how to use the energy plugin |
MSG examples | Find the MSG example fitting your needs from the extensive set provided in the archive |
SURF_plugin_load | This plugin makes it very simple for users to obtain the current load for each host |
Plugin_load | This plugin makes it very simple for users to obtain the current load for each host |
SURF_plugin_energy | This is the link energy plugin, accounting for the dissipated energy in the simulated platform |