Alibaba Cluster Data 开放下载:270GB 数据揭秘你不知道的阿里巴巴数据中心
打开一篇篇 IT 技术文章,你总能够看到“大规模”、“海量请求”这些字眼。如今,这些功能强大的互联网应用,都运行在大规模数据中心上,然而,对于大规模数据中心,你又了解多少呢?实际上,除了阅读一些科技文章之外,你很难得到更多关于数据中心的信息。数据中心每个机器的运行情况如何?这些机器上运行着什么样的应用?这些应用有有什么特点?对于这些问题,除了少数资深从业者之外,普通学生和企业的研究者很难了解其中细节。
1 什么是Alibaba Cluster Data?
2015 年,我们尝试在阿里巴巴的数据中心,将延迟不敏感的批量离线计算任务和延迟敏感的在线服务部署到同一批机器上运行,让在线服务用不完的资源充分被离线使用以提高机器的整体利用率。经过 3 年多的试验论证、架构调整和资源隔离优化,目前这个方案已经走向大规模生产。我们通过混部技术将集群平均资源利用率从 10% 大幅度提高到 45%。另外,通过各种优化手段,可以让更多任务运行在数据中心,将“双11”平均每万笔交易成本下降了 17%,等等。
那么,实施了一系列优化手段之后的计算机集群究竟是什么样子?混部的情况究竟如何?除了文字性的介绍,直接发布数据能够更加拉近我们与学术研究、业界同行之间的距离。为了让有兴趣的学生以及相关研究人员,可以从数据上更加深入地理解大规模数据中心,我们特别发布了这份数据集。数据集中记录了某个生产集群中服务器以及运行任务的详细情况。在数据集中,你可以详细了解到我们是如何通过混部把资源利用率提高到 45%;我们每天到底运行了多少任务;以及业务的资源需求有什么特点,等等。如何使用这份数据集,完全取决于你的需要。
2 你用这个数据可以做什么?
刚刚发布的 Alibaba Cluster Data V2018 包含 6 个文件,压缩后大小近 50GB(压缩前 270+GB),里面包含了 4000 台服务器、相应的在线应用容器和离线计算任务长达 8 天的运行情况,具体信息你可以在 GitHub 中找到。
通过这份数据,你可以:
- 了解当代先进数据中心的服务器以及任务运行特点;
- 试验你的调度、运筹等各种任务管理和集群优化方面的各种算法并撰写论文;
- 利用这份数据学习如何进行数据分析,揭示更多我们自己都未曾发现的规律。
只看上面这几点,没有接触过类似数据的朋友,可能对于这份数据的用处还是没有概念,下面我举几个简单的例子:
- 电商业务在白天和晚上面临的压力不同,我们如何在业务存在波峰波谷的情况下提高整体资源利用率?
- 你知道我们最长的 DAG 有多少依赖吗?
- 一个典型的容器存在时间是多久?
- 一个计算型任务的典型存在时间是多少?一个 Task 的多个 Instance 理论上彼此很相似,但是它们运行的时间都一样吗?
实际上,学者们甚至可以用这些数据作出更加精彩地分析。
2017年,我们曾开放的第一波数据(Alibaba Cluster Data V2017),已经产生了多篇优秀的学术成果。以下是学者们在论文中引用数据(Alibaba Cluster Data V2017)的例子,其中不乏被 OSDI 这样顶级学术会议收录的优秀文章。我们期待,未来你也能与我们共同分享你用这份数据产生的成果!
"LegoOS: A Disseminated, Distributed OS for Hardware Resource Disaggregation, Yizhou Shan, Yutong Huang, Yilun Chen, and Yiying Zhang, Purdue University. OSDI'18" (Best paper award!)
"Imbalance in the Cloud: an Analysis on Alibaba Cluster Trace, Chengzhi Lu et al. BIGDATA 2017"
"CharacterizingCo-located Datacenter Workloads: An Alibaba Case Study, Yue Cheng, Zheng Chai,Ali Anwar. APSys2018"
"The Elasticity and Plasticity in Semi-Containerized Co-locating Cloud Workload: aView from Alibaba Trace, Qixiao Liu and Zhibin Yu. SoCC2018"
3 Cluster Data V2018的不同
新版本 V2018 与 V2017 存在两个最大的区别:
DAG 信息加入
我们加入了离线任务的 DAG 任务信息,据了解,这是目前来自实际生产环境最大的 DAG 数据。
什么是 DAG?
离线计算任务,例如 Map Reduce、Hadoop、Spark、Flink 中常用的任务,都是以有向无环图(Directed Acyclic Graph,DAG)的形式进行编排的,其中涉及到任务之间的并行、依赖等方面。下面是一个 DAG 的例子。
规模更大
上一版数据包含了约 1300 台机器在约 24 小时的内容数据,而新版 Cluster Data V2018 中包括了 4000 台机器 8 天的数据。
原文链接
本文为云栖社区原创内容,未经允许不得转载。
Alibaba Cluster Data 开放下载:270GB 数据揭秘你不知道的阿里巴巴数据中心的更多相关文章
- Alibaba Cluster Data 开源:270GB 数据揭秘你不知道的阿里巴巴数据中心
打开一篇篇 IT 技术文章,你总能够看到“大规模”.“海量请求”这些字眼.如今,这些功能强大的互联网应用,都运行在大规模数据中心上,然而,对于大规模数据中心,你又了解多少呢?实际上,除了阅读一些科技文 ...
- 年度钜献,108个大数据文档PDF开放下载
1.大数据的开放式创新——吴甘沙 相关阅读:[PPT]吴甘沙:让不同领域的数据真正流动.融合起来,才能释放大数据的价值 下载:大数据的开放式创新——吴甘沙.pdf 2.微软严治庆——让大数据为每个人服 ...
- 【资源】108个大数据文档PDF开放下载-整理后打包下载
本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 本博客其他.NET开源项目文章目录:h ...
- [MySQL]load data local infile向MySQL数据库中导入数据时,无法导入和字段不分离问题。
利用load data将文件中的数据导入数据库表中的时候,遇到了两个问题. 首先是load data命令无法执行的问题: 命令行下输入load data local infile "path ...
- Github 开源编辑器 ATOM 已开放下载
Update:2014-09-08 Atom 于5月6日正式开放下载(遗憾的是只有 MAC 版本),并且在 MIT 协义下开源,从界面可以看出,这款软件很像 Sublime Text,不过由于她的开源 ...
- System.data.sqlclient.sqlexception:将截断字符串或二进制数据终止
System.data.sqlclient.sqlexception:将截断字符串或二进制数据终止. 错误原因:输入的字符串长度超过数据库设置的长度
- Axure RP 9 Beta 开放下载(更新激活密钥和汉化包)
2018年9月9号,7月9号来厦门入职,已经两个月了.这两个月的生活状态真心不好,一方面工作很忙(刚工作是这样?),虽然工资还可以,但总感觉性价比很低,自已对这份工作不够热爱也许.另一方面,来到新城市 ...
- 28 Data Race Detector 数据种类探测器:数据种类探测器手册
Data Race Detector 数据种类探测器:数据种类探测器手册 Introduction Usage Report Format Options Excluding Tests How To ...
- Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原。
Docker容器的数据卷(data volume),数据卷容器,数据卷的备份和还原. 数据卷就是数据(一个文件或者文件夹). Docker的理念之一是将应用与其运行的环境打包,docker容器的生命周 ...
随机推荐
- Linux正则表达式练习
练习一 1.生成30位的随机口令 [root@centos7 ~]#cat /dev/urandom | tr -dc "[:alnum:]" | head -c30 RJL5qc ...
- Spring源码Gradle
Microsoft Windows [版本 10.0.17134.590](c) 2018 Microsoft Corporation.保留所有权利. D:\Workspaces\idea\sprin ...
- 再回首数据结构—数组(Golang实现)
数组为线性数据结构,通常编程语言都有自带了数组数据类型结构,数组存放的是有个相同数据类型的数据集: 为什么称数组为线性数据结构:因为数组在内存中是连续存储的数据结构,数组中每个元素最多只有左右两个方向 ...
- zipkin
转:https://blog.csdn.net/liaokailin/article/details/52077620 zipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监 ...
- zepto.js-定制zepto步骤
对以上步骤作简单补充 步骤四:在电脑左下角搜索Node.js command prompt 打开这个命令窗口,然后进入zepto-master 即文件存放的位置.也可以直接用cmd进入zepto-ma ...
- vue项目开发时怎么解决跨域
vue项目中,前端与后台进行数据请求或者提交的时候,如果后台没有设置跨域,前端本地调试代码的时候就会报“No 'Access-Control-Allow-Origin' header is prese ...
- 【react】---手动封装一个简易版的redux
export let createStore = (reducer)=>{ //定义默认的state let state; //定义默认的action let actionTypes = &qu ...
- CSS面试细节整理(二)
5.css盒模型: CSS 框模型 (Box Model) 规定了元素框处理元素内容.内边距.边框 和 外边距 的方式
- C++ : cin.get()函数和cin函数的使用
笔者由于自己忘记了cin函数怎么用,所以这里趁自己复习C++的空子正好可以做做记录. 1.cin>> 用法1:最基本,也是最常用的用法,输入一个数字: #include ...
- 实战深度学习OpenCV(二):读取并播放本地或者摄像头的视频
一.读取并播放的代码如下: #include "pch.h" #include <iostream> #include <opencv2/core/core.hp ...