Containment Domains C++ API
0.1
Containment Domains C++ API v0.1
|
Classes | |
struct | cd::CDNameT |
A type to uniquely name a CD in the tree. More... | |
Enumerations | |
enum | cd::CDModeT { cd::kStrict =0, cd::kRelaxed } |
Type for specifying whether a CD is strict or relaxed. More... | |
enum | cd::CDExecutionModeT { cd::kExec =0, cd::kReexec } |
Type for specifying whether the current CD is executing for the first time or is currently reexecuting as part of recovery. More... | |
enum | cd::PreserveUseT { cd::kUnsure =0, cd::kReadOnly = 1, cd::kReadWrite = 2 } |
Type to indicate whether preserved data is from read-only or potentially read/write application data. More... | |
The CD-Related Definitions module includes general CD-related type definitions that don't fall into other type definitions (Error Reporting and Preservation/Restoration Types and Methods).
enum cd::CDExecutionModeT |
Type for specifying whether the current CD is executing for the first time or is currently reexecuting as part of recovery.
During reexecution, data is restored instead of being preserved. Additionally, for relaxed CDs, some communication and synchronization may not repeated and instead preserved (logged) values are used. See http://lph.ece.utexas.edu/public/CDs for a detailed description. Note that this is not part of the cd_internal namespace because the application programmer may want to manipulate this when specifying specialized recovery routines.
Enumerator | |
---|---|
kExec |
First execution. |
kReexec |
Rexecution. |
enum cd::CDModeT |
Type for specifying whether a CD is strict or relaxed.
This type is used to specify whether a CD is strict or relaxed. The full definition of the semantics of strict and relaxed CDs can be found in the semantics document under http://lph.ece.utexas.edu/public/CDs. In brief, concurrent tasks (threads, MPI ranks, ...) in two different strict CDs cannot communicate with one another and must first complete inner CDs so that communicating tasks are at the same CD context. Tasks in two different relaxed CDs may communicate (verified data only). Relaxed CDs typically incur additional runtime overhead compared to strict CDs.
Enumerator | |
---|---|
kStrict |
A strict CD. |
kRelaxed |
A relaxed CD. |
enum cd::PreserveUseT |
Type to indicate whether preserved data is from read-only or potentially read/write application data.