阿里经济体核心调度系统Fuxi( 三 )
我们研究了多种数据缓存算法 , 并对其进行了对比试验 , 下图展示了不同缓存策略的收益 , 横轴是冗余存储空间 , 纵轴是带宽消耗 。 从图中可以看出 , 随着冗余存储的增加 , 带宽成本不断下降 , 但收益比逐渐降低 , 我们最终采用的k-probe算法在存储和带宽间实现了很好的平衡 。
本文插图
1.2.2 以project为粒度的多集群业务排布算法
随着上层业务的不断发展 , 业务的资源需求和数据需求也在不断变化 。 比如一个集群的跨中心依赖增长迅速 , 无法完全通过数据缓存来转化为本地读取 , 这就会造成大量的跨数据中心流量 。 因此我们需要定期对业务的排布进行分析 , 根据业务对计算资源、数据资源的需求情况 , 以及集群、机房的规划 , 通过业务的迁移来降低跨中心依赖以及均衡各集群压力 。
下图展示了某个时刻业务迁移的收益分析:左图横轴为迁移的project数量 , 纵轴为带宽减少比例 , 可以看出大约移动60个project就可以减少约30%的带宽消耗 。 右图统计了不同排布下(迁移0个、20个、50个project)的最优带宽消耗 , 横轴为冗余存储 , 纵轴为带宽 。
本文插图
1.2.3 跨数据中心计算调度机制
我们打破了计算资源按照数据中心进行规划的限制 , 理论上允许作业跑在任何一个数据中心 。 我们将调度粒度拆解到作业粒度 , 根据每个作业的数据需求、资源需求 , 为其找到一个最合适的数据中心 。 在对作业进行调度之前需要知道这个作业的输入和输出 , 目前我们有两种方式获得这一信息 , 对于周期性作业 , 通过对作业历史运行数据进行分析推测出作业的输入输出;对于偶发的作业 , 我们发现其产生较大跨域流量时 , 动态的将其调度到数据所在的数据中心上运行 。 另外 , 调度计算还要考虑作业对计算资源的需求 , 防止作业全部调度到热点数据所在的数据中心 , 造成任务堆积 。
1.3 线上效果
线上三种策略相辅相成 , 数据缓存主要解决周期类型作业、热数据的依赖;作业粒度调度主要解决临时作业、历史数据的依赖;并周期性地通过业务整体排布进行全局优化 , 用来降低跨中心依赖 。 整体来看 , 通过三种策略的共同作用 , 降低了约90%的跨地域数据依赖 , 通过约3%的冗余存储节省了超过80%的跨数据中心带宽消耗 , 将跨中心依赖转化为本地读取的比例提高至90% 。 下图以机房为单位展示了带宽的收益:
本文插图
3. 资源调度2.0 - 去中心化的多调度器架构
2019年双十一 , MaxCompute平台产生的数据量已接近EB级别 , 作业规模达到了千万 , 有几十亿的worker跑在几百万核的计算单元上 , 在超大规模(单集群超过万台) , 高并发的场景下 , 如何快速地给不同的计算任务分配资源 , 实现资源的高速流转 , 需要一个聪明的“大脑” , 而这就是集群的资源管理与调度系统(简称资源调度系统) 。
资源调度系统负责连接成千上万的计算节点 , 将数据中心海量的异构资源抽象 , 并提供给上层的分布式应用 , 像使用一台电脑一样使用集群资源 , 它的核心能力包括规模、性能、稳定性、调度效果、多租户间的公平性等等 。 一个成熟的资源调度系统需要在以下五个方面进行权衡 , 做到“既要又要” , 非常具有挑战性 。
本文插图
13年的5K项目初步证明了伏羲规模化能力 , 此后资源调度系统不断演进 , 并通过MaxCompute平台支撑了阿里集团的大数据计算资源需求 , 在核心调度指标上保持着对开源系统的领先性 , 比如1)万台规模集群 , 调度延时控制在了10微秒级别 , worker启动延时控制在30毫秒;2)支持任意多级租户的资源动态调节能力(支持十万级别的租户);3)极致稳定 , 调度服务全年99.99%的可靠性 , 并做到服务秒级故障恢复 。
推荐阅读
- 行业|高增长+高回撤!请收好这份“补票”名单,11只核心资产股入围,百亿科技股已跌出“深坑”
- 快科技|阿里辟谣:不会高薪聘请黑阿里网站的人 直接交给警方
- 美搭说说大文|巴萨核心将转会尤文,身价8000万,梅西公开欢迎新队友到来
- 核心|高增长+高回撤!请收好这份“补票”名单,11只核心资产股入围,百亿科技股已跌出“深坑”
- 腾讯|原创 腾讯如果想冻结阿里的资金,阿里除了束手就擒还有办法反制么?
- 马云下死命令留他?当事人辟谣:不要再消费我和阿里来赚流量了
- 黑猫的游戏人生|王者“射手榜”史诗级更新,5位T0射手同时登场,宣告S20核心稳了
- 金色光|产销低迷还扩产4.25倍,奥来德:未披露核心技术人员重大变化,
- 这有港澳台|贸易政策更加开放,国际视野丨G20经济体多条措施与疫情相关
- :当年阿里的前台,马云给她0.2%股份,20年过去她怎样了?
