一、四道台阶,顺序不能颠倒
1.1 为什么是台阶而不是清单
把调度能力列成一张清单,会让人误以为各项能力可以随意挑选、缺一两项也无妨。实际上它们之间是递进关系:下一道台阶建立在上一道之上,跳级的结果是“看起来什么都有、用起来处处卡壳”。
1.2 三个专业名词
1、算力感知:调度系统对资源状态的实时了解,包括哪里有空闲、性能如何、网络通路状况怎样;
2、统一封装:把架构不同、规格不同的资源抽象成一套可比较的描述,让调度不必关心底层差异;
3、编排:当一个任务需要多张加速卡甚至多台设备协同时的组织过程,包括如何切分、如何排布、如何同步。
1.2.1 感知为什么排在最前
调度系统做的每一个决定都依赖信息:哪里有资源、资源是什么规格、当前负载如何、通路是否顺畅。信息不准,再聪明的算法也会做出错误判断。因此“看得见”是整条能力链的地基。
二、第一道台阶:看得见,先把资源摸清楚
2.1 资源地图要标出什么
一份可用的资源地图至少包含四类信息:
① 位置:资源在哪座城市、哪个机房、哪个机柜;
② 规格:有多少计算部件、单部件性能如何、内存与存储多大;
③ 状态:当前是空闲、忙碌还是维护中;
④ 通路:到达这里的网络时延与带宽情况。
2.2 度量不统一会怎样
如果不同资源各说各话——有的按卡数报,有的按性能报,有的还带着各自的单位——调度就无法比较,更无法判断“这个任务放哪儿更合适”。
2.2.1 统一封装把差异抹平
1、对外呈现一致的规格描述;
2、内部保留各自的差异与特性,供调度在做精细匹配时参考;
3、新增资源时按同一套规则接入,不必为每种架构单独改造调度逻辑。
三、第二道台阶:连得上,把分散算力接入一张网
3.1 接入要办妥三件事
① 网络通达:资源所在地与调度中枢之间要有稳定、够宽的数据通道;
② 身份可信:接入的资源要经过登记与校验,明确归属与权限;
③ 接口一致:资源提供的操作方式要符合统一约定,调度才能下达指令并收到回执。
3.2 网络质量直接影响调度效果
算力调度离不开网络:任务要送过去,数据要跟过去,结果要传回来。网络条件不同,适合承载的任务类型也不同:
1、时延低、带宽高的通路,适合需要频繁交换数据的紧密协同型任务;
2、时延相对高但带宽充足的长途通路,适合数据搬移少、可独立运行较长时间的批量型任务。
调度系统在做决定时,会把网络条件与任务特性放在一起权衡。
四、第三道台阶:分得匀,让每个任务各得其所
4.1 任务级匹配
以整机为粒度分配资源,很容易出现“大车拉小货”的浪费。任务级匹配的做法,是把每一次提交的任务单独看待:它需要多少算力、对时延有什么要求、要不要与其他部分紧密协同,再据此在资源池中寻找合适的位置。
4.2 编排与协同
规模较大的任务需要多张加速卡甚至多台设备一起上。编排要处理的是:模型如何切分、各部分如何同步进度、中间结果如何交换。
4.2.1 相邻性很关键
① 同一任务的各部分放得越近,交换中间结果的通路越短,等待时间越少;
② 跨设备协同时,设备之间的通道宽度往往成为瓶颈,编排要尽量把通信密集的部分安排在高带宽区间内;
③ 因此调度宁可多等一会儿凑齐相邻资源,也不要把同一个任务拆得七零八落。
4.3 优先级与公平兼顾
多个团队共用一片资源,既要有优先级,让紧急任务先行;也要有公平性,避免小任务长期排在大任务之后。常见的做法是给不同队列设定配额,并允许在空闲时段互相借用。
五、第四道台阶:稳得住,出状况也能接着跑
5.1 冗余与检查
规模越大、时间越长,遇到波动的可能性越高。稳得住的第一层含义,是在设计上就留有冗余:关键通路不止一条,重要数据不止一份,并定期巡检,把隐患在变成中断之前处理掉。
5.2 断点续训
稳得住的第二层含义,是中断之后能接上:
① 训练过程中按节奏把进度写入可靠存储;
② 检测到中断后自动寻找替代资源;
③ 从最近的进度继续,而非从头开始;
④ 整个过程留下记录,供事后复盘。
5.3 弹性伸缩与及时回收
稳得住的第三层含义,是资源能跟着需求变化:忙时按需增加,闲时及时收回。回收要确认计算部件已释放、临时数据已清理、连接已断开,否则会出现“显示有资源、实际用不上”的情况。
六、四道台阶之间的因果
6.1 看不见,就调不动
资源状态不清楚,调度只能凭猜测分配,结果是任务被派到根本无法运行的位置,失败后再重试,白白消耗时间。
6.2 连不上,就调不广
网络不通或通路太窄,调度范围就只能局限在单个机房内部,无法在更大范围内寻找更合适的资源,也就失去了削峰填谷的可能。
6.3 分不匀,就调不好
粒度太粗会造成浪费,排布太散会拖慢协同,优先级失衡会引发排队与闲置同时存在。这三种情况都属于“分不匀”。
6.4 稳不住,就调不久
一次严重中断可能吞噬长时间积累的进展。如果系统不能快速恢复,使用者就会倾向于选择小规模、短周期的任务,算力也就难以支撑真正有价值的长周期工作。
七、走到第四道台阶之后
7.1 跨区域协同成为可能
四道台阶都站稳之后,调度就能在更大的范围内发挥作用:把资源充裕地区的算力与需求旺盛地区的任务对接起来,让整体利用率更高,也让单个区域的波峰不再成为瓶颈。
7.2 用数据反哺策略
每一轮调度都会留下记录:任务等了多久、跑在哪里、是否中断、最终耗时多少。把这些记录汇总分析,可以发现哪类任务常被卡住、哪个时段最紧张、哪种排布效率更高,再把结论用于优化下一轮决策,让调度能力持续往上走。
八、天翼云息壤算力调度的能力落位
8.1 算力分发网络作为底座
天翼云息壤以算力分发网络为底座,把分散在不同地域、不同机房的算力连接成一张可感知、可调度的网,为“看得见”与“连得上”提供基础支撑。
8.2 统一接入与统一封装
支持异构算力统一接入,把不同架构、不同规格的资源按同一套规则封装与度量,让调度能够在同一张地图上比较与选择。
8.3 任务级智能调度与万卡级编排
以任务为单位进行智能匹配,综合考虑规模、优先级、资源相邻性与网络条件;面向超大规模训练任务,提供万卡级别的统一编排能力。
8.4 断点续训与稳定保障
配合定期保存、自动检测与从断点继续的机制,把长周期任务的中断损失控制在可接受范围内,并提供弹性伸缩与资源回收能力。
8.5 城市算力网与跨区域实践
息壤相关能力已在多个城市的算力网建设中落地,并在跨区域协同方面开展实践,把资源充裕地区的算力与科研、医疗、制造等行业的业务需求连接起来。
8.6 权威认可
公开信息显示,天翼云息壤相关能力与产品曾获得多方认可,包括入选中央企业十大超级工程、获得“算力中国·年度突破成果”、入选十大硬核科技、获得世界互联网大会杰出贡献奖等。上述内容与具体口径以天翼云官网和官方渠道发布的信息为准。
九、三个常见疑问
1、为什么任务提交后有时要等一会儿才开始?等待往往是为了凑齐更合适的资源,尤其是需要多卡紧密协同的任务。与其拆散安排导致跑得慢,不如稍等片刻换来更高的整体效率。
2、跨区域调度会不会影响速度?调度会先判断任务对时延的敏感程度:敏感的任务就近安排,不敏感的批量任务才考虑跨区域流动,从而兼顾效率与整体利用。
3、资源规模以后变大了怎么办?统一封装的设计让新增资源可以按同一套规则接入,不需要重建调度逻辑,规模扩展时能力可以平滑延续。
十、小结
算力调度不是某一个神奇算法,而是四道台阶的层层叠加:先把资源看得见,再把它们连得上,接着让任务分得匀,最后保证系统稳得住。四道台阶之间环环相扣,缺了任何一道,调度就会在对应的环节上减弱。天翼云息壤算力调度沿着这四道台阶持续建设,把分散的算力连成一张网,把复杂的匹配交给系统,让使用者只需要回答一个问题:你要跑的任务是什么。