一、概念先讲清
(一)算与网是一体
算力在哪里,数据就要搬到哪里;反过来也能让计算靠近数据。两者协同,才能少做无用功,单独优化某一边往往顾此失彼,到头来两边都吃亏。把算与网当作一个整体来调度,决策时才不会各管各的,整体最优才可能出现。
(二)搬运有代价
大规模数据跨地域传输,耗时与开销都不少。能少搬就少搬,是这类调度的基本思路,也是它区别于普通调度的关键所在,别轻视。一处搬运省下的时间,往往够业务多跑好几轮实验,积少成多就是竞争力。
(三)位置会变化
数据随时间分布在不同位置,算力也一样。静态规划会失效,需要动态判断,这也是为什么调度要持续感知两边的真实状态再下手。位置在变,策略也得变,把调度做成一次性的静态表,很快就会被业务甩在后面。
(四)目标要统一
计算侧与网络侧目标若不一致,会互相拖累。统一目标,调度决策才不矛盾,也减少一边省了另一边又白白花掉,整体算下来并不划算。目标统一,两侧才朝一处使劲,资源才不会在内耗里悄悄流失,效果才出得来。
二、何时移动计算
(一)数据大且重用少
数据量巨大、只算一次,搬到算力处不如把算力派过去。一次性的大搬运最不划算,就近算完只回传结论才是正解,省时又省钱,也少风险。算一次就走的数据,搬它不如搬算力,方向选对,链路立刻轻快一大截。
1. 就近起任务
在数据所在位置启动计算任务,省下搬运时间。就近执行,整体完成明显更快,也把网络带宽留给真正需要传输的内容,不挤占别人的路。就近启动还减少了跨地域的依赖,某一侧出问题,影响面也更容易控制在局部。
2. 结果回传即可
只把最终结论传回,而不是原始数据。回传体积小,网络压力大幅下降,也减少敏感数据在链路上反复流动带来的安全顾虑。只传结论,既省带宽也省心,下游拿到的是成品,不必再为原始数据操心保管。
3. 注意本地能力
数据侧是否有足够算力要提前确认。能力不足时,仍需把部分数据搬到有卡的位置,这时就要重新比较两边的真实代价再决定。就近不是硬凑,本地撑不起时硬要就近,反而比正常搬运更慢,要实事求是。
三、何时移动数据
以下情况更适合搬数据而非搬计算,逐一对照自身场景就能做出合理的取舍:
① 数据会被反复使用:多次计算的场景,搬一次后就地复用,比每次就近更省,均摊下来搬运成本最低,最划算。
② 本地无合适算力:数据侧设备不够,只能把数据送到算力集中的位置,此时搬计算反而不现实,搬数据更顺。
③ 需跨源融合:多来源数据要在同一处汇集,先把它们搬到一处再算,比来回调度更顺,也更可控不出错。
四、决策靠什么
(一)先估体量
数据大小与计算量都估算一遍,比较两者的传输与执行代价。估算不求精确,只要分出主次,就能避开最不划算的那条路,少花冤枉钱,方向更清楚。体量估不准没关系,能区分“搬数据贵还是搬计算贵”就够了,决策就立住了。
(二)看网络余量
当前链路是否空闲、带宽是否够,决定搬运是否顺当。网络紧张时优先就地计算,把宝贵带宽留给必须传输的部分,不浪费,也不添堵。网络余量要看实时,不能只看标称带宽,高峰时再算账,结论常常完全相反。
(三)算时间账
搬运耗时加上计算耗时,与就地计算的耗时对比。谁更快,就把任务安排在哪一侧,时间账才是用户最终感受到的那笔账,最实在。耗时对比要做端到端,别只算计算那段,传输时间往往才是用户等得最久的部分。
五、落地要注意
(一)权限要打通
计算移到数据侧,访问权限也要随之具备。权限没跟上,任务会因读不到数据而失败,白忙一场,所以权限要随任务一起迁移到位。权限先行,任务才不会卡在最后一公里,否则算力的准备都白做了,体验极差。
(二)一致性要保
数据在多处存在时,确保读到的是最新版本。不一致会让结果出现难以解释的偏差,调试时最耗神,也最伤各方之间好不容易建立的信任。一致性要有机制兜底,不能靠人记,版本乱了之后查起来,时间成本远超事前投入。
(三)故障要兜底
某一位置异常时,任务能切到另一位置。兜底方案让调度不会因为单点而中断,也保证关键任务按时交付,不影响业务对外承诺。兜底要真演练过,纸面上的切换最不可信,出事时才发现切不过去,代价太大。
六、效果怎么看
(一)搬运量下降
核心看跨地域传输是否减少。搬运少了,网络开销与时间自然跟着降,这是最直观也最容易被汇报上去的成效,好讲。搬运量要按周期对比,单看一天容易受波动干扰,拉长时间线,趋势才看得清、说得服。
(二)完成时间缩短
以端到端完成时间为准,而不是单看计算快慢。整体更快,调度才算有效,用户感受到的也正是这个端到端的时长,不是某一处的局部速度。局部再快,链路某处卡一下就全白搭,所以必须盯端到端,才不会被假象骗过。
(三)记录要留存
每次调度决策的理由与结果存入天翼云存储,便于复盘。长期积累,策略会越来越准,也能向各方证明调度到底带来了多少实在价值,不止是感觉。记录沉淀为资产,新人接手也能看懂当初为何这样排,制度得以延续而非推倒重来。
七、落地清单
① 先做一次全量盘点,弄清数据分布与算力分布,两张图叠在一起,调度决策才有底,也知道哪边是瓶颈,先攻哪里,不打无准备之仗。
② 就近计算前确认本地是否有配套依赖,缺一项就要回传,反而比直接搬运更慢,白忙一场最可惜,先查清楚再动手,省返工。
③ 数据移动要压缩,大批量传输前先压缩,能明显缩短耗时并减少链路压力,这一步几乎零成本却很见效,顺手就做,不亏,收益立竿见影。
结语:算网融合的本质,是让计算与数据离得更近,少做无用功,省下的是真金白银。决策靠体量、网络与时间三笔账,而不是凭感觉拍脑袋定位置。效果最终看搬运是否减少、完成是否更快,这两项数清楚了,价值自然就显现。