Glossary¶
Note
The use of italic on anyone of the following glossary entries signifies that the term is specific to the Hoffman2 Cluster (e.g., campus job versus batch job).
- Array Job¶
- array job¶
- array jobs¶
An array of identical tasks being differentiated only by an index number and treated by the scheduler as a series of jobs.
- batch job¶
- batch jobs¶
- unix batch job¶
In a batch job the scheduler dispatches a shell script or a binary file to be executed on one (e.g., serial jobs or shared memory jobs) or more (distributed memory jobs) compute nodes, using the computational resources (e.g., runtime, memory, number or core, etc.) that have been requested (and which are reserved by the scheduler for the use of said script/binary).
- batch¶
- batch execution¶
A unix job submitted to remote resources to be executed as resources become available (for example, because other jobs terminate).
- campus job¶
- campus jobs¶
On the Hoffman2 Cluster, campus jobs refer to jobs submitted by users in groups that have not contributed compute nodes to the cluster. The jobs are limited to run on the IDRE-owned compute nodes with a run time of up to 24 hours.
- campus user¶
- campus users¶
On the Hoffman2 Cluster campus users refer to users of the cluster who belong to groups that have not contributed nodes to the cluster. Their jobs are limited to run on the IDRE-owned nodes with a run time of up to 24 hours.
- command line interpreter¶
- command line¶
- unix command line¶
The program that interprets the user input. It is ready to accept input when the shell prompt is showing.
- complex¶
- complexes¶
A complex is the definition of requestable resource within the Univa Grid Manager (UGE) (the current job scheduler on the Hoffman2 Cluster). From
man complex
: "The definition of complex attributes provides all pertinent information concerning the resource attributes a user may request for a Univa Grid Engine job via theqsub -l
option and for the interpretation of these parameters within the Univa Grid Engine system."
- compute cluster¶
- compute clusters¶
A collection of networked hosts interconnected, which aggregate computing power can be used to address computational tasks that require distributed or capacity computing.
- compute node¶
- compute nodes¶
A node in the cluster used to perform computations. Some nodes with GPU cards are referred to as GPU nodes.
- distributed memory job¶
- distributed memory jobs¶
- distributed memory¶
Distributed memory jobs are programs that execute part or all of their instructions concurrently (i.e., in parallel) employing different workers all of which operate on the different set of data (distributed memory). Processes exchange information by message passing. Since each process operates on its own private memory space, distributed memory jobs can be distributed across many nodes on the cluster. On the Hoffman2 Cluster distributed memory jobs should be scheduled requesting the correct number of slots (or computing cores) selecting a distributed parallel environment (see: Requesting multiple cores).
- GPU node¶
- GPU nodes¶
A compute node in the cluster with one or more GPU cards.
- interactive job¶
- interactive jobs¶
- interactive session¶
- interactive sessions¶
In an interactive job or session the scheduler establishes a connection to a compute node on which users can run one or more commands, using the computational resources (e.g., runtime, memory, number or core, etc.) that they have requested (and which are reserved by the scheduler for their use).
- highp job¶
- highp jobs¶
On the Hoffman2 Cluster highp jobs refer to jobs submitted by users in groups that have contributed compute nodes to the cluster and that can run on these nodes for extended run times (up to 14 days) and with higher priority.
- HPC¶
High-Performance Computing (HPC) refers to the use of distributing and capacity computing facilities (such as compute clusters) to solve computational problems that cannot be addressed, in a timely fashion (or not at all), on a personal computer.
- job¶
- jobs¶
- unix job¶
- unix jobs¶
In a unix-like operating system a job is a group of processes initiated either by one of more commands issued at the unix command line or initiated by a shell script.
- job scheduler¶
- scheduler¶
A job scheduler (or scheduler) is a resource manager which dispatches jobs (batch and interactive) on compute nodes on the cluster to prevent resource contention.
- job submission script¶
- submission script¶
- command file¶
A job submission script is a shell script containing the instructions to run a job (such as setting up the job environment by loading the needed modules, giving the exact command needed to run the executable(s), etc.) including the instructions for the scheduler itself (e.g., runtime, memory, number of cores, etc.).
- login node¶
- login nodes¶
A gateway node used to access the cluster, not intended to perform computations.
- master node¶
When running a parallel job that requires multiple cores/slots, from one or more compute nodes, the master node is the head host where the scheduled job is running.
- node¶
- nodes¶
- host¶
- hosts¶
A node, or a host, is a physical server (i.e, enterprise computer) containing multiple CPU cores and interconnected to other nodes to form the cluster.
- parallel job¶
- parallel jobs¶
A parallel job executes a program of which some instructions are executed concurrently from different workers. Parallel jobs are divided in: shared memory jobs, distributed memory jobs and hybrid jobs that perform shared memory within a compute node and distributed memory across multiple compute nodes.
- prompt¶
- shell prompt¶
- shell command prompt¶
- command prompt¶
A short string of text at the start of the command line on a command line interface (i.e., a shell). Typically of the form
$
in some cases preceded by a field which includes information on the user running the shell, the host on which is running and the location within the filesystem from which it is running.
- terminal emulator¶
- terminal¶
A program that displays the command line interpreter (or shell).
- unix shell¶
- unix shells¶
- shell¶
- shells¶
The Unix shell, or shell, is a program that interprets the user input. It is also known as command line interpreter program (between a user and a Unix-like OS).
- serial job¶
- serial jobs¶
A program that executes instructions one after the other with no parallelization of tasks.
On the Hoffman2 Cluster shared jobs refer to jobs submitted by users in groups that have contributed compute nodes to the cluster and that can run on unused nodes of other contributors (for up to 24 hours).
Shared memory jobs are programs that execute part or all of their instructions concurrently (i.e., in parallel) employing different workers all of which operate on the same set of data (shared memory). On the Hoffman2 Cluster shared memory jobs should be scheduled requesting the correct number of slots (or computing cores) selecting a shared parallel environment (see: Requesting multiple cores).
- slave node¶
- slave nodes¶
When running a parallel job that requires multiple cores/slots from one or more compute nodes, slave node(s) is/are the additional hosts where the scheduled job is running.
- slot¶
- slots¶
Within the Univa Grid Engine, slots are units of computing on which processes of a job can be scheduled on. On the Hoffman2 Cluster a slot is the same as a CPU core. A single-threaded serial job occupies at most one slot (that is one computing core).