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

HAMi состоит из следующих компонентов:
- HAMi MutatingWebhook
- HAMi scheduler-extender
- Device-plugin (HAMi-device-plugin)
- Контроль ресурсов внутри контейнера (HAMi-Core)
HAMi MutatingWebhook проверяет, может ли эта задача обрабатываться HAMi, сканируя поле ресурсов каждого пода, который отправляется. Если каждый ресурс, требуемый этим подом, является либо 'cpu', 'memory', либо ресурсом HAMi, тогда он устанавливает поле schedulerName этого пода в 'HAMi-scheduler'.
HAMi scheduler отвечает за назначение задач соответствующим узлам и устройствам. При этом планировщик должен поддерживать глобальный обзор гетерогенных вычислительных устройств для мониторинга.
Слой device-plugin получает результат планирования из поля annotations задачи и сопоставляет соответствующее устройство с контейнером.
Контроль ресурсов внутри контейнера отвечает за мониторинг использования ресурсов внутри контейнера и обеспечивает возможности жесткой изоляции.