Архитектура
Общая архитектура HAMi показана ниже:

HAMi состоит из следующих компонентов:
- HAMi MutatingWebhook
- HAMi scheduler-extender
- Device-plugin (HAMi-device-plugin)
- In-container resource control (HAMi-Core)
HAMi MutatingWebhook проверяет, может ли задача быть обработана HAMi. Он сканирует поля ресурсов каждого отправленного pod; если каждый ресурс, запрашиваемый pod, является либо cpu, memory, либо ресурсом HAMi, он устанавливает для schedulerName pod значение HAMi-scheduler.
HAMi scheduler отвечает за назначение задач на соответствующие узлы и устройства. Он также поддерживает глобальное представление о heterogenous computing devices для мониторинга.
Слой device-plugin считывает результат планирования из аннотаций задачи и сопоставляет соответствующее устройство с контейнером.
In-container resource control отслеживает использование ресурсов внутри контейнера и обеспечивает жесткую изоляцию.