当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于RapidIO的实时CORBA中间件实现

摘要:为了解决CORBA传统传输协议TCP/IP的时延不确定问题,提出了使用基于点对点的包交换RapidIO协议来替代TCP/IP的方法,研究了CORBA的可插拔传输协议框架,从而实现了CORBA报文在RapidIO总线上的传输。测试结果显示,基于RapidIO的CORBA实时性优于基于TCP/IP的CORBA。

关键词:CORBA;RapidIO;可插入传输;协议框架

0 引言

在传统的嵌入式多处理器系统中,处理器之间的互连是通过分时共享总线来实现的,典型的有以太网、CPCI和VME总线。这类总线的总带宽会受限,而且随着处理器的不断增多,每个处理器所占据的带宽小断下降,制约了处理器之间的信息传输能力,这将使其不能适应未来高性能嵌入式多处理器系统之间的高速信息传输需求。而RapidIO互联架构是一种高性能、点对点的包交换技术,传输速率能够达到1 Gb/s~60 Gb/s,能为嵌入式系统芯片间和板卡间互连提供高带宽、低时延的互连解决方案。

与此同时,随着CORBA技术应用范围的不断拓展,特别是在军事、电信和航空控制等领域的应用,对CORBA系统中客户/服务器交互的实时性提出了更为严格的要求。虽然几乎所有CORBA都默认支持TCP/IP,但是TCP/IP时延的不确定性将导致其不适用实时系统,而基于Rapid IO实时总线的CORBA却可以解决该问题,因此,本文给出了如何将RapidIO通信协议插入CORBA产品中的实现方法。

1 Rapid IO技术

RapidIO采用的三层体系结构如图1所示。

该体系包括逻辑层、传输层和物理层。逻辑层主要用于界定协议和包格式,目前逻辑层可支持5种规范,分别是存储器映射的I/O系统、消息传输、全局共享内存、流量控制和数据流;传输层主要用于规定路由选择信息,为端点设备间报文的传输提供路由信息;物理层主要定义包传送机制、信息流控制、电气特性和低级错误管理等,物理层的优先级处理保证了数据传输时具有更低的平均时延或者抖动时延。Rapi dIO系统多采用基于交换机(Switch)的拓扑结构。逻辑报文从一个端点设备送往另一个端点设备主要通过交换机解释报文中的传输层信息,传输层包含有源设备指定的目的地址,文换机中则包含路由表,可通过查找路由表确定输出路径。

2 CORBA的RapidIO实现

2.1 CORBA可插拔协议框架

CORBA2.0引入了一个通用的ORB互操作性结构体系,称为通用ORB间协议(即GIOP)。GIOP是一类抽象的协议,并不是一个可直接用于ORB间进行通信的具体协议。该协议仅描述了特定的协议如何进行创建以适用于GIOP框架,同时指定了转换语法和一个消息格式的标准集,以便允许独立开发的ORB可以在任何一个面向连接的传递中进行通信,这种设计允许新的协议在不影响现有应用程序的情况下,添加到CORBA中。

GIOP对于携带GIOP消息的底层传输具有一定的要求,包括面向连接、全双工、对称、可靠传输、支持字节流等,同时需要按照以上要求封装RapidIO传输协议。对于不同的传输介质,将会有一个与之对应的GIOP协议的实现与之对应。比如,IIOP协议就是GIOP的基于TCP/IP协议的具体实现。与此类似,基于RapidIO的传输协议列GIOP的映射为RapidIO-IOP,简称RIOP。ONI层次图与GIOP层次图的对比如图2所示,RIOP的主要工作是使用RapidIO传输协议完成GIOP报文的传输。

2.2 实现RIOP

定义RIOP的协议标识格式如下:

rio://{host number}:{port number}

其中,host为节点的网络编号,port为逻辑链路端口。定义RapidIO IOR配置文件标识常量,const IOP::ProfileIdIOP::OE TAG RIO IOP=1330205525(0x4f495355)。

[!--empirenews.page--]

RIOP传输协议类之间的关系如图3所示,图中的Endpoint、NetCircuit、NetCircuit Factory、NetCollector、NetCollectorFactory、NetFlow、NetFlowFactory、NetAcceptor、NetAcceptorFactory都是ORB用于传输的基类,实现RIOP需要从这些类派生出新类,如RIOEndpo int、RIONetCircuit、RIONetCircuitFactory、RIONetAcceptor、RIONetAcceptorFactory,并且可以实现RIOPortRegistry、PortTransport类。

端点(Endpoint)类负责管理网络连接需要的地址信息:网络电路(NetCircuit)类用于管理连接,负责建立连接(客户端)及数据收发,网络连接一旦建立,就可以从NetCircuit读取或写入数据;网络收集器(NetCollector)类用于在连接的服务器端接收请求,网络收集器负责在NetCircuit的服务器端接收数据的激活对象,通过NetCollectorFactory可创建收集器的实例;网络收集器(Collector)和收集器工厂(NetCo llectorFactory)类能实现GIOP的语法要求,因此,传输协议开发者不需要开发收集器类;网络流控(NetFlow)类是为未来功能扩展的保留类,对应的NetFlowFactory也会被定义,因此,传输协议开发者不需要重写该类;网络接收器(NetAcceptor)类负责服务端监听网络连接请求,如检测到网络请求,NetCollectorFactory实例即被创建,此后,NetCollectorFactory会再创建一个收集器(Collector)和网络电路(NetCircuit),当Server开始在一个Endpoint监听时,ORB就会使用NetAcceptorFactory实例;RIOPortRegistry类负责将RIOP注册到ORB的传输协议列表;RIOTransport类则负责初始化RIOP传输协议。

2.3 验证测试

基于Rapid IO总线的实时CORBA中间件验证环境如图图4所示。图中的两块板卡之间通过1x模式1.25GbpsRapidIO交换网络互联,板卡由1片PPC处理器(MPC8548)和1片RIO交换芯片(TSI578)构成,板卡处理器上运行的是VxWorks5.5.1操作系统。

测试使用客户端调用服务端echoPacket方法,输入不同长度字节序列的数据,眼务端即可将数据原样返回客户端。IDL接口的定义如下:

typedefsequence<octet>OctetSequence;

interface Echo{

oneway OctetSequence echoPacket(in OctetSequencepayload);

};

OctetSequence echoPacket(OctetSequence pavload);

服务器端可创建基于R10协议的对象引用,IOR里面包含有客户端访问服务器的RIO寻址信息,客户通过字符串或命名服务的方式获得对象引用,再利用该对象引用向服务器发送请求,并接收应答。IOR是一个数据结构,它提供了关于类型、协议支持和可用ORB服务的信息。ORB可创建、使用并维护该IOR。许多ORB供应商提供有一个实用程序,可窥视IOR的内部,如orbix的iordump.exe。使用iordump.exe能解析、使用RIOP服务端生成的字符串化的IOR。

[!--empirenews.page--]

例如:iordump.exe“IOR:000000000000000D494443A4563686F3A312E3000000000000000014F49535500000050000100000000000C72696 F3A2F2F353A393030000000003385416486B558506564697465353230305F39373332323832343085526F6F74504F4185303030303030303031413538

324644460000000000”的解析结果如图5所示。

接口类型为Echo,ProfileId是之前定义的1330205525,地址信息为rio://5:900。

图6所示是COBRA over RIO与COBRA over TCP的性能测试结果,图中的横坐标是输入输出数据的长度,纵坐标是示波器测得的客户端调用echoPacket方法前后的时间差,系列1是板卡间客户端通过CORBA over RIO调用服务端方法的时间开销,系列2是扳卡间客户端通过CORBAover TCP(千兆以太网)调用服务端方法的时间开销。

3 结语

本文将基于RapidIO总线的通信协议插入到CORBA中间件中,从而大大提高了中间件的实时性。因此,该方法在对实时性要求比较高的军事、电信和航空控制等领域的分布式系统中将有巨大的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

绍兴上虞万豪酒店正式揭幕 浙江绍兴2023年9月25日 /美通社/ -- 万豪旅享家(Marriott Bonvoy®)旗下31个卓越酒店品牌之一的旗舰品牌——万豪酒店近日宣布绍兴上虞万豪酒店盛大开业。设有26...

关键字: ARRI RIO IoT COM

酒店以古今交融的设计与细致入微的服务精心缔造丰富多元的奢华体验,盛邀宾客共赴一场由内而外的全然焕活之旅 上海2023年9月16日 /美通社/ -- 万豪旅享家旗下31个卓越酒店品牌之一的JW万豪酒店宣布西安高...

关键字: RIO IoT CE ARRI

SanerNow Risk Prioritization依托CISA的SSVC框架,以SecPod著名的漏洞情报为基础而创建,可有效地对漏洞、错误配置和其他安全风险进行优先级排序,并改善网络安全态势。 加利福尼亚州雷德...

关键字: 安全漏洞 SE RIO BSP

北京2023年8月29日 /美通社/ -- 日前,中创股份全系列产品与浪潮信息keyarchOS完成适配测试及生态认证,测试结果显示,双方产品完全兼容、产品间协同稳定运行,性能卓越,能为企业应用提供可靠保障。 &n...

关键字: RC OS 软件 中间件

上海2023年8月11日 /美通社/ -- 申克Centrio超速试验设备源于德国的核心研发技术和精益求精的设计理念,专门为电动汽车转子、喷气发动机、燃气轮机、涡轮压缩机、涡轮增压器、通风机、换向器、汽车联轴器、HSG研...

关键字: RIO CE 测试 工程师

淮安2022年12月9日 /美通社/ -- 万豪旅享家旗下30个非凡品牌之一的万枫酒店今日宣布,淮安万枫酒店盛大开业。新酒店由淮安市润濠酒店有限公司开发,坐落于淮安市清江浦区,将为商务及休闲宾客带来简约舒适的居停体验。...

关键字: RIO IoT ARRI COM

(全球TMT2022年9月26日讯)台湾服务器制造公司英业达推出Rhyperior,这款强力的GPU加速器系统能满足数字时代现代企业的一切需求,特别是严重依赖人工智能(AI)和机器学习(ML)的企业。 功能强大...

关键字: 加速器 GPU RIO NVIDIA

Rhyperior是一种高效的理想系统,可显著提高现代工作负载的性能。 台北2022年9月26日 /美通社/ -- 台湾服务器制造领先公司英业达(TPE: 2356)推出Rhyperior,这款强力的GPU加速器系统能...

关键字: 加速器 GPU RIO AI

拳头游戏与亚马逊云科技达成合作,通过转播电竞统计数据、实力排行榜等方式重塑电竞体验 北京2022年8月11日 /美通社/ -- 今日,拳头游戏公司(Riot Games)宣布携手亚马逊云科技创新拳头游戏的电竞产品在云端...

关键字: 亚马逊 IoT RIO COM

上海2022年8月11日 /美通社/ -- 当前加速重构的全球供应链格局逐渐从高度集中向多元化、分散化转变、从网络结构向研产消一体化转变;从劳动力偏好向数字化驱动转变。这些种种趋势变化给供应链的数据集成、快速传输和多方协...

关键字: SAAS 供应链 区块链 RIO
关闭
关闭