Multithreading: Unterschied zwischen den Versionen

Aus Asprova Hilfe
Wechseln zu: Navigation, Suche
Zeile 30: Zeile 30:
 
|}
 
|}
  
<nowiki>*</nowiki> Für Prozesse von Nummer 3 - 8 kann hinterlegt werden, wie viele Threads genutzt werden sollen. Klicken Sie dazu in der Menüleiste unter [Werkzeug]  auf [NumThreads]. (Der hinterlegte Wert für die Anzahl an Threads kann durch Windowsaccount gespeichert werden.)
+
<nowiki>*</nowiki> Für Prozesse die von Nummer 3 - 8 kann hinterlegt werden, wie viele Threads genutzt werden sollen. Klicken Sie dazu in der Menüleiste unter [Werkzeug]  auf [NumThreads]. (Der hinterlegte Wert für die Anzahl an Threads kann durch Windowsaccount gespeichert werden.)
  
 
<nowiki>*</nowiki> Dabei gilt für die Prozesse von Nummer 3 - 8 nicht, "je mehr Threads, desto schneller die Performance". Tatsächlich hängt die Leistung von den integrierten Stammdaten und der Anzahl an Aufträgen ab. Für optimale Leistung muss eine passende Anzahl an Threads hinterlegt werden.
 
<nowiki>*</nowiki> Dabei gilt für die Prozesse von Nummer 3 - 8 nicht, "je mehr Threads, desto schneller die Performance". Tatsächlich hängt die Leistung von den integrierten Stammdaten und der Anzahl an Aufträgen ab. Für optimale Leistung muss eine passende Anzahl an Threads hinterlegt werden.
  
  
Nachfolgen wird ein Performance-Ergebnis von beispielhaften Daten auf einem PC mit einem Prozesse mit 12 Kernen und Hyper-Threading Technologie gezeigt. Darin werden 4,000,000 Vorgänge, 50 Prozesse, 100 Artikel und drei Ressourcenkandidaten für jeden Prozess berechnet:
+
Nachfolgen wird ein Performance-Ergebnis von einem PC mit Zwölfkernprozessor mit Hyper-Threading-Technologie gezeigt. Darin wird mit 4,000,000 Vorgängen, 50 Prozessen, 100 Artikel und drei alternativen Ressourcen für jeden Prozess gerechnet:
  
 
[[Image:multithread01.jpg]]
 
[[Image:multithread01.jpg]]
  
  
<nowiki>*</nowiki> Bei den Prozessen Nr. 3-7 ist die Performance nahezu die selbe bei der Verwendung von einem oder zwei Threads. Um eine bessere Performance zu erhalten, wird die Anzahl der Threads mit mindestens 3 eingestellt. (Die absolute Zeit von einem und zwei Threads ist verschieden. Dies ist darauf zurückzuführen, da die Zeit des Prozesses Nr.8 bein einem und zwei Threads unterschiedlich ausfällt)
+
<nowiki>*</nowiki> Bei den Prozessen von Nummer 3 - 7 ist die Leistung zwischen der Verwendung von einem Thread und der Verwendung von zwei Threads fast gleich. Erst wenn die Nutzung von drei Threads eingestellt wird, verbessert sich die Leistung merkbar. (Die absolute Berechnungszeit unterscheidet sich bei jeweils einem- und bei zwei Threads. Grund dafür ist, dass die Berechnungszeit von Prozess 8 zwischen einem Thread und zwei Threads unterschiedlich ausfällt.
  
  
<nowiki>*</nowiki> Im folgenden Fall sind Prozesse Nr. 3-7 automatisch zu "single thread mode" geändert.
+
<nowiki>*</nowiki> In den folgenden Fällen wird der Single-Thread-Modus automatisch für die Prozesse von Nummer 3 - 7 eingestellt.
  
:: Der folgende Plug-In-Schlüsse wird verwendet (Nach Ver.10.0.1.22)
+
:: Es wird der folgenden Plug-In-Schlüssel verwendet: (Nach Version 10.0.1.22)
  
 
:: KeyHookBeforeAssign<br />KeyHookAfterAssign<br />KeyHookInCodeFunction<br />EIIFilterCalcDuration<br />EIIFilterCalcCombinationSetupDuration<br />EIIFilterCalcEvaluation<br />EIIFilterCalcOperationTimeLimit<br />EIIFilterCalcNextOperationTimeLimit
 
:: KeyHookBeforeAssign<br />KeyHookAfterAssign<br />KeyHookInCodeFunction<br />EIIFilterCalcDuration<br />EIIFilterCalcCombinationSetupDuration<br />EIIFilterCalcEvaluation<br />EIIFilterCalcOperationTimeLimit<br />EIIFilterCalcNextOperationTimeLimit
  
:: Die Eigenschaft "Planunterbrechungsbedingung" ist in den Planungsparametereinstellungen spezifiziert.
+
:: Zur Nutzung der Eigenschaft "Planunterbrechungsbedingung" ist dafür eine Formel (in den Planungsparametereinstellungen) hinterlegt.
  
:: Die Eigenschaft "Nicht zugewiesene, verknüpfte Vorgänge ignorieren" wurde mit "Ja" in den Planungsparametereinstellungen spezifiziert.
+
:: Die Eigenschaft "Nicht zugewiesene, verknüpfte Vorgänge ignorieren" ist (in den Planungsparametereinstellungen) auf "Ja" eingestellt.
  
:: Die Eigenschaft "Bestandsbeschränkung aktivieren" ist nicht mit "Nein" in den Planungsparametereinstellungen spezifiziert.
+
:: Die Eigenschaft "Bestandsbeschränkung aktivieren" ist (in den Planungsparametereinstellungen) nicht auf "Nein" eingestellt.
  
  
<nowiki>*</nowiki>
+
: Im folgenden Fall wird Prozess Nummer 8 automatisch auf den Single-Thread-Modus gestellt:
 
 
: Im folgenden Fall ist Prozess Nr.8 automatisch auf "single thread mode" eingestellt.
 
  
 
:: KeyHookInCodeFunction
 
:: KeyHookInCodeFunction

Version vom 7. Dezember 2017, 10:55 Uhr

Hilfe Nummer: 8990601

Einige Befehle können parallel auf mehreren CPU-Kernen berechnet werden (Multiple Core Hyper-Threading - In Asprova wird dies "Multiple Thread" genannt.). Mithilfe dieser Technologie wird die Planungsgeschwindigkeit erhöht.

"Multiple Thread" kann bei der Ausführung der folgenden Befehle genutzt werden:


Nr. Befehl oder Laufzeitmessung Inhalt Version Bemerkung
1. beim Start von Asprova und bei Übertragung der Kalender- und Shichttabellen nach dessen Bearbeitung Entwickelt Ressourcenarbeitszeit Ver.7.3.1 auf Version 8 beschränkte Funktionen
2. Bewertet Planungsbefehl Bewertung Ver.7.3.1 Auf Ver.8 beschränkte Funktionen.
3. Zuweisung/Verknüpfung von Auftragsbefehlen Zuweisung Ver.10 Nur für 64bit. auf Ver.10 beschränkte Funktionen.
4. Zuweisung von Fertigungsauftragsbefehlen Zuweisung Ver.10 Nur für 64bit. auf Ver.10 beschränkte Funktionen.
5. Zuweisung von zeitbeschrönkte Vorgangsbefehle Zuweisung Ver.10 Nur für 64bit. auf Ver.10 beschränkte Funktionen.
6. Zuweisung von ergebnisbeschränkten Vorgangsbefehlen Zuweisung Ver.10 Nur für 64bit. auf Ver.10 beschränkte Funktionen.
7. Befehl zur Auslastungsnivellierung Zuweisung Ver.10 Nur für 64bit. auf Ver.10 beschränkte Funktionen.
8. Befehl zur Auftragsteilung Teilung von Aufträgen Ver.10 Nur für 64bit. auf Ver.10 beschränkte Funktionen.

* Für Prozesse die von Nummer 3 - 8 kann hinterlegt werden, wie viele Threads genutzt werden sollen. Klicken Sie dazu in der Menüleiste unter [Werkzeug] auf [NumThreads]. (Der hinterlegte Wert für die Anzahl an Threads kann durch Windowsaccount gespeichert werden.)

* Dabei gilt für die Prozesse von Nummer 3 - 8 nicht, "je mehr Threads, desto schneller die Performance". Tatsächlich hängt die Leistung von den integrierten Stammdaten und der Anzahl an Aufträgen ab. Für optimale Leistung muss eine passende Anzahl an Threads hinterlegt werden.


Nachfolgen wird ein Performance-Ergebnis von einem PC mit Zwölfkernprozessor mit Hyper-Threading-Technologie gezeigt. Darin wird mit 4,000,000 Vorgängen, 50 Prozessen, 100 Artikel und drei alternativen Ressourcen für jeden Prozess gerechnet:

Multithread01.jpg


* Bei den Prozessen von Nummer 3 - 7 ist die Leistung zwischen der Verwendung von einem Thread und der Verwendung von zwei Threads fast gleich. Erst wenn die Nutzung von drei Threads eingestellt wird, verbessert sich die Leistung merkbar. (Die absolute Berechnungszeit unterscheidet sich bei jeweils einem- und bei zwei Threads. Grund dafür ist, dass die Berechnungszeit von Prozess 8 zwischen einem Thread und zwei Threads unterschiedlich ausfällt.


* In den folgenden Fällen wird der Single-Thread-Modus automatisch für die Prozesse von Nummer 3 - 7 eingestellt.

Es wird der folgenden Plug-In-Schlüssel verwendet: (Nach Version 10.0.1.22)
KeyHookBeforeAssign
KeyHookAfterAssign
KeyHookInCodeFunction
EIIFilterCalcDuration
EIIFilterCalcCombinationSetupDuration
EIIFilterCalcEvaluation
EIIFilterCalcOperationTimeLimit
EIIFilterCalcNextOperationTimeLimit
Zur Nutzung der Eigenschaft "Planunterbrechungsbedingung" ist dafür eine Formel (in den Planungsparametereinstellungen) hinterlegt.
Die Eigenschaft "Nicht zugewiesene, verknüpfte Vorgänge ignorieren" ist (in den Planungsparametereinstellungen) auf "Ja" eingestellt.
Die Eigenschaft "Bestandsbeschränkung aktivieren" ist (in den Planungsparametereinstellungen) nicht auf "Nein" eingestellt.


Im folgenden Fall wird Prozess Nummer 8 automatisch auf den Single-Thread-Modus gestellt:
KeyHookInCodeFunction

Hilfe Nummer: 8990601