史无前例开放!阿里内部集群管理系统Sigma混布数据

简介:

互联网普及的20年来,尤其是近10年移动互联网、互联网+的浪潮,使互联网技术渗透到各行各业,渗透到人们生活的方方面面,这带来了互联网服务规模和数据规模的大幅增长。日益增长的服务规模和数据规模带来数据中心的急剧膨胀。在大规模的数据中心中,传统的运维方式已经不能满足规模化的需求,于是基于自动化调度的集群管理系统纷纷涌现。

image

这些系统往往有一个共同的目标,就是提高数据中心的机器利用率。在庞大的数据中心服务器规模下,平均利用率每提高一点,就会带来非常可观的成本节约。这一点我们可以通过一个简单的计算来感受一下。假设数据中心有N台服务器,利用率从R1提高到R2,能节约多少台机器?不考虑其他实际制约因素的情况下,假设能节约X台,那么我们有理想的公式:

      N*R1 = (N-X)*R2   
=>  X*R2 = N*R2 – N*R1
=>         X = N*(R2-R1)/R2

如果我们有10万台服务器,利用率从28%提升到40%,那么代入上述公式有:


N= 100000(台),  
R1 = 28%, 
R2 = 40%  
X=100000* (40-28)/40 = 30000(台)

也就是说10万台服务器,利用率从28%提升到40%,就能节省出3万台机器。假设一台机器的成本为2万元,那么节约的成本就有6个亿。

但是遗憾的是,根据盖特纳和麦肯锡前几年的调研数据,全球的服务器利用率并不高,只有6%到12%。即使通过虚拟化技术优化,利用率还是只有7%-17%;这正是传统运维和粗放的资源使用模式带来的最大问题。调度系统的主要目标就是解决这个问题。

通过资源的精细化调度,以及虚拟化的手段,比如Virtual Machine或容器技术,让不同服务共享资源,堆叠高密部署,可以有效的提升资源利用率。但是这种模式对在线业务的应用上存在瓶颈。因为在线业务间的资源共享,高密部署会带来各个层面的资源使用竞争,从而增加在线服务的延迟,尤其是长尾请求的延迟。

对于在线业务来说,延迟的增加往往立刻反应到用户的流失和收入的下降,这是在线业务无法接受的。而近年来随着大数据的普及,对实时性要求并不高的批量离线作业规模越来越大,在资源使用上,逐渐和在线业务的体量相当,甚至超过了在线业务。于是很自然想到,将离线业务和在线业务混合部署在一起运行会怎样?能否在牺牲一些离线作业延迟的情况下,充分利用机器资源,又不影响在线的响应时间?

image


阿里巴巴从15年开始做了这个尝试。在这之前,阿里内部针对离线和在线场景,分别各有一套调度系统: 从10年开始建设的基于进程的离线资源调度系统Fuxi(伏羲),和从11年开始建设的基于Pouch容器的在线资源调度系统Sigma。 从15年开始,我们尝试将延迟不敏感的批量离线计算任务和延迟敏感的在线服务部署到同一批机器上运行,让在线服务用不完的资源充分被离线使用以提高机器的整体利用率。

这个方案经过2年多的试验论证、架构调整和资源隔离优化,目前已经走向大规模生产,并已服务于电商核心应用和大数据计算服务ODPS业务。混布之后在线机器的平均资源利用率从之前的10%左右提高到了现在的40%以上,并且同时保证了在线服务的SLO目标。

我们了解到,近年来解决资源调度和集群管理领域特定问题的学术研究也在蓬勃发展。但是考虑到学术研究和实际真实的生产环境还是存在很大差异。首先是用于学术研究的机器规模都相对较小,可能无法暴露出实际生产规模的问题;其次是学术研究中所用的数据往往不是实际生产环境产生的,可能会对研究的准确性和全面性产生影响。

因此我们希望将这个阿里内部核心混布集群的数据开放出来,供学术界研究。希望学术界能在有一定规模的真实生产环境数据中,寻找到资源调度和集群管理更好的模式和方法,能够指导优化实际生产场景,将机器利用率和服务质量提高到一个更高的水平。我们一期先开放1000台服务器12个小时的数据。

数据格式描述和数据下载链接放在了github工程中,欢迎查阅:https://github.com/alibaba/clusterdata

有任何问题和建议可以通过邮件反馈给我们:
alibaba-clusterdata@list.alibaba-inc.com

来源:阿里技术
原文链接

相关文章
|
数据采集 机器学习/深度学习 自然语言处理
Masked Language Modeling,MLM
Masked Language Modeling(MLM)是一种预训练语言模型的方法,通过在输入文本中随机掩盖一些单词或标记,并要求模型预测这些掩盖的单词或标记。MLM 的主要目的是训练模型来学习上下文信息,以便在预测掩盖的单词或标记时提高准确性。
1863 1
|
小程序 Linux 程序员
如何配置frp到linux服务器和windows本地,服务端支持自启动
如何配置frp到linux服务器和windows本地,服务端支持自启动
2244 0
如何配置frp到linux服务器和windows本地,服务端支持自启动
|
数据采集 前端开发 开发者
滑动拼图验证码的原理和破解方法~
滑动拼图验证码的原理和破解方法~
4517 0
滑动拼图验证码的原理和破解方法~
|
4月前
|
NoSQL 算法 Java
【分布式】分布式核心组件——分布式锁:Redis/ZooKeeper/etcd 实现方案(附全方位对比表)、优缺点、Redlock、时钟回拨问题
本文系统解析分布式锁原理与实践,涵盖Redis/ZooKeeper/etcd三大方案、Redlock算法、时钟回拨等核心议题,兼具深度、广度与落地性,助你构建高可用、强一致的分布式并发控制能力。
|
10月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
957 25
Confluent 首席架构师万字剖析 Apache Fluss(三):湖流一体
|
8月前
|
机器学习/深度学习 测试技术 API
DeepSeek V3.2 正式版:强化 Agent 能力,融入思考推理
DeepSeek发布正式版V3.2与高性能Speciale版本,支持思考模式下工具调用,推理能力达全球领先水平。V3.2平衡效率与性能,适用于通用任务;Speciale专注复杂推理,在数学与编程竞赛中表现卓越,已开源并上线API。
1659 9
|
编译器 API 定位技术
API和SDK的区别
API 和 SDK 的区别在于:API 是一组定义了软件组件之间交互规范的接口,用于实现不同软件组件之间的通信;而 SDK 是一个全面的工具集合,包含 API、编译器、调试器、文档等,用于特定平台的应用程序开发。SDK 范围更广,内容更丰富,更具体和具象化,适合复杂的开发需求;API 则更加抽象,侧重于功能的定义和调用方式。
|
Kubernetes 调度 算法框架/工具
NVIDIA Triton系列02-功能与架构简介
本文介绍了NVIDIA Triton推理服务器的功能与架构,强调其不仅适用于大型服务类应用,还能广泛应用于各类推理场景。Triton支持多种模型格式、查询类型和部署方式,具备高效的模型管理和优化能力,确保高性能和系统稳定性。文章详细解析了Triton的主从架构,包括模型仓库、客户端应用、通信协议和推理服务器的核心功能模块。
974 1
NVIDIA Triton系列02-功能与架构简介
|
前端开发
前端使用多张图片生成 Gif 效果(支持循环、不循环、完成回调)
前端使用多张图片生成 Gif 效果(支持循环、不循环、完成回调)
947 0
|
存储 人工智能 监控
【AI系统】推理系统架构
本文深入探讨了AI推理系统架构,特别是以NVIDIA Triton Inference Server为核心,涵盖推理、部署、服务化三大环节。Triton通过高性能、可扩展、多框架支持等特点,提供了一站式的模型服务解决方案。文章还介绍了模型预编排、推理引擎、返回与监控等功能,以及自定义Backend开发和模型生命周期管理的最佳实践,如金丝雀发布和回滚策略,旨在帮助构建高效、可靠的AI应用。
1726 15