架构
HAMi 的整体架构如下所示:

HAMi 由以下组件组成:
- HAMi MutatingWebhook
- HAMi scheduler-extender
- Device-plugin (HAMi-device-plugin)
- 容器内资源控制(HAMi-Core)
HAMi MutatingWebhook 会检查任务是否可以由 HAMi 处理。它会扫描每个已提交 pod 的资源字段;如果 pod 请求的所有资源都属于 cpu、memory 或 HAMi 资源,则会将该 pod 的 schedulerName 设置为 HAMi-scheduler。
HAMi scheduler 负责将任务分配到合适的节点和设备。它还维护异构计算设备的全局视图,用于监控。
device-plugin 层会从任务的注解中读取调度结果,并将相应的设备映射到容器中。
容器内资源控制会监控容器内的资源使用情况,并提供硬隔离。