[论文解读] Two stage cluster for resource optimization with Apache Mesos
本文提出一种基于 Apache Mesos 和 Aurora 的两级集群架构,通过在小型‘小’集群中先对作业进行性能分析,以估算实际资源需求,再在大型‘大’集群中执行,从而提升资源利用率。通过应用统计性能分析,分别以 94% 和 90% 的准确率预测 CPU 和内存使用量,该方法相比默认的 Mesos/Aurora 调度,使 CPU 利用率提升 53%,内存利用率提升 22%,显著提高吞吐量并减少空闲资源。
As resource estimation for jobs is difficult, users often overestimate their requirements. Both commercial clouds and academic campus clusters suffer from low resource utilization and long wait times as the resource estimates for jobs, provided by users, is inaccurate. We present an approach to statistically estimate the actual resource requirement of a job in a Little cluster before the run in a Big cluster. The initial estimation on the little cluster gives us a view of how much actual resources a job requires. This initial estimate allows us to accurately allocate resources for the pending jobs in the queue and thereby improve throughput and resource utilization. In our experiments, we determined resource utilization estimates with an average accuracy of 90% for memory and 94% for CPU, while we make better utilization of memory by an average of 22% and CPU by 53%, compared to the default job submission methods on Apache Aurora and Apache Mesos.
研究动机与目标
- 解决由于用户提供的资源估算不准确,导致 Mesos 和 Aurora 集群中资源利用率低和作业等待时间长的问题。
- 减少云环境和 HPC 环境中 CPU 和内存的过度配置,从而降低开销并避免资源闲置。
- 设计一种动态、轻量级的性能分析系统,可在无历史数据或任务分组信息的情况下估算作业的资源需求。
- 通过两级集群模型量化 CPU 和内存利用率、吞吐量及调度效率的改进效果。
- 确定用于最大化效率的性能分析(小)集群与生产(大)集群之间的最优规模比例。
提出的方法
- 实现两级集群架构:一个小型‘小’集群用于初始性能分析,一个大型‘大’集群用于生产执行。
- 每个作业首先在小集群中运行几秒钟,通过 Docker API 收集实时的 CPU 和内存使用度量数据。
- 对短时间运行的资源消耗进行统计分析,以估算完整作业运行的实际资源需求。
- 将估算出的资源值用于通过 Apache Aurora 将作业提交至大集群,确保更精确的资源分配。
- 评估两种调度策略——独占访问(Exclusive Access)和共调度(Co-Scheduled),以比较性能和开销。
- 系统根据实时性能分析动态调整资源分配,避免过度预留,提升集群调度效率。
实验结果
研究问题
- RQ1为实现最大资源利用率和吞吐量,性能分析(小)集群与生产(大)集群之间的最优规模比是多少?
- RQ2在小型集群中进行短时运行,能否准确预测完整规模作业的实际 CPU 和内存需求?
- RQ3在两级模型中,独占访问与共调度作业调度策略之间的性能与开销权衡如何?
- RQ4与默认的 Mesos/Aurora 调度相比,该基于性能分析的方法在 CPU 和内存利用率方面能提升多少?
- RQ5在真实集群环境中,该两级方法对整体系统吞吐量和作业等待时间有何影响?
主要发现
- 基于短时间性能分析运行,该两级方法在预测 CPU 资源需求方面达到 94% 的准确率,在预测内存使用方面达到 90% 的准确率。
- 与默认的 Mesos/Aurora 调度相比,共调度方法在 10 个节点的大集群上使 CPU 利用率提升 53%,内存利用率提升 22%。
- 在使用 6 个节点的大集群时,独占访问方法的吞吐量比默认 Mesos/Aurora 提高了 81%。
- 最优集群规模比为:独占访问方法为 1:6 至 1:8,共调度方法为 1:10。
- 共调度方法相比独占访问方法更有效地降低调度开销并提升吞吐量,尤其在集群规模增大时优势更明显。
- 该方法显著减少了资源过度配置,而过度配置是云环境和 HPC 集群中效率低下的主要成因。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。