几十年前,高性能计算(HPC)只有一些科研人员、科学家和工程师等使用,作为解决困难数学问题的经济实惠且可扩展的方法。但随着云计算、物联网和大数据等技术的发展,HPC越来越受到行业的广泛欢迎,而其在数据中心领域的应用也越来越多。许多企业组织需要借助HPC来处理复杂的计算任务,例如金融风险建模、政府资源跟踪、航天器飞行分析以及许多其他“大数据”项目。
根据研究机构Intersect360 Research对全球HPC市场的分析结果显示,2020-2014年间HPC将以7.1%的高复合增长率增长。
HPC结合了硬件、软件、系统管理和数据中心设施,以支持大量互连的计算机协同工作来执行单台计算机无法单独完成的过于复杂的共享任务。一些企业可能会寻求租赁或购买他们的HPC,而其他企业可能会选择在自己的数据中心内构建HPC基础设施。
通过了解HPC基础设施的主要要求和限制因素,您可以确定HPC是否适合您的业务以及如何最大限度地发挥它的价值。
什么是高性能计算(HPC)?
一般而言,HPC是使用大型且功能强大的计算机来有效处理数学密集型任务。尽管存在HPC“超级计算机”,但除了最大的企业外,其他所有企业往往无法触及此类系统。
相反地,大多数企业可以将HPC作为一组配置成在集群中运行的相对便宜、紧密集成的计算机或节点进行实施。此类集群使用分布式处理软件框架(例如Hadoop和MapReduce)通过在多台联网计算机之间划分和分配计算任务来解决复杂的计算问题。集群中的每台计算机都只处理自己的问题或数据集部分,然后软件框架将其重新集成以提供完整的解决方案。
分布式HPC架构为组织带来了一些权衡。最直接的好处包括可扩展性和成本管理。Hadoop等框架只能在一台服务器上运行,但组织也可以将它们扩展到数千台服务器。这使得企业能够使用价格较低的现成计算机来构建HPC基础架构,以满足其当前和未来的需求。Hadoop还具有容错能力,可以检测故障系统并将其从集群中分离出来,将这些故障作业重定向到可用系统。
构建HPC集群在技术上很简单,但HPC部署可能会带来业务挑战。即使能够随着时间的推移管理、扩展和添加节点,但是采购、部署、运营和维护数十、数百甚至数千台服务器的成本——以及支持它们的网络基础设施——也可能成为一笔巨大的财务投资。加上许多企业对HPC的需求也有限,很难让HPC集群保持忙碌,而企业在HPC上投入的资金和培训成本要求部署能够处理业务任务以实现成本效益。
只有对用例、利用率和投资回报指标有透彻的了解,才能获得成功的HPC项目。
实施HPC需要什么?
在商业数据中心实施HPC集群的三个主要要求包括计算硬件、软件层和容纳所有这些的设施。更准确的要求取决于HPC部署的规模。
计算要求。构建HPC集群需要服务器、存储和不应共享日常业务流量LAN的专用网络。理论上,您可以在单台服务器上实施Hadoop等HPC软件,这可以帮助员工学习和获得HPC软件和作业调度方面的经验。但是,基于Hadoop的典型HPC集群至少需要使用三台服务器:主节点、工作节点和客户端节点。
您可以用多个主节点扩展该简单模型,每个主节点支持多个工作节点,这意味着典型的HPC部署由多个服务器(通常虚拟化以增加集群可用的有效服务器数量)组成。专用集群网络还需要高带宽TCP/IP网络设备,例如千兆以太网、NIC和交换机。服务器和交换机的数量取决于集群的大小,以及每台服务器的能力。
刚接触HPC的企业通常从扩展到几个机架的有限硬件部署开始,然后再扩展到集群。您可以通过投资具有充足处理器和存储空间的高端服务器来限制服务器和交换机的数量,从而提高每台服务器的计算能力。
软件要求。成熟的堆栈必须能够随时支持HPC集群管理功能套件。Bright Cluster Manager和OpenHPC等软件堆栈通常包含各种用于集群管理的工具,例如:
●配置工具
●监控工具
●系统管理工具
●资源管理工具
●MPI库
●数学库
●编译器
●调试器
●文件系统
一些组织可能会采用HPC框架(例如Hadoop框架)来管理他们的HPC。Hadoop包括HDFS文件系统、Hadoop Common、MapReduce和YARN等组件,它们提供了许多与上面所列相同的功能。
HPC项目需要输出结果,这种结果可以通过可视化、建模或其他报告软件的形式提供给管理员。能够可视化Hadoop数据的工具包括Hunk、Platfora和Datameer等,以及Jaspersoft、Pentaho和BIRT等开源工具;Cognos、MicroStrategy和QlikView等商业智能工具;而Rshiny、D3.js和Highcharts等图表库能够可视化非Hadoop框架的输出。
设施要求。设施通常会成为HPC部署过程中最大的限制因素。要实施HPC,您需要物理空间和重量支撑来容纳额外的服务器机架、运行它们的电源以及足够的冷却能力来管理热量。一些企业可能根本没有空间和冷却基础设施来支持大量额外的服务器。
超融合基础设施系统可以最大限度地减少物理计算占用空间,但HCI具有高功率密度,可能导致机架“热点”和其他冷却挑战。用于HPC部署的完整计算机机架最多可包括72台刀片式服务器和5台架顶式交换机,总重量高达1800磅,需要高达43kW的电量支持。
HPC部署需要对数据中心设施进行仔细评估,并对系统电源和冷却要求与容量进行详细判断。如果设施不足以进行HPC部署,您必须寻求内部HPC的替代方案。
应对HPC实施挑战
计算挑战。尽管HPC硬件很常见且随时可用,但您可以使用模块化高密度服务器来解决计算限制。模块化设计使服务器易于扩展和更换。您可以使用带有专用高速LAN的专用高性能服务器来实现最佳性能,这使您能够通过定期的技术更新周期和额外投资来随时间更新HPC程序。
软件挑战。HPC软件方面的主要挑战在于管理软件组件版本和互操作性,即确保修补或更新一个组件不会对其他软件组件的稳定性或性能产生不利影响。解决这一问题的关键在于,将测试和验证作为HPC软件更新过程的核心部分。
设施挑战。处理装满服务器和网络设备的额外机架所需的可用物理数据中心空间、电源和冷却问题,限制了许多希望实施HPC的组织。对于这一点,服务器升级或许可以提供帮助。通过部署更大、功能更强大的服务器来支持更多的VM,您可以有效地添加HPC“节点”,而无需添加更多物理服务器。此外,在同一物理服务器内对VM进行分组可以缓解网络问题,因为VM可以在服务器内进行通信,而无需通过LAN传输流量。
您也可以寻求查看第三方支持,例如托管以获得额外空间。托管使您的组织能够在提供商的数据中心租用空间并使用该提供商的电力和冷却设施。然而,托管通常需要一项可能跨越数年的昂贵的长期合同义务。
电力成本也会影响HPC部署的长期成本,因此请评估本地电力的可用性和成本。考虑平衡的三相配电基础设施和先进的配电设备——例如智能PDU和开关PDU——以提高电源效率。不间断电源装置支持HPC集群服务器的有序运行,以最大限度地减少数据丢失。
添加高密度服务器机架会给数据中心的空气处理系统增加相当大的冷却负荷。当额外的冷却功能不可用时,可以评估托管或云选项,或考虑先进的冷却技术,例如HPC机架的浸入式冷却。
HPC拥抱云?
包括AWS、Google Cloud Platform和Microsoft Azure在内的几家公有云提供商都在为面临构建和运营HPC挑战的企业提供HPC服务。公有云克服了个体企业面临的规模和成本挑战,这也使得它们成为了部署HPC任务的理想选择。云可以提供:
●贯穿全球可用数据中心的几乎无限扩展;
●各种专用CPU、GPU、现场可编程门阵列和快速互连硬件功能,可优化机器学习、可视化和渲染等任务的工作性能;
●成熟且随时可用的HPC服务,例如Amazon EMR上的Azure CycleCloud和Apache Hadoop,可减轻本地IT人员的学习曲线和支持负担;
●即用即付的成本模型,使企业只需在实际使用这些云服务和资源时才为HPC付费。
执行频繁和适度HPC任务的企业可以选择构建和维护有限的HPC集群,以实现本地数据处理项目的便利性和安全性,但对于其内部无法支持的、偶尔要求更高的HPC项目,他们可能仍会转向公有云。
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/171406.html