解耦编程模型与资源管理的 Zorua 框架解析
1. Zorua 概述
Zorua 采用软硬件协同设计,以有效应对虚拟化挑战,主要包含三个组件:
- 编译器 :通过添加特殊指令(阶段说明符)对程序进行注释,将其划分为不同阶段,并指定应用程序每个阶段的资源需求。
- 协调器 :基于硬件的自适应运行时系统,利用编译器注释在阶段边界为每个线程动态分配/释放资源,持续控制每个阶段边界的超额订阅程度(即虚拟空间大小)。
- 硬件虚拟化支持 :为每个资源提供映射表,用于定位物理空间或主存交换空间中的虚拟资源,以及实现资源在物理空间和交换空间之间的交换机制。
2. Zorua 硬件关键组件
Zorua 有两个关键硬件组件:
- 协调器 :包含用于缓冲待处理线程的队列,以及用于做出超额订阅和资源管理决策的控制逻辑。
- 资源映射表 :将每个资源映射到其对应的物理或交换空间。
下面是 Zorua 硬件组件的交互流程图:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px
A(线程块调度器):::process -->|调度新块| B(协调器):::process
B -->|提供可调度线程列表| C( warp 调度器):::pr
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



