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.
Arbeiten mit Spot-Instances
AWS ParallelCluster verwendet Spot-Instances, wenn in der Cluster-Konfiguration auf cluster_type = Spot gesetzt wurde. Spot-Instances sind kostengünstiger als On-Demand-Instances, sie können jedoch unterbrochen werden. Die Auswirkung der Unterbrechung hängt vom jeweils verwendeten Scheduler ab. Es kann hilfreich sein, die Unterbrechungsbenachrichtigungen für Spot-Instances zu nutzen, die eine zweiminütige Warnung enthalten, bevor Amazon Ihre Spot-Instance stoppen oder beenden EC2 muss. Weitere Informationen finden Sie unter Spot-Instance-Unterbrechungen im EC2 Amazon-Benutzerhandbuch. In den folgenden Abschnitten werden drei Szenarien beschrieben, in denen Spot-Instances unterbrochen werden können.
Anmerkung
Die Verwendung von Spot-Instances setzt voraus, dass die mit dem AWSServiceRoleForEC2Spot
Service verknüpfte Rolle in Ihrem Konto vorhanden ist. Führen Sie den folgenden Befehl aus AWS CLI, um diese Rolle in Ihrem Konto mithilfe von zu erstellen:
aws iam create-service-linked-role --aws-service-name spot.amazonaws.com
Weitere Informationen finden Sie unter Service-verknüpfte Rolle für Spot-Instance-Anfragen im EC2 Amazon-Benutzerhandbuch.
Szenario 1: Spot-Instance ohne ausgeführte Aufgaben wird unterbrochen
Wenn diese Unterbrechung auftritt, wird AWS ParallelCluster versucht, die Instance zu ersetzen, falls die Scheduler-Warteschlange ausstehende Jobs enthält, für die zusätzliche Instances erforderlich sind, oder wenn die Anzahl der aktiven Instances unter der initial_queue_size Einstellung liegt. Wenn keine neuen Instanzen bereitgestellt werden AWS ParallelCluster können, wird eine Anfrage für neue Instanzen regelmäßig wiederholt.
Szenario 2: Spot-Instance mit Einzelknotenaufgaben wird unterbrochen
Das Verhalten dieser Unterbrechung hängt vom verwendeten Scheduler ab.
- Slurm
-
Der Job schlägt mit dem Statuscode von
NODE_FAIL
fehl und der Job wird in eine Warteschlange gestellt (sofern dies nicht--no-requeue
beim Absenden des Jobs angegeben wurde). Wenn es sich bei dem Knoten um einen statischen Knoten handelt, wird er ersetzt. Wenn der Knoten ein dynamischer Knoten ist, wird der Knoten beendet und zurückgesetzt. Weitere Hinweise zusbatch
und einschließlich des--no-requeue
Parameters finden Sie unter sbatchin der Slurm-Dokumentation. Anmerkung
Dieses Verhalten hat sich in AWS ParallelCluster Version 2.9.0 geändert. Frühere Versionen haben den Job mit dem Statuscode von beendet
NODE_FAIL
und der Knoten wurde aus der Scheduler-Warteschlange entfernt. - SGE
-
Anmerkung
Dies gilt nur für AWS ParallelCluster Versionen bis einschließlich Version 2.11.4. Ab Version 2.11.5 wird die Verwendung von AWS ParallelCluster nicht unterstützt SGE or Torque Scheduler.
Die Aufgabe wird beendet. Wenn für die Aufgabe die Markierung für erneute Ausführung aktiviert ist, (entweder mit
qsub -r yes
oderqalter -r yes
) oder bei der Warteschlange diererun
-Konfiguration auf „TRUE
“ festgelegt ist, wird die Aufgabe neu geplant. Die Datenverarbeitungs-Instance wird aus der Scheduler-Warteschlange entfernt. Dieses Verhalten stammt von den folgenden SGE-Konfigurationsparametern:-
reschedule_unknown 00:00:30
-
ENABLE_FORCED_QDEL_IF_UNKNOWN
-
ENABLE_RESCHEDULE_KILL=1
-
- Torque
-
Anmerkung
Dies gilt nur für AWS ParallelCluster Versionen bis einschließlich Version 2.11.4. Ab Version 2.11.5 wird die Verwendung von AWS ParallelCluster nicht unterstützt SGE or Torque Scheduler.
Die Aufgabe wird aus dem System und der Knoten aus dem Scheduler entfernt. Der Job wird nicht wiederholt. Wenn mehrere Jobs auf der Instanz ausgeführt werden, während sie unterbrochen wird, kann es bei Torque beim Entfernen des Knotens zu einem Timeout kommen. In der sqswatcher Protokolldatei wird möglicherweise ein Fehler angezeigt. Dies hat keinen Einfluss auf die Skalierungslogik, und bei nachfolgenden Wiederholungsversuchen wird eine ordnungsgemäße Bereinigung durchgeführt.
Szenario 3: Spot-Instance, auf der Aufgaben mit mehreren Knoten ausgeführt werden, wird unterbrochen
Das Verhalten dieser Unterbrechung hängt vom verwendeten Scheduler ab.
- Slurm
-
Der Job schlägt mit dem Statuscode von fehl
NODE_FAIL
, und der Job wird in die Warteschlange gestellt (es sei denn, dies--no-requeue
wurde bei der Übermittlung des Jobs angegeben). Wenn es sich bei dem Knoten um einen statischen Knoten handelt, wird er ersetzt. Wenn der Knoten ein dynamischer Knoten ist, wird der Knoten beendet und zurückgesetzt. Andere Knoten, auf denen die beendeten Jobs ausgeführt wurden, wurden möglicherweise anderen ausstehenden Jobs zugewiesen oder nach Ablauf der konfigurierten scaledown_idletime Zeit herunterskaliert.Anmerkung
Dieses Verhalten hat sich in AWS ParallelCluster Version 2.9.0 geändert. Frühere Versionen haben den Job mit dem Statuscode von beendet
NODE_FAIL
und der Knoten wurde aus der Scheduler-Warteschlange entfernt. Andere Knoten, auf denen die beendeten Jobs ausgeführt wurden, wurden möglicherweise nach Ablauf der konfigurierten scaledown_idletime Zeit herunterskaliert. - SGE
-
Anmerkung
Dies gilt nur für AWS ParallelCluster Versionen bis einschließlich Version 2.11.4. Ab Version 2.11.5 wird die Verwendung von AWS ParallelCluster nicht unterstützt SGE or Torque Scheduler.
Der Job wurde nicht beendet und läuft weiterhin auf den verbleibenden Knoten. Der Datenverarbeitungsknoten wird aus der Scheduler-Warteschlange entfernt, aber in der Hosts-Liste als verwaister und nicht verfügbarer Knoten angezeigt.
Der Benutzer muss die Aufgabe löschen, wenn dies geschieht (
qdel
). Der Knoten wird weiterhin in der Hostliste (<jobid>
qhost
) angezeigt, obwohl dies keine Auswirkungen hat AWS ParallelCluster. Um den Host aus der Liste zu entfernen, führen Sie nach dem Ersetzen der Instanz den folgenden Befehl aus.sudo -- bash -c 'source /etc/profile.d/sge.sh; qconf -dattr hostgroup hostlist
<hostname>
@allhosts; qconf -de<hostname>
' - Torque
-
Anmerkung
Dies gilt nur für AWS ParallelCluster Versionen bis einschließlich Version 2.11.4. Ab Version 2.11.5 wird die Verwendung von AWS ParallelCluster nicht unterstützt SGE or Torque Scheduler.
Die Aufgabe wird aus dem System und der Knoten aus dem Scheduler entfernt. Der Job wird nicht wiederholt. Wenn mehrere Jobs auf der Instanz ausgeführt werden, während sie unterbrochen wird, kann es bei Torque beim Entfernen des Knotens zu einem Timeout kommen. In der sqswatcher Protokolldatei wird möglicherweise ein Fehler angezeigt. Dies hat keinen Einfluss auf die Skalierungslogik, und bei nachfolgenden Wiederholungsversuchen wird eine ordnungsgemäße Bereinigung durchgeführt.
Weitere Informationen zu Spot-Instances finden Sie unter Spot-Instances im EC2 Amazon-Benutzerhandbuch.