Wann ist das Erstellen eines Clusters in der Cloud billiger als das Erstellen eines Clusters in meinem Labor für MD-Simulationen?

23

Ein Amazon EC2-Computing-Cluster kostet im Verlauf von 3 Jahren etwa 800 bis 1000 US- Dollar (abhängig vom Arbeitszyklus) pro physischem CPU-Kern. In unserer letzten Runde der Hardware-Akquisition hat mein Labor Hardware im Wert von 48 Kernen für ca. 300 US-Dollar pro Kern gefunden, die denen von Amazon-Clustern sehr ähnlich sind.

Vermisse ich hier etwas? Gibt es Situationen, in denen es wirtschaftlich sinnvoll ist, einen Cluster in der Cloud für Aufgaben mit hoher CPU-Auslastung wie Molekulardynamiksimulationen zu erstellen? Oder bin ich immer besser dran, wenn ich die Dang-Maschine selbst baue und aufpasse?

(Ich sollte erwähnen, dass mein Labor nicht für Strom in unserem Serverraum bezahlt (zumindest nicht direkt), aber auch mit diesem Vorteil scheint Amazon immer noch extrem teuer zu sein).

tel
quelle
2
Eine Sache, die ich Ihnen sagen kann, ist, dass Ihnen einige Arbeitskosten für die Clusterverwaltung und -wartung fehlen. In einer akademischen Umgebung muss jemand der Cluster-Administrator sein und die gesamte Arbeit erledigen, z. B. Betriebssystem-Updates und -Upgrades, Installation neuer Software, technischer Support bei Ausfall des Clusters und so weiter. Diese Aufgaben sind undankbar und können, abhängig von den Administratorfähigkeiten, viel Zeit in Anspruch nehmen. Ein EC2-Cluster würde die für die Clusterwartung erforderlichen Arbeitsstunden reduzieren.
Geoff Oxberry
1
Nun, Sie haben offensichtlich die Hardware billig. Ich habe die Kosten für den 192-Core-Cluster an meinem früheren Arbeitsplatz über 3 Jahre berechnet und es stellte sich heraus, dass die Kosten über 850 USD pro Core und Jahr lagen. Ganz zu schweigen von den Problemen, die wir mit dem Stromsystem und der Kühlung hatten ...
Hristo Iliev
@GeoffOxberry Sie machen einen guten Punkt über die Arbeitskosten. In meinem Labor bin ich der Administrator, deshalb denke ich nicht über solche Dinge nach. So frustrierend es manchmal sein kann, es ist eine Arbeit der Liebe. Wenn ich das Geld hätte und es irgendwo unterbringen könnte, würde ich den (spärlichen) Anweisungen in diesem Blog folgen und versuchen, meinen eigenen Watson zu bauen.
Tel.
@HristoIliev Ich glaube nicht, dass es so billig war. Wenn Sie bereit sind, die "wenig genutzten" Cluster von Dell zu übernehmen, können Sie die Kosten auf etwa 200 US-Dollar pro Core senken. Können Sie mir mehr über die Hardware an Ihrem früheren Arbeitsplatz erzählen?
Tel.
1
Es handelt sich um ein kundenspezifisches System mit 12 Supermicro-Doppelsteckdosen-Xeon-Chassis (24 Knoten, 48 E5420s) mit 16 GiB ECC-RAM auf jedem Knoten, einer Nehalem-Maschine mit einem Sockel und 2 Tesla M2090s, einem InfiniBand-Switch mit 24 Anschlüssen und einem Dateiserver mit 4 Festplatten, zwei 10-kVA-USVs, zwei Klimaanlagen. Wir haben es in mehreren Phasen während einer dreijährigen Projektlaufzeit erhalten. Nicht der Größte unter den Größten, aber immer noch ~ 100.000 EUR (beste Studienpreise in Bulgarien).
Hristo Iliev

Antworten:

15

Der Hauptvorteil des Einsatzes von Cloud-basierten Ressourcen ist meiner Meinung nach die Flexibilität, dh wenn Sie eine schwankende Arbeitsbelastung haben, zahlen Sie nur für das, was Sie brauchen.

Wenn dies in Ihrer Anwendung nicht der Fall ist, dh Sie wissen, dass Sie eine quantifizierbare und konstante Arbeitslast haben, ist es wahrscheinlich besser, einen eigenen Cluster zu erstellen. In der Cloud zahlen Sie für Flexibilität, und wenn Sie keine Flexibilität benötigen, zahlen Sie für etwas, das Sie nicht benötigen.

Wenn Ihre Arbeitslast flexibel, aber etwas intensiv ist und auf bestimmten Hardwarefunktionen beruht (siehe Antwort von aeismail), können Sie versuchen, einen Cluster mit anderen Personen an Ihrer Universität zu teilen, um die Leerlaufzyklen zu verkürzen. Meine alte Universität betreibt einen solchen gemeinsamen Cluster mit einem "Aktionärsmodell", bei dem jeder Gruppe ein Anteil der Rechenleistung zugesichert wird, der proportional zu ihrer Investition in die Hardware ist, und Leerlaufzyklen von jedermann genutzt werden können. Die einzige Schwierigkeit besteht in der Zentralisierung der Clusterverwaltung.

Pedro
quelle
3
Punktgenau, der Schlüssel ist „quantifizierbar und konstant“. Normalerweise variiert die Arbeitsbelastung erheblich, und es ist durchaus möglich, dass eine Unterauslastung die Kosten um ein Vielfaches über 300 USD / Kern erhöht. Beim Einrichten von Cloud Computing ist es außerdem einfach, bei Bedarf vorübergehend (in der Woche vor einer Konferenz?) Auf mehr Instanzen zu skalieren.
Phil H
1
+1 dafür. Meine Verwendung von Clustern reicht von 0 bis zu dem Punkt "Sie haben was getan !?". Ich kann es mir nicht leisten, dafür zu bezahlen, dass der zweite da ist, wann immer ich ihn brauche.
Fomite
7

Beim Cloud-Computing mit MD-Simulationen sind einige Dinge zu beachten. Sie müssen sich beispielsweise Gedanken über das physische Layout der Prozessoren in der Serverfarm machen, in der diese Jobs ausgeführt werden. Der Grund dafür ist, dass Sie abhängig von der Größe Ihrer Simulationen und der Art der von Ihnen ausgeführten Berechnungen (z. B. Systeme mit elektrostatischer Aufladung) in hohem Maße auf FFTs angewiesen sind und Elektronen in einem riesigen Cluster auf verschiedene Prozessoren übertragen kann zu einem sehr zeitaufwendigen Teil der gesamten Rechenzeit werden.

Bei datenintensiven Vorgängen wie MD sollten Sie außerdem sicherstellen, dass Sie schnelle Upload- und Download-Verbindungen zu den Servern sowie sinnvolle Beschränkungen für die Datenspeicherung haben. Andernfalls könnte ein Großteil der Kosteneinsparungen durch Produktivitäts- und Lagerkosteneinbußen zunichte gemacht werden.

Für das, was es wert ist, hat unser Institut gerade ungefähr 240 Kerne für unseren lokalen Cluster zu einem Preis von unter 500 € pro Kern gekauft. Diese Kosten beinhalten vier Jahre lang Hosting und Administration sowie Service auf unserem Campus. Auf Jahresbasis scheint das lächerlich billig. Ich denke, das ist wahrscheinlich das Beste aus beiden Welten - lokaler Zugriff, aber professionell gewartet, ohne dass ein eigenes IT-Team erforderlich ist.

Aeismail
quelle
5

Ich habe keine Erfahrung aus erster Hand mit Cloud-Diensten wie Amazon EC2, aber die tatsächlichen Kosten pro Core sind wahrscheinlich viel höher als von Ihnen angegeben: Die Kosten für Erstkauf, Strom, Kühlung, Platz in einem Gebäude und Ersatzhardware. Zuzüglich der Verwaltungskosten: Einrichten des Betriebssystems und der Clusterdienste, Aktualisieren des Betriebssystems, Beheben von Problemen mit der Warteschlange usw. Es würde mich nicht wundern, wenn die Summe der Kosten doppelt so hoch wäre wie die Kosten für den Erstkauf. Natürlich gewinnen Sie Flexibilität.

Für mich ist das Modell maßstabsgetreu: Wenn Sie einen wirklich großen Cluster (1000 Kerne oder mehr) haben, können Sie die Arbeitszeit, Reparaturen und die Systemadministration amortisieren, da es genug zu tun gibt, um einen Fachmann zu beschäftigen. Wenn Sie einen kleinen Cluster haben, in dem es sich nicht lohnt, ihn von einer engagierten Person ausführen zu lassen, ist es wahrscheinlich, dass Sie jemanden dazu bringen, dessen erste Aufgabe darin besteht, Wissenschaft zu betreiben. Hier leuchten Services-on-Demand wie Cloud-Server.

Wolfgang Bangerth
quelle
In meinem Labor wird der Strom, die Kühlung und der Platz für unseren Cluster aus den Einsparungen bezahlt, die unsere Universität aus unseren Zuschüssen für Einrichtungsgebühren zieht. Dieser Schnitt ist der gleiche, unabhängig davon, ob ein Cluster ausgeführt wird oder nicht. Wissen Sie, ob es an den meisten Universitäten eine ähnliche Situation gibt, oder ob die meisten Labors für Kühlung usw. direkt aus der Tasche zahlen müssen?
Tel.
1
Ich glaube, die meisten Labors haben die gleiche Anordnung wie Sie, aber es wäre falsch, diese Kosten trotzdem zu ignorieren. Jemand wird sie schultern müssen, auch wenn Sie es nicht persönlich sind. Es lohnt sich möglicherweise, die Abteilung / Universität zu bitten, einen größeren Anteil der indirekten Kosten an Sie zurückzuzahlen, wenn Sie zustimmen, Ihren Cluster eher virtuell in der Cloud als physisch auf dem Campus zu erstellen.
Wolfgang Bangerth
4

Als Ergänzung zu einigen der bereits ausgezeichneten Antworten ist ein weiterer Faktor zu berücksichtigen:

  • Wie werden Sie unabhängig von den Kosten dafür bezahlen?

Ich habe eine nicht triviale Anzahl von Stipendien erhalten, die unter keinen Umständen die Hardwarekosten, aber die Rechenzeit für etwas wie EC2 abdecken. Unter bestimmten Finanzierungsbedingungen können Sie zwar einen kleinen "Testbed" -Cluster mit unstrukturierten Mitteln oder einem Startpaket für Labors finanzieren, bei größeren Projekten ist dies jedoch möglicherweise die einzige Möglichkeit, Ihre Computerkosten zu finanzieren.

Betrachten Sie das NIH:

ADP- / Computer-Services: Die Services, die Sie hier einschließen, sollten recherchenspezifische Computer-Services sein, z. Dieser Abschnitt sollte nicht Ihren Standard-Desktop-Bürocomputer, Laptop oder den von Ihrer Institution angebotenen technischen Standard-Support enthalten. Diese Arten von Gebühren sollten aus den F & A-Kosten stammen.

Es ist zwar möglich, Cluster-Computer unter die Überschrift "5.000 USD + Ausrüstung" zu stellen, und Sie können ein gutes Argument dafür vorbringen. Ich habe jedoch sowohl Kritiker gefunden, die diesbezüglich skeptisch sind, als auch Universitäten, die die laufenden Kosten für die Aufrechterhaltung eines solchen Systems zögern System.

Einige Zuschüsse sind noch strenger. Ein Stipendium, das ich derzeit habe, lautet wie folgt:

Mittel dürfen auch nicht für Computerhardware verwendet werden

Oft ist es einfacher, einen Cluster mit direkten Kosten zu bezahlen, wenn er auf EC2 oder einem seiner vielen Analoga basiert, als die Hardware tatsächlich zu kaufen, insbesondere wenn Ihre Institution mit den indirekten Kosten geizig ist. Dies mag bei Ihnen nicht der Fall sein, bei einigen jedoch.

Fomite
quelle
Ich denke, das ist kein gutes Argument. Ich bin nur mit dem Finanzierungssystem in den USA vertraut, aber wenn Sie einen bestimmten Geldbetrag in die Kategorie "Ausrüstung" stecken, können Sie damit einen Cluster kaufen. Wenn diese Kategorie leer ist, haben Sie natürlich den falschen Dollarsatz angefordert. Geräte haben tatsächlich den Vorteil, dass Sie, wenn es sich um ein einzelnes Gerät handelt, dessen Kaufpreis über 5.000 US-Dollar liegt, überhaupt keinen Overhead dafür zahlen (zumindest nicht an unserer Universität).
Wolfgang Bangerth
@WolfgangBangerth Weitere Informationen finden Sie in meiner Bearbeitung. Die Zuordnung zur Kategorie "Ausrüstung" ist möglicherweise nicht zulässig.
Fomite
Ja, wenn dies die Bedingungen sind, können Sie nichts tun. Aber ich habe herausgefunden, dass, wenn Sie einen guten Grund haben, warum Sie in einem Stipendium nach dem Geld für die Ausrüstung fragen, die Gutachter normalerweise damit einverstanden sind - es ist ohnehin kein großer Bruchteil der Gesamtsumme. Natürlich, wenn das Geld nicht von Anfang an budgetiert ist, gibt es nichts, was Sie nachträglich tun können.
Wolfgang Bangerth
0

Es gibt bereits viele göttliche Antworten. Ich möchte nur zwei kleine Punkte hinzufügen.

1.) Ich weiß, dass IBM etwas Ähnliches anbietet. Je nach Anwendung kann es sich also lohnen, die verschiedenen Angebote zu vergleichen. Nicht nur in Bezug auf die Kosten, sondern auch die Ausstattung.

2.) Natürlich sind die meisten Labors zu klein, um in einen eigenen Cluster investieren zu können. Die Frage ist also, ob es nicht möglich ist, mehrere Labore zusammenzuführen und in einen Cluster zu investieren, der von den verschiedenen Laboren gemeinsam genutzt wird. Dies hat neben der offensichtlichen Kostenbeteiligung auch den Vorteil einer gleichmäßigeren Lastverteilung.

Azrael3000
quelle