6.2 智能调度逻辑设计
在调度核心模块内部,LLM 调度器遵循以下逻辑进行推理决策,主要包括任务优先级排序、资源分配策略和输出结构设计三个方面:
1)任务优先级排序
在每一轮调度中,LLM 调度器需对就绪任务进行优先级排序,以优化整个 DAG 的调度时长。
根据任务的 b-level(从该任务到终点的最长路径耗时)进行排序,b-level 越大意味着任务对关键路径的影响越大;
通过提示语引导模型优先调度关键路径上的任务,从而确保对最终完成时间影响最大的任务能够尽快执行。
2)资源分配策略
在多任务并发和资源受限的运行环境下,调度器需对CPU 核数与内存用量进行联合优化。系统引导 LLM 在资源分配中考虑两类指标:
计算并行性收益:对支持并行加速的任务分配更多 CPU 核数,以最小化运行时间;
内存可达性约束:对存在最小内存需求的任务,确保系统剩余内存满足其
min_memory限制,避免调度失败。
具体策略如下:
对于具备并行加速能力的节点(例如:核数翻倍可减少约 30% 运行时间的任务),在关键路径任务上允许临时性资源“超配”;
非关键路径任务优先考虑资源节约,在满足
min_memory的基础上尽可能少配 CPU;LLM 推理中通过提示语明确指示模型识别“内存瓶颈任务”,优先排除调度冲突。
示例提示语片段可包括:
“请判断每个任务的最小内存要求是否满足当前系统剩余内存,再做核数分配与任务启动决策。”
3)调度决策输出结构
调度模块输出的结果采用结构化的格式,供MiQroForge系统解析并执行具体的调度操作。输出结果需包含以下字段:
{ "to_start": ["node_A", "node_B"], "assigned_resources": { "node_A": { "cores": 4, "memory_gb": 8 }, "node_B": { "cores": 2, "memory_gb": 4 } }, "decision": "start", "updated_dag": [ ... ] }
to_start: 列表,包含本轮推荐启动的任务节点;
assigned_resources:为每个任务分配的资源包,含
cores(核数)与memory_gb(单位:GB);decision: 字符串,指示本轮是否启动新任务(
"start")或保持等待("wait");updated_dag: 列表,每个节点在本轮后的更新 ETA 和核数等信息。
系统根据该输出结构执行调度操作,并将结果记录为调度日志。