HAMi 核心模块与架构设计

概述

HAMi 作为 Kubernetes 的异构设备管理中间件,其核心模块和架构设计旨在实现异构设备的统一管理、共享和虚拟化。它主要通过 Kubernetes Extender 和 Device Plugin 机制与 Kubernetes 集成。
HAMi 核心模块与架构设计_第1张图片

核心模块

HAMi 核心模块与架构设计_第2张图片

  1. Scheduler (调度器)

    • 位置: cmd/schedulerpkg/scheduler
    • 功能: HAMi 的调度器是一个 Kubernetes Extender,它扩展了 Kubernetes 默认调度器的功能。当 Pod 请求异构设备资源时,HAMi 调度器会介入调度流程。
      • 过滤 (Filter): 根据 Pod 的 GPU 资源请求(如内存、核心、特定 GPU 类型/UUID)以及当前节点的 GPU 使用情况,过滤掉不满足条件的节点。它会调用 getNodesUsage 方法来获取节点的 GPU 使用情况。
      • 打分 (Score): 对通过过滤的节点进行打分,根据配置的调度策略(如节点级别的 binpackspread

你可能感兴趣的:(智算,#,HAMi,HAMi,GPU虚拟化,智能算力,异构AI计算虚拟化中间件,云原生)