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.