Company Events Academic NI Developer Zone Support Solutions Products & Services Contact NI MyNI

Optimizing RT Applications for Multiple-CPU Systems (ETS) (RT Module)

LabVIEW 8.5 Real-Time Module Help
August 2007

NI Part Number:
370622E-01

»View Product Info

You can use the NI RT Extensions for SMP to take advantage of parallel processing on multiple-CPU systems, also known as multi-core, multi-processor, or SMP systems. Use the LabVIEW Real-Time Software Wizard in MAX to install the NI RT Extensions for SMP. Refer to the Measurement & Automation Explorer Help for information about using the LabVIEW Real-Time Software Wizard.

The NI RT Extensions for SMP includes a CPU scheduler that allocates threads among available CPUs. You can take advantage of the CPU scheduler to achieve parallel execution on multiple-CPU systems. Many RT applications can benefit from additional CPUs without rewriting the application. However, by writing the RT application with multiple CPUs in mind, you might be able to achieve significant performance gains. To realize the full benefits of an RT system with multiple CPUs, you must implement a parallel or pipelined architecture in the RT target VI.

Note  Single-CPU systems perform best without the NI RT Extensions for SMP. Also, some applications, such as those that consist mainly of single-point I/O, can achieve lower latency using a single CPU without the NI RT Extensions for SMP.

When writing a VI to run on a system with multiple CPUs, avoid shared resource conflicts whenever possible. The advantage of a system with multiple CPUs is that separate threads can execute simultaneously on separate CPUs. Simultaneous requests for a shared resource impede parallel execution and diminish the performance benefit of a multiple-CPU system.

When you install the NI RT Extensions for SMP, the Real-Time Module automatically balances threads across all available CPUs. However, you might be able to optimize the performance of some applications using manual CPU assignment.

Note  When you open a VI created in a version of LabVIEW prior to 8.5, all Timed Loops automatically run on the default CPU. In this case, you can use manual CPU assignment to take advantage of multiple CPUs.
Note  Refer to the National Instruments Web site for more information about optimizing performance in a multiple-CPU RT system.

Resources


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit