[论文解读] A Self-adaptive Auto-scaling Method for Scientific Applications on HPC Environments and Clouds
本文提出一种自适应自动扩展方法,可在运行时动态地将工作负载从本地HPC集群转移到云环境,以满足执行截止时间。通过监控执行时间和预测完成时间,系统在检测到可能无法按时完成时触发云扩展并自动扩展资源,即使在资源波动和开销存在的情况下,也能有效减少截止时间错过的情况。
High intensive computation applications can usually take days to months to finish an execution. During this time, it is common to have variations of the available resources when considering that such hardware is usually shared among a plurality of researchers/departments within an organization. On the other hand, High Performance Clusters can take advantage of Cloud Computing bursting techniques for the execution of applications together with the on-premise resources. In order to meet deadlines, high intensive computational applications can use the Cloud to boost their performance when they are data and task parallel. This article presents an ongoing work towards the use of extended resources of an HPC execution platform together with Cloud. We propose an unified view of such heterogeneous environments and a method that monitors, predicts the application execution time, and dynamically shifts part of the domain -- previously running in local HPC hardware -- to be computed on the Cloud, meeting then a specific deadline. The method is exemplified along with a seismic application that, at runtime, adapts itself to move part of the processing to the Cloud (in a movement called bursting) and also auto-scales (the moved part) over cloud nodes. Our preliminary results show that there is an expected overhead for performing this movement and for synchronizing results, but our outcomes demonstrate it is an important feature for meeting deadlines in the case an on-premise cluster is overloaded or cannot provide the capacity needed for a particular project.
研究动机与目标
- 解决由于本地资源过载或资源限制导致科学HPC应用错过截止时间的挑战。
- 在执行时间预测超过截止时间时,实现从本地集群到云环境的无缝工作负载迁移。
- 引入一种自适应机制,实现在运行时监控、预测并触发云扩展。
- 通过利用按需云弹性而非过度配置本地HPC资源,最小化资本支出。
- 在异构环境——本地HPC与云——之间提供统一的执行模型,同时保持同步与负载均衡。
提出的方法
- 在运行时监控每一步的时间开销,以估算应用程序的总完成时间。
- 使用预测建模方法,将估算的执行时间与用户提供的截止时间进行比较。
- 当预测时间超过截止时间时触发云扩展,动态将计算域的一部分迁移至云端。
- 通过根据工作负载需求动态分配和管理虚拟机,对云端部分实施自动扩展。
- 通过协调的数据与任务划分,保持本地与云端执行部分之间的同步。
- 采用统一的执行框架,抽象本地集群与云资源之间的异构性。
实验结果
研究问题
- RQ1如何使科学应用在混合HPC-云环境中动态适应其执行,以满足严格的截止时间?
- RQ2在数据并行和任务并行工作负载中,哪些机制可实现对应用执行时间的准确运行时预测?
- RQ3如何在无需人工干预的情况下自动且高效地触发云扩展?
- RQ4在混合HPC-云环境中,动态工作负载迁移与自动扩展的性能与成本权衡如何?
- RQ5该系统如何处理本地与云端执行组件之间的同步与负载均衡?
主要发现
- 所提出的方法在本地执行预计无法满足截止时间时,成功实现了动态云扩展。
- 初步结果显示,尽管存在数据移动与同步的预期开销,但满足截止时间的收益仍超过成本。
- 该方法在地震模拟用例中证明了可行性,该用例反映了众多计算密集型科学应用的特征。
- 该方法支持CPU与GPU节点的混合执行,未来工作将聚焦于异构节点调度。
- 通过利用按需云弹性,系统减少了对昂贵本地硬件升级的需求。
- 该方法可适应动态截止时间变化,并能响应节点故障或并发性等运行时资源波动。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。