Werkzeuge, die die Umgebung für den Faktor für parallele Verarbeitung berücksichtigen, teilen und führen Operationen für mehrere Prozesse aus.
Viele moderne Computer enthalten Mehrkern-CPUs. Durch die Verteilung eines Geoverarbeitungsvorgangs auf mehrere Prozesse kann die Geschwindigkeit durch die Nutzung mehrerer Kerne erhöht werden. Der Performance-Vorteil der parallelen Verarbeitung ist je nach Werkzeug unterschiedlich.
Verwendungshinweise
- Der Wert für diese Umgebungseinstellung bestimmt die Anzahl der logischen Prozesse, auf die ein Werkzeug den jeweiligen Vorgang verteilt. Diese logischen Prozesse werden zwischen Hardware-Kernen verteilt, die in den Computer integriert sind. Die Anzahl der Hardware-Kerne wird basierend auf dieser Einstellung nicht geändert.
- Jedes Werkzeug, das diese Umgebung berücksichtigt, verfügt über einen integrierten Standardwert für die Anzahl der logischen Prozesse, die einem bestimmten Computer zugewiesen sind. Dieser Wert kann auf der Grundlage von Daten, Vorgängen und verfügbaren Ressourcen geändert werden.
- Wenn Sie einen Prozentwert angeben (mit dem Symbol "%"), entspricht die Anzahl der verwendeten Prozesse dem angegebenen Prozentsatz der Anzahl der Kerne des Computers, die auf die nächste Ganzzahl gerundet wird. Bei einem Computer mit 4 Kernen als Beispiel bedeutet die Einstellung "50 %", dass die Operation auf 2 Prozesse verteilt wird (50 % * 4 = 2). Die Einstellung "66 %" bedeutet, dass die Operation auf 3 Prozesse verteilt wird (66 % * 4 = 2,64, was auf 3 gerundet wird), und die Einstellung "100 %" bedeutet, dass die Operation auf alle 4 Prozesse verteilt wird (100 % * 4 = 4).
- Während der Geoverarbeitung mit einer SQL Server Express-Datenbank müssen Sie die Anzahl der parallelen Prozesse auf zwei beschränken.
SQL Server Express lässt maximal drei Verbindungen gleichzeitig zu. Für jede verarbeitende CPU ist eine Verbindung mit dem Server erforderlich. Zudem zählt die Software, die das Werkzeug ausführt, wie beispielsweise ArcGIS Desktop, als ein Verbindungsprozess, wodurch nur noch zwei Arbeitsprozessverbindungen für die parallele Verarbeitung verfügbar sind.
- Wenn die Anzahl der angegebenen Prozesse die Anzahl der Kerne des Computers übersteigt, kann dies zu Performance-Einbußen führen. Dies ist darauf zurückzuführen, dass mehrere Prozesse auf einem Kern um Ressourcen konkurrieren. Um die Umgebung so festzulegen, dass dieser Konkurrenzbetrieb vermieden wird, können Sie einen Prozentwert verwenden, der kleiner ist als 100 % oder eine Anzahl von Prozessen, die kleiner ist als die Anzahl der Kerne des Computers.
Wenn jedoch alle Prozesse eine E/A-Bindung an einen Datenträger oder eine Enterprise-Datenbankverbindung aufweisen, können Sie eine bessere Performance erzielen, indem Sie mehr Prozesse als vorhandene Kerne angeben. Das Werkzeug Raster zu Mosaik-Dataset hinzufügen ist beispielsweise E/A-gebunden, wenn das Mosaik-Dataset in einer Enterprise-Datenbank gespeichert ist. Ebenso weist das Werkzeug Übersichten erstellen primär eine E/A-Bindung an den Datenträger auf. Sie können mehr Prozesse verwenden als die Anzahl der Kerne Ihres Computers beträgt, indem Sie einen Prozentwert angeben, der größer ist als 100 %, oder eine Anzahl von Prozessen, die größer ist als die Anzahl der Kerne Ihres Computers. Wenn Sie beispielsweise über einen Computer mit 4 Kernen verfügen, werden Vorgänge bei Angabe von 8 oder 200 % auf acht Prozesse verteilt.
- Die Umgebung "Faktor für parallele Verarbeitung" wird nicht bei Background Geoprocessing (64-bit) unterstützt.
Dialogfeldsyntax
Faktor für parallele Verarbeitung – Die Anzahl der Prozesse, auf die ein Werkzeug einen Vorgang verteilt.
- Leer: Jedes Werkzeug kann bestimmen, wie viele Prozesse verwendet werden sollen. Dies ist die Standardeinstellung.
- 0: Vorgänge werden nicht auf mehrere Prozesse verteilt.
- n: Verwendet die angegebene Anzahl von Prozessen.
- n%: Berechnet die Anzahl der Prozesse, die den angegebenen Prozentsatz verwenden: Anzahl der Prozesse = Anzahl der Systemkerne * n / 100.
Skriptsyntax
arcpy.env.parallelProcessingFactor = string
Parameter | Erklärung |
---|---|
leere Zeichenfolge (leer) | Jedes Werkzeug kann bestimmen, wie viele Prozesse verwendet werden sollen. Dies ist die Standardeinstellung. |
0 | Vorgänge werden nicht auf mehrere Prozesse verteilt. |
n | Verwendet die angegebene Anzahl von Prozessen. |
n% | Berechnet die Anzahl der Prozesse, die den angegebenen Prozentsatz verwenden: Anzahl der Prozesse = Anzahl der Systemkerne * n / 100. |
Skriptbeispiel
import arcpy
# Use half of the cores on the machine
arcpy.env.parallelProcessingFactor = "50%"