优化多CPU系统上的实时应用程序
- 更新时间2025-05-20
- 阅读时长2分钟
借助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网站。