SimGrid  3.15
Versatile Simulation of Distributed Systems
MSG: Simulate CSP Algorithms

Detailed Description

Simple programming environment.

MSG is a simple API to write algorithms organized with Concurrent Sequential Processes (CSP) that interact by exchanging messages. It constitutes a convenient simplification of the reality of distributed systems. It can be used to build rather realistic simulations, but remains simple to use: most unpleasant technical elements can be abstracted away rather easily.

If you are unsure, then you probably want to use MSG. Otherwise, you may want to use one of the following:

Offered functionalities

Modules

 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.