Home » Glossario sull'HPC

Glossario sull'HPC

B

Batch

Modalità di esecuzione di un programma senza che vi sia interazione con l'utente. Wikipedia

Beowulf

Cluster di PC basato su Linux e realizzato utilizzando hardware commodity e software open source. Wikipedia

Bilanciamento di carico

Distribuzione uniforme di un carico di lavoro computazionale tra un insieme di processori paralleli. I programmi paralleli raggiungono la massima efficienza quando il carico di lavoro è perfettamente bilanciato, ossia quando ogni processore ha la stessa quantità di lavoro da svolgere.

C

Calcolo parallelo

Il calcolo parallelo consente di suddividere un programma in più processi che lavorano in cooperazione su processori differenti al fine di ridurre i tempi complessivi di elaborazione. Wikipedia

Cloud computing

Paradigma di calcolo distribuito in cui le risorse ICT necessarie ad un computer vengono fornite dalla rete sotto forma di "servizi". Il cloud computing mette a disposizione degli utenti una potenza elaborativa scalabile a richiesta (on demand). Wikipedia

Cluster

Un cluster di computer è un supercomputer realizzato connettendo in rete un gruppo di PC, server o workstation che, tramite opportuni software, collaborano fra loro per suddividersi il carico di lavoro. Dal punto di vista hardware questi sistemi possono essere realizzati come semplici reti di computer (generalmente server compatti alloggiati in armadi rack), e solo a livello software avviene la "fusione" che permette ai vari computer di cooperare come nodi di un unico elaboratore multiprocessore. Wikipedia

Cluster computing

Utilizzo di sistemi di tipo cluster per applicazioni di calcolo ad alte prestazioni, alta affidabilità e bilanciamenti di carico.

Cluster per High Availability (HA)

Cluster in cui la disponibilità di più computer indipendenti viene sfruttata per ridondare servizi di rete di tipo mission critical, in modo da ridurre al minimo i "single point of failure" e massimizzare la disponibilità. Wikipedia

Cluster per High Performance Computing (HPC)

Cluster in cui la potenza di calcolo costituita dall'insieme dei processori disponibili viene utilizzata per ridurre (o rendere accessibili) i tempi di calcolo di complesse elaborazioni grazie all'impiego di tecniche di calcolo parallelo.

Cluster per Load Balancing (LB)

Cluster in cui le richieste indirizzate ad un server (es. web-server, database-server...) vengono smistate ai vari computer del cluster secondo algoritmi di bilanciamento del carico che consentono di ottenere elevati livelli di prestazioni, pari quasi alla somma delle capacità elaborative dei singoli computer. Wikipedia

Code di esecuzione

Un gestore di code di esecuzione è un software che gestisce il carico di lavoro di un sistema HPC. Gli utenti sottomettono programmi in batch alle code, in modo che vengano mandati in esecuzione non appena le risorse richieste si rendono disponibili.

Computer parallelo

Computer che dispone di più processori per l'esecuzione contemporanea di istruzioni. Tramite la programmazione parallela è possibile sfruttare le capacità di calcolo di questi computer. Wikipedia

Core

Unità elaborativa di un microprocessore. Le CPU moderne ospitano al loro interno più core, che dal punto di vista del sistema operativo e degli applicativi software vengono visti come effettivi processori indipendenti. Wikipedia

F

Filesystem distribuito

In un filesystem distribuito (o network filesystem) i file vengono memorizzati su dispositivi in rete (server, PC, storage...), e vengono gestiti secondo una modalità client/server. Fra i più comuni filesystem di questo tipo ci sono NFS e CIFS. Wikipedia

Filesystem parallelo

E' un tipo di filesystem con supporto per applicazioni parallele, nel quale tutti i nodi possono accedere contemporaneamente agli stessi file, sia in lettura che in scrittura. I dati vengono scritti sulle unità disco di diversi nodi (striping), in modo tale da avere elevate prestazioni di I/O e scalabilità. Fra i più comuni filesystem di questo tipo ci sono Lustre, PVFS, GPFS, Panasas ActiveScale. Wikipedia

Flops

Acronimo di Floating Point Operations per Second, è usato come unità di misura della velocità di calcolo dei sistemi, in quanto esprime il numero di operazioni matematiche tra numeri in virgola mobile effettuate in un secondo. Wikipedia

Front-end

E' il nodo di un cluster deputato all'interfacciamento con il mondo esterno, ospita i software e i servizi di rete necessari al funzionamento del cluster, gli account e i dati degli utenti, gli applicativi software; rimane escluso dal carico di lavoro computazionale del cluster, che viene ripartito solo tra gli altri nodi.

G

Gigabit Ethernet

E' una versione dello standard Ethernet definita nel 1998 e relativa a connessioni di rete caratterizzate da larghezza di banda di 1 Gigabit/s. E' il sistema di interconnessione di base presente su tutti i cluster moderni. Wikipedia

Grid computing

Paradigma di calcolo distribuito che prevede l'interconnessione e la condivisione di risorse di calcolo decentrate (computer, workstation, cluster...) in un'unica infrastruttura scalabile e che offre elevata potenza elaborativa e di storage. Wikipedia

I

Interconnessione

E' l'insieme di dispositivi fisici utilizzati per lo scambio di informazioni tra i nodi di un cluster. La tecnologia di riferimento è Gigabit Ethernet, disponibile di base su tutti i cluster moderni. Poiché la velocità di interconnessione può limitare le prestazioni complessive per certi tipi di applicazioni o quando il numero di nodi del cluster cresce, si possono impiegare tecnologie dedicate alternative, prevalentemente basate sulla fibra ottica e capaci di aumentare la larghezza di banda e ridurre la latenza (es. Infiniband).

L

Larghezza di banda

Esprime la velocità massima di trasmissione delle informazioni all'interno di un dato canale di comunicazione. Si misura tipicamente in bit al secondo (Kbit/s, Mbit/s, Gbit/s). Assieme alla latenza, esprime le prestazioni di componenti importanti dei sistemi HPC, quali la memoria, l'I/O e l'interconnessione. Wikipedia

Latenza

Esprime il tempo impiegato per iniziare e concludere un'operazione. In un'ottica di trasmissione dati, è riferito al tempo impiegato da un dato per arrivare a destinazione. Si misura tipicamente in microsecondi (ms) o nanosecondi (ns). Assieme alla larghezza di banda, esprime le prestazioni di componenti importanti dei sistemi HPC, quali la memoria, l'I/O e l'interconnessione. Wikipedia

Legge di Amdahl

Descrive il miglioramento teorico di prestazioni nell'esecuzione di un programma al variare del numero di processori utilizzati. Wikipedia

M

Memoria condivisa

Nei computer paralleli a memoria condivisa, esiste un unico spazio di indirizzamento della memoria accessibile a più processori. Wikipedia

Memoria distribuita

Nei computer paralleli a memoria distribuita, ogni processore ha una memoria principale fisicamente separata. Wikipedia

MPI (Message Passing Interface)

E' uno standard software che descrive un sistema di comunicazione per applicazioni parallele basato sullo scambio di messaggi. Lo standard definisce una libreria di funzioni attraverso le quali i processi paralleli comunicano fra loro. Wikipedia

Multiprocessore

Un computer con più processori operanti in parallelo e con un'unica memoria condivisa. Wikipedia

Multitasking

Esecuzione di più processi su un unico processore, generalmente ottenuta ripartendo il tempo del processore sui vari processi, sotto il controllo del sistema operativo. Wikipedia

N

Nodo

E' il termine comunemente usato per indicare un generico computer appartenente ad un cluster. Generalmente un nodo può ospitare più processori e/o core.

Nodo di calcolo

E' un generico nodo utilizzato per assolvere al carico di lavoro computazionale di un cluster.

Nodo master

E' il termine usato per indicare un nodo che svolge contemporaneamente i ruoli di nodo di calcolo e di front-end di un cluster.

Nodo principale

Termine utilizzato per indicare genericamente il front-end o il nodo master.

O

OpenMP

E' uno standard software che descrive un sistema di programmazione parallela per computer a memoria condivisa. A differenza di MPI, OpenMP opera ad "alto livello" e semplifica la stesura di programmi paralleli, anche se offre meno controllo. Wikipedia

P

Parallel computing

Vedi "calcolo parallelo"...

S

Scheduler

Lo scheduler si occupa di distribuire il carico di lavoro su un sistema HPC in modo bilanciato e ottimizzato, a seconda delle risorse richieste e di quelle disponibili. Wikipedia

SMP

Acronimo di Symmetric MultiProcessor, indica un computer dotato di più processori e con un'unica memoria condivisa. Wikipedia

Speedup

Esprime il guadagno di prestazioni che si ha nell'esecuzione di un programma in parallelo rispetto al caso di esecuzione su un solo processore. Wikipedia

Supercomputer

Indica genericamente un computer progettato per ottenere prestazioni molto elevate. Storicamente rappresenta una tipologia di sistemi per calcolo ad alte prestazioni caratterizzati da architetture hardware dedicate e molto costose, utilizzati in modo prevalente prima dell'avvento dei cluster. Wikipedia

T

Top500.org

E' la classifica mondiale dei computer più veloci. Wikipedia

W

Workstation

E' un computer con prestazioni elevate utilizzato in ambito professionale per attività che richiedono performance e affidabilità. Wikipedia