李明-使用缓存提高StateBackend性能.pdf

编号:101908 PDF 28页 3.98MB 下载积分:VIP专享
下载报告请您先登录!

李明-使用缓存提高StateBackend性能.pdf

1、李明/字节跳动基础架构工程师StateBackendStateBackend PerformancePerformanceImprovements with CacheImprovements with Cache相关背景相关背景Background优化思路优化思路Ideas难点难点&方案方案Difficulties&Solutions业务收益业务收益Benefits未来规划未来规划Future Work#1#2#3#4#5#1#1相关背景相关背景BackgroundBackground现有 StateBackend 特点Features of existing StateBackendFsS

2、tateBackendRocksDBStateBackend原始 Object 对象+内存 Map 结构优点:访问速度快,CPU 开销低缺点:状态规模小,GC 停顿时间长存储二进制数据到 RocksDB优点:内存开销低,可支持超大状态缺点:CPU 开销高StateBackendStateHeapRocksDB业务痛点Business pain pointsFsStateBackend 带来的GC停顿时间长,业务对此有感知GCGC停顿长停顿长RocksDBStateBackend 在非 SSD 磁盘性能较差,额外的序列化/反序列化操作,增加了资源成本资源开销高资源开销高状态规模难预估,切换Sta

3、teBackend 需要额外运维选型困难选型困难问题&思考Questions&Thinking能否将 Heap 和 RocksDB 的优势结合起来?SpillableStateBackendAnti-Caching架构:内存+磁盘数据存储以 KeyGroup 为粒度动态调整内存占用以支持小规模状态为主数据交换的粒度较粗状态较大时可能退化为磁盘访问大状态不适用SQL minibatch内存攒批访问状态,相同 key 只操作一次 stateOperator 粒度实现OperatorbackendreadwriterecordOperatorbackendreadwriterecordrecordr

4、ecord业务优化:内存中增加缓存优先从内存访问,制作快照时同步到底层Operator 粒度实现Operatorbackendread/writeread/writerecordcache问题&思考Questions&Thinking#2 2优化思路优化思路IdeasIdeas样本拼接/消重行为数据流推荐数据流模型训练/在线服务业务场景PB 类型数据为主,序列化开销高状态规模大,单 Task GB 级同一个 Key 对应多条数据,大部分数据同一时间段到来缓存热点数据,减少序列化/反序列化开销热点数据缓存Cache hot dataCache LayerStateBackendState API

5、降低 StateBackend 选型难度未来可扩展到多种 StateBackend业务需求通用缓存层General cache layer提供通用缓存层,适配多种 StateBackendCacheKeyedStateCachedKeyedStateBackendStateBackendStateCacheManagerKeyedState1.1.创建创建并注册并注册 C Cacheache2.Cache2.Cache 封装封装3.3.TtlTtl StateState 封装封装CacheManagerCacheKeyedStateBackendCacheKeyedStateTM 中的常驻服务

6、管理 TM 中所有的 Cache代理底层 StateBackend创建 Cache、注册以及 State 包装代理底层 State,优先访问 Cache整体架构Overall structure监控内存情况,周期触发 Cache 扩缩容CacheManagerHeapStatusMonitorCacheStatusMonitorMemoryManagerScalingManager1.1.注册注册CacheCache2.2.上报上报 GCGC 结果结果3.3.请求请求 scalescale 的内存大小的内存大小4.4.获取获取 CacheCache 的统计信息的统计信息5.5.通知通知 Cac

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(李明-使用缓存提高StateBackend性能.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠