Contenuto
Cerchi una macchina in grado di eseguire centinaia di trilioni di calcoli in virgola mobile al secondo? O vuoi semplicemente vantarti con gli amici del supercomputer montato nella tua stanza? Costruire un cluster di elaborazione ad alte prestazioni, o un supercomputer, è una sfida che qualsiasi appassionato con un fine settimana gratuito e un po 'di soldi rimasti può provare a portare a termine. Tecnicamente parlando, un supercomputer multiprocessore è una rete di computer che lavorano insieme per risolvere un problema. Questo articolo descriverà brevemente ogni fase del processo, concentrandosi su hardware e software.
passi
- Determinare prima i componenti hardware e le risorse necessari. Avrai bisogno di un nodo principale, almeno 12 nodi di rete identici, uno switch Ethernet, un'unità di distribuzione dell'alimentazione e un rack. Determina l'elettricità, il raffreddamento e il fabbisogno di spazio richiesti. Decidi anche quale indirizzo IP desideri per le tue reti private, come denominare i nodi, quali pacchetti software desideri installare e quale tecnologia verrà utilizzata per eseguire il calcolo parallelo (ne parleremo più avanti).
- Sebbene l'hardware sia costoso, tutti i programmi elencati nella guida sono gratuiti e la maggior parte di essi è open source.
- Se vuoi vedere la velocità teorica del tuo supercomputer, usa questo strumento: http://hpl-calculator.sourceforge.net/
-
Crea i nodi. Sarà necessario montare i nodi o acquistare server preassemblati.- Scegli chassis del server che massimizzano lo spazio, il raffreddamento e il consumo energetico.
- Puoi anche utilizzare diversi server obsoleti, il cui costo totale sarà maggiore della somma delle parti, ma risparmierai comunque molto. Tutti i processori, gli adattatori di rete e le schede madri devono essere identici affinché il sistema funzioni correttamente. Ovviamente, assicurati di includere RAM e archiviazione su ciascun nodo e almeno un'unità ottica per il nodo principale.
-
Installa i server nel rack. Inizia dal basso, in modo che la parte superiore non sia troppo pesante. Avrai bisogno dell'aiuto dei tuoi amici per questo: i server densi possono essere molto pesanti e guidarli lungo i binari che li trattengono è difficile. - Installare lo switch Ethernet sopra lo chassis del server. Prenditi questo tempo per configurare lo switch: abilita dimensioni jumbo frame di 9000 byte, imposta gli indirizzi IP sull'indirizzo statico determinato nel primo passaggio e disabilita i protocolli di routing non necessari, come SMTP Snooping.
-
Installare l'unità di distribuzione dell'alimentazione. A seconda della quantità di corrente richiesta dai nodi a pieno carico, potrebbero essere necessari 220 volt per l'elaborazione ad alte prestazioni. - Con tutto installato, puoi iniziare il processo di configurazione. Linux è il sistema operativo ideale per i cluster HPC: non solo è l'ambiente ideale per il calcolo scientifico, ma può anche essere installato gratuitamente su centinaia o addirittura migliaia di nodi. Immagina quanto costerebbe installare Windows su tutti questi nodi?
- Inizia installando l'ultima versione del BIOS e del firmware della scheda madre, che deve essere identica su tutti i nodi.
- Installa la tua versione preferita di Linux su ogni nodo, con un'interfaccia grafica sul nodo principale. Le opzioni popolari includono CentOS, OpenSuse, Scientific Linux, RedHat e SLES.
- Puoi anche usare Rocks Cluster Distribution. Oltre a installare tutti gli strumenti necessari per il funzionamento del cluster, Rocks utilizza un metodo eccellente per distribuire più istanze di se stesso ai nodi molto rapidamente utilizzando un avvio PXE e la procedura "Kick Start" di Red Hat.
- Installa l'interfaccia di messaggistica, la gestione delle risorse e altre librerie necessarie. Se non hai installato Rocks nel passaggio precedente, dovrai configurare manualmente il software necessario per abilitare i meccanismi di calcolo parallelo.
- Innanzitutto, avrai bisogno di un sistema di gestione portatile su larga scala, come Torque Resource Manager, che ti consente di dividere e distribuire le attività su più macchine.
- Associare Torque con Maui Cluster Scheduler per completare l'installazione.
- Successivamente, sarà necessario installare l'interfaccia di trasmissione dei messaggi, necessaria affinché i singoli processi dei diversi nodi condividano gli stessi dati. OpenMP è facile da usare.
- Non dimenticare le librerie matematiche multi-threading per i programmi di calcolo parallelo. È davvero più facile se installi Rocks.
- Collega i nodi del computer. Il nodo principale invia le attività ai nodi del computer, che devono quindi restituire il risultato e inviare messaggi l'un l'altro. Più veloce è, meglio è.
- Utilizza una rete Ethernet privata per connettere tutti i nodi del cluster.
- Il nodo principale può anche fungere da server NFS, PXE, DHCP, TFTP e NTP sulla rete Ethernet.
- È necessario separare questa rete dalle reti pubbliche, il che garantisce che i pacchetti di trasmissione non interferiranno con altre reti sulla LAN.
- Testare il cluster. L'ultima cosa che vuoi fare prima di rilasciare tutta quella potenza di calcolo ai tuoi utenti è testarne le prestazioni. Il benchmark HPL (High Performance Lynpack) è una scelta popolare per misurare la velocità di calcolo del cluster. Dovrai compilarlo dai sorgenti con tutte le possibili ottimizzazioni offerte dal compilatore per l'architettura scelta.
- Ovviamente, devi compilare dai sorgenti con tutte le possibili ottimizzazioni per la tua piattaforma. Ad esempio, quando si utilizzano CPU AMD, compilare con Open 64 con livello di ottimizzazione -0fast.
- Confronta i risultati su TOP500.org per confrontare il tuo cluster con i 500 supercomputer più veloci al mondo!
Suggerimenti
- IPMI può semplificare l'amministrazione di un cluster di grandi dimensioni, fornendo KVM-over-IP, relay di elaborazione remota e altro ancora.
- Per ottenere velocità di rete davvero elevate, cerca le interfacce di rete InfiniBand. Tuttavia, i prezzi non sono molto convenienti.
- Usa Ganglia per monitorare il carico computazionale sui nodi.
Avvertenze
- Assicurati che la tua infrastruttura possa gestire il carico loro imposto.