SimGrid
3.14.159
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) |
Assert macro familly | Those are the SimGrid version of the good ol' assert macro |
►Configuration support | Changing the configuration of SimGrid components (grounding feature) |
►Mallocators | The mallocator system |
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 |
►Dict: generic dictionnary | The dictionary data structure (comparable to hash tables) |
►Fifo: generic workqueue | This section describes the API to generic workqueue |
►Swag: O(1) set datatype | O(1) set based on linked lists |
Heap: generic heap data structure | This section describes the API to generic heap with O(log(n)) access |
String buffers | This data container is very similar to the Java StringBuffer: that's a string to which you can add content with a lesser performance penalty than if you recreate a new string from scratch |
▼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 |
SURF 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 |