FlikRemoteShuffle是一种批场景下利用外部服务完成任务间数据交换的Shuffle实现,本文后续将详细介绍FlikRemoteShuffle研发的背景,以及FlikRemoteShuffle的设计与使用。
重要特性存储计算分离:存储计算分离使计算资源与存储资源可以独立伸缩,计算资源可以在计算完成后立即释放,Shuffle稳定性不再受计算稳定性影响。支持多种部署模式:支持Kuberetes、Yar以及Stadaloe环境下部署。采用了类似FlikCredit-Based流量控制机制,实现了零拷贝数据传输,最大限度的使用受管理的内存(maagedmemory)以避免OOM,提高了系统稳定性与性能。实现了包括负载均衡、磁盘IO优化、数据压缩、连接复用、小包合并等诸多优化,实现了优秀的性能与稳定性表现。支持Shuffle数据正确性校验,能够容忍Shuffle进程乃至物理节点重启。结合FLIP-187:FlikAdaptiveBatchJobScheduler[11] 可支持动态执行优化,如动态决定算子并发度。设计思路与原理介绍参阅此文章:https://www.oschia.et/ews/171564/flik-remote-shuffle-ope-source







评论