Die automatisierte Erstellung der Testumgebung hat Sie schnell zum Laufen gebracht, doch hinter den Kulissen werden Sie viel Flexibilität entdecken, um die Umgebung für verschiedene Anwendungsfälle zu optimieren. In diesem Abschnitt erfahren Sie, wie Sie diese Flexibilität nutzen und anwenden können, um Ihren Cluster dynamisch zu aktualisieren.
- Software- und Anwendungsinstallation
- So wählen Sie die richtigen EC2-Instance-Typen für Ihren HPC-Workload
- Auto Scaling verstehen und steuern
Sie können Softwareanwendungen installieren, indem Sie sich über SSH am Kopfknoten anmelden. Der CfnCluster bietet eine Vielzahl von Softwarepaketen an, die HPC-Anwendungen wie openMPI, Sprachen und Compiler unterstützen. Abhängig von den Anwendungseigenschaften und Ihren Vorlieben als Administrator können Sie Ihre Anwendungen auf verschiedene Arten installieren. Eine gängige Methode kann deren Installation unter /efs/apps oder /shared folders ausführen, die als NFS-Freigaben auf allen Knoten eingebaut sind.
Sobald Ihre Anwendungen installiert (und lizenziert) sind, können Sie sie wie im ersten Kapitel dieses Lernpfads mit dem EnginFrame-Service-Editor in der Benutzergemeinschaft veröffentlichen.
AWS bietet eine große Auswahl an EC2-Instance-Familientypen, Generationen und Größen für sehr unterschiedliche Workloadtypen mit On-Demand-Preisen, die von einigen Cent bis zu mehreren US-Dollar pro Stunde variieren.
Um einen Instance-Typ auszuwählen, beginnen Sie mit den spezifischen Anforderungen der Anwendung. Anwendungen unterscheiden sich in ihren Anforderungen bezüglich der Anzahl der Rechenkerne, der Prozessorgeschwindigkeit, dem Arbeitsspeicherbedarf, den Speicheranforderungen, den Netzwerkspezifikationen und den Kosten.
Familien werden nach dem Prozessortyp, der Größe des Arbeitsspeichers, dem Speicher und der verfügbaren Netzwerkkonnektivität klassifiziert. Die c- oder "Compute"-Familie wird am häufigsten für HPC-Workloads empfohlen. Instance-Typen innerhalb der Familie haben in der Regel ungefähr das gleiche Speicher-vCPU-Verhältnis. Eine vCPU ist ein Hyper-Threading-Prozessor. In der Regel arbeiten zwei Hyper-Threading-Kerne wie ein physischer Kern. Innerhalb jeder Familie kann es mehrere Generationen geben. Zum Beispiel enthält die c-Familie der Instance-Typen die c3- und c4-Instances. Die hinzugefügte Nummer gibt die Generation des Instance-Typs an.
Die Instance c4.8xlarge (haswell) ist sehr beliebt für parallele HPC-Anwendungen. Sie hat ~ 60 GiB Speicher und 18 Kerne. Jede Familie ist in mehreren Größen erhältlich. Eine Compute-Instance mit der halben Größe der c4.8xlarge ist beispielsweise die c4.4xlarge. Der Stundenpreis beträgt ebenfalls ungefähr die Hälfte.
Eine Instance kann jederzeit gestoppt und mit einem anderen Instance-Typ neu gestartet werden. Diese Fähigkeit erleichtert die Auswahl des optimalen Instance-Typs für die HPC-Workloads.
Andere beliebte Instance-Typen für die HPC-Workloads sind in der folgenden Tabelle aufgeführt:
Instance-Typ |
vCPU |
Arbeitsspeicher (GiB) |
Speicher (GB) |
Netzwerkleistung |
Physischer Prozessor |
Taktfrequenz (GHz) |
EBS Opt. |
c4.8xlarge |
36 |
60 |
Nur EBS |
10 Gigabit |
Intel Xeon E5-2666 v3 |
2,9 |
Ja |
c3.8xlarge |
32 |
60 |
2 x 320 SSD |
10 Gigabit |
Intel Xeon E5-2680 v2 |
2,8 |
Nein |
m4.10xlarge |
40 |
160 |
Nur EBS |
10 Gigabit |
Intel Xeon E5-2676 v3 |
2,4 |
Ja |
m4.16xlarge |
64 |
256 |
Nur EBS |
20 Gigabit |
Intel Xeon E5-2686 v4 |
2,3 |
Ja |
p2.16xlarge |
64 |
732 |
Nur EBS |
20 Gigabit |
Intel Xeon E5-2686 v4 |
2,3 |
Ja |
x1.32xlarge |
128 |
1.952 |
2 x 1.920 SSD |
20 Gigabit |
Intel Xeon E7-8880 v3 |
2,3 |
Ja |
r3.8xlarge |
32 |
244 |
2 x 320 SSD |
10 Gigabit |
Intel Xeon E5-2670 v2 |
2,5 |
Nein |
Eine Liste aller verfügbaren Instance-Typen finden Sie unter den Amazon EC2-Instance-Typen. Wenn Sie den richtigen Instance-Typ für Ihre Workload ermittelt haben, überprüfen Sie den Unterschied zwischen seinen bedarfsabhängigen und den aktuellen Spot-Preisen. Wenn die Art Ihres Workloads mit der potenziellen Rückforderung der Instances zurechtkommt, kann die Verwendung von Spot normalerweise eine sehr effektive Möglichkeit sein, das HPC-Budget zu reduzieren.
Wenn Sie die Eigenschaften Ihres Clusters ändern möchten, können Sie einfach die Funktion "Stapel aktualisieren" verwenden, die in der CloudFormation-Konsole angeboten wird. Beachten Sie, dass einige der Änderungen die Funktionalität des Clusters vorübergehend stören können. Wenn Sie mit den Auswirkungen nicht zufrieden sind, stellen Sie sicher, dass Sie Ihre Stapel-Parameter nur dann neu konfigurieren, wenn der Cluster keine Workload hat.
Probieren Sie diese Funktion mit dem DefaultCluster-Stapel aus, indem Sie die folgenden Anweisungen befolgen:
Auto Scaling ist eine Funktion von Amazon EC2, mit der Sie die Verfügbarkeit von Anwendungen erhalten und Ihre EC2-Kapazität entsprechend den von Ihnen definierten Bedingungen automatisch nach oben oder unten anpassen können. Mit Auto Scaling können Sie sicherzustellen, dass Sie die gewünschte Anzahl von Amazon EC2-Instances ausführen.
Die Clustergröße in dieser Übungseinheit wird kontinuierlich von der Auto Scaling-Funktion von EC2 überwacht und geändert. Wenn Sie die optimale Clustergröße für Ihre Woarkload kennen (z. B. bei einem MPI-Aufgabe mit mehreren Knoten), ist es möglicherweise schneller und effizienter, die richtige Anzahl der Knoten vorab bereitzustellen, anstatt den Cluster schrittweise wachsen zu lassen.
Sie können die Größe Ihrer Auto Scaling-Cluster einrichten, indem Sie die folgenden Anweisungen befolgen: