阿里经济体核心调度系统Fuxi( 九 )
本文插图
【基于文件系统shuffle的示意图 / 一个20000*10000的MR作业的碎片读】
分布式作业中并发度的提升往往是加速作业运行的最重要手段之一 。 但处理同样的数据量 , 并发度越高意味着上述碎片读现象越严重 。 通常情况下选择忍受一定的碎片IO现象而在集群规模允许的情况下提升并发度 , 还是更有利于作业的性能 。 所以碎片IO现象在线上普遍存在 , 磁盘也处于较高的压力水位 。
一个线上的例子是 , 某些主流集群单次读请求size为50-100KB, Disk util指标长期维持在90%的警戒线上 。 这些限制了对作业规模的进一步追求 。
我们不禁考虑 , 作业并发度和磁盘效率真的不能兼得吗?
4.2.2 Fuxi的答案:Fuxi Shuffle 2.0
引入Shuffle Service - 高效管理shuffle资源
为了针对性地解决上述碎片读问题及其引发的一连串负面效应 , 我们全新打造了基于shuffle service的shuffle模式 。 Shuffle service的最基本工作方式是 , 在集群每台机器部署一个shuffleagent节点 , 用来归集写给同一reducer的shuffle数据 。 如下图
本文插图
可以看到 , mapper生成shuffle数据的过程变为mapper将shuffle数据通过网络传输给每个reducer对应的shuffle agent, 而shuffle agent归集一个reducer来自所有mapper的数据 , 并追加到shuffle磁盘文件中 , 两个过程是流水线并行化起来的 。
Shuffle agent的归集功能将reducer的input数据从碎片变为了连续数据文件 , 对HDD介质相当友好 。 由此 , 整个shuffle过程中对磁盘的读写均为连续访问 。 从标准的TPCH等测试中可以看到不同场景下性能可取得百分之几十到几倍的提升 , 且大幅降低磁盘压力、提升CPU等资源利用率 。
Shuffle Service的容错机制
Shuffle service的归集思想在公司内外都有不同的工作展现类似的思想 , 但都限于“跑分”和小范围使用 。 因为这种模式对于各环节的错误天生处理困难 。
以shuffle agent文件丢失/损坏是大数据作业的常见问题为例 , 传统的文件系统shuffle可以直接定位到出错的数据文件来自哪个mapper , 只要重跑这个mapper即可恢复 。 但在前述shuffle service流程中 , 由于shuffle agent输出的shuffle这个文件包含了来自所有mapper的shuffle数据 , 损坏文件的重新生成需要以重跑所有mapper为代价 。 如果这种机制应用于所有线上作业 , 显然是不可接受的 。
我们设计了数据双副本机制解决了这个问题 , 使得大多数通常情况下reducer可以读取到高效的agent生成的数据 , 而当少数agent数据丢失的情况 , 可以读取备份数据 , 备份数据的重新生成只依赖特定的上游mapper.
本文插图
具体来说 , mapper产生的每份shuffle数据除了发送给对于shuffle agent外 , 也会按照与传统文件系统shuffle数据类似的格式 , 在本地写一个备份 。 按前面所述 , 这份数据写的代价较小但读取的性能不佳 , 但由于仅在shuffle agent那个副本出错时才会读到备份数据 , 所以对作业整体性能影响很小 , 也不会引起集群级别的磁盘压力升高 。
有效的容错机制使得shuffle service相对于文件系统shuffle , 在提供更好的作业性能的同时 , 因shuffle数据出错的task重试比例降低了一个数量级 , 给线上全面投入使用打好了稳定性基础 。
线上生产环境的极致性能稳定性
在前述基础功能之上 , Fuxi线上的shuffle系统应用了更多功能和优化 , 在性能、成本、稳定性等方便取得了进一步的提升 。 举例如下 。
推荐阅读
- 行业|高增长+高回撤!请收好这份“补票”名单,11只核心资产股入围,百亿科技股已跌出“深坑”
- 快科技|阿里辟谣:不会高薪聘请黑阿里网站的人 直接交给警方
- 美搭说说大文|巴萨核心将转会尤文,身价8000万,梅西公开欢迎新队友到来
- 核心|高增长+高回撤!请收好这份“补票”名单,11只核心资产股入围,百亿科技股已跌出“深坑”
- 腾讯|原创 腾讯如果想冻结阿里的资金,阿里除了束手就擒还有办法反制么?
- 马云下死命令留他?当事人辟谣:不要再消费我和阿里来赚流量了
- 黑猫的游戏人生|王者“射手榜”史诗级更新,5位T0射手同时登场,宣告S20核心稳了
- 金色光|产销低迷还扩产4.25倍,奥来德:未披露核心技术人员重大变化,
- 这有港澳台|贸易政策更加开放,国际视野丨G20经济体多条措施与疫情相关
- :当年阿里的前台,马云给她0.2%股份,20年过去她怎样了?
