6. Terminology

PRRTE uses terms adopted from PMIx to describe its operations. Terms include:

Workload Manager (WLM) is often called the scheduler and is responsible for scheduling and assigning resources.

Resource Manager (RM) is the runtime environment (RTE)

Session refers to a set of resources assigned by the WLM that has been reserved for one or more users. A session is identified by a session ID that is unique within the scope of the governing WLM. Historically, HPC sessions have consisted of a static allocation of resources - i.e., a block of resources assigned to a user in response to a specific request and managed as a unified collection. However, this is changing in response to the growing use of dynamic programming models that require on-the-fly allocation and release of system resources. Accordingly, the term session in this project refers to a potentially dynamic entity, perhaps comprised of resources accumulated as a result of multiple allocation requests that are managed as a single unit by the WLM.

Job refers to a set of one or more applications executed as a single invocation by the user within a session with a unique identifier, the job ID, assigned by the RM or launcher. For example, the command line mpiexec -n 1 app1 : -n 2 app2 generates a single MPMD job containing two applications. A user may execute multiple jobs within a given session, either sequentially or concurrently.

Namespace refers to a character string value assigned by the RM to a job. All applications executed as part of that job share the same namespace. The namespace assigned to each job must be unique within the scope of the governing RM and often is implemented as a string representation of the numerical Job ID. The namespace and job terms will be used interchangeably throughout the project.

Application represents a set of identical, but not necessarily unique, execution contexts within a job.

Process is assumed for ease of presentation to be an operating system process, also commonly referred to as a heavyweight process. A process is often comprised of multiple lightweight threads, commonly known as simply threads.

Client refers to a process that was registered with the PMIx server prior to being started, and connects to that PMIx server via PMIx_Init using its assigned namespace and rank with the information required to connect to that server being provided to the process at time of start of execution.

Tool refers to a process that may or may not have been registered with the PMIx server prior to being started and intializes using PMIx_tool_init.