¶摘要
本论文介绍了能量感知高性能计算(HPC)的最新技术,特别是系统和设备类型、优化指标和能量/功率控制方法的方法识别和分类。系统类型包括单个设备,集群,网格和云,同时考虑设备类型包括CPU,GPU,多处理器和混合系统。优化目标包括各种指标组合,如执行时间,能耗和温度,并考虑强加的功率限制。控制方法包括调度,DVFS / DFS / DCT,功能封顶与程序化API,如英特尔RAPL、NVIDIA NVML以及应用程序优化和混合方法。我们讨论用于能源/电源管理的工具和API以及用于预测的工具和环境和/或者模拟现代HPC系统中的能量/功耗。最后,讨论了编程实例,即在特定工作中使用的应用和基准。根据我们的评估,我们确定了一套开放领域以及有关现代HPC系统方法和工具的重要最新问题,这些方法和工具允许进行能量感知处理。
¶研究背景
在当今的高性能计算(HPC)系统中,对能量和功率的考虑起着越来越重要的作用。新的集群系统设计为在不超过20兆瓦的功率[1]达到百亿亿次级的性能。除了TOP500( https://www.top500.org/lists/top500/ )以性能为导向的排名,Green500( https://www.top500.org/green500/ )列表按每瓦特性能对每台计算机进行排名。GPU的广泛采用有助于提高可在此类系统上高效运行的应用程序的这一比率。这种混合系统中的编程和并行已经成为获得高性能的必要条件,但在使用多核和多核环境时也是一个挑战。在功率和能量控制方法方面,除了调度之外,DVFS/DFS/DCT和功率封顶API已经可用于移动、台式机和服务器中的CPU和GPU。功率封顶现在也可用于集群的作业管理系统,例如Slurm中允许关闭空闲节点,在需要时再次启动这些节点,允许我们设置通过DVFS使用的功率上限[2]。对于各种应用,诸如执行时间、能量、功率和温度的度量在各种上下文和各种组合中使用。需要对该领域的可能性、机制、工具和结果进行持续和彻底的分析,以确定当前和未来的挑战,这是这项工作的主要目标。
¶综述总结
最后,基于论文中的研究,我们可以为研究制定开放的研究领域,这对于能源感知高性能计算领域的进一步发展至关重要:
- 表1中列出了用于能源/电源管理的各种HPC工具,表明需要统一不同供应商提供的各种API,以提出跨越可用HPC计算设备如多核CPU,GPU和加速器的统一功率感知API。支持与功率/能量以及性能测量和管理相关的通用参数的通用子集。
- 表8中显示的当前使用的预测和模拟工具的可用性、精度和性能,在它们支持特定计算环境(表2)、设备类型(表3)和使用的指标的背景下,进一步显示需要为各种应用程序的各种CPU和GPU架构开发(可能是经验的)性能 - 能量模型(例如,表7中描述的那些),包括功率限制下的性能模型,可用于运行时使用以及模拟器环境。
- 从表6中得出结论,我们可以认识到几个关于能量感知HPC领域的开放式研究方向,这些方向仍需要进一步发展:
- 用于混合(CPU +加速器)系统的能量/功率感知方法;
- 利用任何能量/功率控制方法进行优化,旨在最小化能耗和执行时间的积;
- 使用混合能量/控制方法来实现能耗和能源-时间积的最小化;
- 最后,表5中给出的能量/功率控制方法的分析使我们得出以下结论:
- 需要开发用于自动配置包括功率上限的HPC系统的工具,用于关注性能和能量消耗并且可用于各种并行编程API的各种应用类别。虽然存在选定类别的应用程序和使用MPI的方法(例如,[65]),但是没有能够适应各种应用程序API的通用工具。这些工具可以使用上一步中提出的模型,并根据性能 - 能量曲线检测应用程序并将其分配给所选类别之一;
- 在运行时针对混合(CPU +加速器)应用的性能和能量自动配置HPC系统,其中计算的卸载可以被调节,这不仅取决于计算的时间而且取决于功率/能量约束。
- 进一步开发和验证当前现有的工具,重点关注能源/电源管理领域,包括功能扩展和质量改进,例如AMD的应用电源管理TDP Power Cap工具或IBM EnergyScale功能的验证。