Pool-Zuweisungen festlegen
- Aktualisiert2023-02-17
- 4 Minute(n) Lesezeit
Pool-Zuweisungen festlegen
Legt die Pool-Zuweisung für jede CPU im Real-Time-Betriebssystem (RTOS) für die automatische Lastverteilung fest.
Ein-/Ausgänge

CPU-Pools
Prozessorpools, denen jede CPU im System zugeordnet werden kann.
Jedes Element im Array stellt eine CPU dar. Die Array-Indizes 0 bis N entsprechen den CPU-Nummern 0 bis N.
| System and Timed Structures | Weist die CPU sowohl dem System-Pool als auch dem Pool für zeitgesteuerte Strukturen zu. Dadurch wird eine automatische Prozessorlastverteilung für alle Threads erzielt, die nicht manuell an eine bestimmte CPU gebunden wurden. |
| System | Weist die CPU dem System-Pool zu. Dadurch wird eine automatische Prozessorlastverteilung von Threads für nicht zeitgesteuerte Schleifen erzielt. |
| Timed Structures | Weist die CPU dem Pool für zeitgesteuerte Strukturen zu. Dadurch wird eine automatische Prozessorlastverteilung von Threads für zeitgesteuerte Schleifen erzielt. |
| Reserved | Weist die CPU keinem der Pools zu. Die CPU ist für zeitgesteuerte Schleifen reserviert, die für eine manuelle Prozessorauswahl konfiguriert sind. |

Fehler (Eingang)
Fehlerbedingungen, die vor der Ausführung des Knotens aufgetreten sind.
Der Knoten reagiert auf diesen Eingang entsprechend dem Standardfehlerverhalten.
Default value: Kein Fehler

Zugewiesene CPU-Pools
Prozessor-Pool-Zuordnung jeder einzelnen CPU.
| System and Timed Structures | Die CPU ist sowohl dem System-Pool als auch dem Pool für zeitgesteuerte Strukturen zugewiesen. Dadurch wird eine automatische Lastverteilung für alle Threads erzielt, die nicht manuell an eine bestimmte CPU gebunden wurden. |
| System | Die CPU ist dem System-Pool zugewiesen. Dadurch wird eine automatische Prozessorlastverteilung von Threads für nicht zeitgesteuerte Schleifen erzielt. |
| Timed Structures | Die CPU ist dem Pool für zeitgesteuerte Strukturen zugewiesen. Dadurch wird eine automatische Prozessorlastverteilung von Threads für zeitgesteuerte Schleifen erzielt. |
| Reserved | Die CPU ist keinem Pool zugewiesen. Die CPU ist für zeitgesteuerte Schleifen reserviert, die für eine manuelle Prozessorauswahl konfiguriert sind. |

Systemmaske
Bit-Maske, die den System-Pool-Zuweisungen entspricht.

Maske zeitgesteuerter Strukturen
Bit-Maske, die den Zuweisungen des Pools für zeitgesteuerte Strukturen entspricht.

Fehler (Ausgang)
Fehlerinformationen.
Der Knoten erzeugt diesen Ausgang entsprechend dem Standardfehlerverhalten.
Maximieren der Ausführungsgeschwindigkeit von deterministischen zeitgesteuerten Schleifen
Sie können die Leistung in einer deterministischen zeitgesteuerten Schleife maximieren, indem Sie die Schleife einer reservierten (Reserved) High-Index-CPU zuweisen. Wenn das Real-Time-Betriebssysteme (RTOS) vier CPU-Kerne mit einer Indizierung 0 - 3 enthält, können Sie beispielsweise für CPU 3 den Zustand Reserved festlegen und die deterministische zeitgesteuerte Schleife dieser CPU 3 zuweisen.
Beim Zuweisen von deterministischen zeitgesteuerten Schleifen mit hoher Ausführungsgeschwindigkeit an High-Index-CPUs wird die Latenz dadurch minimiert, dass das RTOS bei der Ausführungsplanung für zeitgesteuerte Schleifen bei der CPU mit dem höchsten Index beginnt und abwärts inkrementiert. Wenn mehrere zeitgesteuerte Schleifen mit gleicher Priorität zum selben Zeitpunkt ausgeführt werden sollen, kann die Aktivierungslatenz für Schleifen auf niedrig indizierten CPUs um mehrere Mikrosekunden länger sein als die von Schleifen, die auf höher indizierten CPUs ausgeführt werden. Bei nicht zeitgesteuerten Schleifen beginnt der Scheduler bei der CPU 0 und inkrementiert aufwärts, was einen umgekehrten Effekt verursacht. Es wird empfohlen, dass Sie CPUs mit niedrigerem Index dem System-Pool zuweisen und CPUs mit höherem Index zur Verringerung der Wartezeit für deterministische zeitgesteuerte Schleifen reservieren.
Durch das Einstellen einer CPU auf den Reserved-Zustand wird sichergestellt, dass die CPU lediglich für das Ausführen der zeitgesteuerten Schleife(n) reserviert ist, die Sie der CPU manuell zuweisen. Wenn Sie einer reservierten CPU nur eine zeitgesteuerte Schleife zuweisen, können Sie die Verarbeitungskapazität dieser CPU vollständig beanspruchen und dadurch hohe Frequenzen oder Durchsatzraten erzielen.
Maximieren der CPU-Auslastung
Um die Prozessorauslastung zu maximieren, können Sie die Anzahl der CPUs anpassen, die jedem Pool basierend auf dem geschätzten Anteil der Gesamtverarbeitungszeit zugewiesen werden, die jeweils für zeitgesteuerte Schleifen und für System-Threads bereitgestellt ist. Sie können die Prozessorlastverteilung mit Hilfe des Knotens RT - CPU-Auslastungen ermitteln schätzen.
Die CPU-Auslastung lässt sich auch durch ein Vermeiden von Pools mit teilweisen Überlappungen maximieren. Wenn Sie die Pools des Systems und der zeitgesteuerten Strukturen so definieren, dass teilweise Überlappungen zwischen zwei Pools vorliegen, kann es sein, dass der automatische Lastverteilungsprozess keine optimale Entscheidung zur Prozessorauslastung treffen kann.
Verhindern von Ressourcenentzug für Threads
Um einen Ressourcenentzug für System-Threads zu verhindern, sollten Sie mindestens eine CPU nur für System-Threads reservieren. Wenn Sie beispielsweise die CPU 0 dem System-Pool zuweisen und generell die Zuweisung jeglicher zeitgesteuerter Schleifen an die CPU 0 vermeiden, ist diese immer zur Ausführung von System-Threads verfügbar.