前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mesos超配:让集群利用率可以达到100%

Mesos超配:让集群利用率可以达到100%

作者头像
博文视点Broadview
发布2020-06-11 17:11:54
4280
发布2020-06-11 17:11:54
举报

小编说:集群利用率100%意味着什么?从某种意义上来说,Mesos集群上没有任何空闲资源时,就可以说达到了100%的利用率。 但是,即使某个框架为某个任务(比如一个web服务器)预留了资源,该任务可能并不会完全使用所有这些资源。实际上,在大多数集群上,实际使用率仅仅有10%~30%。为了解决这个问题,Mesos推出了超配特性。该特性允许Mesos集群自动使用预留但是未使用的资源。 本文选自《用Mesos框架构建分布式应用》

Mesos超配特性是基于Google的Heracles系统,是解决低实际使用率问题的方案。

要理解超配,首先需要定义slack。slack是指认为被使用了的资源和实际使用的资源之间的差。

CPU、内存的分配slack和使用slack

降低slack是所有人的共同目标:slack纯粹是浪费,这里的资源本来可以做一些有产出的事情,却白白空闲着。Mesos集群里有两种类型的slack:

  • 分配slack

分配slack(allocation slack)是集群上的可用资源和框架预留资源之间的差。Mesos从设计上就可以高效解决这一类型的slack,通过向所有连接着的框架重复重新提供资源来实现。这样,如果某个框架不需要或者无法利用某些资源,其他框架就有机会使用这些资源。一些框架,比如Spark,通过启动很多使用少量资源的小型任务来利用这一点,这样它们能够在很多机器上得到很小的资源分配,从而提高集群的利用率,并且将这些资源贡献给用户。

  • 使用slack

使用slack(usage slack)是预留资源和实际使用资源之间的差。比如,如果web服务器预留了两个CPU,但是在没有太多待处理请求的非高峰时段,它几乎不用使用任何资源。超配特性帮助Mesos降低这一类型的slack。

从某些方面来看,Mesos成了自身成功的受害者:Mesos集群里能够大幅降低分配slack,商业生产环境集群的分配slack为5%~15%,这比前面所述系统的20%~30%可低得多。因此,企业联盟,包括Twitter、Mesosphere和Intel,开始构建一种能够降低Mesos使用slack的系统。它们工作的产出就是Mesos超配系统,在很多资源的使用slack上应用控制理念。

要启用超配,Mesos为此添加了一种新类型的资源offer:可撤销offer。可撤销offer和常规offer几乎完全一样,除了这一点:在可撤销offer上启动的任务可以随时被Mesos“杀死”。默认情况下,框架不会接受任何可撤销offer。在注册时向FrameworkInfo里添加REVOCABLE_RESOURCES功能就能选择接受可撤销offer。如果Mesos集群还被配置为启用超配机制,那么任何选择接受可撤销offer的框架在看到常规offer时,也会看到另一种类型的offer,这些特别的offer带有revocable字段,这意味着它们在任何时间都可以被取消。注意当前执行器必须有可撤销的或者常规的资源,无法在相同的执行器上启动可撤销和非可撤销任务的混合体。

超配系统包含两个可插拔组件:资源估算器和服务质量(QoS)控制器。资源估算器的工作是向其slave报告运行着的任务里有多少可用slack,从而slave能将这些额外资源作为slack发布出去。QoS控制器的工作是跟踪使用slack。当使用slack降低,低于分配给可撤销资源的资源时,QoS控制器就会开始“杀死”可撤销任务,确保集群能够保证预留资源的提供。

在Mesos 0.23里,只有一个固定的资源估算器,集群管理员可以让所有slave都发布其固定的额外资源。当大多数任务请求的是一个或者两个CPU,但是却仅仅使用了其资源的5%~10%时,该功能就很有用了。固定的资源估算器会允许每个slave上调度比实际CPU更多的任务。Mesos 0.23仅仅发布了一个不工作的QoS控制器。

Mesosphere和Intel还构建了Serenity,这是一个精妙的控制系统,周期性地衡量每个slave上的使用slack,以便集群能够利用这些资源。Serenity还知道如何估算烦人邻居问题的影响,如何区分正在启动的任务和达到稳定状态的任务,以及其他一些优化集群使用率所必需的实用的调整方案。

超配是一个强大的新特性,可以帮助大型集群多利用10%~40%的资源。超配引入的可撤销资源并不仅仅在分配slack资源时有用,它们还构成了优先任务的基础。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-03-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档