AetherGrid:用租约协调分布式 AI 算力
AetherGrid 通过租约、协调循环和独立执行代理管理分布式 AI 任务,无需依赖 Kubernetes。
AetherGrid 是一套面向分布式 AI 工作负载的计算编排系统。它根据资源需求和节点条件分配任务,并通过有时限的执行租约保证同一任务在同一时间仅由一个工作进程持有。系统不依赖 Kubernetes,核心领域逻辑采用纯 Python 实现,试图将调度规则与具体存储和基础设施实现解耦。
任务与资源调度
系统支持任务从排队、调度、运行到完成、失败、重试或取消的完整生命周期,并根据优先级、节点标签及资源要求选择合适节点。正在排空或已经离线的节点不会被分配新任务;节点排空期间,已有任务仍可继续运行至完成。
每个节点注册时都会关联一个工作进程。后者通过 API 拉取已分配任务,以本地子进程执行,并通过独立线程持续发送心跳。任务执行设置强制超时,系统还会记录从创建到结束的事件历史,便于追踪状态变化。
故障协调与执行权
AetherGrid 的关键设计是定期协调系统状态。协调循环会检查失效工作进程和过期租约,并修复由此产生的不一致状态。执行期间,租约持续续期,而不是仅在任务获取时更新一次。
项目还专门处理了一处竞态条件:协调循环开始重新分配任务时,原工作进程可能恰好提交延迟的续租请求。工程决策记录显示,系统通过回收任务与协调修复机制关闭了这一冲突。独立工作进程则采用拉取式轮询,复用已有协调机制,减少额外消息投递和可靠性逻辑。
权限与架构治理
所有 API 路由均要求 API Key,包括签发密钥的接口。首个密钥只能通过本地脚本直接访问数据库生成;后续密钥由服务签发的不透明令牌支持即时撤销。任务命令也有明确边界:工作进程只能读取已经分配给自己的命令,不能访问更广泛的任务内容。
项目目前包含 21 份工程决策记录,主要涉及协调循环、租约续期、独立执行代理及调度策略归属。系统强调将可调度节点判断保留在领域层,而不是交给数据库层决定。整体来看,AetherGrid 的重点不是提出新的调度算法,而是用明确的状态机、租约和协调机制构建可维护的分布式算力调度基础;但摘录未提供性能基准、部署规模或生产环境验证数据。
