SimGrid: SD Data Types

SimGrid 3.10 Versatile Simulation of Distributed Systems

- Home page
- Online documentation
- Dev's Corner

All Data Structures Functions Variables Typedefs Enumerations Enumerator Groups Pages
Typedefs | Enumerations
SD Data Types
SimDag

This section describes the different datatypes provided by SD. More...

## Typedefs
typedef xbt_dictelm_t | SD_workstation_t
| Workstation datatypeA workstation is a place where a task can be executed. A workstation is represented as a physical resource with computing capabilities and has a name.
typedef struct SD_link * | SD_link_t
| Link datatypeA link is a network node represented as a name, a current bandwidth and a current latency. A route is a list of links between two workstations.
typedef struct SD_task * | SD_task_t
| Task datatypeA task is some computing amount that can be executed in parallel on several workstations. A task may depend on other tasks, this means that the task cannot start until the other tasks are done. Each task has a state indicating whether the task is scheduled, running, done, etc.
typedef xbt_dictelm_t | SD_storage_t
| Storage datatypeTODO PV: comment it !

## Enumerations
enum | e_SD_workstation_access_mode_t { SD_WORKSTATION_SHARED_ACCESS, SD_WORKSTATION_SEQUENTIAL_ACCESS }
| Workstation access modeBy default, a workstation resource is shared, i.e. several tasks can be executed at the same time on a workstation. The CPU power of the workstation is shared between the running tasks on the workstation. In sequential mode, only one task can use the workstation, and the other tasks wait in a FIFO. More...
enum | e_SD_task_state_t { SD_NOT_SCHEDULED = 0, SD_SCHEDULABLE = 0x0001, SD_SCHEDULED = 0x0002, SD_RUNNABLE = 0x0004, SD_IN_FIFO = 0x0008, SD_RUNNING = 0x0010, SD_DONE = 0x0020, SD_FAILED = 0x0040 }
| Task states. More...
enum | e_SD_task_kind_t { SD_TASK_NOT_TYPED = 0, SD_TASK_COMM_E2E = 1, SD_TASK_COMP_SEQ = 2, SD_TASK_COMP_PAR_AMDAHL = 3, SD_TASK_COMM_PAR_MXN_1D_BLOCK = 4 }
| Task kinds. More...

## Detailed Description

This section describes the different datatypes provided by SD.

## Typedef Documentation

typedef xbt_dictelm_t SD_workstation_t

Workstation datatypeA workstation is a place where a task can be executed. A workstation is represented as a physical resource with computing capabilities and has a name.

See Also
  Workstations

typedef struct SD_link* SD_link_t

Link datatypeA link is a network node represented as a name, a current bandwidth and a current latency. A route is a list of links between two workstations.

See Also
  Links

typedef struct SD_task* SD_task_t

Task datatypeA task is some computing amount that can be executed in parallel on several workstations. A task may depend on other tasks, this means that the task cannot start until the other tasks are done. Each task has a state indicating whether the task is scheduled, running, done, etc.

See Also
  Tasks

typedef xbt_dictelm_t SD_storage_t

Storage datatypeTODO PV: comment it !

See Also
  SD_storage_management

## Enumeration Type Documentation

enum e_SD_workstation_access_mode_t

Workstation access modeBy default, a workstation resource is shared, i.e. several tasks can be executed at the same time on a workstation. The CPU power of the workstation is shared between the running tasks on the workstation. In sequential mode, only one task can use the workstation, and the other tasks wait in a FIFO.

See Also
  SD_workstation_get_access_mode(), SD_workstation_set_access_mode()

Enumerator:

  SD_WORKSTATION_SHARED_ACCESS | Several tasks can be executed at the same time.
  SD_WORKSTATION_SEQUENTIAL_ACCESS | Only one task can be executed, the others wait in a FIFO.

enum e_SD_task_state_t

Task states.

See Also
  Tasks

Enumerator:

  SD_NOT_SCHEDULED | Initial state (not valid for SD_watch and SD_unwatch).
  SD_SCHEDULABLE | A task becomes SD_SCHEDULABLE as soon as its dependencies are satisfied.
  SD_SCHEDULED | A task becomes SD_SCHEDULED when you call function SD_task_schedule. SD_simulate will execute it when it becomes SD_RUNNABLE.
  SD_RUNNABLE | A scheduled task becomes runnable is SD_simulate as soon as its dependencies are satisfied.
  SD_IN_FIFO | A runnable task can have to wait in a workstation fifo if the workstation is sequential.
  SD_RUNNING | An SD_RUNNABLE or SD_IN_FIFO becomes SD_RUNNING when it is launched.
  SD_DONE | The task is successfully finished.
  SD_FAILED | A problem occurred during the execution of the task.

enum e_SD_task_kind_t

Task kinds.

See Also
  Tasks

Enumerator:

  SD_TASK_NOT_TYPED | no specified type
  SD_TASK_COMM_E2E | end to end communication
  SD_TASK_COMP_SEQ | sequential computation
  SD_TASK_COMP_PAR_AMDAHL | parallel computation (Amdahl's law)
  SD_TASK_COMM_PAR_MXN_1D_BLOCK | MxN data redistribution (1D Block distribution)