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.

Behandelte Themen
  • 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:

  • Anleitung: Ändern des Instance-Typs in Ihrem aktuellen Cluster

    1. Öffnen Sie die CloudFormation-Konsole, indem Sie hier klicken.
    2. Klicken Sie mit der rechten Maustaste auf EnginFrame-DefaultCluster-## IhreWerte ​​##. Wählen Sie "Stapel aktualisieren" aus.
    3. Wählen Sie Aktuelle Vorlage verwenden und dann Weiter.
      • Hinweis: Wenn Sie die Option "Aktuelle Vorlage verwenden" auswählen, bietet Ihnen der CloudFormation-Assistent die Möglichkeit, eine größere Anzahl von Parametern im Vergleich zum Hauptstapel zu ändern, wodurch Sie auf die erweiterte Flexibilität des CfnClusters zugreifen können.
    4. Nehmen Sie die folgenden Änderungen an der Konfiguration vor:
      • compute_instance_type: Wählen Sie den Instance-Typ Ihrer Wahl, um Ihre Rechenknoten zu aktualisieren.
      • cluster_type: Bearbeiten Sie die zu erkennende Auswahl. Legen Sie dann den spot_price auf einen Wert fest, mit dem Sie basierend auf dem aktuellen Marktpreis zufrieden sind.
    5. Wählen Sie Weiter.
    6. Fahren Sie mit den nächsten Schritten des Assistenten fort, bis Ihnen eine Vorschau der Änderungen angezeigt wird, die Sie mit "Aktualisieren" bestätigen, um Ihren Stapel zu aktualisieren. Abhängig von der Breite der vorgenommenen Änderungen kann die Aktualisierung mehrere Minuten dauern.

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:

  • Anleitung: Ändern der Auto Scaling-Parameter in Ihrem Cluster

    1. Öffnen Sie die Auto Scaling-Gruppenkonsole in Amazon EC2, indem Sie hier klicken.
    2. Sie werden sehen, dass Standard-Cluster für die Compute-Flotte eine Auto Scaling Gruppe erstellt hat. Die Konsole liefert Ihnen Informationen über die aktuelle Anzahl der Instances in der Gruppe, die minimalen und maximalen Grenzen und die gewünschte Anzahl der Instances. 
    3. Die gewünschte Anzahl der Instances wird automatisch durch die im Cluster aktiven Scaling-Richtlinien beeinflusst, doch Sie können den Wert auch manuell ändern. Um die gewünschte Größe oder andere Auto Scaling-Parameter zu ändern, klicken Sie mit der rechten Maustaste auf die Auto Scaling-Gruppe und wählen Sie Bearbeiten.
    4. Das untere Fenster wird mit den Auto Scaling-Details aktualisiert. Sie können die Anzahl der Load Balancer, die gewünschten Instances, die minimale und maximale Anzahl der Instances (Knoten) und mehr bearbeiten. Wenn Sie fertig sind, wählen Sie Speichern.
      • Hinweis: Wenn sich die gewünschte Anzahl der Instances von der aktuellen Anzahl der Instanzen unterscheidet, erstellt oder entfernt CloudFormation Instances, um die gewünschte Anzahl zu erreichen.

    (zum Vergrößern klicken)