微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 高速数据流盘处理:编程与标定

高速数据流盘处理:编程与标定

时间:06-12 来源:电子系统设计 点击:

图2:带有队列结构的生产者/消费者循环架构。


在上例中,上面的循环(生产者)从一个高速数字化仪中采集数据,并将其传递至一个队列。下面的循环(消费者)从队列中读取数据并将其写入到磁盘。在后台,LabVIEW为队列在PC中分配一个存储块。该存储器模块被用作两个循环间数据传递的临时存储FIFO。对于大多数编程语言,多个进程间的存储器共享要求不菲的编程开销。然而,LabVIEW处理了所有的存储器访问,以确保读-写竞争状况不会发生。队列结构的执行可以通过下图可视化展示:

图3:对列结构的数据流编程模型。


数据自数字化仪采集后,存储在一个采用队列结构(元素0、元素1、...、元素N-1、元素N)的先入先出(FIFO)缓冲存储器内。如图所示,队列可以在多个循环间传递数据。"元素出队列"访问同一个存储器FIFO,以相同的顺序读取数据(从元素0开始)。LabVIEW自动为两个while循环创建独立的执行线程,由于一项任务的完成不必占用整个程序的执行时间,流盘应用从这样的并行执行中获益匪浅。相比之下,利用大多数文本编程语言所采用的顺序模型,性能会显著降低。

数据流盘的速率除了受整体的应用架构影响,还会受到许多其它因素的影响。比如,后台程序就会降低磁盘的读写速度,包括病毒扫描、硬盘格式化、系统恢复、磁盘碎片整理、甚至文件在硬盘驱动器上的位置。理想情况下,为数据指定一个独立的硬盘驱动器(或RAID阵列),将有助于解决这些问题。

数据流导入或导出磁盘的基准

前面介绍了传统仪器系统的数据流盘速度如何受限于通过总线可以传递的数据量大小。PXI/PXI Express的高带宽彻底改变了这一瓶颈--存储系统的读写速度成为新的限制因素。对于大多数PXI控制器,硬盘能够达到的速度约为40MB/s。然而,这些磁盘速率可以利用外部ExpressCard或PXI Express RAID-0硬盘驱动器配置得到显著提高。RAID(独立磁盘冗余阵列)技术是一种集合多个硬盘驱动器以获得更高的磁盘速度的简易方法。目前的RAID-0硬盘驱动器配置,对于ExpressCard系统可以实现高达140MB/s的速率,对于x4的PCI Express配置可以实现高达600MB/s的速率。

在计算一个仪器的数据流导入磁盘或数据流导入存储器的吞吐量时,我们可以利用下面的等式:

吞吐量=采样率x字节/采样x通道数

对于一个具有x4连接端子的NI PXIe-5122高速数字化仪,两个14-位通道以最大采样率100MS/s进行采样,就转换为400MB/s的总线传输速率。该速率在x4的PCI Express带宽范围内,因而,我们能够利用RAID-0硬盘驱动器配置处理数据流导入磁盘的应用。利用PXIe-5122高速数字化仪,数据流盘应用可以达到如下基准:


图4:对于PXIe-5122高速量化仪的最大数据流导入磁盘速率。


对于PXIe-5122的上述基准,以及下面的PXIe-6537基准,使用了一个PXI Express双核控制器以及一个x4 PXI Express RAID-0硬盘驱动器配置。测得最大硬盘驱动器写入速率为650MB/s,对应上面所示测试结果的采集数据大小约为40GB。该测试中所用的PXIe-5122设备具有256MB的板上存储空间。

对于一个具有一个x1连接端子的NI PXIe-6537高速数字I/O模块,32个通道全部以最大时钟速率50MHz进行采样,将转换为200MB/s的总线传输速率。利用PXIe-6537高速数字I/O模块,以及RAID-0硬盘驱动器配置,数据流导入磁盘和数据流导出磁盘应用能够实现如下基准:


图5:对于PXIe-6537高速数字I/O的最大数据流导入/导出磁盘速率。


需要特别说明的一个数据是32个或更多个通道的数据流导出磁盘(信号发生)的吞吐量。较低的吞吐量不是因为PXI Express带宽的限制,而实际上是因控制器芯片组所允许的最大传输包的限制。

数据流导入/导出存储器的基准

作为数据流导入磁盘应用的一个变体,我们也可以将来自高速数字化仪的数据以数据流方式导入我们的PXI控制器的板上存储器。这决定性地显示了即使在上一范例中,总线并不是吞吐量的限制因素,而RADI-0阵列的磁盘写入速率是瓶颈所在。在此实验中,数据采集的大小实际受限于可用PC存储器的空间。因而,在数据流导入存储器应用中采用PXIe-5122高速数字化仪,可以得到如下性能:

图6:对于PXIe-5122高速数字化仪的最大数据流导入存储器速率。


在上面的测试中,我们采用了一个具有2GB板上存储器的PXI Express双核控制器。数据采集长度为100,000,000样本/每通道,对于四个通道,这需要800MB的PC存储器空间(每个采样为2字节)。该测试中所用的PXIe-5122设备具有256MB的板上存储空间。利用NI PXIe-6537高速数字I/O模块,执行一个相似的测试:

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top