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 STK.
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, das Tutorial unter zu befolgenFangen 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 eingehen zu müssen, die möglich sind.
Voraussetzungen
-
Ausreichende Servicekontingenten, um die gewünschte Anzahl von EC2-Instances in Ihrem zu starten. AWS-Region Sie können das verwenden AWS-Managementkonsole, um eine Erhöhung Ihrer Servicekontingenten zu überprüfen und zu beantragen.
-
Eine bestehende VPC und Subnetze, die die AWS PCS-Netzwerkanforderungen erfüllen. Wir empfehlen, dass Sie sich gründlich mit diesen Anforderungen vertraut machen, bevor Sie einen Cluster für die Produktion 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 aws-hpc-recipes on. 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, müssen Sie die AWSServiceRoleForEC2Spotserviceverknüpfte Rolle in Ihrer haben. AWS-Konto Weitere Informationen finden Sie unter Amazon EC2 Spot-Rolle für AWS STK..
Erstellen Sie eine Rechenknotengruppe in AWS STK.
Sie können eine Compute-Knotengruppe mit dem AWS-Managementkonsole oder dem erstellen AWS CLI.
- AWS-Managementkonsole
-
Um Ihre Compute-Knotengruppe mithilfe der Konsole zu erstellen
-
Ö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-Knotengruppen und wählen Sie Create aus.
-
Geben Sie im Abschnitt Konfiguration der Compute-Knotengruppe einen Namen für Ihre Knotengruppe ein. Der Name darf nur alphanumerische Zeichen und Bindestriche enthalten, bei denen Groß- und Kleinschreibung beachtet 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. Falls 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 kein Basisprofil vorbereitet haben, können Sie „Basisprofil erstellen“ auswählen, damit AWS PCS eines für Sie mit der Mindestrichtlinie erstellt, oder sehen Sie nachIAM-Instanzprofile für AWS Dienst für parallele Datenverarbeitung.
-
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 den 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 denen ü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 Instance-Typen müssen dieselbe Prozessorarchitektur (x86_64 oder arm64) und dieselbe Anzahl von vCPUs haben. Wenn die Instanzen GPUs haben, 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) gleich dem Maximum (max.) für die statische Kapazität ein (z. B. 5 min, 5 max.). Stellen Sie das Minimum für eine volldynamische Skalierung auf 0 ein (z. B. 0 min, 10 max). Bei Slurm 24.05 oder höher können Sie das Minimum für gemischte Kapazitäten auf einen Wert über 0 und unter den Höchstwert setzen. Dadurch wird eine Basisanzahl von Instanzen 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 aus, On-Demandob 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 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 beim Starten von Instances in der Knotengruppe ausgewählt 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 „Scheduler-Konfiguration“ können Sie Folgendes angeben:
-
Scale-down Leerlaufzeit — (Optional) Die Zeit in Sekunden, bis 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 Bereich für Slurmbenutzerdefinierte Einstellungen können Sie Parameternamen- 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-Compute-Knotengruppen.
-
(Optional) Fügen Sie unter Tags beliebige Tags zu Ihrer Compute-Knotengruppe hinzu.
-
Wählen Sie Compute-Knotengruppe erstellen aus. Im Feld Status wird angezeigt, Creating während AWS PCS die Knotengruppe bereitstellt. Dies kann mehrere Minuten dauern.
Als nächster Schritt wird empfohlen
- AWS CLI
-
So erstellen Sie Ihre Compute-Knotengruppe mit AWS CLI
Erstellen Sie Ihre Warteschlange mit dem folgenden Befehl. Nehmen Sie vor der Ausführung des Befehls die folgenden Ersetzungen vor:
-
regionErsetzen Sie es 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 clusterId Ihres Clusters.
-
my-node-groupErsetzen Sie es durch den Namen für Ihre 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 durch eine oder mehrere Subnetz-IDs aus Ihrer Cluster-VPC.
-
lt-ExampleID1Ersetzen Sie es durch die ID für Ihre benutzerdefinierte Startvorlage. Falls Sie noch keine vorbereitet haben, erfahren Verwenden von Amazon EC2 EC2-Startvorlagen mit AWS PCS Sie unter, wie Sie eine erstellen.
AWS PCS erstellt für jede Rechenknotengruppe eine verwaltete Startvorlage. 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 spezifischen Version der Startvorlage zu.
-
arn:InstanceProfileErsetzen Sie es durch den ARN Ihres IAM-Instanzprofils. Falls Sie noch keinen vorbereitet haben, finden Sie weitere Verwenden von Amazon EC2 EC2-Startvorlagen mit AWS PCS Informationen unter.
-
Ersetzen Sie min-instances und durch max-instances ganzzahlige Werte. Stellen Sie das Minimum (min) gleich dem Maximum (max) für die statische Kapazität ein (z. B. 5 min, 5 max.). Stellen Sie das Minimum für eine volldynamische Skalierung auf 0 ein (z. B. 0 min, 10 max). Bei Slurm 24.05 oder höher können Sie das Minimum für gemischte Kapazitäten auf einen Wert über 0 und unter den Höchstwert setzen. Dadurch wird eine Basisanzahl von Instanzen 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 Instance-Typen müssen dieselbe Prozessorarchitektur (x86_64 oder arm64) und dieselbe Anzahl von vCPUs haben. Wenn die Instanzen GPUs haben, 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-Compute-Knotengruppen.
Beispiel— Erstellung einer Rechenknotengruppe mit einer nach unten skalierten 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 der Ebene der Compute-Knotengruppe hat Vorrang vor dem 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 Beispiel-AMI auswählen, das von bereitgestellt wird AWS. Weitere Informationen zu diesem Thema finden Sie unterAmazon Machine Images (AMIs) für AWS STK..
-
Dient --purchase-option zur Auswahl der Art und Weise, wie AWS PCS EC2-Instances für Ihre Compute-Knotengruppe kauft. On-Demand ist die Standardeinstellung.
-
ONDEMAND— Verwenden Sie On-Demand Instanzen. 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 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 ein gemeinsam genutztes unterbrechbares 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 mithilfe von bereitzustellen. --slurm-configuration Sie können die Gewichtung (Scheduling-Priorität) und den tatsächlichen Arbeitsspeicher festlegen. Knoten mit niedrigerer Gewichtung haben eine höhere Priorität, und die Einheiten sind willkürlich. 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.
Die Erstellung 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 dann 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