2017-07-26 8 views
0

Ich habe einige Fragen zum parallelen Ausführen von Tasks in Azure Batch. Laut der offiziellen Dokumentation können Sie mit "Azure Batch" maximale Aufgaben pro Knoten bis zum Vierfachen (4x) der Anzahl der Knotenkerne festlegen. "Parallele Tasks im Stapel ausführen

  1. Gibt es eine Einrichtung anders als die max Aufgaben pro Knoten angeben, wenn ein Pool zu schaffen, die (auf den Code) durchgeführt werden muss, um der Lage sein, parallel Aufgaben mit Batch laufen?

  2. Also, wenn ich das richtig verstehe, wenn ich eine Standard_D1_v2 Maschine mit 1 Kern habe, kann ich bis zu 4 gleichzeitig laufende Aufgaben darin laufen lassen. Ist das richtig? Wenn ja, habe ich einige Tests durchgeführt und bin mir über das Verhalten, das ich bekommen habe, ziemlich sicher. In einem Pool von D1_v2-Maschinen, die für die Ausführung von 1 Task pro Knoten eingerichtet sind, erhalte ich für meine Jobausführungszeit ungefähr 16 Minuten. Dann, mit den gleichen Anwendungen und den gleichen Parametern, wobei die einzige Änderung ein neuer Pool mit dem gleichen Setup ist, auch D1_v2, mit Ausnahme von 4 Tasks pro Knoten, bekomme ich immer noch eine Ausführungszeit von ca. 15 min. Es gab keine Verbesserung der Ausführungszeit für die Ausführung von Tasks parallel. Was könnte passieren? Was fehlt mir hier?

  3. Ich führte einen Test mit einem Pool von D3_v2-Maschinen mit 4 Kernen, eingerichtet, um 2 Aufgaben pro Kern für insgesamt 8 Aufgaben pro Knoten auszuführen, und einen weiteren Test mit einem Pool (dieselbe Anzahl von Maschinen wie vorherige)) von D2_v2-Maschinen mit 2 Kernen, eingerichtet für die Ausführung von 2 Tasks pro Kern für insgesamt 4 parallele Tasks pro Knoten. Die Ausführungszeit für Laufzeit und Auftrag war für beide Tests gleich. Gibt es keine Verbesserung, wenn man bedenkt, dass im ersten Test 8 Tasks pro Knoten laufen, im zweiten Test 4 Tasks pro Knoten? Wenn ja, was könnte ein Grund sein, warum ich diese Verbesserung nicht bekomme?

Antwort

0
  1. Nr Obwohl Sie die task scheduling policy, compute node fill type aussehen wollen in steuern, wie Ihre Aufgaben unter Knoten in Ihrem Pool verteilt sind.
  2. Wie viele Aufgaben sind in Ihrem Job? Sind Ihre Aufgaben rechenintensiv? Wenn dies der Fall ist, werden Sie keine Verbesserung sehen (vielleicht sogar eine Leistungsverschlechterung von Ende zu Ende).
  3. Batch plant lediglich die Tasks gleichzeitig auf dem Knoten. Wenn der Befehl/Prozess, den Sie ausführen, alle Prozessorkerne auf dem Computer verwendet und rechenintensiv ist, sehen Sie keine Verbesserung. Sie sollten die Start- und Endzeiten Ihrer Aufgaben in den Job- und Knotenausführungsinformationen überprüfen, um zu sehen, ob sie tatsächlich gleichzeitig auf demselben Knoten geplant werden.
+0

Vielen Dank! 2. Ich habe 1000 Aufgaben ausgeführt, und meine Aufgaben bestanden nur darin, ein Blob auf den Knoten zu laden. –

+0

Laden Sie den gleichen Blob herunter? Bitte bestätigen Sie auch Details von # 3. – fpark

+0

Nein, verschiedene Blobs. Für jede Aufgabe wurde ein anderer Blob zugeordnet. Und für # 3 habe ich tatsächlich keine Informationen darüber gesammelt, auf welchem ​​Knoten die Aufgabe ausgeführt wurde. Ich sollte. Ich müsste einen weiteren Test machen. –