利用LabVIEW优化多核处理器环境中的自动化测试应用
。因而,定制子例程必须被配置为工作于重入方式。这可以通过LabVIEW中一个简单的配置步骤完成。欲设置这一属性,选择文件菜单下VI属性并选中“执行”栏;然后,选中“重入执行”标记(如下所示)。
图6。在LabVIEW中配置重入执行属性
通过上图所示的简单步骤,我们可以并行执行多个定制子例程,就如同标准LabVIEW分析函数那样。因此,在多核处理器之上,自动化测试应用通过简单的编程技术就可以实现性能的改进。
4. 优化硬件在环应用
得益于并行信号处理技术的又一个应用便是为同时输入与输出使用多个仪器。一般,这些应用被称为硬件在环(HIL)或在线处理应用。在此场景下,高速数字化仪或高速数字I/O模块用于信号采集,其软件执行数字信号处理算法。最后,通过另一个模块化仪器生成结果。其典型模块框图如下所示:
图7。在线信号处理(HIL)模块框图
常见HIL应用包括在线数字信号处理(滤波、插值等)、传感器仿真和定制组件模拟。在这篇特别准备的白皮书中,我们将探究用于在在线数字信号处理应用中获得最佳吞吐量的技术。
通常可以使用两种基本的编程结构,单循环结构和带有队列的管道式多循环结构。单循环结构实现简单,对于小数据块具有低时延。相比之下,多循环结构能够支持高得多的吞吐量,因为它们能够更好地利用多核CPU。
对于传统的单循环方式,一个高速数字化仪的读函数、信号处理算法和高速数字I/O顺次组织。如下面模块框图所示,这些子例程中的每一个都必须按照LabVIEW数据流编程模型确定的顺序执行。
图8。在循环中依单循环方式进行处理
单循环结构受限于几个因素。由于顺序执行每一环节,处理器在处理数据的同时受限无法执行仪器I/O。在这种方式下,由于处理器一次只能执行一个函数,所以无法有效利用多核CPU。因而,在应用中仅使用了多核CPU的一个核。虽然单循环结构足以处理较低的采集速率,但是要想得到较高的数据吞吐量仍需要采用多循环方式。
多循环架构使用队列结构实现while循环间的数据传递。下面,我们展开论述在while循环间采用一个队列结构进行数据流编程的概念。
图9。队列结构支持多循环间的数据共享
如图所示,队列支持多个循环间的数据共享。上图所表示的是典型的所谓生产者/消费者循环结构。这里,在一个循环中,一个高速数字化仪持续采集数据,并在每次迭代中将新的数据集传递至FIFO队列。消费者循环仅需监视队列的状态,当每个数据集可用时将其写入磁盘。采用队列的意义在于这两个循环均可相互独立执行。在上例中,高速数字化仪可以持续采集数据,即使这些数据写入磁盘时存在一定的延迟。与此同时,其它的采样仅需存储在FIFO队列中。通常,生产者/消费者管道式方法,通过支持更有效的处理器利用率,使更高的数据吞吐量成为可能。这一技术优势在多核处理器中甚至更为显著,因为LabVIEW可以动态分配CPU线程至每个处理器核。
对于一项在线信号处理应用,我们可以使用三个独立的while循环和两个队列结构,实现其间的数据传递。在此应用场景下,一个循环将从一台仪器采集数据,一个循环将专门执行信号处理,而第三个循环将数据写入到另一台仪器。描述这一方式的LabVIEW模块框图如下所示:
图10。具有多个循环和排队结构的管道式信号处理
在上图中,最上面的循环是一个生产者循环,它从一个高速数字化仪采集数据,并将其传递至第一个队列结构(FIFO)。中间的循环同时作为生产者和消费者工作。每次迭代中,它从队列结构中卸载(消费)若干个数据集,并以管道的方式独立对其进行处理。这种管道方式通过支持高达四个数据集的独立处理,实现了多核处理器环境下的性能改进。注意,中间的循环同时也作为一个生产者工作,将处理后的数据传递至第二个队列结构。最后,最下面的循环将处理后的数据写入至高速数字I/O模块。
并行处理算法改善了多核CPU的处理器利用率。事实上,总吞吐量有赖于两个因素,处理器利用率和总线传输速度。通常,CPU和数据总线在处理大数据块时工作效率最高。而且,我们可以进一步使用具有更快传输速度的PXIe仪器,缩减数据传输时间。因而,我们通过依采集数据大小(以采样数计)变化的采样率描述最大吞吐量,如下所示:
图11。多循环结构与单循环结构的吞吐量比较
该图中所描述的所有标定都是围绕16-位采样进行的。此外,所采用的信号处理算法为一个截至频率为采样率的0.45倍的7阶巴特沃兹低通滤波器。如数据显示,4阶段管道式(多循环)方式支持最大数据吞吐量。注意,2阶段信号处理方式获得了比单循环方式(顺序)更好的
LabVIEW多核处理器自动化测 相关文章:
- 频宽、取样速率及奈奎斯特定理(09-14)
- 为什么要进行信号调理?(09-30)
- IEEE802.16-2004 WiMAX物理层操作和测量(09-16)
- 为任意波形发生器增加价值(10-27)
- 基于PCI 总线的高速数据采集系统(09-30)
- 泰克全新VM6000视频测试仪助力数字电视等产品测试 (10-06)