SimGrid
3.16
Versatile Simulation of Distributed Systems
|
▼MSG: Simulate CSP Algorithms | Simple programming environment |
Main MSG simulation Functions | How to setup and control your simulation |
Process Management Functions | This section describes the process structure of MSG (msg_process_t) and the functions for managing it |
Host Management Functions | Host structure of MSG |
Task Management Functions | Task structure of MSG (msg_task_t) and associated functions |
Mailbox Management Functions | Functions associated to mailboxes |
Task Actions | This section describes the functions that can be used by a process to execute, communicate or otherwise handle some task |
Explicit Synchronization Functions | Explicit synchronization mechanisms: semaphores (msg_sem_t) and friends |
VMs | Interface created to mimic IaaS clouds |
Storage Management Functions | Storage structure of MSG (msg_storage_t) and associated functions, inspired from POSIX |
File Management Functions | MSG files (msg_file_t) and associated functions, inspired from POSIX |
Trace-driven simulations | This section describes the functions allowing to build trace-driven simulations |
MSG examples | Find the MSG example fitting your needs from the extensive set provided in the archive |
▼SimDag: Simulate 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++) | Exceptions support |
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. |
▼Swag: O(1) set datatype | O(1) set based on linked lists |
Swag types | Specific set |
SWAG functions | |
Swag cursor | Iterates over the whole swag |
Heap: generic heap data structure | This section describes the API to generic heap with O(log(n)) access |
▼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 | |
File manipulation functions | This module redefine some quite classical functions such as xbt_getline() or xbt_dirname() for the platforms lacking them |
▼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 |
▼SIMIX | POSIX-like interface for building simulation |
SIMIX datatypes management details | |
Process Management Functions | |
Host Management Functions | |
RDV Management Functions | |
Communication Management Functions | |
Synchronisation Management Functions | |
File Management Functions | |
▼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 |
▼S4U: Next Generation SimGrid API | Future core API, mixing the full power of SimGrid to the power of C++ |
S4U examples | Find the S4U example fitting your needs in the archive |
SMPI: Simulate real MPI applications | Programming environment for the simulation of MPI applications |
Plugin_load | This plugin makes it very simple for users to obtain the current load for each host |