---
layout: default
---
# Definizioni
Alcune definizioni ricorrenti nell'ambito del **calcolo distribuito** .
job e task
: Nell'informatica, un **job** è un'unità di lavoro o unità di esecuzione
(che esegue detto **job** ). Un componente di un **job** (come unità di lavoro)
è chiamato **task** o **step** (se sequenziale). Come unità di esecuzione, un
**job** può essere concretamente identificato con un singolo processo, che può
a sua volta avere sottoprocessi (processi figli; il processo corrispondente al
**job** essendo il processo genitore) che eseguono i compiti o i passaggi che
compongono il lavoro del **job** ; o con un gruppo di processi; o con un
riferimento astratto a un processo o a un gruppo di processi.
Gestore di code
: Un *sotware* che si occupa di assegnare agli utenti un accesso esclusivo e/o
non esclusivo alle risorse (nodi informatici) per un certo periodo di tempo in
modo che possano eseguire i *job* . Fornisce una struttura per l'avvio,
l'esecuzione e il monitoraggio dei *job* .
Modulo
: I `modulefile` sono file scritti in Tool Command Language, TCL, e sono
interpretati dal programma `module` tramite l'interfaccia utente del modulo.
I file dei moduli possono essere caricati (`load`), scaricati (`unload`) o
commutati al volo (`switch`) mentre l'utente sta lavorando; e possono essere
utilizzati per implementare le politiche del cluster relative all'accesso e
all'utilizzo delle applicazioni.
Scalabilità forte (strong scaling)
: Il numero di processori aumenta mentre la dimensione del problema rimane costante. Ciò si traduce anche in un carico di lavoro ridotto per processore.
Scalabilità debole (weak scaling)
: In caso di scalabilità debole, aumentano sia il numero di processori che la dimensione del problema. Ciò si traduce anche in un carico di lavoro costante per processore.