利用NI LabVIEW优化多核处理器环境下的自动化测试应用

2012-07-17 18:39:17来源: 21ic

  多线程编程的挑战

  迄今为止,处理器技术的创新为我们带来了配有工作于更高时钟速率的CPU计算机。然而,随着时钟速率逼近其理论上的物理极限,人们开始投入到具备多个处理核的新型处理器的开发。借助这些新型多核处理器,工程师们在自动化测试应用开发中利用并行编程技术,可以实现最佳的性能和最大的吞吐量。爱德华×李博士——加州大学伯克利分校电气与计算机工程教授——阐述了并行处理的技术优势。

  “许多技术专家预言,对于摩尔定律的终结回应,将是日趋并行的计算机架构。如果我们希望继续提高计算性能,计算机程序必须能够利用这种并行机制。”

  而且,业界专家业已认识到,对于编程应用,如何利用多核处理器将是一个巨大的挑战。比尔×盖茨——微软公司的缔造者——是这样论述的:

  “要想充分利用并行工作的处理器的威力,…软件必须能够处理并发性问题。但正如任何一位编写过多线程代码的开发者告诉你的那样,这是编程领域最艰巨的任务之一。”

  幸运的是,NI LabVIEW软件,通过一个直观的、用于创建并行算法的API,为我们提供了一个理想的多核处理器编程环境,所创建的并行算法可以将多个线程动态分配至一

项给定的应用。事实上,您可以利用多核处理器优化自动化测试应用,以获取最佳性能。

  而且, PXI Express的模块化仪器增强了这一技术优势,因为这些仪器利用了PCI Express总线所能支持的高数据传输速率。得益于多核处理器和PXI Express仪器的两个具体应用是:多通道信号分析和在线处理(硬件在环)。在此白皮书中,我们将评估各种并行编程技术,并描述每项技术所带来的性能优势。

  实现并行测试算法

  一项常见的得益于并行处理的自动化测试应用便是多通道信号分析。由于频率分析是一项占用处理器运行时间较多的操作,您可以并行运行测试代码,将每个通道的信号处理分配至多个处理器核,提高执行速度。从编程人员的角度来看,为获得这一技术优势,唯一需要改变的只是测试算法结构的细微调整。

  为描述这一过程,现比较用于多通道频率分析(快速傅立叶变换或FFT)的两个算法的执行时间,它们分别位于一个高速数字化仪的两个通道上。NI PXIe-5122 14-位高速数字化仪的两个通道均以最高采样率(100 MS/s)采集信号。首先,我们察看LabVIEW中对应于这一操作的传统顺序编程模型。

 利用顺序执行的LabVIEW代码

  图1. 利用顺序执行的LabVIEW代码

  采集来自数字化仪的两个通道的信号

  图1中,两个通道的频率分析均在一个FFT快速VI中完成,它顺序分析每个通道信号。虽然上述算法也可以在多核处理器环境下有效执行,但是,您还可以通过并行处理每个通道来进一步提高算法性能。

  如果您剖析上述算法,就会发现完成FFT所需的时间要比从高速数字化仪采集数据长得多。通过每次获取各个通道的数据并且并行执行各个通道的FFT,可以显著降低处理时间。图2表示了一个采用并行方法的新的LabVIEW模块框图。

利用并行执行的LabVIEW代码

  图2. 利用并行执行的LabVIEW代码

  顺序获取数字化仪的每个通道的数据。值得注意的是如果两次数据获取均来自不同的仪器,那么您可以彻底并行完成这些操作。然而,由于FFT占用大量的处理器时间,您仍可以仅通过将信号并行处理来改善性能,减少了总的执行时间。图3显示了两种实现的执行时间:

随着数据块大小的增加

  图3. 随着数据块大小的增加,通过并行处理节约的处理时间愈为显著。

  事实上,对于更大的数据块,并行算法方法实现了近2倍的性能改进。图4描述了性能随采集数据块大小(以采样数为单位)增大而提高的精确百分比。

对于大于1百万采样(100 Hz精度带宽)的数据块,并行方式实现了80%或更高的性能增长

  图4. 对于大于1百万采样(100 Hz精度带宽)的数据块,并行方式实现了80%或更高的性能增长。

  在多核处理器环境下,可以方便地实现自动化测试应用的性能改进,因为您可以使用LabVIEW动态地分配每一个线程。事实上,您不需要创建特殊的代码以支持多线程,而是通过最少的编程调整,利用多核处理器来达到并行测试。

  配置定制的并行测试算法

  并行信号处理算法帮助LabVIEW在多个处理器核中划分处理器的用途。图5按顺序描述了CPU处理算法每一部分。

LabVIEW能够并行处理许多采集数据

  图5. LabVIEW能够并行处理许多采集数据,从而节省了执行时间。

  并行处理要求LabVIEW拷贝(或克隆)每个信号处理子例程。缺省情况下,LabVIEW的许多信号处理算法配置为“可重入执行”。这就意味着LabVIEW将动态分配给每个子例程唯一的实例,包括独立线程和存储空间。因而,您必须将定制的子例程的配置,工作于可重入方式。您可以通过LabVIEW中一个简单的配置步骤完成这一工作。欲设置这一属性,选择文件菜单下VI属性并选中“执行”栏;然后,选中“可重入执行”标记(如图6所示)。

通过这一简单步骤

  图6. 通过这一简单步骤,您可以并行执行多个定制的子例程,就如同标准的LabVIEW分析函数。

[1] [2] [3]

关键字:LabVIEW  自动化测试  多核处理器

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/Test_and_measurement/2012/0717/article_5460.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
LabVIEW
自动化测试
多核处理器

小广播

独家专题更多

迎接创新的黄金时代 无创想,不奇迹
迎接创新的黄金时代 无创想,不奇迹
​TE工程师帮助将不可能变成可能,通过技术突破,使世界更加清洁、安全和美好。
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
TTI携TE传感器样片与你相见,一起传感未来
富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved