Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen einer Compute-Knotengruppe in AWS STCK
Dieses Thema bietet einen Überblick über die verfügbaren Optionen und beschreibt, was zu beachten ist, wenn Sie eine Rechenknotengruppe in AWS Parallel Computing Service (AWS PCS) erstellen. Wenn Sie zum ersten Mal eine Rechenknotengruppe in AWS PCS erstellen, empfehlen wir Ihnen, dem Tutorial unter zu folgenFangen Sie an mit AWS Dienst für parallele Datenverarbeitung. Das Tutorial kann Ihnen helfen, ein funktionierendes HPC-System zu erstellen, ohne auf alle verfügbaren Optionen und Systemarchitekturen einzugehen, die möglich sind.
Um benutzerdefinierte Skripts an bestimmten Punkten im Lebenszyklus eines Rechenknotens auszuführen — z. B. beim Mounten von Dateisystemen, Installieren von Software oder Beitreten zu einem Verzeichnisdienst —, ohne die Logik in die Benutzerdaten der Startvorlage einzubetten, verwenden Sie Node-Lifecycle-Aktionen. Weitere Informationen finden Sie unter Aktionen im Lebenszyklus eines Knotens.
Voraussetzungen
-
Ausreichende Servicekontingente, um die gewünschte Anzahl von EC2-Instances in Ihrem zu starten. AWS-Region Sie können das verwenden AWS-Managementkonsole, um Ihre Servicekontingente zu überprüfen und Erhöhungen zu beantragen.
-
Eine vorhandene VPC und Subnetze, die die AWS PCS-Netzwerkanforderungen erfüllen. Wir empfehlen, dass Sie sich mit diesen Anforderungen gründlich vertraut machen, bevor Sie einen Cluster für den Produktionseinsatz bereitstellen. Weitere Informationen finden Sie unter AWS Anforderungen und Überlegungen zu PCS, VPC und Subnetzen. Sie können auch eine CloudFormation Vorlage verwenden, um eine VPC und Subnetze zu erstellen. AWS stellt ein HPC-Rezept für die Vorlage bereit. CloudFormation Weitere Informationen finden Sie unter https://github.com/aws-samples/aws-hpc-recipes/tree/main/recipes/net/hpc_large_scale aws-hpc-recipes auf. GitHub
-
Ein IAM-Instanzprofil mit Berechtigungen zum Aufrufen der AWS RegisterComputeNodeGroupInstance PCS-API-Aktion und zum Zugriff auf alle anderen AWS
Ressourcen, die für Ihre Knotengruppen-Instances erforderlich sind. Weitere Informationen finden Sie unter IAM-Instanzprofile für AWS Dienst für parallele Datenverarbeitung.
-
Eine Startvorlage für Ihre Knotengruppen-Instances. Weitere Informationen finden Sie unter Verwenden von Amazon EC2 EC2-Startvorlagen mit AWS PCS.
-
Um eine Compute-Knotengruppe zu erstellen, die Amazon EC2-Spot-Instances verwendet, benötigen Sie die AWSServiceRoleForEC2Spot service-verknüpfte Rolle in Ihrem. AWS-Konto Weitere Informationen finden Sie unter Amazon EC2 Spot-Rolle für AWS 2 STÜCK.
Erstellen Sie eine Compute-Knotengruppe in AWS STCK
Sie können eine Compute-Knotengruppe mit AWS-Managementkonsole oder erstellen AWS CLI.
- AWS-Managementkonsole
-
So erstellen Sie Ihre Compute-Knotengruppe mithilfe der Konsole
-
Öffnen Sie die AWS PCS-Konsole.
-
Wählen Sie den Cluster aus, in dem Sie eine Compute-Knotengruppe erstellen möchten. Navigieren Sie zu Compute Node Groups und wählen Sie Create aus.
-
Geben Sie im Abschnitt zur Einrichtung der Compute-Knotengruppe einen Namen für Ihre Knotengruppe ein. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten, bei denen zwischen Groß- und Kleinschreibung unterschieden wird. Er muss mit einem alphabetischen Zeichen beginnen und darf nicht länger als 25 Zeichen sein. Der Name muss innerhalb des Clusters eindeutig sein.
-
Geben Sie unter Computerkonfiguration die folgenden Werte ein, oder wählen Sie sie aus:
-
EC2-Startvorlage — Wählen Sie eine benutzerdefinierte Startvorlage aus, die für diese Knotengruppe verwendet werden soll. Startvorlagen können verwendet werden, um Netzwerkeinstellungen wie Subnetz und Sicherheitsgruppen, Überwachungskonfiguration und Speicher auf Instanzebene anzupassen. Wenn Sie noch keine Startvorlage vorbereitet haben, erfahren Sie unter, wie Verwenden von Amazon EC2 EC2-Startvorlagen mit AWS PCS Sie eine erstellen.
AWS PCS erstellt eine verwaltete Startvorlage für jede Rechenknotengruppe. Diese sind benanntpcs-identifier-do-not-delete. Wählen Sie diese nicht aus, wenn Sie eine Compute-Knotengruppe erstellen oder aktualisieren, da die Knotengruppe sonst nicht richtig funktioniert.
-
Version der EC2-Startvorlage — Sie müssen eine Version Ihrer benutzerdefinierten Startvorlage auswählen. Wenn Sie die Version später ändern, müssen Sie die Compute-Knotengruppe aktualisieren, um Änderungen in der Startvorlage zu erkennen. Weitere Informationen finden Sie unter Aktualisierung eines AWS PCS-Compute-Knotengruppe.
-
AMI-ID — Wenn Ihre Startvorlage keine AMI-ID enthält oder wenn Sie den Wert in der Startvorlage überschreiben möchten, geben Sie hier eine AMI-ID ein. Beachten Sie, dass das für die Knotengruppe verwendete AMI mit AWS PCS kompatibel sein muss. Sie können auch ein Beispiel-AMI auswählen, das von bereitgestellt wird AWS. Weitere Informationen zu diesem Thema finden Sie unterAmazon Machine Images (AMIs) für AWS STK..
-
IAM-Instanzprofil — Wählen Sie ein Instanzprofil für die Knotengruppe aus. Ein Instanzprofil gewährt der Instanz Berechtigungen für den sicheren Zugriff auf AWS
Ressourcen und Dienste. Wenn Sie noch keines vorbereitet haben, können Sie die Option Basisprofil erstellen auswählen, damit AWS PCS eines für Sie mit der Mindestrichtlinie erstelltIAM-Instanzprofile für AWS Dienst für parallele Datenverarbeitung. Weitere Informationen finden Sie unter.
-
Subnetze — Wählen Sie ein oder mehrere Subnetze in der VPC aus, in der Ihr AWS PCS-Cluster bereitgestellt wird. Wenn Sie mehrere Subnetze auswählen, ist die EFA-Kommunikation zwischen Knoten nicht verfügbar, und die Kommunikation zwischen Knoten in verschiedenen Subnetzen kann zu einer erhöhten Latenz führen. Stellen Sie sicher, dass die Subnetze, die Sie hier angeben, mit den Subnetzen übereinstimmen, die Sie in der EC2-Startvorlage definiert haben.
-
Instances — Wählen Sie einen oder mehrere Instance-Typen aus, um Skalierungsanforderungen in der Knotengruppe zu erfüllen. Alle Instanztypen müssen dieselbe Prozessorarchitektur (x86_64 oder arm64) und dieselbe Anzahl von vCPUs haben. Wenn die Instanzen über GPUs verfügen, müssen alle Instanztypen dieselbe Anzahl von GPUs haben.
-
Skalierungskonfiguration — Geben Sie die Mindest- und Höchstanzahl von Instanzen für die Knotengruppe an. Stellen Sie das Minimum (min) ein, das dem Maximum (max) für die statische Kapazität entspricht (z. B. 5 min, 5 max.). Setzen Sie das Minimum auf 0 für eine vollständig dynamische Skalierung (z. B. 0 min, 10 max). Bei einem Slurm Wert von 24,05 oder höher können Sie für gemischte Kapazitäten den Mindestwert größer als 0 und kleiner als den Höchstwert festlegen. Dadurch wird eine Basisanzahl von Instances beibehalten und bei Bedarf hochskaliert (z. B. 2 Minuten, maximal 10).
-
(Optional) Geben Sie unter Zusätzliche Einstellungen Folgendes an:
-
Kaufoption — Wählen Sie On-Demand Instances, Spot-Instances, eine unterbrechbare Kapazitätsreservierung oder einen vorhandenen Kapazitätsblock aus. Wählen Sie On-Demand, ob Sie eine On-Demand Kapazitätsreservierung (ODCR) verwenden möchten. Weitere Informationen finden Sie unter Verwendung ODCRs mit AWS PCS. Wählen Sie „Unterbrechbare Kapazitätsreservierung“, um ein gemeinsam genutztes unterbrechbares ODCR () zu verwenden. I-ODCR Weitere Informationen finden Sie unter Verwenden I-ODCRs mit AWS STK.. Wählen Sie Capacity Block, um einen vorhandenen Amazon EC2-Kapazitätsblock für die ML-Reservierung zu verwenden. Weitere Informationen finden Sie unter Verwenden von Amazon EC2 EC2-Kapazitätsblöcken für ML mit AWS STK..
-
Zuweisungsstrategie — Wenn Sie die Spot-Kaufoption ausgewählt haben, können Sie angeben, wie Spot-Kapazitätspools ausgewählt werden, wenn Instances in der Knotengruppe gestartet werden. Weitere Informationen finden Sie unter Zuweisungsstrategien für Spot-Instances im Amazon Elastic Compute Cloud-Benutzerhandbuch. Diese Option hat keine Auswirkung, wenn Sie die On-demand Kaufoption ausgewählt haben.
-
(Optional) Im Abschnitt zur Scheduler-Konfiguration können Sie Folgendes angeben:
-
Scale-down Leerlaufzeit — (Optional) Die Zeit in Sekunden, bevor ein inaktiver Knoten in dieser Knotengruppe herunterskaliert wird. Wenn nicht festgelegt, wird der Wert auf Clusterebene verwendet. Für diese Einstellung ist Slurm Version 25.11 oder höher erforderlich.
-
(Optional) Im Abschnitt „SlurmBenutzerdefinierte Einstellungen“ können Sie Parametername- und Wertepaare hinzufügen, um zusätzliche Slurm-Einstellungen zu konfigurieren. Eine vollständige Liste der unterstützten Parameter finden Sie unterBenutzerdefinierte Slurm-Einstellungen für AWS PCS berechnet Knotengruppen.
-
(Optional) Im Abschnitt „Aktionen für den Lebenszyklus eines Nodes“ können Sie Skripts hinzufügen, die an bestimmten Punkten im Lebenszyklus eines Rechenknotens ausgeführt werden. Wählen Sie „Skript hinzufügen“. Wählen Sie die Lebenszyklusphase aus und geben Sie den Speicherort des Skripts, einen Namen, optionale Argumente, das Verhalten bei der Fehlerbehandlung und die Ausführungsrichtlinie an. Um weitere Skripts hinzuzufügen, wiederholen Sie diese Schritte. Skripts werden innerhalb einer Phase von oben nach unten ausgeführt. Um die Ausführungsreihenfolge zu ändern, wählen Sie Aktionen für ein Script aus und wählen Sie dann Nach oben oder Nach unten. Weitere Informationen finden Sie unter Aktionen im Lebenszyklus eines Knotens.
-
(Optional) Fügen Sie unter Tags beliebige Tags zu Ihrer Compute-Knotengruppe hinzu.
-
Wählen Sie Compute-Knotengruppe erstellen aus. Das Feld Status wird angezeigt, Creating während AWS PCS die Knotengruppe bereitstellt. Dies kann mehrere Minuten dauern.
Empfohlener nächster Schritt
- AWS CLI
-
Um Ihre Compute-Knotengruppe zu erstellen, verwenden Sie AWS CLI
Erstellen Sie Ihre Warteschlange mit dem folgenden Befehl. Nehmen Sie vor der Ausführung des Befehls die folgenden Ersetzungen vor:
-
regionErsetzen Sie durch die ID des AWS-Region , in dem Sie Ihren Cluster erstellen möchten, z. us-east-1 B.
-
my-clusterErsetzen Sie durch den Namen oder den Namen clusterId Ihres Clusters.
-
my-node-groupErsetzen Sie durch den Namen Ihrer Compute-Knotengruppe. Der Name darf nur alphanumerische Zeichen (wobei die Groß- und Kleinschreibung beachtet werden muss) und Bindestriche enthalten. Er muss mit einem alphabetischen Zeichen beginnen und darf nicht länger als 25 Zeichen sein. Der Name muss innerhalb des Clusters eindeutig sein.
-
subnet-ExampleID1Ersetzen Sie ihn durch eine oder mehrere Subnetz-IDs aus Ihrer Cluster-VPC.
-
lt-ExampleID1Ersetzen Sie es durch die ID für Ihre benutzerdefinierte Startvorlage. Wenn Sie noch keine vorbereitet haben, erfahren Verwenden von Amazon EC2 EC2-Startvorlagen mit AWS PCS Sie unter, wie Sie eine erstellen.
AWS PCS erstellt eine verwaltete Startvorlage für jede Rechenknotengruppe. Diese sind benanntpcs-identifier-do-not-delete. Wählen Sie diese nicht aus, wenn Sie eine Compute-Knotengruppe erstellen oder aktualisieren, da die Knotengruppe sonst nicht richtig funktioniert.
-
launch-template-versionErsetzen Sie sie durch eine bestimmte Version der Startvorlage. AWS PCS ordnet Ihre Knotengruppe dieser bestimmten Version der Startvorlage zu.
-
arn:InstanceProfileErsetzen Sie es durch den ARN Ihres IAM-Instanzprofils. Wenn Sie noch keines vorbereitet haben, finden Sie Verwenden von Amazon EC2 EC2-Startvorlagen mit AWS PCS eine Anleitung unter.
-
Ersetzen Sie min-instances und max-instances durch Ganzzahlwerte. Stellen Sie das Minimum (min) gleich dem Maximum (max) für die statische Kapazität ein (z. B. 5 min, 5 max.). Setzen Sie das Minimum auf 0 für eine volldynamische Skalierung (z. B. 0 min, 10 max). Bei einem Slurm Wert von 24,05 oder höher können Sie für gemischte Kapazitäten den Mindestwert größer als 0 und kleiner als den Höchstwert festlegen. Dadurch wird eine Basisanzahl von Instances beibehalten und bei Bedarf hochskaliert (z. B. 2 Minuten, maximal 10).
-
Durch einen t3.large anderen Instanztyp ersetzen. Sie können weitere Instanztypen hinzufügen, indem Sie eine Liste mit instanceType Einstellungen angeben. Beispiel, --instance-configs instanceType=c6i.16xlarge instanceType=c6a.16xlarge. Alle Instanztypen müssen dieselbe Prozessorarchitektur (x86_64 oder arm64) und dieselbe Anzahl von vCPUs haben. Wenn die Instanzen über GPUs verfügen, müssen alle Instanztypen dieselbe Anzahl von GPUs haben.
aws pcs create-compute-node-group --region region \
--cluster-identifier my-cluster \
--compute-node-group-name my-node-group \
--subnet-ids subnet-ExampleID1 \
--custom-launch-template id=lt-ExampleID1,version='launch-template-version' \
--iam-instance-profile-arn=arn:InstanceProfile \
--scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \
--instance-configs instanceType=t3.large
Beispiel— Erstellen einer Compute-Knotengruppe mit benutzerdefinierten Slurm-Einstellungen
aws pcs create-compute-node-group --region region \
--cluster-identifier my-cluster \
--compute-node-group-name my-node-group \
--subnet-ids subnet-ExampleID1 \
--custom-launch-template id=lt-ExampleID1,version='launch-template-version' \
--iam-instance-profile-arn=arn:InstanceProfile \
--scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \
--instance-configs instanceType=t3.large \
--slurm-configuration \
'slurmCustomSettings=[{parameterName=Features,parameterValue="gpu,nvme"}]'
Weitere Informationen finden Sie unter Benutzerdefinierte Slurm-Einstellungen für AWS PCS berechnet Knotengruppen.
Beispiel— Erstellen einer Rechenknotengruppe mit einer herunterskalierten Leerlaufzeit
aws pcs create-compute-node-group --region region \
--cluster-identifier my-cluster \
--compute-node-group-name my-gpu-nodes \
--subnet-ids subnet-ExampleID1 \
--custom-launch-template id=lt-ExampleID1,version='1' \
--iam-instance-profile-arn=arn:InstanceProfile \
--scaling-config minInstanceCount=0,maxInstanceCount=10 \
--instance-configs instanceType=p4d.24xlarge \
--slurm-configuration scaleDownIdleTimeInSeconds=300
Die scaleDownIdleTimeInSeconds Einstellung auf Gruppenebene für Rechenknoten überschreibt den Wert auf Clusterebene für Knoten in dieser Gruppe. Für diese Einstellung ist Slurm Version 25.11 oder höher erforderlich.
Es gibt mehrere optionale Konfigurationseinstellungen, die Sie dem create-compute-node-group Befehl hinzufügen können.
-
Sie können angeben, --amiId ob Ihre benutzerdefinierte Startvorlage keinen Verweis auf ein AMI enthält oder ob Sie diesen Wert überschreiben möchten. Beachten Sie, dass das für die Knotengruppe verwendete AMI mit AWS PCS kompatibel sein muss. Sie können auch ein von bereitgestelltes Beispiel-AMI auswählen AWS. Weitere Informationen zu diesem Thema finden Sie unterAmazon Machine Images (AMIs) für AWS STK..
-
Wählen --purchase-option Sie hier aus, wie AWS PCS EC2-Instances für Ihre Compute-Knotengruppe kauft. On-Demand ist die Standardeinstellung.
-
ONDEMAND— On-Demand Instanzen verwenden. Wählen Sie diese Option auch, wenn Sie eine On-Demand Kapazitätsreservierung (ODCR) verwenden möchten. Weitere Informationen finden Sie unter Verwendung ODCRs mit AWS PCS.
-
SPOT— Verwenden Sie Spot-Instances. Wenn Sie Spot-Instances wählen, können Sie --allocation-strategy damit auch definieren, wie AWS PCS Spot-Kapazitätspools auswählt, wenn Instances in der Knotengruppe gestartet werden. Weitere Informationen finden Sie unter Zuweisungsstrategien für Spot-Instances im Amazon Elastic Compute Cloud-Benutzerhandbuch.
-
CAPACITY_BLOCK— Verwenden Sie einen vorhandenen Amazon EC2-Kapazitätsblock für die ML-Reservierung. Weitere Informationen finden Sie unter Verwenden von Amazon EC2 EC2-Kapazitätsblöcken für ML mit AWS STK..
-
INTERRUPTIBLE_CAPACITY_RESERVATION— Verwenden Sie einen gemeinsam genutzten unterbrechbaren ODCR (). I-ODCR Weitere Informationen finden Sie unter Verwenden I-ODCRs mit AWS STK..
-
Es ist möglich, Slurm Konfigurationsoptionen für die Knoten in der Knotengruppe mit bereitzustellen. --slurm-configuration Sie können das Gewicht (Planungspriorität) und den tatsächlichen Speicher festlegen. Knoten mit niedrigeren Gewichten haben eine höhere Priorität, und die Einheiten sind beliebig. Weitere Informationen finden Sie in der Slurm Dokumentation unter Gewicht. Realer Speicher legt die Größe (in GB) des realen Speichers auf Knoten in der Knotengruppe fest. Er soll in Verbindung mit der CR_CPU_Memory Option für den Cluster in AWS PCS in Ihrer Slurm Konfiguration verwendet werden. Weitere Informationen finden Sie unter RealMemory in der Slurm-Dokumentation.
-
Wird verwendet--node-lifecycle-actions, um benutzerdefinierte Skripts an bestimmten Punkten im Lebenszyklus eines Rechenknotens auszuführen, z. B. beim Mounten von Dateisystemen, beim Installieren von Software oder beim Beitritt zu einem Verzeichnisdienst. Weitere Informationen finden Sie unter Konfigurieren Sie Node-Lifecycle-Aktionen in AWS STCK. Beispiele für Befehle finden Sie unterBeispiele für Aktionen im Knotenlebenszyklus für AWS STCK.
Das Erstellen der Compute-Knotengruppe kann mehrere Minuten dauern.
Sie können den Status Ihrer Knotengruppe mit dem folgenden Befehl abfragen. Sie können die Knotengruppe erst einer Warteschlange zuordnen, wenn ihr Status erreicht istACTIVE.
aws pcs get-compute-node-group --region region \
--cluster-identifier my-cluster \
--compute-node-group-identifier my-node-group