LabVIEW Real-Timeモジュールでは、マルチCPUシステム (マルチコア、マルチプロセッサ、SMPシステムなど) による並列処理を活用できます。

Real-Timeモジュールには、使用可能なCPUにスレッドを割り当てるCPUスケジューラが含まれています。このCPUスケジューラによって、マルチCPUシステムによる並列処理が実現されます。リアルタイムアプリケーションの多くは、プログラムを書き換えなくても、マルチCPUに切り替えるだけでその効果が得られます。また、RTアプリケーションをマルチCPU用に書き換えることで、パフォーマンスが飛躍的に改善される可能性があります。マルチCPUの利点を最大限に活用するリアルタイムシステムを構築するには、RTターゲットVIに並列アーキテクチャまたはパイプラインアーキテクチャを実装する必要があります。

メモ 主にシングルポイントI/Oで構成されているような一部のアプリケーションでは、1つのCPUで低レイテンシを実現できます。

マルチCPUシステムで実行するVIを作成する時は、共有リソースの競合を極力回避する必要があります。マルチCPUシステムの利点は、複数のスレッドを異なるCPUで同時に実行できることです。共有リソースの同時要求は並行した実行処理を妨げるため、マルチCPUシステムのパフォーマンスの利点が損なわれます。

Real-Timeモジュールは、すべての使用可能なCPUにスレッドを自動的に割り当てます。ただし、一部のアプリケーションでは、タイミングストラクチャでのCPU手動割り当ておよびCPUプールを使用してパフォーマンスを最適化できる場合があります。

メモ
  • LabVIEW 8.5より前のバージョンで作成されたVIを開くと、タイミングループは自動的にデフォルトCPUで実行されます。このような場合は、タイミングストラクチャでのCPU手動割り当ておよびCPUプールを使用することで、マルチCPUの利点を活用できます。
  • マルチCPU RTシステムのパフォーマンスを最適化する方法については、NI Webサイトを参照してください。