什么是PXImc?
概览
现代测试和控制系统正在变得更大、更复杂而且更精密。大部分这样的精密复杂仪器要应对新的挑战,诸如更快速度的要求、更多通道数据采集和生成的要求,以及在线数据处理等要求。新的测试、测量,以及控制系统在必须应对这些要求的同时,实现低成本、可扩展性、供应商互操作性,以及灵活性等。这些内容的核心在于,工程师们必须从根本上以较低的延迟,传输和处理大量的数据。
2009年11月由PXI系统联盟发布的PXI并行计算规范(PXImc),尝试通过使用低成本、现成可用的技术应对这些要求。这一规范定义了通过一个PCI Express非透明桥(non-transparent bridge,NTB),基于PCI或PCI Express 的接口将两个或者更多智能系统进行连接的软件和硬件要求 。PCI Express总线提供每秒千兆位级的实际数据吞吐量和几微秒的延迟,因此,它非常适合于应对这些数据传输的应用需求。
本白皮书探索标准中所表述的PXImc的技术细节和具体使用案例。
理解技术底层
图1所示的是一个典型的基于PCI Express的系统拓扑结构。一个单一主机总线接口,或者根联合体,是用于计算系统与PCI板卡进行通讯的接口。在系统中,计算系统通过这个根联合体向所有的PCI Express主板分配所需的资源。
图片1.PCI Express系统拓扑结构
如前面提到的,通过将PCI 或PCI Express 用作物理通讯层,PXImc提供了一个高带宽和低延迟的通讯模式。因为在两个PCI领域之间有诸如总线所有权和终端资源分配这样的多种竞争,两个各自拥有根联合体的系统无法直接经由PCI或者PCI Express进行连接。
利用一个NTB,通过逻辑分隔两个PCI域,同时提供一个用于将 一个PCI域内的某些PCI 处理 转化另一个PCI域内的相应处理的机制,有助于解决这些问题。
图片2所示解释了这一个概念。系统A和B两个在它们各自的域内都能完全控制资源的分配,同时NTB的存在不会影响任何一个系统的资源分配算法。
图片2.通过使用一个非透明桥(NTB)的,两个系统经由PCI Express连接在一起
NTB对来自于根联合体的资源请求的响应类似于系统中其它的PCI终端——通过请求一定数量的物理地址空间来实现。系统BIOS将某一特定范围的物理地址空间分配给NTB。当这一资源分配同时发生在系统A和B上时,NTB取得两个PCI域内的资源。如图3所示,系统A的PCI域内被NTB获得的地址空间,将作为一个进入系统B的PCI域内的物理地址空间的窗口,系统B的PCI域内被取得的地址空间,将作为一个进入系统A的PCI域内的物理地址空间的窗口。
系统A和B内的资源分配完成后,NTB 以存储器的机制在两个系统之间传送数据。这些机制包括诸如用于传递数据的笺寄存器、用于中断申请的门铃寄存器,以及通过NTB将大量的地址空间转换为相反的地址空间。
图片3.使用NTB的两个PCI域间的通讯机制
NTB虽然不是新技术,但是行业内对于PCI架构间的通讯依然缺少标准方法。在把它们作为一个通讯通道之前,NTB解决方案需要自定义的硬件和软件设计。
由PXI系统联盟(PXISA)开发的PXI 并行计算(PXImc)规范定义了具体的硬件和软件部件的要求,也因此为使用PCI或PCI Express的两系统间的通讯提供了标准化的协议。从硬件的角度来看,某些问题已经得到了解决,从而允许两个独立的系统通过PCI或PCI Express直接进行通讯。从软件的观点来看,已经建立了一个通讯架构,从而允许任一系统侦测和配置各自的资源,实现与其它系统进行通讯。
预期的和实际测得的带宽以及延迟性能
由于PXImc使用PCI Express作为物理通讯层,PXImc链路的性能取决于所使用的PCI Express接口的类型。表1列出了各种PCI Express链路的理论带宽。
PCI Express 链路 |
代 |
理论的单向传输速度 |
理论的双向传输速度 |
x4 |
1代 |
1 GB/s |
1 GB/s x2 |
x16 |
1代 |
4 GB/s |
4 GB/s x2 |
x4 |
2代 |
2 GB/s |
2 GB/s x2 |
x16 |
2代 |
8 GB/s |
8 GB/s x2 |
表格1.各种PCI Express链路的理论带宽
通过对一个典型的PXImc链路与其它替代方式的性能比较,NI使用原型硬件和基本的软件栈执行了一些初步的基准测试。为了做到这些基准测试,两个分别配有NI PXIe-8133 PXI Express嵌入式控制器的NI PXIe-1082 PXI Express机箱,通过使用基于PCI Express的第一代x4原型PXImc硬件连接起来。使用这一配置,NI测得一个6 µs的单向延迟和670 MB/s的吞吐量。与千兆以太网相比,这些性能数字大概代表着十倍的带宽提升和100倍的延迟减小。这就证实了:在建立高性能多计算机测试和控制系统时,PXImc是一个理想的接口。随着PCI Express标准不断的改进,PXImc链路的性能将会持续提高。
使用PXImc创建高性能多计算机测试和控制系统
三种类型的应用将会从PXImc中受益较大:1)混合高性能测试和测量系统,2)需要使用多个多核CPU完成分布式处理的应用,以及3)需要在一个系统中同时使用基于x86的 CPU作为协处理器的应用。
混合高性能测试和测量系统
由各种离散的子系统组成的复杂测量和控制系统(比如硬件在环仿真系统,HIL)能够提供不同的功能。通常,这些子系统是建立在不同的硬件平台上,使子系统的功能需求与硬件平台性能达到较佳匹配。
PXImc规范允许这些建立在不同硬件平台上的子系统,通过一个高带宽、低延迟的PCI Express链路进行通信。这就使一个利用不同的硬件平台的混合高性能测试和测量系统达到性能、灵活性以及成本的理想组合。
通过把PXImc作为系统间通信总线,与诸如以太网和反射内存等其它接口相比,这样的系统能够取得更短的测试时间或者更快的循环执行速率。这就使这些系统能够更快的执行具体任,并更精确地模拟实际环境(以HIL系统为例)。
图片4所示的是一个系统的典型结构。该例子中,主PXI 系统通过高吞吐量和低延迟的PXImc链路与次级PXI系统和高性能台式仪器进行通讯,从而创建一个高性能的混合测试和测量系统。
图片4.一个基于PXImc的高性能混合型测试和测量系统的结构示例
使用多核处理器完成分布式处理
在诸如信号情报(signals intelligence,SIGINT)和实时高性能计算(real-time high-performance computing, RTHPC)等要求实时或者在线数据处理的应用,通常需要密集数据处理能力,以追踪数据流。这些应用必须有能力使用一个提供高带宽和低延迟的通讯接口,在多个离散处理节点间分配处理任务。
对于一些分布式处理系统,现场可编程门阵列(field-programmable gate arrays , FPGA)和数字信号处理器(digital signal processors, DSP)的使用能够应对这些要求。但是,某些需要使用基于现有x86的软件IP或者需要使用浮点方式替代定点方式执行计算的应用。对于这些情况,通过PXImc技术,可以使用较新的多核CPU 的PC做为外部计算节点,从而创建分布式处理系统。
这不仅要应对了上述提及的需求,同时提供了一个系统,与使用FPGA和定制DSP的系统相比具有更短的开发和调试时间。
图片5所示的是一个可行的使用一个PXI Express系统和PXImc接口卡搭建的分布式计算系统的结构。
图片5.基于一个PXI Express系统和PXImc接口卡的分布式处理系统的示例
在这个例子中,主控制器负责集结来自于各种I/O模块的数据,并在随后通过PXImc链路将数据分配到四个基于x86的计算节点。根据所需要的处理性能要求的不同,计算节点 可以是普通的PC机也可以是高端工作站。
相关阅读:
- ...2010/12/24 13:32·什么是NI机器视觉?
- ...2010/10/20 15:35·什么是NI VeriStand
- ...2010/09/09 13:50·什么是无线传感器网络(WSN)?
- ...2010/09/09 11:47·什么是X系列?
- ...2010/07/20 11:34·什么是SC Express
- ...2009/12/14 13:53·什么是系统可靠性
- ...· Efinix® 全力驱动AI边缘计算,成功推出Trion™ T20 FPGA样品, 同时将产品扩展到二十万逻辑单元的T200 FPGA
- ...· 英飞凌亮相进博会,引领智慧新生活
- ...· 三电产品开发及测试研讨会北汽新能源专场成功举行
- ...· Manz亚智科技跨入半导体领域 为面板级扇出型封装提供化学湿制程、涂布及激光应用等生产设备解决方案
- ...· 中电瑞华BITRODE动力电池测试系统顺利交付北汽新能源
- ...· 中电瑞华FTF系列电池测试系统中标北京新能源汽车股份有限公司
- ...· 中电瑞华大功率高压能源反馈式负载系统成功交付中电熊猫
- ...· 中电瑞华国际在电动汽车及关键部件测评研讨会上演绎先进测评技术