阿里云超算集群报表:高效管理计算资源

简介: 弹性高性能计算(E-HPC)基于阿里云基础设施,为用户提供公共云之上的HPC服务。与传统HPC有限计算资源不同的是,E-HPC通过利用云的弹性可以做到资源的动态伸缩,从而根据实时的作业负载情况调整硬件计算资源,自动优化用户的成本资源。 集群管理员最为关心的应该是集群计算资源的利用率。传统超算往往是自建机房,一旦落成,核时数就随着时间线性增长。相较于传统超算的“静态”资源,云上的“动态”资源调

弹性高性能计算(E-HPC)基于阿里云基础设施,为用户提供公共云之上的HPC服务。与传统HPC有限计算资源不同的是,E-HPC通过利用云的弹性可以做到资源的动态伸缩,从而根据实时的作业负载情况调整硬件计算资源,自动优化用户的成本资源。

集群管理员最为关心的应该是集群计算资源的利用率。传统超算往往是自建机房,一旦落成,核时数就随着时间线性增长。相较于传统超算的“静态”资源,云上的“动态”资源调度就显得更加灵活。尤其是配合Spot实例,可以帮助用户大大地降低成本。为了更加直观地获取这些“动态”资源的使用情况,E-HPC的报表功能就呼之欲出了。

E-HPC报表简介

E-HPC报表通过整合用户的作业执行情况,结合用户集群的硬件资源配置,分别从用户、队列和实例维度进行统计,将计算资源的利用率直观地呈现给用户,帮助用户更好地进行计算资源的划分和调度,提升计算节点的利用率,降低成本。

总览

image-20191226095831022的副本.png

上图是从用户角度呈现集群的总体利用率,右侧是指定用户在查询时间内已完成的作业。此时如果发现集群的空闲率较高,就可以考虑将空闲节点分配给利用率高(计算需求大)的用户,或者可以将部分空闲节点释放,降低计算资源的浪费。如上图,userNo1的利用率约为16%,userNo2的利用率约为12%,而集群的空闲率约为71%。如果此时userNo1或者userNo2有很多等待资源的排队作业,用户就可以将空闲节点暂时划分给两个用户,加大他们的资源数量,缩短作业处理周期。

手动进行资源编排来提升利用率是管理“静态”资源的有效方式,但是“动态”资源还有更有效的方式,就是E-HPC的自动伸缩。不同于手动调整资源,自动伸缩可以自行帮助用户进行计算节点的申请和释放。因此当集群中没有排队作业,但仍有空闲节点时,自动伸缩将会按照用户配置的规则来决定如何释放空闲节点,从而降低集群中节点的空置率。当集群中有等待计算资源的排队作业时,自动伸缩就可以动态的根据作业负载和用户配置的策略来扩容,快速处理作业。

下图就是从节点维度呈现自动伸缩管理节点的使用情况。横轴是时间,图中每个实例的长度表示当前实例的生命周期。实例的生命周期是从实例创建成功开始,到实例被释放或者查询结束时间为止。如果用户开启自动伸缩,节点维度的报表就可以清楚呈现扩容实例的生命周期,用户可以据此来调整自己的配置,避免不必要的浪费。

image-20191226102329110的副本.png

例如,上图中compute002、compute004-008节点均是由自动伸缩创建的,可以看到这些节点的实际利用率约为44%。右侧是实例compute004上运行的作业详细信息。两者比对我们发现异常:作业运行结束至该实例释放用时约8分钟。这段时间内实例没有任何负载,一直处于空闲状态,因此应该被压缩。我们可以在自动伸缩的配置中减小释放实例的查询次数和每轮的查询时间,从而加速空闲实例的释放。

主要架构

目前E-HPC已支持包括PBS Pro、Deadline和Slurm等8种调度器。为了适配不同的调度器,我们对报表功能进行模块化设计,从而提升其兼容性。如下图所示。

image-20191221153345984_副本.png

数据采集

我们在用户集群的管理节点通过定时查询的方式获取作业的相关执行情况,并存储在用户管控节点的数据库中。由于不同的调度器对历史作业的保留方式不同,因此需要针对不同的调度器进行不同的处理。例如PBS Pro会维护一个作业日志文件并定期更新数据;Deadline调度器需要使用GetJobDetails手动获取历史作业信息。因此我们在用户的管控节点设置一个定时任务从调取器中获取历史作业信息并记录在数据库中。

数据处理

由于作业信息中不包含实例的具体配置,并且作业之间是离散的,因此我们结合管控端存储的实例信息来计算集群的核时比。并且从用户、队列和实例维度分别统计,从而更加直观地帮助用户了解查询时间内集群的使用情况。

数据呈现

前端主要是响应用户的请求,并且将管控端的计算结果呈现给用户。

总结

E-HPC报表旨在帮助用户更加直观的了解掌握集群的使用情况,从而更好的进行资源调度,提升计算节点的利用率,降低成本。并且通过报表的数据呈现,也可以帮助我们量化E-HPC缩扩容时的额外开销,推动我们不断优化缩扩容流程,为用户提供更好的服务!

相关文章
overleaf 插入图片,引用图片,图标标题Fig与文章引用Figure不一致解决
overleaf 插入图片,引用图片,图标标题Fig与文章引用Figure不一致解决
9611 0
|
Linux
Linux drwxr-xr-x含义及文件权限查看和修改方法
Linux drwxr-xr-x含义及文件权限查看和修改方法
3023 0
|
存储 运维 安全
防盗、防泄露、防篡改,我们把 ZooKeeper 的这种认证模式玩明白了
ZooKeeper 作为应用的核心中间件在业务流程中存储着敏感数据,具有关键作用。正确且规范的使用方法对确保数据安全至关重要,否则可能会因操作不当而导致内部数据泄露,进而带来严重的安全风险。因此,在日常的 ZooKeeper 运维和使用过程中,标准化和安全的操作对于加强企业安全防护和能力建设显得格外关键。为了实现这一目标,MSE 提供了一整套标准化流程,帮助用户以更安全、更简便的方式使用 ZooKeeper,从而加速企业安全能力的提升同时最大程度地降低在变更过程中可能出现的风险。
9355 115
|
6月前
|
人工智能 开发框架 安全
AgentPrune:开源多智能体通信优化框架,无缝兼容AutoGen,让对话成本直降95%!
同济大学与香港中文大学联合研发的AgentPrune框架,通过时空图建模与低秩稀疏剪枝技术,显著优化多智能体系统的通信效率。该框架在保持性能的同时减少72.8%的通信量,并具备防御对抗攻击能力。
301 7
AgentPrune:开源多智能体通信优化框架,无缝兼容AutoGen,让对话成本直降95%!
|
Web App开发 JavaScript 前端开发
深入浅出Node.js后端开发
【9月更文挑战第35天】本文将带你走进Node.js的世界,从基础概念到实战应用,一步步揭示Node.js在后端开发中的魅力。我们将通过实际代码示例,让你轻松掌握Node.js的开发技巧,开启你的后端开发之旅。
|
6月前
|
弹性计算 Ubuntu Shell
为eRDMA注册超大内存
本文介绍如何在eRDMA环境下注册大量内存。
380 3
|
网络协议
TCP协议中TIME_WAIT状态的分析
`TIME_WAIT`状态是TCP协议设计中的一个重要组成部分,它通过确保数据传输的可靠性和连接的正确关闭来提升网络通信的稳定性。尽管 `TIME_WAIT`可能导致资源占用,适当的系统配置和网络编程实践可以最小化其潜在的负面影响。理解 `TIME_WAIT`状态及其背后的逻辑是每一位网络开发人员和系统管理员必须掌握的知识点。
909 1
|
数据采集 XML 数据挖掘
使用Python打造爬虫程序之HTML解析大揭秘:轻松提取网页数据
【4月更文挑战第19天】本文介绍了HTML解析在爬虫技术中的重要性,并通过Python的BeautifulSoup库展示了如何解析和提取数据。文章涵盖了HTML文档结构、使用BeautifulSoup的基本方法,如`find_all()`、选择器(标签、类、ID选择器)以及提取文本、属性和链接。此外,还讨论了遍历和处理嵌套元素的技巧。
|
机器学习/深度学习 存储 弹性计算
阿里云gpu云服务器最新收费标准及活动价格参考
阿里云gpu云服务器多少钱?目前阿里云gpu云服务器最低仅需939.77元/1周,月付最低1684.00元/1个月起,年付最低16172.40元/1年起。阿里云GPU云服务器是基于GPU应用的计算服务,多适用于视频解码,图形渲染,深度学习,科学计算等应用场景,该产品具有超强计算能力、网络性能出色、购买方式灵活、高性能实例存储( GA1和GN5特有)等特点。下面小编来介绍下阿里云gpu云服务器最新的收费标准及活动价格。
阿里云gpu云服务器最新收费标准及活动价格参考
|
存储 弹性计算 关系型数据库
系统性能分析从入门到进阶
本文以系统为中心, 结合日常工作和用例, 由浅入深地介绍了性能分析的一些方法和体会, 希望对想了解系统性能分析的同学有所帮助。
系统性能分析从入门到进阶