技术实践
抖音以端侧模型预测GC风险并调整线程调度
概述
抖音业务从短视频扩展到直播、电商、本地生活,端侧同时承载高性能渲染、低延迟推流与多线程预加载,内存峰值与并发任务数激增,Android 原生 ADPF 偏游戏场景、难以满足多资源维度综合调度,团队自研 DDPF 动态性能框架,把端上业务与性能时机抽象为信号、把二三方动态能力标准化,并通过 DSL 在 A/B 平台上做策略调节。 感知侧建设低交互场景识别(按停留时长加分、交互行为扣分并在阈值进出模式)与内存负载分级(轻量采集 JavaHeap/NativeHeap,EWMA 抗波动,阈值按 AB 实验与机型下发,输出 Low/Medium/High/Extreme 四级信号)。决策侧引入端智能:模型在端侧基于内存分配速率等实时特征做秒级预测,敏感数据不出端。 以 GC 多参数智能决策为典型闭环——感知层监测到 GC 压力信号后触发虚拟机打分模型,输出未来 8 秒内发生 GC 卡顿风险的标签、置信度与建议参数(extOut),DDPF 转换引擎用 filter/eval 条件(如 label=='1' 且 confidence>0.8)判断是否响应,再把预测分映射为线程优先级等动作参数,由动作工厂组装并做合法性裁剪后提交调度中心执行提升 GC 线程优先级或调整 GC 步长。 执行状态记录为后续特征并派生日志信号,性能监控回采实际 GC 耗时作为 Reward,与当时预测输入共同构成新训练样本,形成「预测—执行—回采—再训练」闭环。