技术抉择:阿里云13年后重构全部核心调度系统

简介: 在阿里云十三年的发展历史上,重新设计调度系统算得上是一个重要的技术抉择。

编辑 | Tina


在阿里云十三年的发展历史上,重新设计调度系统算得上是一个重要的技术抉择。


云计算是一个庞大的技术工程。2009 年,阿里云从 0 到 1 自建国产云计算系统“飞天”,为了确保对每一行代码都有控制力,阿里云选择了一条艰难的道路:自主研发。伏羲调度系统是“飞天”三大服务之一。调度系统作为云计算的核心技术,无论是对亚马逊、谷歌还是其他云计算企业来说,都是他们最保守的秘密,而伏羲凭借自研与优异的性能,与 YARN、Mesos 等技术一起成为了调度系统的典型代表之一。


这么多年发展下来,很多人认为阿里云战略上最与众不同之处,就是坚持自研核心技术。作为全球集群规模最大的云计算平台之一,阿里云在技术已然成熟、稳定运行着数量庞大的业务情况下,选择了用云原生的标准重新设计和构建云计算的调度系统,并在 2021 年“双十一”大促之前将全球几十个数据中心、数百万容器、数千万核的资源统统搬到了新的调度系统之上。


阿里云为什么在十三年之后重构调度系统?在不影响业务运行的情况下,阿里云是如何更换“引擎”的?这种技术思路给我们带来什么启示?新调度系统有开源计划吗?InfoQ 采访了几位调度系统负责人,为大家一一解惑。


发展十三年,成绩斐然的老调度系统


资源调度系统可谓是云计算的大脑,负责在众多集群内的机器里,选择一台最合适的,以最佳的资源使用姿势,做到最少的相互干扰来运行用户提交的计算作业。云计算最终目的之一是降低 IT 成本,最大限度地利用单台 PC 的 CPU 处理能力,而调度系统恰恰就决定着基础设施的利用率和整体运作成本。


无论是亚马逊、谷歌、微软还是阿里,某种程度上,“大脑”代表的是企业技术竞争力。核心技术的重要性不言而喻,像谷歌的调度系统 Borg,在很长一段时间内,一直是谷歌最保守的秘密之一。


艰难起步,从 0 到 1 自研伏羲调度系统


2008 年,阿里巴巴确定了“云计算”战略,决定自主研发大规模分布式计算操作系统“飞天”,目标是将几千台乃至上万台普通 PC 服务器连接到一起,使其像一台多功能的超级计算机,实现超强计算性能。


2009 年 2 月,飞天团队在北京写下了第一行代码,“飞天”系统也从此成为阿里云的奠基技术平台。伏羲调度系统是十年前飞天成立时创建的三大服务之一,另两个是飞天分布式存储盘古和分布式计算 MaxCompute。


2011 年 7 月,阿里云作为中国第一个公有云正式对外开放。这之后的十多年里,伏羲能调度的单集群规模,也从最初的几百台物理机,发展到了 10 万台机器。我们知道,规模每放大十倍,就意味着很多架构设计点都需要重新调整,当横向扩展遭遇不可逾越的瓶颈,就代表着系统重构的开始,伏羲就因此经历了两次重构。


2013 年,伏羲在飞天“5K”项目中对系统架构进行了第一次大重构。“5K”顾名思义,就是能让调度系统支持单集群 5000 节点,并解决大规模单集群下的性能、利用率、容错等问题。


不断扩大单集群的规模,到现在依然是业界不同调度系统在做的事情。


如果依靠早期的 Hadoop 开源调度器技术,以当时的实践经验来看,并不是容易的事情,因此伏羲团队选择了架构和代码都是自己构建的自研方式。这个项目,在阿里云历史上也是一次非常有里程碑意义的“攻坚战”。image.gif

1.png

(阿里飞天 5K 项目纪念碑)


随后历经一年半时间,阿里巴巴和蚂蚁金服完成“登月计划”,将所有数据存储、计算任务全部迁移至飞天平台。在 2015 年 Sort Benchmark 排序竞赛中,飞天用 377 秒完成 100TB 的数据排序,打破四项世界纪录。随着阿里云的业务需求变化,伏羲的内涵也在不断扩大。最开始是作为一款对标开源 YARN 的单一资源调度器,而后扩展成了覆盖数据调度、资源调度、计算调度、单机调度等的核心调度系统,伏羲也于 2019 年经历了第二次重构,并将单集群规模扩展到了十万台。


双调度系统混部实践

伏羲是负责阿里离线业务的调度系统,而于 2015 年正式立项的 ASI 调度器则支撑着阿里搜索、电商等庞大的在线业务。在线调度历史也比较悠久,最早起源于 2011 年上线的 T4 系统,即阿里早期基于 LXC 和 Linux Kernel 定制的容器调度器。T4 的技术理念与如今云原生领域的核心技术——容器,如出一辙。


在线调度最开始是一个简单的资源分配系统,而后逐渐演进为 Sigma 调度器、ASI 调度器,在发展过程中又进一步吸收并融合了伏羲离线调度系统、搜索团队基于 YARN 的 Hippo 系统的先进经验。image.gif

2.png

(0 层调度器负责全局资源视图和管理,并对 1 层调度器 Sigma、伏羲进行仲裁)


据称全球服务器平均利用率不到 20%,因此提升服务器的资源利用率是很多大厂不断追逐的目标。


2014 年左右,阿里巴巴开始大力探索混部技术,通过将在线业务和离线大数据计算的负载混部运行在共享的集群中,以期可以显著提高数据中心资源利用率。与离线调度不一样的是,类似双十一活动中的零点峰值场景,它对在线调度 CPU 的集群化编排要求非常高,对延迟和抖动敏感;离线业务正好相反,平时资源使用压力较高,业务资源使用较为固定,对时延不敏感。所以,只要两类负载能跑在共享的集群中使用“分时复用”的策略,就可以达到提升利用率的目的。


正是因为在线离线混部对于提高集群利用率非常有意义,所以无论是在学术界,还是在各大厂商实际落地中,都对混部做了深入的研究,各大企业中最早做混部实践的是谷歌 Borg。虽然有 Borg、Omega 先例存在,但谷歌很少对外分享自己的混部实践,仅在 2015 年、2019 年对外发布过两篇论文。这也意味着,如果想做好“混部”调度,企业都得靠自己去摸索。阿里的混部实践也于 2015 年正式立项,并于当年的双十一经历了一次资源调度能力的“考验”。据公开资料显示,混部能将阿里云的 CPU 资源利用率从 10% 提升到 40%。


作为自研的调度系统,伏羲和 Sigma 运行在一起,这种混部系统形式曾存在很多干扰和影响,一方面是两个系统之间节点状态不一致造成的干扰,另一方面是两个系统所分配的容器互相之间的干扰。然而“混部”带来的收益又不可忽视,因此阿里于 2016 年开始重点研发了 Sigma 1.0,基于 Docker Swarm 通道创建容器,并将演进中的各种语言技术栈统一为 Golang,同时在实践层面做了很多隔离、协同的优化工作,也将不同等级的任务调度做得更精细化。


整个演进过程中,调度团队也曾将实践成果分享为数篇顶会论文,得到了学术界和工业界的认可。有意思的是,谷歌曾在 2019 年 11 月分享了 Borg 集群运行数据,在对应的论文中谷歌特地指出其系统很少在集群中使用超过 50% 的内存,但据报道竞争对手阿里巴巴达到了 80% 的利用率。


大船难调头,阿里的调度系统发展了十多年,成果斐然,性能优异,运行的业务规模也是数千万级别了,但 2021 年,阿里云还是决定将伏羲、Sigma 双调度协同系统重构为基于 ACK 的“统一调度系统”。


基于阿里云容器服务 ACK 的调度系统

我们在技术上到达了一个新的临界点。


2020 年 6 月,阿里云集结了 100 多位调度团队核心技术人员,开始了重构的进程。


经过一年多的研发,赶在双十一之前,将数千万量级的业务切换到了新一代的“统一调度系统”上。新框架基于阿里云容器服务 Kubernetes 版(简称容器服务 ACK),通过一套调度协议、一套系统架构,统一管理底层的计算、存储、网络资源。ACK 本身提供了一个全托管的 Kubernetes 集群的调度能力,对于 IaaS 层不同类型的计算、存储、网络等能力都可以统一调度,是统一调度大资源池化生产运行的基座。


2021 年双十一,新系统打通并统一了阿里巴巴电商、搜推广、MaxCompute 大数据和蚂蚁业务,全面支撑了全球数十个数据中心、数百万容器、数千万核的大规模资源调度。


为什么要重建?

Kubernetes 项目始于 2014 年,源自谷歌内部的 Borg,吸收了 Borg 项目多年的实践经验,它超前引入了 Pod 概念将容器分组,大量使用了 Sidecar 设计模式,为容器化应用提供了自动化的资源调度,并具备动态扩容、滚动升级、负载均衡、服务发现等功能,受到大厂的大力推崇。


在接下来的两年里,与其对应的 Mesos、Docker Swarm 等相比,Kubernetes 作为容器编排引擎的采用缓慢却很稳定,领先的科技巨头如亚马逊、阿里巴巴、微软 Azure、红帽都开始启动了基于 Kubernetes 的新解决方案。


2019 年,Sigma 全面迁移到了基于 ACK 的调度系统。同时,在这几年里,阿里的技术体系也逐渐全面切向云原生技术,去年 9 月,阿里云容器服务全面升级为 ACK Anywhere。image.gif

3.jpg

在线调度系统负责人智清回忆,在线调度系统最初是完全自研的,云原生兴起之后,在线调度团队于 2017 年决定将这套技术框架迁移到 Kubernetes,消除两者之间的差异并跑在阿里云容器服务 ACK 上。“刚开始是比较艰难的,尝试过好多版本,包括 Sigma on Kubernetes、Kubernetes on Sigma 等方式,最后还是决定用最标准、最原生的、完全基于 Kubernetes 的方式。”后面启动的 ASI 项目,它做的事情就是将整个调度框架以非常原生的标准方式搬到 Kubernetes 上,在 Kubernetes 基础上做到在线、离线调度的真正融合。而且在业务侧,阿里也专门组织了一支云原生团队来推进容器化,最终形成一个整体的云原生资源池。


云原生统一调度架构师懿川将这些年调度系统的发展过程总结为三个阶段:


第一个阶段是非容器阶段,仅有调度的需求,并且基础设施还没有完善,属于调度的最初期阶段。在这个阶段,无论是伏羲还是 T4,基本都是借助一些比较简单的隔离概念,以及一些内核的能力,靠自身的演进来实现对调度的最朴素的需求。


第二个阶段是开始进入容器阶段。容器技术使用场景变多,规模变大,Sigma 以容器为主进行了改造。在这个阶段,需要调度系统既能承接业务的需求,又能同时深耕容器技术。


第三个阶段是云原生化,调度系统完全基于新一代的容器技术,包含阿里自己的安全容器、RunC 以及其他的虚拟化技术,同时调度器的实现框架上也需适应整个 Kubernetes 生态。也就是将电商、搜索和大促这种创造洪峰型的业务,以及十多年调度系统技术积累,再结合 Kubernetes 开源架构的优势,整合到一起进行大规模应用。


总而言之,阿里重建调度系统的决策,是基于业务演进的需要,也是希望能有一个全局资源池,统一支撑所有业务形态。


云计算的本质,是将小的计算碎片变成更大的资源池,充分削峰填谷,提供极致的能效比。混部技术打破了多资源池的割裂,不同计算领域的多调度大脑协同共用资源,让业务间峰谷互补的优势发挥到最大,但两个调度器,由于彼此间无法高效地交互细粒度信息,阻碍了混部效果的进一步提升。


另外调度成本、资源的调度效率和业务独占资源池有很大的关系。从过去的调度系统演进经验来推断,建设统一资源池是最好的提升效率的方法:业务上有很多共同性的调度需求是可以互相配合和优化借鉴的,各自演进并不利于发展。无论是搜索还是电商,在线还是离线,如果作业类型越来越相近的话,就可以通过合作和共建,作为同一种调度类型去建设和演进,集中力量将云原生终态方案一起做到极致,并希望最后能做到自研、商用、开源三位一体。


双调度系统协同的方式跟谷歌的 Borg 或微软的系统相比,在集群管理模式上有一定的区别,那是否是因为双调度系统协同模式存在缺陷才会导致重构?回复 InfoQ 的采访时,懿川认为调度系统的发展和业务形态密切相关。国内很多企业确实会存在拥有多种调度系统的情况,原因是在线业务和离线业务特点有很大的不同,性能、吞吐量、任务长短类型等,以及对调度业务的需求决定了调度器的架构设计。


“反倒是做成一个统一的调度系统是比较难的,做成多种调度系统相对来讲更容易。而且类似谷歌的Borg或微软的Apollo系统一开始也不是所有的调度策略、逻辑以及场景都能支持,也有一个在演进过程中逐步增加功能的过程。”


新调度系统对 Kubernetes 的改进和增强

新调度系统需要支持在线离线、低频高频各种调度类型和众多业务种类,且要完全兼容 Kubernetes 生态,还需要是模块化、组件化,形成一个可插拔式的机制。

4.pngimage.gif

统一调度团队针对 Kubernetes 社区版在 Pod 和资源安全上做了很多优化,围绕 API Server、ETCD、Kubelet 做了不少功能优化和代码修改。统一调度在 Pod 和接口调用上也做了很多安全防御方面的事情,例如 ETCD 错配或出现其它问题时如何进行防护,从而保证底座平台的安全。但最重要的两方面改造在单集群规模、调度频次性能上。


Kubernetes 早期版本仅支持几百节点的单集群规模,与 Mesos 支持的节点数量相去甚远,各大厂集合力量一起大幅提升了 Kubernetes 的集群管理规模,到 1.9 版本就已可以稳定支持 5000 个节点,但远达不到阿里原来调度系统单集群上万节点的性能要求。并且 Kubernetes 以 API Server 为中心的消息同步机制,更适用于调度频度较低的在线服务场景,对于阿里系统中的大数据计算场景,可达每秒 10 万次的调度频度。所以“尽管 Kubernetes 已经演进很久了,但是在我们的调度器上仍然需要投入大量的工作来改造,才能够满足我们的要求。”


如果要问哪些历史经验有助于新系统重构的话,集群管理规模的突破必定是其中之一。


2013 年的飞天 5K 项目,已经早早突破了单集群 5000 节点的规模。在后面的演进中,伏羲再次经历了第二次重构,据伏羲分布式调度负责人李超回忆说,当时主要考虑到“现在集群的规模可能动不动就过万台,不光是物理节点在增加,CPU 的处理能力也在不断增强。5 年前一台物理机上一般二三十个 CPU core,现在一台物理机节点里已经变成了一百多个 CPU core 了。相当于即便物理机节点不增加,可调度的总资源扩大了五六倍,甚至扩大了一个数量级,这对调度的挑战是很大的。”


“如果规模无限扩展下去,在架构和设计上也要有一个应对的方案。随着规模继续变大,我们也要 Hold 得住。”


在伏羲 2.0 资源调度的重构里,伏羲团队提出了一些比较新颖的观点,在混部中引入去中心化的多调度器架构,基于悲观锁这种 Partition 策略,解决调度之间的冲突,保证调度 latency 性能达到与小规模下的系统相同的水平。


但 Kubernetes 单集群规模有限,远不能满足今天的诉求。统一调度团队通过对 API Server 和 ETCD 的算法优化、在服务端进行数据压缩以及链路治理的方式,将集群规模从8千台(2020年)扩展到1.2 万台(2021年)节点,而业界一般达到8千台就已经是超大规模。


此外,由于 Kubernetes 容器拉起的时间在几秒甚至几十秒,如果需要做到一秒钟有十万次的调度,也必须对其进行大量改造。


统一调度团队参考了 Kubernetes 社区 scheduler framework 插件化和多调度机制,通过灵活的调度框架让不同的调度团队可以定制各自的调度需求,从而让 Kubernetes 能够很好的去支持一些场景下的大规模高并发的调度需求。比如在阿里大数据场景下,对调度系统的要求是每秒钟能发生十万次调度。


飞行中更换引擎

2021 年双十一之前,伏羲和 ASI 调度系统中的机器和计算资源已迁移到了统一调度系统,仅伏羲就包含几万台机器、数百万核计算资源,迁移过程需全程对业务和用户透明无感。


同时这个系统本身是一个涉及非常多人的协同项目,中间涉及到一次完整的系统重新设计和实现,还要将原有积累的伏羲、Sigma、ASI 以及 Hippo 的设计经验融合进来,且保持对业务的兼容性和对开源框架的兼容性。


可以说,整体设计非常复杂,代码开发涉及的耦合也很高,各个系统之间还存在各种对接。


以伏羲为例,在阿里 MaxCompute 技术体系中,伏羲一方面是分布式系统的资源管理和调度组件,需要与上层作业执行引擎进行资源交互,另一方面也是各种运维管控的数据源,复杂的模块依赖决定了系统升级是一件非常艰巨的事情。如果将 MaxCompute 比作一架高速飞行的飞机,统一调度升级就是要给这架飞行中的飞机更换引擎,难度可想而知。


“留给我们上线的时间窗口很小,但整体的业务要求却很高。双十一的时间点是摆在那里的一个硬性指标,我们不可能错过。”懿川介绍项目背景时讲到。


在这种情况下,要让新系统在“双十一”大促中表现得更有保障,李超表示主要有两大技术举措:


第一是灰度上线之前,有专门的风洞测试机制,它能把历史上真实生产的一些需求、请求在测试环境去做回放(Replay),从而验证经过新一轮的修改或者新的功能后系统是否能稳定上线。


第二是在稳定性上,在状态的可恢复上,传统的方式是基于 Kubernetes ETCD 的持久化机制,但是因为大数据的调度频率达到每秒十万次的调度,这种状态要做持久化保障是比较困难的。新系统引入了软硬状态 fail over 机制,简单来说是基于这个状态的重新收集,而不是完全依赖于状态的持久化。在不同的角色上去收集状态,重建调度器当时的状态。


另外在工程上也需要一套很严格的实施和上线机制:

  • 保证代码高质量和低缺陷率,并做好全面的单元测试,平时基本功扎实才能保证最终的工程质量。
  • 上线之前,用接近真实生产的环境进行测试和验证,确保能够跑通,如果出现问题及时解决和处理,符合整体的上线进度。“我们最后上伏羲集群的过程中,出现的问题都是日清日结,让问题快速收敛,保证整个集群的交付可以符合要求。”
  • 分阶段灰度测试。第一阶段用小规模的迁移,“当时只是用几十台节点机器统一调度跑起来,再到后面就逐渐放大规模”,而且还需要先从重要程度相对低的业务开始切换,并保证足够长的灰度时间,最后才在线全面铺开,没问题后再将更复杂的离线调度引入混部运行。
  • 保证每天有一定的切换量,最终将系统按时切完。“当然这也有一定运气成分在:我们没有出现特别严重的问题,这也非常考验整个项目成员的设计和实现的功底。当然也需要我们有整体的机制和流程的保障。”
  • 系统需要一个完善的监控机制。“上线一个系统之前,我们先得想好怎么去监测它。观测方方面面的上百个维度的元数据是不是正常,通过完善的监测,系统一旦出现问题,我们能第一时间发现,做一些回滚动作,或者提前准备好一些处理机制,来保证用户受到影响之前系统能够恢复到一个正常的状态。”


未来规划


每个技术都有自己的生命周期,十多年前大家很难想到 Kubernetes 会成为当今技术界的扛把子,而技术演进过程中,开发者的使命就是用最合适的技术来构建我们的系统。使用新技术不代表过去的经验和成果不再有价值,统一调度系统也是吸取了伏羲和 Sigma 系统构建中的精华。


开源技术影响着调度系统的演进,而部署在大型企业生产环境中的系统,无论是谷歌的Borg、微软的Apollo 还是脸书的 Twine,反过来也在影响开源项目的系统演进。统一调度团队表示,未来会进一步提升和完善整个调度器的功能和能力,继续往2.0推进;另一方面,要完成自研、商用、开源三位一体的目标,作为战略计划推进项目的开源,包括开源关键能力和标准、框架。建设这样一个超级系统,投入和挑战都非常大,而开源能够将更多的人聚集起来,一起把这套系统做得更好。


采访嘉宾简介:

懿川,阿里巴巴研究员,云原生统一调度架构师。全面负责统一调度项目,在分布式领域和资源管理领域有多年的经验积累。

李超,阿里云智能计算平台事业部资深技术专家,飞天平台伏羲分布式调度负责人,拥有十多年分布式系统与大数据研发经验。

智清,阿里云智能容器服务资深技术专家,ASI 调度系统负责人,负责了阿里巴巴在线调度从 Sigma、ASI、到全面统一调度的迭代演进。

相关实践学习
使用ACS算力快速搭建生成式会话应用
阿里云容器计算服务 ACS(Container Compute Service)以Kubernetes为使用界面,采用Serverless形态提供弹性的算力资源,使您轻松高效运行容器应用。本文将指导您如何通过ACS控制台及ACS集群证书在ACS集群中快速部署并公开一个容器化生成式AI会话应用,并监控应用的运行情况。
深入解析Docker容器化技术
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。Docker是世界领先的软件容器平台。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。运维人员利用Docker可以在隔离容器中并行运行和管理应用,获得更好的计算密度。企业利用Docker可以构建敏捷的软件交付管道,以更快的速度、更高的安全性和可靠的信誉为Linux和Windows Server应用发布新功能。 在本套课程中,我们将全面的讲解Docker技术栈,从环境安装到容器、镜像操作以及生产环境如何部署开发的微服务应用。本课程由黑马程序员提供。     相关的阿里云产品:容器服务 ACK 容器服务 Kubernetes 版(简称 ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情: https://www.aliyun.com/product/kubernetes
相关文章
|
资源调度 分布式计算 安全
伏羲—阿里云分布式调度系统
在12月12日的云栖社区在线培训上,“飞天”分布式系统核心开发人员陶阳宇分享了《伏羲-阿里云分布式调度系统》。他主要从伏羲系统架构、任务调度、资源调度、容错机制、规模挑战、安全与性能隔离方面介绍了伏羲分布式系统架构和设计理念。
24190 0
|
运维 测试技术
6月27日阿里云故障说明
6月27日下午,我们在运维上的一个操作失误,导致一些客户访问阿里云官网控制台和使用部分产品功能出现问题。故障于北京时间2018年6月27日16:21左右开始,16:50分开始陆续恢复。对于这次故障,没有借口,我们不能也不该出现这样的失误!我们将认真复盘改进自动化运维技术和发布验证流程,敬畏每一行代码,敬畏每一份托付。
12002 2
|
资源调度 分布式计算 Kubernetes
给 K8s 装上大数据调度引擎:伏羲架构升级 K8s 统一调度
飞天伏羲作为有着十多年历史的调度团队,在服务好 MaxCompute 大数据平台的过程中,一直在不断通过自我革新赶超业界先进水平,我们经历了 Fuxi 2.0 的这样的大规模升级,今天通过 K8s 统一调度项目又再次实现了系统架构的蜕变,将大数据平台强大的调度能力赋予 K8s 系统,同时去拥抱 K8s 周边丰富的生态。除了集团弹内集群,将来我们在公共云、专有云等多个场景,也会以 K8s 统一调度的方式进行输出,以更好地服务云上的用户,敬请期待!
3127 112
给 K8s 装上大数据调度引擎:伏羲架构升级 K8s 统一调度
|
运维 Kubernetes Java
阿里云容器计算服务ACS ,更普惠易用、更柔性、更弹性的容器算力
ACS是阿里云容器服务团队推出的一款面向Serverless场景的子产品,基于K8s界面提供符合容器规范的CPU及GPU算力资源。ACS采用Serverless形态,用户无需关注底层节点及集群运维,按需申请使用,秒级按量付费。该服务旨在打造更普惠易用、更柔性、更弹性的新一代容器算力,简化企业上云门槛,加速业务创新。ACS支持多种业务场景,提供通用型、性能型及BestEffort算力质量,帮助客户更从容应对流量变化,降低综合成本。
|
运维 Kubernetes Java
阿里云容器计算服务ACS ,更普惠易用、更柔性、更弹性的容器算力
ACS(阿里云容器计算服务)推出Serverless容器算力,提供更普惠、柔性、弹性的算力资源,适用于多种业务场景,如复合应用、ACK集成、EMR大数据处理等,帮助企业降低成本、提升效率。
|
存储 大数据 Serverless
首次!统一调度系统规模化落地,全面支撑阿里巴巴双 11 全业务
今年双 11 首次规模化亮相的统一调度,通过一套调度协议、一套系统架构,统一管理底层的计算、存储、网络资源,超大规模、高效率、自动化的资源弹性,实现了业界新的突破。在离线混部、离在线混部、新的快上快下技术,减少数万台服务器采购,带来数亿计的资源成本优化和大促效率提升。
2585 112
首次!统一调度系统规模化落地,全面支撑阿里巴巴双 11 全业务
|
资源调度 分布式计算 算法
|
存储 人工智能 分布式计算
【云栖2023】张治国:MaxCompute架构升级及开放性解读
本文根据2023云栖大会演讲实录整理而成,演讲信息如下 演讲人:张治国|阿里云智能计算平台研究员、阿里云MaxCompute负责人 演讲主题:MaxCompute架构升级及开放性解读 活动:2023云栖大会
62202 17
|
人工智能 资源调度 Kubernetes
Koordinator 异构资源/任务调度实践
Koordinator 异构资源/任务调度实践
16983 10
|
Go
一文掌握使用 Go 标准库 sort 对切片进行排序
本文介绍了如何使用 sort 包里的函数,对基本数据类型的切片进行排序。sort 包还提供了对自定义的集合进行排序,需要实现 Interface 接口,由使用者去自定义排序规则,通过 sort.Sort 函数进行排序。
604 1
一文掌握使用 Go 标准库 sort 对切片进行排序

热门文章

最新文章