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., :term:`campus job` versus :term:`batch job`). .. glossary:: Array Job array job array jobs An array of identical tasks being differentiated only by an index number and treated by the :term:`scheduler` as a series of jobs. .. glossary:: batch job batch jobs unix batch job In a batch :term:`job` the :term:`scheduler` dispatches a shell script or a binary file to be executed on one (e.g., :term:`serial jobs` or :term:`shared memory jobs`) or more (:term:`distributed memory jobs`) :term:`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). .. glossary:: batch batch execution A :term:`unix job` submitted to remote resources to be executed as resources become available (for example, because other jobs terminate). .. glossary:: *campus job* *campus jobs* On the Hoffman2 Cluster, *campus jobs* refer to :term:`jobs` submitted by users in groups that have not contributed :term:`compute nodes` to the cluster. The :term:`jobs` are limited to run on the IDRE-owned :term:`compute nodes` with a run time of up to 24 hours. .. glossary:: *campus user* *campus users* On the Hoffman2 Cluster *campus users* refer to users of the cluster who belong to groups that have not contributed :term:`nodes` to the cluster. Their :term:`jobs` are limited to run on the IDRE-owned :term:`nodes` with a run time of up to 24 hours. .. glossary:: command line interpreter command line unix command line The program that interprets the user input. It is ready to accept input when the :term:`shell prompt` is showing. .. glossary:: 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 the ``qsub -l`` option and for the interpretation of these parameters within the Univa Grid Engine system.\" .. glossary:: compute cluster A collection of networked :term:`hosts` interconnected, which aggregate computing power can be used to address computational tasks that require distributed or capacity computing. .. glossary:: compute node compute nodes A :term:`node` in the cluster used to perform computations. Some nodes with GPU cards are referred to as :term:`GPU nodes`. .. glossary:: 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 :term:`nodes` on the cluster. On the Hoffman2 Cluster distributed memory jobs should be scheduled requesting the correct number of :term:`slots` (or computing cores) selecting a distributed parallel environment (see: :ref:`Requesting multiple cores`). .. glossary:: GPU node GPU nodes A :term:`compute node` in the cluster with one or more GPU cards. .. glossary:: interactive job interactive jobs interactive session interactive sessions In an interactive :term:`job` or session the :term:`scheduler` establishes a connection to a :term:`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). .. glossary:: *highp job* *highp jobs* On the Hoffman2 Cluster *highp jobs* refer to :term:`jobs` submitted by users in groups that have contributed :term:`compute nodes` to the cluster and that can run on these :term:`nodes` for extended run times (up to 14 days) and with higher priority. .. glossary:: 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 :term:`unix command line` or initiated by a shell script. .. glossary:: job scheduler scheduler A job scheduler (or scheduler) is a resource manager which dispatches jobs (batch and interactive) on :term:`compute nodes` on the cluster to prevent resource contention. .. glossary:: job submission script submission script command file A job submission script is a shell script containing the instructions to run a :term:`job` (such as setting up the job environment by loading the needed :ref:`modules `, giving the exact command needed to run the executable(s), etc.) including the instructions for the :term:`scheduler` itself (e.g., runtime, memory, number of cores, etc.). .. glossary:: login node login nodes A gateway :term:`node` used to access the cluster, not intended to perform computations. .. glossary:: master node When running a parallel job that requires multiple cores/:term:`slots`, from one or more :term:`compute nodes`, the master node is the head :term:`host` where the scheduled :term:`job` is running. .. glossary:: 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. .. glossary:: 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: :term:`shared memory jobs`, :term:`distributed memory jobs` and hybrid jobs that perform shared memory within a :term:`compute node` and :term:`distributed memory` across multiple :term:`compute nodes`. .. glossary:: prompt shell prompt shell command prompt command prompt A short string of text at the start of the :term:`command line` on a command line interface (i.e., a :term:`shell`). Typically of the form ``$`` in some cases preceded by a field which includes information on the user running the shell, the :term:`host` on which is running and the location within the filesystem from which it is running. .. glossary:: terminal emulator terminal A program that displays the :term:`command line interpreter` (or :term:`shell`). .. glossary:: unix shell unix shells shell shells The Unix shell, or shell, is a program that interprets the user input. It is also known as :term:`command line interpreter` program (between a user and a Unix-like OS). .. glossary:: serial job serial jobs A program that executes instructions one after the other with no parallelization of tasks. .. glossary:: *shared job* *shared jobs* On the Hoffman2 Cluster *shared jobs* refer to :term:`jobs` submitted by users in groups that have contributed :term:`compute nodes` to the cluster and that can run on unused :term:`nodes` of other contributors (for up to 24 hours). .. glossary:: shared memory job shared memory jobs shared memory 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 :term:`slots` (or computing cores) selecting a shared parallel environment (see: :ref:`Requesting multiple cores`). .. glossary:: slave node slave nodes When running a parallel job that requires multiple cores/:term:`slots` from one or more :term:`compute nodes`, slave node(s) is/are the additional :term:`hosts` where the scheduled job is running. .. glossary:: 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 :term:`serial job` occupies at most one slot (that is one computing core).