Archived: LabVIEW Real-​Time​で​自動​負荷​調整​に​使用​できる​CPU​の​セット​を​指定​する

NI does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

概要


メモ:  この​ドキュメント​では、​LabVIEW 8.5​以降​の​バージョン​の​Real-​Time​モジュール​に​含​まれ​て​いる​機能​について​説明​し​ます。​LabVIEW 8.6 Real-​Time​モジュール​の​時点​において、​VI​は​Real-​Time​パレット​の​サブ​パレット​で​あるRT SMP CUO​ユーティリティ​VIとして​インストール​さ​れ​ます。​ご​使用​の​バージョン​の​LabVIEW​の​詳細​について​は、​『LabVIEW Real-​Time​モジュール​ヘルプ』を​参照​し​て​くだ​さい。 

​LabVIEW Real-​Time​モジュール​に​は、​NI RT Extensions for Symmetric Multiprocessing (SMP) が​含​まれ​てい​ます。​これ​を​インストール​すると、​最大​32​個​の​CPU​を​搭載​した​マルチ​コア​システム​を​利用​でき​ます。​NI RT Extensions for SMP​を​インストール​すると、​自動​負荷​調整​機能​が​追加​さ​れ​ます。​これ​は、​アプリケーション​ス​レッド​を​各​CPU​に​分配​する​機能​です。​この​ドキュメント​では、​LabVIEW Real-​Time​の​自動​負荷​調整​の​概念​について​説明​し、​SMP API​を​紹介​し​ます。​この​API​を​使用​し​て、​自動​負荷​調整​に​使用​できる​CPU​の​セット​を​指定​し、​特定​の​CPU​を​特定​の​タイミング​ストラクチャ​専用​として​予約​でき​ます。LabVIEW Real-​Time​の​マルチ​コア​プログラミング​の​概要について​は、​『LabVIEW Real-​Time​モジュール​ヘルプ』​を​参照​し​て​くだ​さい。 

​NI RT Extensions for SMP​は、​Measurement & Automation Explorer​の​LabVIEW Real-​Time​ソフトウェア​ウ​ィ​ザー​ド​を​使用​し​て​インストール​でき​ます。​Real-​Time​ソフトウェア​ウ​ィ​ザー​ド​の​詳細​な​使用​方法​について​は、​『Measurement & Automation Explorer​ヘルプ』​を​参照​し​て​くだ​さい。

 

メモ: NI​は、​Phar Lap​の​サポート​を、​cRIO​用​は​NI 2020​ソフトウェア​リリース​で、​PXI​用​は​NI 2022​ソフトウェア​リリース​で​終了​し​ます。​詳細​について​は、Phar Lap RT OS EOL​ロード​マップを​参照​し​て​くだ​さい。

内容

CPU​プール

NI RT Extensions for SMP​を​インストール​すると、​ETS​リアルタイム​オペレーティングシステム (RTOS) は、​システム​プール​と​タイミング​ストラクチャ (TS) プール​という​2​つ​の​CPU​プール​を​自動​負荷​調整​用​に​確保​し​ます。​タイミング​ストラクチャ​プール​の​CPU​は、​CPU自動割り当て​が​有効​に​さ​れ​た​タイミング​ストラクチャ (タイミング​ループ​と​タイミング​シーケンス) の​自動​負荷​調整​に​使用​さ​れ​ます。​システム​プール​の​CPU​は、​低​レベル​の​オペレーティングシステム​タスク​など、​その他​すべて​の​処理​に​使用​さ​れ​ます。

自動​負荷​調整

自動​負荷​調整​は、​各​CPU​の​処理​負荷​が​均等​に​なる​よう​に​スレッド​を​割り当てる​プロセス​です。​LabVIEW Real-​Time​モジュール​は、​起動​時に​すべて​の​使用​可能​な​CPU​を​システム​プール​と​タイミング​ストラクチャ​プール​の​両方​に​自動的​に​割り当て​ます。​つまり、​すべて​の​CPU​に対して​自動​負荷​調整​を​適用​し​ます。​ただし、​この​ドキュメント​で​紹介​し​て​いる​SMP API​を​使用​すると、​任意​の​システム​プール​と​タイミング​ストラクチャ​プール​を​指定​でき​ます。

LabVIEW Real-​Time​は、​手動​で​割り当て​ら​れ​た​タイミング​ストラクチャ​ス​レッド​以外​の​すべて​の​スレッド​に対して​自動​負荷​調整​を​行い​ます。​LabVIEW​は​各​タイミング​ストラクチャ​の​コード​実行​を​専用​スレッド​に​マップ​する​際、​CPU​自動​割り当て​が​設定​さ​れ​た​タイミング​ストラクチャ​ス​レッド​に対して​のみ​自動​負荷​調整​を​行い​ます。​特定​の​CPU​に​タイミング​ストラクチャ​を​手動​で​割り当てる​に​は、​タイミング​ストラクチャの割り当てられた​CPU入力​に​配線​する​か、​または対応する割り当てられた​CPU​ダイ​ア​ログ​ボックスのプロセッサ​割り当てセクション​を​使用​し​ます。割り当てられた​CPUの​デフォルト​値-2​は、​その​タイミング​ストラクチャ​が​自動​負荷​調整​で​プロセッサ​に​自動​割り当て​われる​よう​に​構成​さ​れ​て​いる​こと​を​示し​ます。

自動​負荷​調整​では​基本​的​に、​CPU​間​の​データ​転送​で​発生​する​オーバー​ヘッド​を​最小​化​する​ため​に、​各​スレッド​を​常に​なるべく​同じ​CPU​で​処理​し​ます。​ただし、​各​CPU​で​実行​さ​れ​て​いる​同じ​優先​度​または​それ​以上​の​他の​スレッド​によって​負荷​が​大​きく​変動​する​場合​は、​SMP​スケジューラ​は​スレッド​を​処理​する​CPU​を​繰り返し​切り替える​可能性​が​あり​ます。Real-​Time Execution Trace (実行​トレース) ツール​キットを​使用​し​て、​タイミング​ストラクチャ​の​スレッド​が​CPU​間​で​移動​する​か​どうか​を​確認​でき​ます。

SMP​スケジューラ​が​予期​せ​ず​に​特定​の​CPU​に​タイミング​ストラクチャ​を​割り当て​ない​よう​に​する​ため​に、​SMP API​を​使用​し​て​その​CPU​を​タイミング​ストラクチャ​プール​から​削除​する​こと​が​でき​ます。​ただし、​タイミングストラクチャが手動で割り当てられた​CPU​に​排他​的​に​アクセス​できる​よう​に​する​に​は、​その​CPU​を​システム​プール​から​も​削除​する​必要​が​あり​ます。​これ​により、​この​ドキュメントのタイミング​ストラクチャ​を​独立​させるの​セクション​で​説明​する​とおり、​確定​的​タイミング​ループ​の​パフォーマンス​を​最大限​に​高める​こと​が​でき​ます。

プール​の​構成

LabVIEW Real-​Time SMP​システム​の​CPU​は​4​つ​の​状態​に​なる​可能性​が​あり​ます。​すなわち、​CPU​は​以下​の​いずれ​か​となり​ます。

  1. タイミング​ストラクチャ​プール。​この​CPU​は、​SMP​スケジューラ​によって​CPU​自動​割り当て​が​設定​さ​れ​た​タイミング​ストラクチャ​の​実行​に​使用​さ​れ​ます。
  2. システム​プール。​この​CPU​は、​SMP​スケジューラ​によって​タイミング​ストラクチャ​以外​の​スレッド​の​実行​に​使用​さ​れ​ます。
  3. 両方​の​プール。​この​CPU​は、​SMP​スケジューラ​によって​上記​の​いずれ​か​の​場合​に​使用​さ​れ​ます。
  4. プール​外 (予約)。​この​CPU​は、​手動​で​その​CPU​に​割り当て​ら​れ​た​タイミング​ストラクチャ​の​実行​のみ​に​使用​さ​れ​ます。

RT​ターゲット​が​起動​すると、​デフォルト​で​すべて​の​CPU​が​両方​の​プール​に​配置​さ​れ​ます。 

メモ:
各​プール​に​は、​少なくとも​1​つ​の​CPU​が​指定​さ​れ​て​いる​必要​が​あり​ます。​ただし、​両方​の​プール​に​1​つ​の​共通​した​CPU​を​割り当てる​こと​も​でき​ます。

確定​的​タイミング​ストラクチャ​を​独立​させる

確定​的​タイミング​ループ​の​パフォーマンス​を​最大​にし、​ジッタ​を​最小​化​する​ため、​タイミング​ストラクチャ​を​特定​の​CPU​に​独立​し​て​割り当てる​こと​が​でき​ます。​タイミング​ストラクチャ​を​独立​させる​に​は、​タイミング​ストラクチャ​を​システム​プール​に​も​タイミング​ストラクチャ​プール​に​も​属​さ​ない​CPU​に​割り当てる​必要​が​あり​ます。​どちら​の​プール​に​も​割り当て​ら​れ​てい​ない​CPU​は、​その​CPU​を​使用​する​よう​に​手動​で​割り当て​た​タイミング​ストラクチャ​の​実行​専用​に​予約​さ​れ​ます。​タイミング​ストラクチャ​を​1​つ​の​CPU​に独立させ、​その​CPU​の​処理​能力​を​占有​する​こと​で、​周波数​または​スループット​を​高める​こと​が​でき​ます。​たとえば、​データ収集を実行するタイミングループを独立させ、​ポーリング​レート​を​高める​こと​が​でき​ます。

高​パフォーマンス​で​確定​的​な​タイミング​ループ​の​レイ​テン​シ​を​最小​化​する​に​は、​その​タイミング​ループ​を​指標​が​大きい​CPU​に​隔離​すると​効果​的​です。​たとえば、​システム​に​0〜​3​の指標が付けられた​4​つ​の​CPU​コア​が​含​まれ​て​いる​場合​は、​CPU 3​で​確定​的​タイミング​ループ​を​分離​する​こと​を​検討​し​て​くだ​さい。​タイミング​ストラクチャ​を​スケジュール​する​場合、​リアルタイム​オペレーティングシステム​では​指標​の​最も​大きい​CPU​から開始され、​徐々に​減少​し​ます。​したがって、​優先​度​が​同じ​複数​の​タイミング​ストラクチャ​が​同時に​開始​する​よう​スケジュール​さ​れ​た​場合、​小さい​指標​の​CPU​で​実行​さ​れる​タイミング​ストラクチャ​の​起動​レイ​テン​シ​は、​大きい​指標​の​CPU​で​実行​さ​れる​タイミング​ストラクチャ​より​も、​最大​で​数​マイクロ​秒​大きい​可能性​が​あり​ます。​タイミング​ループ​では​ない​スレッド​は、​CPU 0​から​順に​スケジュール​さ​れる​ため、​この​逆​の​現象​が​み​ら​れ​ます。​したがって、​レイ​テン​シ​を​最小​化​する​ため​に、​番号​が​小さい​CPU​を​システム​プール​に​割り当て、​番号​が​大きい​CPU​を​確定​的​タイミング​ループ​に​割り当てる​こと​を​推奨​し​ます。

OS​の​スレッド​の​リソース​不足​を​回避​する

OS​スレッド​が​リソース​不足​状態​に​なら​ない​よう​に​する​に​は、​少なくとも​1​つ​の​CPU​を​OS​スレッド​専用​に​予約​すると​効果​的​です。​たとえば、​CPU 0​を​タイミング​ストラクチャ​プール​では​なく​システム​プール​に​割り当て、​CPU 0​を​タイミング​ストラクチャ​の​ターゲット​として​設定​し​なか​っ​た​場合、​CPU 0​は​常に​OS​スレッド​を​実行​できる​状態​に​なり​ます。

CPU​利用​率​を​最大​化​する

プロセッサ​の​利用​率​を​最大​化​する​に​は、​TS​スレッド​と​TS​以外​の​スレッド​の​負荷​の​比率​から、​各​プール​の​CPU​の​数​を​決定​すると​便利​です。​Get Core Loads VI​を​使用​し​て、​TS​スレッド​と​TS​以外​の​スレッド​の​合計​処理​時間​の​比率​を​推測​し、​それに​基​づ​い​て​タイミング​ストラクチャ​プール​と​システム​プール​に​CPU​を​割り当てる​こと​が​でき​ます。​RT​ターゲット​に​モニタ​が​接続​さ​れ​て​いる​場合​は、​CPU​負荷​測定​ユーティリティ​を​使用​し​て​負荷​の​分配​を​推測​する​こと​が​でき​ます。

プール​の​部分​的​重複​を​回避​する

システム​プール​と​タイミング​ストラクチャ​プール​が​部分​的​に​互いに​重複​する​よう​構成​すると、​以下​の​例​で​示す​よう​に、​自動​負荷​調整​機能​によって​最適​な​プロセッサ​利用​が​行​われ​ない​可能性​が​あり​ます。

例1

3​つ​の​タイミング​ループ​を​含む​アプリケーション​が​ある​と​し​ます。​タイミング​ループ​の​周期​は、​3​つ​の​うち​1​つ​の​タイミング​ループ​が​ほとんど​の​時間​実行​さ​れる​よう​に​構成​さ​れ​て​いる​と​し​ます。​しかし、​タイミング​ループ​の​周期​が​重なる​場合​は、​3​つ​の​タイミング​ループ​が​並列​で​実行​さ​れる​よう​に​する​必要​が​あり​ます。​この​とき、​システム​プール​に​ク​アッ​ド​コア​システム​の​3​つ​の​CPU (たとえば​CPU 0​~​2) を、​タイミング​ストラクチャ​プール​に​3​つ​の​CPU (たとえば​CPU 1​~​3) を​割り当て​た​場合、​CPU 3​で​常に​3​つのタイミングループのいずれかが処理され、​CPU 1​と​CPU 2​では​基本​的​に​OS​スレッドが実行され、​タイミング​ループ​は​周期​が​重​な​っ​た​場合​に​のみ​実行​さ​れる​と​期待​し​がち​です。​しかし、​SMP​スケジューラ​は​周期​ごと​に​同じ​CPU​で​各​スレッド​を​実行​しよう​と​する​ため、​3​つ​すべて​の​タイミング​ループ​が​CPU 1​または​CPU 2​で​実行​さ​れる​可能性​が​あり​ます。​そのため、​OS​スレッド​で​使用​可能​な​処理​能力​が​低下​し、​CPU 3​が​アイドル​状態​の​まま​に​なり​ます。​この​よう​な​場合​は、​各​タイミング​ループ​を​別々​の​CPU​に​手動​で​割り当て、​4​つ​の​コア​を​すべて​システム​プール​に​割り当て​ます。

例2

連続​的​に​ポーリング​を​実行​する​2​つ​の​タイミング​ループ​と、​間欠​的​に​実行​さ​れる​2​つ​の​タイミング​ループ​を​含む​アプリケーション​が​ある​と​し​ます。​ク​アッ​ド​コア​システム​の​4​つ​の​CPU​すべて​を​タイミング​ストラクチャ​プール​に​割り当て、​2​つ​の​CPU (たとえば​CPU 2​と​CPU 3) を​システム​プール​に​割り当てる​と​し​ます。​この​場合、​2​つ​の​ポーリング​タイミング​ループ​が​CPU 0​と​CPU 1​で実行され、​断続​的​な​タイミング​ループ​が​CPU 2​と​CPU 3​で​処理​時間​を​共有​する​こと​が​予想​さ​れ​ます。​しかし、​SMP​スケジューラ​は​ポーリング​タイミング​ループ​を​CPU 2​および​CPU 3​に​割り当てる​可能性​が​ある​ため、​他の​OS​スレッド​が​不足​し、​CPU 0​および​CPU 1​が​十分​に​利用​さ​れ​ない​まま​に​なり​ます。​この​よう​な​場合​は、​ポーリング​タイミング​ループ​を​2​つ​の​CPU​に独立させ、​残り​の​2​つ​の​CPU​を​両方​の​プール​に​割り当て​ます。

SMP CPU​プール​ユーティリティ​API

メモ: SMP CPU​プール​ユーティリティ​API​は、​NI RT Extensions for SMP​がインストールされた​ETS Phar Lap​オペレーティングシステム​を​実行​し​て​いる​マルチ​CPU RT​ターゲット​で​のみ​サポート​さ​れ​ます。

Get CPU Loads.vi

システム​内​の​CPU​の​負荷​の​分配​を​監視​し​ます。​この​VI​は、​システム​の​各​CPU​の​容量​に対する​総​負荷​の​割合​と、​割り込み​サービス​ルーチン (ISR)、​タイミング​ストラクチャ、​その他​の​スレッド​に​使用​さ​れ​て​いる​割合​を​返し​ます。​各​配列​の​N​番目​の​要素​は、​システム​の​N​番目​の​CPU​に​対応​し​ます。

Get Number of CPUs.vi

システム​の​CPU​数​を​返し​ます。

Set CPU Pool Sizes.vi

各​プール​の​CPU​の​数​を​設定​し​ます。​この​VI​では、​システム​プール​と​タイミング​ストラクチャ​プール​の​CPU​数​を​それぞれ​指定​でき​ます。​この​VI​では、​システム​プール​と​タイミング​ストラクチャ​プール​を​隣接​した​CPU​の​プール​として​作成​し​ます。​システム​プール​は​CPU 0​から​始まり、​タイミング​ストラクチャ​プール​は​システム​プール​が​終わる​ところ​から​始まり​ます。

たとえば、​8​つ​の​CPU​を​持つ​システム​では、システム​プールタイミング​ストラクチャプールの​両方​に​3​の​値​を​配線​すると、​CPU 0​~​2​が​システム​プール​に、​CPU 3​~​5​が​タイミング​ストラクチャ​プール​に​接続​さ​れ​ます。​CPU 6​~​7​は​手動​で​の​CPU​割り当て​用​に​構成​さ​れ​た​タイミング​ストラクチャ​で​使用​する​ため​に​予約​さ​れ​ます。

メモ:  この​VI​では、​空​の​プール​や​部分​的​に​重複​する​プール​を​作成​でき​ま​せん。​システム​プール​または​タイミング​ストラクチャ​プール​の​サイズ​を​0​に​指定​した​り、​システム​で​使用​できる​CPU​の​数​を​超える​システム​プール​または​タイミング​ストラクチャ​プール​の​値​を​指定​すると、​エラー​が​返​さ​れ​ます。

いずれ​か​の​プール​に-1​の​値​を​指定​すると、​その​プール​の​サイズ​設定​が​ない​こと​を​示し​ます。​両方​の​プール​に-1​の​値​を​指定​すると、​両方​の​プール​に​システム​の​すべて​の​CPU​が​含​ま​れる​デフォルト​の​プール​構成​が​作成​さ​れ​ます。​どちら​か​1​つ​の​プール​サイズ​を-1​に​指定​すると、​残り​の​すべて​の​CPU​が​その​プール​に​割り当て​ら​れ​ます。​たとえば、​4​つ​の​CPU​システム​上​で、​システム​プール​に-1​の​プール​サイズ​を​指定​し、​タイミング​ストラクチャ​プール​に​2​の​プール​サイズ​を​指定​すると、​CPU 0​と​CPU 1​がシステムプールに割り当てられ、​CPU 2​と​CPU 3​が​タイミング​ストラクチャ​プール​に​割り当て​ら​れ​ます。

Set CPU Pool Assignments.vi

CPU​を、​システム​プール​のみ、​タイミング​ストラクチャ​プール​のみ、​両方​の​プール、​または​プール​なし (予約) の​4​つ​の​状態​の​いずれ​か​に​割り当て​ます。​この​VI​から​は、​各プールに割り当てられた​CPU​を​示す​ビット​マスク​が​出力​さ​れ​ます。​N-​CPU​システム​では、​ビット​マスク​の​ビット​は​CPU 0​~​N-1​に​対応​し​ます。​各​ビット​マスク​の​右端​の​ビット​は​CPU 0​に​対応​し、​左端​の​ビット​は​CPU 31 (システム​に​その​よう​な​CPU​が​存在​する​場合) に​対応​し​ます。

この​VI​へ​の​入力​は​列挙​体​の​配列​です。​列挙​体​は、​CPU​の​4​つ​の​状態​を​示し、​各​配列​の​要素​は​1​つ​の​CPU​を​表​し​ます。​たとえば、​8 CPU​の​システム​の​場合、​次​の​図​に​示す​とおり、​列挙​型​の​配列​によって​CPU 0、​1、​2​がシステムプールに割り当てられ、​CPU 3​と​CPU 6​がタイミングストラクチャプールに割り当てられ、​残り​の​CPU​は​予約​さ​れ​ます。

Set OS Pool.vi

システム​プール​に​含める​CPU​セット​を​指定​し​ます。OS​マスク入力​は、​右端​の​ビット​が​CPU 0​に​対応​し、​左端​の​ビット​が​CPU 31​に​対応​する​ビット​マスク​です。​CPU​コア​を​システム​プール​に​割り当てる​に​は、​対応​する​ビット​の​値​を​1​に​設定​し​ます。​システム​プール​に​特定​の​CPU​を​含​め​ない​よう​に​指定​する​に​は、​対応​する​ビット​の​値​を​0​に​設定​し​ます。

メモ:  システム​プール​に​は、​少なくとも​1​つ​の​有効​な​CPU​が​含​まれ​て​いる​必要​が​あり​ます。

Set TS Pool.vi

タイミング​ストラクチャ​プール​に​含める​CPU​セット​を​指定​し​ます。TS​マスク入力​は、​右端​の​ビット​が​CPU 0​に​対応​し、​左端​の​ビット​が​CPU 31​に​対応​する​ビット​マスク​です。​CPU​を​タイミング​ストラクチャ​プール​に​割り当てる​に​は、​対応​する​ビット​の​値​を​1​に​設定​し​ます。​タイミング​ストラクチャ​プール​に​特定​の​CPU​を​含​め​ない​よう​に​指定​する​に​は、​対応​する​ビット​の​値​を​0​に​設定​し​ます。

メモ: タイミング​ストラクチャ​プール​に​は、​少なくとも​1​つ​の​有効​な​CPU​が​含​まれ​て​いる​必要​が​あり​ます。

SMP CPU​プール​ユーティリティ​API​の​概要

SMP CPU​ユーティリティ​API​は、​CPU​負荷​を​監視​し、​自動​負荷​調整​用​に​CPU​を​タイミング​ストラクチャ​プール​と​システム​プール​に​割り当てる​ため​に​使用​できる​一連​の​VI​を​提供​し​ます。 API​では​3​つ​の​抽象​化​レベル​が​提供​さ​れる​ため、​プログラミング​スタイル​や​アプリケーション​要件​に​最適​な​抽象​化​レベル​を​選択​でき​ます。 高​レベル​VI​で​ある​Set CPU Pool Sizes.vi​は、​中​レベル​VI​で​ある​Set CPU Pool Assignments.vi​から​構築​さ​れ​てい​ます。​これ​は、​低​レベル​の​上級​VI​で​ある​Set OS Pool.vi​および​Set TS Pool.vi​から​構築​さ​れ​てい​ます。 多く​の​場合、​高​レベル​VI​で​ある​Set CPU Pool Sizes.vi​を​選択​する​こと​を​推奨​し​ます。 「CPU​プール​サイズ​を​設定」​VI​では、​両方​の​プール​に​すべて​の​CPU​を​割り当てる​デフォルト​の​プール​構成​を​作成​する​か、​連続​的​に​隣接​する​プール​を​作成​でき​ます。

CPU​プール​構成​を​カスタマイズ​する​場合​は、​中​レベル​VI​で​ある​Set CPU Pool Assignments.vi​を​選択​する​こと​を​推奨​し​ます。​「CPU​プール​割り当て​を​設定」​VI​を​使用​し​て、​自由​に​プール​構成​を​作成​でき​ます。​ただし、​各​プール​に​は​CPU​が​少なくとも​1​つ​含​まれ​て​いる​必要​が​あり​ます。 ビット​マスク​を​使用​する​場合​は、​上級​サブ​パレット​で​低​レベル​VI​を​使用​でき​ます。 たとえば、​次​の​図​では、​下位​レベル​VI​で​ある​Set OS Pool.vi​および​Set TS Pool.vi​を​使用​し​て、​前述​の​例​に​示し​た​列挙​体​の​配列​と​同じ​プール​構成​を​実現​し​てい​ます。

まとめ

LabVIEW Real-​Time​モジュール​は、​自動​負荷​調整​を​使用​し​て​スレッド​を​2​つ​の​CPU​プール​に​分散​し​ます。​システム​プール​内​の​CPU​は、​タイミング​ストラクチャ​に​対応​する​スレッド​以外​の​すべて​の​スレッド​を​実行​し​ます。​タイミング​ストラクチャ (TS) プール​内​の​CPU​は、​CPU​自動​割り当て​用​に​構成​さ​れ​た​タイミング​ストラクチャ​に​対応​する​スレッド​を​実行​し​ます。​LabVIEW Real-​Time​の​デフォルト​では、​すべて​の​CPU​が​両方​の​プール​に​割り当て​ら​れ​ます。​ただし、​SMP CPU​プール​ユーティリティ​API​を​使用​し​て、​特定​の​アプリケーション​要件​を​満たす​方法​で​システム​プール​と​タイミング​ストラクチャ​プール​を​定義​する​こと​が​でき​ます。

LabVIEW Real-​Time​の​SMP​プログラミング​の​概要について​は、​『LabVIEW Real-​Time​ヘルプ』​を​参照​し​て​くだ​さい。