|
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 |