TAO(实时CORBA)系统构架概述
TAO是一个ORB实现,它包含了网络接口,操作系统,通信协议以及CORBA中间件构件和相关特性。
图 1. TAO构架构件 TAO功能
•最优化表现层
•实时调度服务
适配器字符串是什么•实时ORB 核心
•最优化对象适配器
•针对特殊Qos属 性的实
时IDL(RIDL)模式
•跨越操作系统 保护域
的有效的零拷贝缓冲区
管理
•一个高性能的 ATM端接
口控制器(ATM Port
Interface
Controller-APIC)
•操作系统和网络 资源
的实时调度
1. G比特I/O子系统
一个I/O子系统负责ORB和应用程序对底层网络和操作系统资源,如设备驱动程序,协议栈,CPUs等资源的 访问。这里很关键的问题是建立一个实时I/O子系统(1)加强在最小化优先反演和不确定性时的QoS保证, (2) 这使应用程序对特殊的QoS需求变得很方便,而且(3)有助于ORB中间件利用通过基本的网络所提供的QoS保证
面对这些挑战,我们为华盛顿大学的TAO开发了一个运行在G比特ATM网络之上的高性能的I/O子系统 TAO I/O子系统包括以下构件 (1) 一个高速的ATM端接口控制器(APIC),(2) 一个实时的I/O子系统, (3) 一个实时的调度器, 和(4) 一个 输入控制器, 显示在图 2.
图 2. TAO的G比特I/O子系统
为了确保应用程序的QoS,TAO从底层的I/O子系统获得保证。为了完成这个任务,我们正在开发一个高新能的网络I/O子系统。 其系统构件描述如下.
1.1. 高速网络适配器
我们的I/O子系统的心脏是一个由一个或多个ATM接口控制器芯片(APIC)互 相连接而组
成的菊花链 .APIC能作为一个系统/网络接口使用,也能作为I/O接口芯片组使用.它支持一个双向2.4Gbps速率的聚集 .另外, TAO分层结构的设计使它能运行在通常的连接到通过使能QoS的的网络(如支持RSVP的IPv6)和实时互连(如VME底板和多处理器 的共享内存环境)的网
络嵌入式平台.
1.2. 实时I/O系统
TAO通过Solaris和实时操作系统VxWorks等提供了增强的流模式.TAO的实时I/O系统最优化反演和隐藏的调度问题源 于协议的处理中.我们的策略是避免优先反演,用一个核心线程池专用处理协议并且用应用程序的线程关联这些线程. 这些核心线程运行在与应用程序线程同样的优先级别, 这样能防止多种实时调度事故的发生如优先反演和隐藏调度.
1.3. 实时调度
TAO通过支持周期性实时应用程序的实时I/O调度类来确保支持QoS. 一旦实时I/O类的一个线程被操作系统接纳, 调度程序将负责(1) 计算在类中相关的其它线程的优先级并且(2)周期性地分发这些线程以使它们在最后期限是满足的.
TAO实时I/O调度类允许应用程序指定它们在一个高级, 直觉方式下的需求.例如, TAO 实时调度类的一个实现是基于比率单调调度(rate monotonic scheduling)的, 这些应用程序能在它们的计算时间里指定它们的处理需求C 和周期P. 操作系统为实时I/O线程赋于优先级以确保可调度.
1.4. 输入控制器
为确保应用程序的QoS需求,TAO为实时I/O调度类执行输入控制 .输入控制允许操作系统要么确保指定的计算时间,要么拒绝接收线程. 输入控制对于实时系统在确定和统计QoS 需求方面很有 用处.
2. 实时ORB核心
TAO ORB核心管理传输连接, 传递客户请求到一个对象适配器,并可能返回响应给客户.它也负责处理应用构件的并发模式.图 3 表示了在TAO ORB核心客户端和服务器端的构件.
图 3. TAO的ORB核心构件
TAO's ORB 核心是基于高性能,跨平台的ACE构件之上,如接收器和连接器, 感应器,和任务. 图 3 说明了TAO ORB核心的客户端是如何使用ACE的 策略连接器去缓冲到服务器的连接的, 这样就保存在调用和执行之间的连接设置时间和最小化时间(minimizing latencies). 服务器端使用ACE的 策略连接器, 在与感应器的连 接中, 获得连接.感应器 代表着一种连接处理器激活ACE激活策略的方式 (e.g., 一个线程激活策略在图中显示), 将每个线程句柄
转到相应的活动对象. 连接处理器从请求中解析出Inter-ORB Protocol(IOP)并把它们 传递
到TAO的对象适配器, 并由对象适配器将这些请求分发到伺服程序进行处理.
3. 实时对象适配器
TAO对象适配器负责对客户请求到对象实现的多路分解和 分发. 一个标准的GIOP兼容
性客户请求包含了远程对象实现和操作的标识. 远程对象实现用一个对象键表示,远程操作
以一个字符串表示.通常ORB通过以下步骤解析客户对目标对象实现 操作的请求(显示在图
4(A)):
•第1、2步 -- 操作系统协议栈将输入的客户请求(e.g., 通过数据链路层, 网络层, 和传输层,以及用户/核心 边界)传递到ORB对象适配器.
•第3,4,5步 -- ORB核心使用客户对象键信息来定位适当的对象适配器,伺服程序和目标IDL操作的骨架;
•第6步 -- IDL骨架定位适当的操作, 编组请求缓冲到操作参数,并且执行上调操作.
图 4. 分层和DE分层的多路分解
通过所有层的多路分解客户请求的代价是非常昂贵的, 尤其是当在一个IDL接口中存在
大量的操作或者是一个ORB管理着大量的对象更表现的如此.为了减少开销, TAO使用de-分
层多路分解 (Figure 4(B)).这种近似使用多路分解键(demultiplexing keys)的方式把ORB
指派给客户端. 这些键映射客户请求到对象/操作在O(1)时间里不需要任何的哈西运算或搜
索.
为了将来减少多路分解层的数目,APIC能通过编程和使用ATM虚拟环路的方式直接分发
客户请求. 这种策略减少了多路分解的执行时间和支持在每请求或每对象基础上的端对端QoS.
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论