借助LabVIEW Real-Time模块,用户可充分利用多CPU系统并行处理的优势。多CPU系统又称多核、多处理器系统(SMP系统)。

Real-Time模块包含CPU排序器,用于向可用的CPU分配线程。可使用CPU排序器实现多CPU系统上的并行执行。许多RT应用无需重新编码代码,即可使用多CPU带来的各种好处。但是,如根据多CPU系统重新修改RT应用程序的代码,程序的运行速度会有明显改善。要实现多CPU RT系统的所有优点,必须在RT终端VI中使用并行或流水线设计结构。

注: 对于某些应用程序,在未安装NI RT Extensions for SMP的单CPU系统上,时间延迟更少。

编写一个在多CPU系统运行的VI时,需避免共享资源冲突。多CPU系统的优点在于单独的线程可同时在不同的CPU上执行。同时请求使用共享资源将加快并行执行,削弱多CPU系统的性能优势。

Real-Time模块在所有可用的CPU之间平衡分配线程。但是,有些应用程序可能通过使用定时结构手动分配CPU和CPU池,实现最优性能。

注:
  • 打开一个在LabVIEW 8.5或更早版本中创建的VI,所有定时循环自动在默认CPU上运行。在该情况下,可通过手动CPU分配和CPU池,发挥多CPU的优点。
  • 关于优化多CPU实时系统性能的详细信息,请参考NI网站。