Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

1.3. Sistemi distribuiti

Per avere una scalabilità orizzontale Red Hat Enterprise Linux utilizza numerosi componenti di elaborazione distribuita. Le tecnologie che compongono una elaborazione distribuita sono suddivise in tre livelli:
Comunicazione
La scalabilità orizzontale richiede l'esecuzione simultanea di numerosi compiti (in parallelo). Per questo motivo i suddetti compiti devono essere in comunicazione tra loro per coordinare il lavoro. A tale scopo una piattaforma con scalabilità orizzontale dovrebbe essere in grado di condividere i compiti su sistemi multipli.
Storage
Per soddisfare i requisiti di scalabilità orizzontale non è sufficiente implementare uno storage tramite i dischi locali. È necesario usare uno storage condiviso o distribuito, uno con un livello di astrazione che permetta alla capacità di un volume di storage singolo, di aumentare con l'aggiunta di nuovo hardware di storage.
Gestione
Il copito più importante di una elaborazione distribuita è il livello di gestione. Questo livello coordina tutti i componenti hardware e software, gestisce in modo efficiente le comunicazioni, lo storage e l'uso di risorse condivise.
La seguente sezione descrive in modo più dettagliato le tecnologie all'interno di ogni livello.

1.3.1. Comunicazione

Il livello di Comunicazione assicura il trasporto dei dati ed è composto da due parti:
  • Hardware
  • Software
Il modo più semplice (e veloce) di comunicare per sistemi multipli è quello di utilizzare una memoria condivisa. Ciò comporta l'uso di operazioni di lettura/scrittura della memoria conosciute; una memoria condivisa possiede una larghezza di banda molto elevata, una bassa latenza ed un overhead basso di operazioni comuni di lettura/scrittura della memoria.
Ethernet

Il modo più comune per una comunicazione tra computer è attraverso Ethernet. Al giorno d'oggi Gigabit Ethernet (GbE) è presente sui sistemi per impostazione predefinita, e numerosi server includono 2-4 porte di Gigabit Ethernet. GbE fornisce una buona larghezza di banda e latenza, le quali risultano essere la base di numerosi sistemi distribuiti in uso. Anche in presenza di sistemi con hardware di rete più veloce, è ancora comune l'uso di GbE come interfaccia di gestione.

10GbE

Ten Gigabit Ethernet (10GbE) è attualmente in rapida crescita ed è sempre più accettato in server mid-range e high end. 10GbE fornisce una larghezza di banda dieci volte maggiore rispetto a GbE. Se siete in possesso di un processore multi-core moderno sarà possibile usufruire della possibilità di ripristinare l'equilibrio tra comunicazione e processazione. È possibile confrontare un sistema a core singolo usando GbE ad un sistema con otto core usando 10GbE. Usato in questo modo 10GbE è molto utile per il mantenimento delle prestazioni generali del sistema, riducendo eventuali limitazioni durante le comunicazioni.

Sfortunatamente 10GbE è costoso. Anche se il costo di 10GbE NIC è diminuito, il prezzo dei collegamenti (ed in particolare delle fibre ottiche) resta elevato, altresì gli interruttori di rete 10GbE sono estremamente costosi. Col tempo questi costi dovrebbero ridursi ma al giorno d'oggi 10GbE è ampiamente usato con applicazioni critiche per le prestazioni e come macchina principale di un locale server.
Infiniband

Infiniband offre prestazioni ancora più elevate di 10GbE. In aggiunta a collegamenti di rete UDP e TCP/IP usati con Ethernet, Infiniband supporta anche una comunicazione della memoria condivisa. Ciò permette a Infiniband di operare tra sistemi tramite un remote direct memory access (RDMA).

L'uso di RDMA permette a Infiniband di spostare i dati direttamente tra sistemi senza l'overhead delle connessioni socket o TCP/IP. Così facendo verrà ridotta la latenza, che risulta critica per alcune applicazioni.
Infiniband viene più comunemente usato con applicazioni High Performance Technical Computing (HPTC) che richiedono una larghezza di banda elevata, e una latenza e overhead più bassi. Molte applicazioni di supercomputing traggono beneficio da questa implementazione, al punto che il modo migliore per aumentare le prestazioni è quello di investire su Infiniband al posto di usare processori più veloci o più memoria.
RoCCE

RDMA over Ethernet (RoCCE) implementa comunicazioni simili a Infiniband (incluso RDMA) attraverso una infrastruttura 10GbE. A causa della riduzione dei costi associati con un aumento dei prodotti 10GbE, è possibile prevedere un uso più esteso di RDMA e RoCCE su un certo numero di sistemi e applicazioni.

Questi metodi di comunicazione sono completamente supportati da Red Hat per un loro utilizzo con Red Hat Enterprise Linux 6.