ORCA平台回顾与解析
立即解锁
发布时间: 2025-08-27 00:01:06 阅读量: 3 订阅数: 19 


GENI:下一代互联网实验平台
### ORCA平台回顾与解析
#### 1. ORCA简介与应用背景
在当今的资源管理领域,如何高效地协同调度计算和网络资源是一个关键问题。ORCA在这方面发挥了重要作用,它借助语言(模型)驱动策略和算法,根据资源的属性和依赖关系对计算和网络资源进行协同调度和互连。在ExoGENI中,NDL - OWL被用于描述所有资源。虽然对NDL - OWL的支持需要付出大量努力,但我们能够在不修改ORCA核心的情况下,将基于逻辑的资源描述添加到ORCA中,并利用这些描述构建ExoGENI。
早在2010年初,在GENI定义相关协议之前,ORCA就已经展示了GENI的关键目标,即实现跨多个提供商的L2虚拟网络拓扑的自动嵌入和端到端组装(拼接)。ORCA定义的协议和联邦结构与GENI最终采用的结构相似,我们利用这一结构将第三方后端资源管理器连接起来,并通过其现有的API进行控制。2012年ExoGENI项目获得资助时,这种理念得以延续,“exo”前缀部分体现了将GENI外部的资源和软件纳入其中,并通过GENI API发挥其作用的思想。
#### 2. ORCA平台概述
ORCA和GENI继承了PlanetLab中的切片(slices)、薄片(slivers)和聚合体(aggregates)等关键概念:
- **聚合体(Aggregate)**:是资源提供者,对客户端而言,它就像一个托管站点或域,可以分配和配置机器、网络和存储卷等资源。聚合管理器(Aggregate Manager,AM)是实现聚合体资源提供者API的服务。
- **薄片(Sliver)**:是从单个AM分配的任何虚拟资源实例,具有独立的名称和管理方式。薄片有自己的生命周期和操作状态,请求者可以查询或更改这些状态(如关闭、重启)。
- **切片(Slice)**:是一组用于共同目的的薄片的逻辑容器。每个薄片恰好属于一个切片,切片在薄片创建时就已存在,并且在薄片的整个生命周期内不会改变。切片抽象是组织用户活动的基础,它可以被启用、禁用、授权、计费和/或限制。
在ORCA中,AM接口的客户端被称为切片管理器(Slice Manager,SM)。每个SM向AM发出的请求都针对同一个切片中的一个或多个薄片。SM的作用是根据实验或应用的需求,规划并发出AM请求,以构建具有合适端到端连接的切片。ORCA是一个用于构建SM和AM的工具包,它通过扩展通用核心,并使用SM控制器扩展以及资源代理、用户身份和授权等通用服务将它们连接在一个联邦中。
#### 3. 资源租赁机制
ORCA的资源租赁是对资源承诺的明确表示,这种租赁抽象是协商和仲裁共享网络资源控制权的有力基础。GENI在2012年的3.0版本API中最终采用了等效的租赁模型。
一个租赁是聚合体承诺在一段时间内为一个切片提供一个或多个薄片的保证。每个薄片恰好处于一个租赁的范围内,租赁以机器可读文档的形式体现,指定了切片、薄片和租赁期限。每个租赁都引用了薄片的描述以及承诺的访问性质。ORCA租赁由发行的AM签名进行身份验证,租赁合同可以通过SM和AM的双方协议进行续订(延长)或提前终止。如果SM放弃一个薄片(例如由于故障),AM会在租赁到期时释放资源。
ORCA基于SHARP,引入了两步租赁API:
1. **获取门票(Ticket)**:客户端首先获得分配资源的批准(门票),门票是一种比租赁更弱的承诺,它抽象地指定了承诺的资源。
2. **兑换门票**:客户端兑换门票以获取资源并配置(实例化)薄片。只有在兑换门票时,AM才会分配(绑定)具体资源来满足门票的要求。在ORCA中,门票可以由聚合体外部的代理发行。
通过这种方式分离分配和配置,租赁API使客户端能够以低成本获得多个AM的资源承诺,只有在成功收集到符合其需求的资源包(一组门票)时才进入兑换步骤。这种两步API是分组租赁和原子协同分配的基础,即能够请求一组薄片,使得整个请求要么全部成功,要么全部失败,不会部分配置薄片。
从AM的角度来看,租赁提供了控制资源使用条件的手段。资源承诺可以有多种形式,从硬物理(如裸机)预留到在租赁期限内尽力服务的弱承诺。通过对承诺设置时间限制,AM可以为同一资源在未来做出其他承诺(预先预订)。
从SM的角度来看,租赁使所有资源分配明确可见,使他们能够评估资源保证和切片的预期性能。由于SM可以独立租赁薄片,因此可以通过添加新薄片和/或释放旧薄片来修改切片,实现根据需求和/或资源可用性动态增长和收缩的弹性切片。ExoGENI由于早期GENI API的限制,内部使用原生ORCA API支持弹性切片。
#### 4. 扩展模块
ORCA基于一个通用的可重用租赁引擎,其依赖项被分解为可堆叠的插件扩展模块:
- **ResourceControl**:AM核心定期将最近收到的薄片请求批量上调用到ResourceControl策略模块。其目的是将请求分配到可用资源上,批处理间隔是可配置的参数。该模块可以推迟、拒绝每个请求,或者批准请求并可选地将其绑定到从匹配资源池中选择的资源集。该模块可以查询请求者的属性、资源和日历的状态、其他待处理请求以及请求流的历史记录。
- **Handler**:AM核心在批准薄片后调用Handler模块进行设置,或者在租赁关闭(过期、取消或提前终止)后进行拆除。资源处理程序执行在后端基础设施上实现薄片所需的任何配置操作。处理程序API包括一个探测方法以轮询薄片的当前状态,以及一个修改方法以调整其属性。
一个ORCA AM可以通过组合多个这些模块的实例来服务多种类型的薄片,这些实例可以根据薄片类型进行索引和选择。每个上调用在自己的线程上运行,并且允许阻塞,例如处理程序中的配置操作可能需要数秒或数分钟才能完成。扩展通过与租赁核心共享的租赁对象异步发布其结果。
#### 5. 租赁引擎
ORCA的租赁抽象将资源租赁的行为定义为一组在相关服务器上相互作用的状态机。租赁状态机具有明确定义的状态和特定于每种服务器类型的状态转换规则。
核心引擎在每个服务器内序列化状态机转换,并将其提交到稳定存储。转换提交后,可能会触发异步操作,包括向其他服务器发送通知、上调用扩展模块以及各种其他维护活动。
租赁状态转换及其操作由时间的推移(例如,在租赁期限开始时设置薄片,在期限结束时拆除薄片)、底层资源状态的变化(例如,故障)、策略扩展模块的决策以及各种API调用驱动。
租赁系统中的跨服务器交互是异步且具有弹性的。在发生故障或服务器重启后,核心会恢复租赁对象并重
0
0
复制全文
相关推荐










