Quando costruire un cluster nel cloud è più economico di crearne uno nel mio laboratorio per le simulazioni MD?


23

Un cluster di calcolo Amazon EC2 costa circa $ 800- $ 1000 (a seconda del ciclo di lavoro) per core fisico della CPU nel corso di 3 anni. Nel nostro ultimo round di acquisizione hardware, il mio laboratorio ha raccolto 48 core di hardware molto simili a quelli dei cluster di Amazon per circa $ 300 al centro.

Mi sto perdendo qualcosa qui? Esistono situazioni in cui ha senso economico creare un cluster nel cloud per attività con CPU elevate come le simulazioni di dinamica molecolare? O sto sempre meglio costruendo e facendo da baby-sitter da solo la macchina del pericolo?

(Devo dire che il mio laboratorio non paga l'elettricità nella nostra sala server (almeno non direttamente), ma anche con questo vantaggio Amazon sembra ancora estremamente costoso).


2
Una cosa che posso dirti è che stai perdendo alcuni costi di manodopera per l'amministrazione e la manutenzione dei cluster. In un ambiente accademico, qualcuno deve essere l'amministratore del cluster e fare tutto il lavoro grugnito, come gli aggiornamenti e gli aggiornamenti del sistema operativo, l'installazione di nuovi software, il supporto tecnico quando il cluster si arresta e così via. Queste attività sono ingrate e, a seconda delle capacità dell'amministratore, possono richiedere molto tempo. Un cluster EC2 ridurrebbe le ore uomo necessarie per la manutenzione del cluster.
Geoff Oxberry,

1
Bene, ovviamente hai l'hardware economico. Ho calcolato i costi in 3 anni per il cluster 192-core nel mio ex posto di lavoro e si è rivelato essere di oltre $ 850 per core all'anno. Per non parlare di tutti i problemi che abbiamo avuto con il sistema di alimentazione e il raffreddamento ...
Hristo Iliev

@GeoffOxberry Hai un buon punto sui costi del lavoro. Nel mio laboratorio sono l'amministratore, quindi non penso a queste cose. Per quanto frustrante possa essere a volte, è un lavoro d'amore. Se avessi i soldi e un posto dove metterli, seguirei le (sparse) istruzioni su questo blog e proverei a costruire il mio Watson.
tel

@HristoIliev Non penso nemmeno che fosse così economico. Se sei disposto a prendere i cluster "leggermente usati" di Dell, puoi spingere il costo a circa $ 200 al centro. Puoi dirmi di più sull'hardware nel tuo ex posto di lavoro?
tel

1
È un sistema personalizzato con 12 chassis Xeon dual-socket Supermicro doppio (24 nodi, 48 E5420) con 16 GB di RAM ECC su ciascun nodo, una macchina Nehalem a presa singola con 2 Tesla M2090, uno switch InfiniBand a 24 porte, uno file server con 4 dischi, due UPS da 10 kVA, due condizionatori d'aria. Lo abbiamo ottenuto in più fasi durante un periodo di tre anni del progetto. Non il più grande dei più grandi ma ancora ~ 100k EUR in totale (i migliori prezzi accademici in Bulgaria).
Hristo Iliev

Risposte:


15

Il vantaggio principale, a mio avviso, dell'utilizzo delle risorse basate su cloud è la flessibilità, ovvero se si dispone di un carico di lavoro fluttuante, si paga solo per ciò di cui si ha bisogno.

Se questo non è il caso nella tua applicazione, ovvero sai che avrai un carico di lavoro quantificabile e costante, probabilmente stai meglio costruendo il tuo cluster. Nel Cloud, paghi per la flessibilità e se non hai bisogno di flessibilità, pagheresti per qualcosa che non ti serve.

Se il tuo carico di lavoro è flessibile ma piuttosto intenso e si basa su alcune funzionalità hardware (vedi la risposta di eismail), potresti provare a condividere un cluster con altre persone nella tua università per ammortizzare i cicli di inattività. La mia vecchia università gestisce un cluster così condiviso con un "Modello azionista" in cui a ogni gruppo viene garantita una quota della potenza di calcolo proporzionale al loro investimento nell'hardware e nei cicli di inattività che possono essere utilizzati da chiunque. L'unica difficoltà è centralizzare l'amministrazione del cluster.


3
A posto, la chiave è "quantificabile e costante". Di solito il carico di lavoro varia in modo significativo ed è abbastanza possibile che la sottoutilizzazione renda tale costo molto superiore a $ 300 / core. Inoltre, nell'impostazione del cloud computing è facile passare a più istanze se necessario temporaneamente (la settimana prima di una conferenza?).
Phil H,

1
+1 per questo. Il mio uso dei cluster va da 0 a un caso di "Hai fatto cosa !?". Non posso permettermi di pagare per il secondo in giro ogni volta che ne ho bisogno.
Fomite

7

Ci sono alcune cose di cui preoccuparsi quando si esegue il cloud computing con simulazioni MD. Ad esempio, è necessario preoccuparsi del layout fisico dei processori nella server farm in cui verranno eseguiti questi lavori. Il motivo è che, a seconda delle dimensioni delle simulazioni e dei tipi di calcoli che stai eseguendo (ad esempio, i sistemi con elettrostatica), potresti essere fortemente dipendente dagli FFT e spingere gli elettroni verso processori diversi in un gigantesco cluster potrebbe diventare una parte molto dispendiosa del tempo di calcolo totale.

Inoltre, per un utilizzo intensivo di dati come MD, ti consigliamo di disporre di connessioni veloci per il caricamento e il download sui server, nonché limiti ragionevoli per l'archiviazione dei dati. Altrimenti, molti risparmi sui costi potrebbero essere risucchiati dalla perdita di produttività e spese di stoccaggio.

Per quello che vale, il nostro istituto ha appena acquistato circa ~ 240 core per il nostro cluster locale ad un costo inferiore a 500 € per core. Tale costo include hosting e amministrazione, oltre al servizio, nel nostro campus per quattro anni. Su base annuale che sembra ridicolmente economico. Penso che sia probabilmente il migliore dei due mondi: accesso locale, ma mantenuto professionalmente senza bisogno del nostro team IT.


5

Non ho esperienza diretta con i servizi cloud come EC2 di Amazon, ma il costo effettivo per core è probabilmente molto maggiore di quanto citi: è il costo di acquisto iniziale, elettricità, raffreddamento, spazio in un edificio, hardware di sostituzione. Inoltre, i costi di amministrazione: impostazione del sistema operativo e dei servizi cluster, aggiornamento del sistema operativo, risoluzione dei problemi della coda, ecc. Non sarei affatto sorpreso se la somma di tutto questo fosse il doppio del costo dell'acquisto iniziale. Ovviamente ottieni flessibilità.

Per me, il modello scende in scala: se hai un cluster veramente grande (1000 core o più), puoi ammortizzare i tempi di lavoro, le riparazioni, l'amministrazione del sistema perché c'è abbastanza da fare per tenere occupato un professionista. Se hai un piccolo gruppo in cui non vale la pena farlo fare a una persona dedicata, è probabile che tu lo faccia fare a qualcuno il cui primo lavoro dovrebbe essere quello di fare scienza, e in quel caso il tempo di questa persona è scarsamente speso in tali lavori amministrativi. È qui che brillano i servizi su richiesta come i server cloud.


Nel mio laboratorio l'elettricità, il raffreddamento e lo spazio per il nostro cluster sono tutti pagati per il taglio che la nostra università prende dalle nostre sovvenzioni per le spese delle strutture. Questo taglio è lo stesso sia che eseguiamo un cluster o meno. Sai se c'è una situazione simile nella maggior parte delle università, o la maggior parte dei laboratori sono bloccati pagando per il raffreddamento, ecc. Direttamente dalla tasca?
tel

1
Credo che la maggior parte dei laboratori abbia la stessa disposizione della tua, ma sarebbe comunque sbagliato ignorare questi costi. Qualcuno dovrà assumersele, anche se non sei tu personalmente. Potrebbe valere la pena chiedere al dipartimento / all'università di ottenere una quota maggiore dei costi indiretti restituiti se si accetta di costruire il cluster praticamente nel cloud anziché fisicamente nel campus.
Wolfgang Bangerth,

4

Come supplemento ad alcune delle risposte già eccellenti, c'è un altro fattore da considerare:

  • Indipendentemente dai costi, come lo pagherai?

Ho riscontrato un numero non banale di sovvenzioni che non pagheranno in nessun caso le spese hardware, ma pagheranno i tempi di calcolo su qualcosa come EC2. Quindi, in alcune circostanze di finanziamento, mentre potresti essere in grado di finanziare un piccolo cluster "testbed" con fondi non strutturati o un pacchetto di avvio di laboratorio, per progetti su larga scala potrebbe essere l'unico modo per finanziare i tuoi costi di elaborazione.

Considera il NIH:

Servizi ADP / Computer: i servizi che includi qui dovrebbero essere servizi informatici specifici di ricerca, come riservare tempo di elaborazione ai supercomputer o ottenere software specializzato per aiutarti a eseguire le tue statistiche. Questa sezione non deve includere il computer desktop standard per l'ufficio, il laptop o il supporto tecnico standard fornito dall'istituto. Tali tipi di oneri dovrebbero derivare dai costi di F&A.

Mentre è possibile mettere le macchine a grappolo sotto la voce $ 5,000 + equipment, e puoi fare una buona argomentazione per questo, ho trovato sia i revisori che sono schizzinosi al riguardo, sia le università che sono titubanti sui costi in corso per mantenere un tale sistema.

Alcune sovvenzioni sono ancora più severe. Una sovvenzione che attualmente ho letto come segue:

I fondi non possono inoltre essere utilizzati per l'hardware del computer

Spesso è semplicemente più facile ottenere un cluster pagato con costi diretti se basato su EC2 o uno dei suoi molti analoghi piuttosto che acquistare effettivamente l'hardware, soprattutto se il tuo istituto è avaro di costi indiretti. Questo potrebbe non essere il tuo caso, ma è il caso di alcuni.


Penso che non sia una buona argomentazione. Conosco solo il sistema di finanziamento negli Stati Uniti, ma se si inserisce un determinato importo nella categoria "Attrezzature" è possibile utilizzarlo per acquistare un cluster. Naturalmente, se quella categoria è vuota, hai richiesto un set di dollari sbagliato. L'attrezzatura in realtà ha un bel vantaggio in quanto se si tratta di un singolo pezzo di equipaggiamento che supera il prezzo di acquisto di $ 5k, non ci si paga affatto (almeno nella nostra università).
Wolfgang Bangerth,

@WolfgangBangerth Vedi la mia modifica per i dettagli - metterla nella categoria "Equipaggiamento" potrebbe non essere consentita.
Fomite

Sì, se queste sono le condizioni, non c'è niente che tu possa fare. Ma ho scoperto che se hai una buona ragione per cui chiedi soldi per l'attrezzatura in una sovvenzione, i revisori di solito vanno con esso - di solito non è comunque gran parte della somma complessiva. Ovviamente, se i soldi non sono stati preventivati, non c'è nulla che tu possa fare dopo il fatto.
Wolfgang Bangerth,

0

Ci sono già molte risposte a Dio. Voglio solo aggiungere due piccoli punti.

1.) So che IBM offre qualcosa di simile. Quindi, a seconda dell'applicazione, potrebbe valere la pena confrontare le diverse offerte. Non solo per quanto riguarda il costo ma anche l'attrezzatura.

2.) Naturalmente la maggior parte dei laboratori è troppo piccola per poter investire nel proprio cluster. Quindi la domanda è se non è possibile riunire diversi laboratori insieme e investire in un cluster condiviso tra i diversi laboratori. Ciò ha oltre all'ovvio effetto di ripartizione dei costi anche il vantaggio di una distribuzione del carico più uniforme.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.