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 Prozesse, auf die ein Werkzeug den jeweiligen Vorgang verteilt. Diese Prozesse werden zwischen Hardware-Kernen (Prozessoren) 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 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. Auf einem Computer mit 4 Kernen sehen die Prozentwerte und die Anzahl der Prozesse beispielsweise wie folgt aus:
- Wenn Sie den Wert "50 %" einstellen, bedeutet dies, dass der Vorgang auf 2 Prozesse verteilt wird (50 % * 4 = 2).
- Wenn Sie den Wert "66 %" einstellen, bedeutet dies, dass der Vorgang auf 3 Prozesse verteilt wird (66 % * 4 = 2,64, wird auf 3 aufgerundet).
- Wenn Sie den Wert "100 %" einstellen, bedeutet dies, dass der Vorgang 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.
In Fällen, in denen 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 in der 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%"