摘要
计算机高速互联是计算机界追求的目标。集群系统的一个特点是分布处理。它将一个应用分成多个子任务,这些子任务被分布在集群系统的各个成员上,成员之间通过网络连接在一起,通过各子任务并发运行来满足实时应用的要求。这种方式的致命弱点是系统的性能受到网络通讯延迟的影响,如果不能提出一种有效的提高数据传输速度的技术,要提高集群系统的性能是很难做到的。目前,采用最多的是内存映射技术,特点是实时性强、可靠性高、使用简单,通常两结点数据传输时延迟为纳秒级(或微秒)级,比通用局域网快2个数量级。
目前使用内存映射技术实现强实时通信的产品主要是美国GE公司的VMIC反射卡。在各个成员系统上的实时系统要求对反射内存卡完全支持,RTX是在Windows平台上提供了一个实时子系统并完全支持GE反射内存卡。这种方案,不对Windows系统本身做任何修改,使我们既可获得微秒级的实时特性,又可完全利用Windows平台的优点。
一、基于反射内存的实时局域网简介
1、 基于反射内存实时局域网的特点
VMIC反射内存卡是一种通过局域网在互连的计算机间提供高效的数据传输的技术,强实时网络设计人员已经越来越多地采用这种技术。VMIC反射内存实时局域网的概念十分简单,就是设计一种网络内存板,在分布系统中实现内存至内存的通信,并且没有软件开销。每台结点机上插一块反射内存卡,卡上带有双口内存,各层软件既可以读也可以写这些内存,当数据被写入一台机器的反射内存卡的内存中后,反射内存卡自动地通过光纤传输到其他连在网络上的反射内存卡的内存里,通常,只需几百纳秒的时间延迟,所有的反射内存卡上的内存将写入同样的内容。而各成员在访问数据时,只要访问本地的反射内存卡中的内存即可。
VMIC反射内存卡具有以下主要特点:
(1) 高速度和高性能
VMIC5565系列,传输速度达到174M字节/秒。使用光纤,可以连接更多节点(最大到256个节点),具有很高的抗干扰能力。测试结果表明,从数据写入RAM到传到另一个结点的反射内存卡上,只有不到400纳秒的时延。
(2) 使用方便
反射内存卡通过向每个节点机提供一套相同的数据备份使得各节点可以并发的访问相同的内容在访问反射内存卡的内存时与访问自身的内存没有差别。各节点间数据一致性是由反射内存卡保证,对应用软件是透明的。安装简单,将反射内存卡插在主板一个可用槽口上,再将各台主机通过光纤网或扁平数据线连在一起即可。
(3) 独立于操作系统和处理机
反射内存卡可以VME、PCI、PMC、Compact PCI、Multibus I等多种总线上使用,可以将ALPHA、PowerPC、Macintosh、奔腾等计算机通过反射内存卡实时网络连接在一起,组成一个集群系统。
(4) 确定的数据传输时间
在反射内存卡中,当数据被写入本地的反射内存卡板的内存中时,就被同时传输到其他相连的计算机上,没有软件延迟,硬件延迟也非常小。5565光纤反射内存卡在节点间传输数据时只需400纳秒。这种确定的时间延迟为设计实时应用提供了有效的保证。
(5) 经济、高效
反射内存卡的数据传输速率大,没有以太网那样要多层协议。其次,反射内存卡使用简单,不需要开发额外通讯软件,利于提高系统的可靠性,也节省了软件的开发费用。
2、基于反射内存卡实时局域网的实现机制
反射内存卡是一组双口内存板。当数据存储到反射内存卡时,板上的高速逻辑会自动将此数据连同地址送到网上的其它反射内存卡板上,数据传递完全由硬件驱动,不需要CPU干预,结果网上下一结点在400纳秒内(5565系列)就会在相同地址处有相同数据。反射内存卡可看成是由网上所有结点共享的单元内存卡,不存在访问限制与仲裁,每个结点就像访问本地内存一样,实现了结点间的数据共享。
(1) 数据传输方式
VMIC的光纤反射内存卡最大可以连接256个互相独立的节点,共享内存的最大量可以到128M字节,数据传输速度可达174M/秒(5565系列)、节点间距离可以到10KM,。反射内存卡支持中断,通过中断机制可以实现节点机之间的通讯同步。
(2)使用中断实现同步
VMIC反射内存卡支持用中断方式通知节点接收数据,当数据被送到某节点时,可以通过中断告诉该节点。VMIC反射内存卡提供了三个中断,用户可以定义这些中断的优先级、中断相量及具体功能。
(3)错误管理技术
VMIC5565反射内存卡有错误监测和报告的功能,通过对数据的奇偶校验位的检查,可以发现数据是否有错。VMIC反射内存卡提供冗余传输模式,即每次传输数据时都传两份,当第一份出错时,使用第二份。
二、Windows实时开发系统RTX简介
1、通用实时系统RTX概述
通用实时系统RTX继承Windows 2000、Windows XP和Windows XP Embedded操作系统的优秀人机界面,有可利用的丰富的第三方软硬件开发编程资源,又使得这些系统具有极好的实时的调度用户所需要的任务功能。RTX已经广泛应用在军事航空航天、火控、舰艇船舶、公共交通、医疗、工业自动化等行业领域。
2、RTX的工作原理
RTX 是美国Ardence公司开发的Windows平台的硬实时系统,可以为用户提供优秀的实时控制性能,高效的可扩展性及稳定性,是迄今为止在Windows 平台上唯一基于软件的硬实时解决方案。
RTX 提供了对IRQ、I/O、内存的精确控制,以确保实时任务执行时具有100%的可靠性。RTX支持30KHz的持续中断触发速度,平均IST延迟小于1微秒。RTX与Windows 系统无缝的结合在一起,可以利用Windows 系统的各种优势。包括大量标准的API函数;高效的内存管理机制;以及各种Windows 下的通用资源。RTX最高支持1000个独立的进程,每个进程下可以运行的线程数不受限制。128个优先级可以满足几乎所有用户的编程需要,RTX调度器可以确保线程切换时间保持在500纳秒到2微秒之间。
通过应用高速的IPC信息和同步机制,RTX 可以实现和Windows之间的数据通讯。RTX 的时钟分辨率可以达到100纳秒,定时器周期最低可以做到1000、500、200、100微秒。
3、应用架构
RTX是Windows平台的实时开发和运行平台,其是完全开放式的产品,支持几乎所有的PC架构的硬件,如PC/104、ETX、CPCI、VME、PXI等。其主要功能如下:
(1)提供实时系统的开发平台,这由RTX的开发包RTX SDK来完成
(2)提供实时系统的运行环境,这由RTX的运行包RTX Runtime来完成
RTX的应用架构如图1所示。当在机载、舰载或车载等对系统大小要求严格得场合下,我们可以采用Windows XP Embedded+RTX+ReadyOn的方案;ReadyOn使系统快速启动、即时开关机,提高系统的健壮性。
4、RTX系统应用领域
由于RTX是基于Windows的实时子系统,因此最适合应用在既要求图形等Windows高级任务,又需要实时任务的场合,如下面的领域:
● 航空、航天、军事测控
● 基于PC的控制软件/设备
● 分布式实时仿真
● 工业生产自动化
● 运动控制、机器人和数控设备
● 实时数据采集、测量
● 医疗仪器、设备