STAPL API Reference          
Overview   Containers   Algorithms   Views   Skeletons   Run-Time System
Modules     Classes    
Modules
Runtime System

The STAPL Runtime System (RTS) is the runtime system of STAPL that provides platform abstraction and portable performance for the rest of the components of STAPL. More...

+ Collaboration diagram for Runtime System:

Modules

 Adaptive Remote Method Invocation (ARMI)
 Parallelism, communication and synchronization support.
 
 Serialization
 Support for packing/unpacking of arbitrary types.
 
 Executors
 stapl::paragraph_impl::paragraph task execution support.
 
 Counters
 Hardware counters support.
 
 Instrumentation
 Runtime System and application instrumentation support.
 
 Runtime System implementation
 Support functions and classes for the STAPL Runtime System (RTS).
 

Detailed Description

The STAPL Runtime System (RTS) is the runtime system of STAPL that provides platform abstraction and portable performance for the rest of the components of STAPL.

The STAPL Runtime System (RTS) provides support for, and abstracts, parallel processing for different parallel architectures (e.g., clusters, Cray Supercomputer, IBM Supercomputers and others), and for different parallel paradigms (e.g., C++11 threads, OpenMP, MPI) that would generally be used to run on such architectures.

Essentially, the RTS provides all the tools a developer needs to express parallelism. Most of STAPL's components, such as pContainers, pViews, PARAGRAPH, rely heavily on the RTS. Details of parallel execution are handled by the run-time system, allowing other components to cleanly express a given concept.

Currently, the RTS contains the following main components:

  1. Adaptive Remote Method Invocation (ARMI), the Adaptive Remote Method Invocation primitives that are designed to abstract communication and synchronization,
  2. Serialization that allows the transport of C++ objects seemlessly when doing communication,
  3. Executors that handle the execution of tasks that are deemed runnable from the PARAGRAPH,
  4. Counters that abstract platform specific counters, such as wall-clock timers, cache miss/hit counters and others and
  5. Instrumentation that provides hooks to tools such as TAU, Vampir, MPE and others for instrumenting STAPL code.