--- 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*. 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.