プール割り当てを設定
- 更新日2023-02-17
- 6分で読める
プール割り当てを設定
自動負荷調整用にリアルタイムオペレーティングシステム (RTOS) で各CPUのプール割り当てを設定します。
入力/出力

CPUプール
システムの各CPUに割り当てるプールです。
CPUを表す配列の各要素です。配列指標0~Nは、CPU指標0~Nに対応します。
| System and Timed Structures | 特定のCPUに手作業で割り当てられていないすべてのスレッドの自動負荷調整のために、CPUをシステムプールとタイミングストラクチャプールの両方に割り当てます。 |
| System | タイミングループスレッド以外の自動負荷調整のために、CPUをシステムプールに割り当てます。 |
| Timed Structures | タイミングループスレッド以外の自動負荷調整のために、CPUをタイミングストラクチャプールに割り当てます。 |
| Reserved | CPUをいずれのプールにも割り当てません。CPUは、手動のプロセッサ割り当てのために構成するタイミングループに予約されています。 |

エラー入力

割り当てられたCPUプール
各CPUのプール割り当てです。
| System and Timed Structures | 特定のCPUに手作業で割り当てられていないすべてのスレッドの自動負荷調整のために、CPUはシステムプールとタイミングストラクチャプールの両方に割り当てられます。 |
| System | タイミングループスレッド以外の自動負荷調整のために、CPUはシステムプールに割り当てられます。 |
| Timed Structures | タイミングループスレッド以外の自動負荷調整のために、CPUはタイミングストラクチャプールに割り当てられます。 |
| Reserved | CPUはプールに割り当てられていません。CPUは、手動のプロセッサ割り当てのために構成するタイミングループに予約されています。 |

システムマスク
システムプールの割り当てに対応するビットマスクです。

タイミングストラクチャマスク
タイミングストラクチャプールの割り当てに対応するビットマスクです。
確定的タイミングループのパフォーマンスを最大化する
タイミングループをReservedされた高指標のCPUに割り当てることで、確定的タイミングループでのパフォーマンスを最大化できます。たとえば、リアルタイムオペレーティングシステム (RTOS) に指標0~3の4つのCPUコアが含まれている場合は、CPU 3の状態をReservedとして設定し、確定的タイミングループをCPU 3に割り当てることを考慮してください。
高性能および確定的タイミングループを高指標CPUに割り当てると、RTOSはタイミングループをスケジュールする際に高指標のCPUから順に開始するため、レイテンシを最小化できます。優先度が同じ複数のタイミングループが同時に起動するようにスケジュールされた場合、低指標のCPUで実行されるタイミングループの起動レイテンシは、高指標のCPUで実行されるタイミングループよりも最大数マイクロ秒高い可能性があります。タイミングループではないスレッドは、CPU 0から順にスケジュールされるため、この逆の現象がみられます。NIは、低指標のCPUをシステムプールに、高指標のCPUを確定的タイミングループに割り当て、レイテンシを最小化することを推奨します。
CPUをReserved状態に設定して、手動で割り当てたCPUがタイミングループのみを実行するようにそのCPUを予約します。1つタイミングループのみを予約されたCPUに割り当てる場合、そのCPUの処理能力を占有することで、周波数またはスループットを高めることができます。
CPU利用率を最大化する
プロセッサの利用率を最大化するには、タイミングループとシステムスレッドの合計処理時間の比率を推定し、それに基づいて各プールに割り当てるCPUの数を調整できます。「RT CPU負荷を取得」ノードを使用して、処理負荷の分配を推定できます。
CPU使用率を最大化する別の方法は、プールの部分的重複を回避することです。システムプールとタイミングストラクチャプールが部分的に互いに重複するように定義すると、自動負荷調整プロセスで最適なプロセッサ利用が行われない可能性があります。
スレッドのリソース不足を回避する
システムスレッドがリソース不足状態にならないようにするには、少なくとも1つのCPUをシステムスレッド専用に予約すると効果的です。たとえば、CPU 0をタイミングストラクチャプールではなくシステムプールに割り当て、タイミングループをCPU 0にターゲットすることを避けた場合、CPU 0は常にシステムスレッドを実行できる状態になります。
