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).
quelle
Antworten:
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.
quelle
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.
quelle
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.
quelle
Als Ergänzung zu einigen der bereits ausgezeichneten Antworten ist ein weiterer Faktor zu berücksichtigen:
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:
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:
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.
quelle
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.
quelle