技术问答
RTX问题解答

RTX&反射内存在分布式处理中的应用

日期:2019-06-27来源:






集群系统的一个特点是分布处理,它将一个应用分成多个子任务,这些子任务被分布在集群系统的各个成员上,成员之间通过网络连接在一起,通过各子任务并发运行来满足实时应用的要求。这种方式的致命弱点是系统的性能受到网络通讯延迟的影响,如果不能提出一种有效的提高数据传输速度的技术,要提高集群系统的性能是很难做到的。目前,常采用的是内存映射技术,特点是实时性强、可靠性高、使用简单,通常两结点数据传输时延迟为纳秒级(或微秒)级,比通用局域网要快2个数量级。

   在各个成员系统上要求使用实时操作系统,来避免数据读写时产生的不确定性,且要求对反射内存卡完全支持。

RTX是在Windows平台上的实时扩展,并且支持反射内存卡。这种方案,不对Windows系统本身做任何修改,使我们既可获得微秒级的实时特性,又可利用Windows平台的优点。
1. 基于反射内存的实时局域网简介
1.1
基于反射内存实时局域网的特点 
   
反射内存卡是一种通过局域网在互连的计算机间提供高效的数据传输的技术,强实时网络设计人员已经越来越多地采用这种技术。反射内存实时局域网的概念十分简单,就是设计一种网络内存板,在分布系统中实现内存至内存的通信,并且没有软件开销。每台结点机上插一块反射内存卡,卡上带有双口内存,各层软件既可以读也可以写这些内存,当数据被写入一台机器的反射内存卡的内存中后,反射内存卡自动地通过光纤传输到其他连在网络上的反射内存卡的内存里,通常,只需几百纳秒的时间延迟,所有的反射内存卡上的内存将写入同样的内容。而各成员在访问数据时,只要访问本地的反射内存卡中的内存即可。

 反射内存板卡有PCI总线接口和PMC总线接口类型。

图1所示为PCI总线接口类型的反射内存板卡。可直接安装到工控机,PC机,服务器和工作站等具有PCI插槽的主机上。

图2所示为PMC接口类型的反射内存板卡,可直接安装到具有PMC插槽的单板计算机上;或通过CPCI载板将其安装到CPCI系统机箱中,图3所示为PMC反射内存安装到CPCI载板上;或通过PCI-E载板,将其安装到具有PCI-E插槽的主机上。

1.png 

图1 PCI总线接口反射内存板卡

2.png

图2 PMC接口反射内存

3.png

图3 CPCI载板&PMC反射内存



反射内存卡具有以下主要特点:  

   (1) 高速度和高性能 
    5565系列,PCI总线接口,传输速度达到174M字节/秒。使用光纤,可以连接更多节点(高达256个节点),具有很高的抗干扰能力。测试结果表明,从数据写入RAM到传到另一个结点的反射内存卡上,只有不到400纳秒的时延。 
   (2) 使用方便 
    反射内存卡通过向每个节点机提供一套相同的数据备份使得各节点可以并发的访问相同的内容在访问反射内存卡的内存时与访问自身的内存没有差别。各节点间数据一致性是由反射内存卡保证,对应用软件是透明的。安装简单,将反射内存卡插在主板一个可用槽口上,再将各台主机通过光纤网或扁平数据线连在一起即可。 
    (3) 独立于操作系统和处理机 
    反射内存卡可以VME、PCI、PMC、Compact PCI、Multibus I等多种总线上使用,可以将ALPHA、PowerPC、Macintosh、奔腾等计算机通过反射内存卡实时网络连接在一起,组成一个集群系统。 
    (4) 确定的数据传输时间 
    在反射内存卡中,当数据被写入本地的反射内存卡板的内存中时,就被同时传输到其他相连的计算机上,没有软件延迟,硬件延迟也非常小。5565光纤反射内存卡在节点间传输数据时只需400纳秒。这种确定的时间延迟为设计实时应用提供了有效的保证。 
    (5) 经济、高效 
    反射内存卡的数据传输速率大,没有以太网那样要多层协议。其次,反射内存卡使用简单,不需要开发额外通讯软件,利于提高系统的可靠性,也节省了软件的开发费用。

1.2 反射内存网的拓扑结构

(1)环型拓扑结构

反射内存卡安装到主机上,每个卡具有输入,输出两个端口,依次将每个板卡的输出接到下一板卡的输入,形成环型网络。


4.png

           图4  环型拓扑网络



2)星型拓扑结构

星型拓扑结构是每个主机上安装一块反射内存,每个反射内存通过光纤线连接到反射内存交换机上,构成星型网络,其优点是网络不会因为某个板卡的故障而瘫痪。

图5为反射内存交换机,图6为星型网络


1.png

    图5 反射内存交换机

2.png

          图6 星型拓扑网络

1.3 基于反射内存卡实时局域网的实现机制

     反射内存卡是一组双口内存板。当数据存储到反射内存卡时,板上的高速逻辑会自动将此数据连同地址送到网上的其它反射内存卡板上,数据传递完全由硬件驱动,不需要CPU干预,结果网上下一结点在400纳秒内(5565系列)就会在相同地址处有相同数据。反射内存卡可看成是由网上所有结点共享的单元内存卡,不存在访问限制与仲裁,每个结点就像访问本地内存一样,实现了结点间的数据共享。 
    (1) 数据传输方式 
     反射内存卡可以连接高达256个互相独立的节点,共享内存的可以达到256M字节,数据传输速度可达174M/秒(5565系列)、节点间距离可以到10KM,。反射内存卡支持中断,通过中断机制可以实现节点机之间的通讯同步。 
    (2)使用中断实现同步 
     反射内存卡支持用中断方式通知节点接收数据,当数据被送到某节点时,可以通过中断告诉该节点。VMIC反射内存卡提供了三个中断,用户可以定义这些中断的优先级、中断向量及具体功能。 
    (3)错误管理技术 
    反射内存卡有错误监测和报告的功能,通过对数据的奇偶校验位的检查,可以发现数据是否有错。VMIC反射内存卡提供冗余传输模式,即每次传输数据时都传两份,当第一份出错时,使用第二份。 
2. Windows实时开发系统RTX简介  
2.1
通用实时系统RTX概述 
    RTX
利用了Windows 2000、Windows XP和Windows XP Embedded操作系统的优秀人机界面,有可利用的丰富的第三方软硬件开发编程资源,又使得这些系统具有极好的实时性能。RTX已经广泛应用在军事航空航天、火控、舰艇船舶、公共交通、医疗、工业自动化等行业领域。
2.2 RTX的原理 
    RTX 是美国IntervalZero公司开发的Windows平台的硬实时系统,可以为用户提供优秀的实时控制性能,高效的可扩展性及稳定性,是在Windows 平台上一款基于软件的硬实时解决方案。 
    RTX 提供了对IRQ、I/O、内存的精确控制,以确保实时任务执行时的可靠性。RTX支持30KHz的持续中断触发速度,平均IST延迟小于1微秒。RTX与Windows 系统无缝的结合在一起,可以利用Windows 系统的各种优势。包括大量标准的API函数;高效的内存管理机制;以及各种Windows 下的通用资源。RTX支持高达1000个独立的进程,每个进程下可以运行的线程数不受限制。128个优先级可以满足几乎所有用户的编程需要,RTX调度器可以确保线程切换时间保持在500纳秒到2微秒之间。 
    通过应用高速的IPC信息和同步机制,RTX 可以实现和Windows之间的数据通讯。RTX 的时钟分辨率可以达到100纳秒,定时器周期可以做到1000、500、200、100、50、20、10、 5、 2、 1微秒。
RTX系统原理图 

3.png


2.3 应用架构
    RTX
是Windows平台的实时开发和运行平台,其是完全开放式的产品,支持几乎所有的PC架构的硬件,如PC/104、ETX、CPCI、VME、PXI等。其主要功能如下:  
(1)提供实时系统的开发平台,这由RTX的开发包RTX SDK来完成   
(2)提供实时系统的运行环境,这由RTX的运行包RTX Runtime来完成    
2.4 RTX系统应用领域  
    由于RTX是基于Windows的实时子系统,因此适合应用在既要求图形等Windows高级任务,又需要实时任务的场合,如下面的领域: 
航空、航天、军事测控; 
基于PC的控制软件/设备; 
分布式实时仿真; 
工业生产自动化; 
运动控制、机器人和数控设备; 
实时数据采集、测量; 
医疗仪器、设备。  
3. 基于RTX下反射内存实时网的构成

序号

产品名称

说明

备注

1

主机

可以为工控机,CPCI总线单板机,VME总线单板机。X86架构。

安装Windows操作系统

2

反射内存卡

安装到主机上


3

光纤

用于将反射内存卡链接成网络


4

RTX

对反射内存卡进行实时控制

SDK&Runtime

5

反射内存集线器

可以将反射内存连接成星形网络

可选