关于牵牛星网格引擎,你可能不知道的十件事
在全球数千个组织使用,Altair网格引擎是世界上最受欢迎,最能干的电网管理系统之一,具有充满活力,不断增长的用户社区。当应用程序提供者描述他们对Altair网发动机的支持时,它们通常将不同的Altair网发动机变体块成单个桶。Altair网格引擎变体之间的基本功能和接口在很大程度上是相同的,有助于确保兼容性。
我经常询问Altair网格引擎和各种开源分布之间的差异。自Univa [Altair]自2013年从Oracle获得网格引擎的权利,Altair网发动机的进步一直是戏剧性的。在Sun Microsystems的Univa网格引擎上实质上,Altair网格引擎继续增强,并且[Altair]几乎只需在Sun的Grid Engine的任期即可稳步改进。
难以保持这样一个清单,但这里有十个有趣的事情,你可能不知道牵牛星网格引擎。
- 高级集装箱支持- 集装箱通过风暴带来了IT世界。在Altair网格引擎中,我们制造了集装箱集成无缝 - 不仅适用于Docker,而且对于奇点也是如此。Altair Grid Engine用户可以管理和控制容器化应用程序(包括集装箱MPI并行作业),就像任何其他应用程序都完全bob电竞官方支持报告和计费。通过集成容器支持,Altair Grid Engine用户避免了先前与Altair网格引擎上运行集装箱化应用程序相关的复杂性和安全挑战。bob电竞官方
- 可扩展性和吞吐量-高性能计算和人工智能的工作负载继续变得更大和更复杂。在牵牛星,我们一直专注于性能。在一项基准研究中,我们演示了比开源网格引擎提高9倍的性能。这些可伸缩性的改进不仅仅是一个学术成果。西部数据最近宣布在AWS上部署了一个百万核的Altair网格引擎,他们在8小时内运行了250万个模拟任务。这将需要480小时(20天)来完成他们的本地集群。的教训吗?不要考虑在开源调度器上运行如此大规模的工作负载。在云计算中,时间就是金钱,调度性能至关重要。
- GPU支持- 与集装箱一起,现代软件的另一个趋势是增加通用GPU的使用,特别是对于AI和深度学习。即使在大型GPU集群中,培训深度神经网络也可能需要数天或数周。需要最佳地考虑参数服务器和工人等组件,如GPU和处理器架构,核心亲和力和总线拓扑等详细信息放置,包括NVLink互连。Altair Grid Engine为GPU和AI工作负载提供多种增强功能,这些资源映射(RSMAPS),CGROUP支持(精确地控制GPU)以及与NVIDIA数据中心GPU管理器(DCGM)的紧密集成,以便调度器对GPU完全可见- 重新定量的指标,以实时进行调度决策。
- 鲁棒性和诊断大量工作已经投入到使Altair网格引擎集群更可靠、更容易管理、更容易支持和故障排除上。对作业未决原因的改进是使Altair网格引擎更易于使用和支持的数十个增强功能之一。要理解为什么工作排在队列中,可能是非常困难的。在Altair Grid Engine的早期版本中,用户将使用“qalter”命令更改挂起作业的各种参数,直到他们发现作业挂起的原因为止。当用户查询挂起作业的状态时,Altair Grid Engine会公开附加信息,因此可以更快、更容易地确定作业无法运行的原因,从而提高用户和管理员的效率。
- 云集成与爆发- 越来越多,客户希望在云中部署Altair网格引擎群集或操作混合环境,其中一些作业在云中执行其他工作。在本地资源忙时,扩展群集以自动点击云资源,称为“云爆发”。开源AltAir网格引擎的用户通常需要设计自己的云爆发解决方案,使用云特定的API和工具,但在Altair网格引擎中,我们已经使这无缝化。
- 招聘课程-对于支持许多用户和应用程序的管理员来说,为每个应用程序管理复杂的作业提交选项可能是一个主要的bob电竞官方挑战。例如,提交一个涉及gpu的分布式工作负载,并通过命令行或脚本参数表达最优拓扑和关联相关约束,这并非易事。更好的解决方案是使用Altair网格引擎8.1中引入的作业类。通过作业类,管理员可以定义一组合理的默认提交选项,反映每个作业类的最佳实践,极大地简化了作业提交和配置管理。例如,用户不需要了解如何运行支持gpu的深度学习工作负载的细节,而只需调用和预定义的作业类(Qsub -jc tensorflow[输入文件]),适当的作业提交指令将应用于每一类工作负载。
- 企业级功能- 已经对Altair网格引擎进行了许多增强,使其更加友好。示例包括Windows支持,支持企业身份验证框架,可靠性和诊断性增强功能,更可访问的REST API,可简化与企业应用程序的集成。bob电竞官方Altair网格引擎还提供全面的集群和工作负载监控,并报告以帮助组织完全了解资源的用来如何努力帮助计费,退款和容量规划。
- 安排策略- Altair网格引擎在调度策略方面提供了许多改进,并且在不打破与现有脚本和应用程序的兼容性的情况下。bob电竞官方Altair网格引擎有太多的调度改进来全面枚举,但作为一些示例:
- Altair Grid Engine支持跨越任何消耗资源的基于公平份额的分配 - 不仅仅是开源Altair网格引擎的CPU,内存和IO。
- 资源亲和性调度,支持作业可以“聚集”到最合适的节点(例如,因为它们需要数据)的策略,或者相反的反亲和性策略,尽可能多地分配作业。
- 牛郎星网格引擎在牛郎星网格引擎8.5.4中支持提前预订以及新的固定预订功能。持续保留允许用户根据重复出现的模式为作业保留资源,从而减少了管理定期重复出现的作业所需的工作。
- 并行作业支持也有重大改进,包括为主和从任务启用不同的资源要求,并启用并行集装箱作业。
- 核心绑定,关联调度,NUMA支持大多数Altair Grid Engine管理员都熟悉核心绑定。这个功能在SGE 6.2u5中首次引入,描述了主机对套接字、内核和线程的支持。控制作业如何放置在套接字、核心和线程上的几何形状,而不是让操作系统随心所欲地放置作业,这可能会对性能产生巨大的影响。例如,可以调度任务以最大化缓存效率,CUDA程序可以放置在靠近它们通信的gpu的核心上,多线程任务可以分布在多个核心上以最大化吞吐量。Altair Grid Engine提供了10个新的核心绑定策略来简化配置,比如“pack sockets”、“one_socket_per_task”、“balance_sockets”等等。
- 现代SMP系统不仅是多核,而且它们也倾向于具有非统一的内存架构(NUMA)。利用NUMA系统,每个处理器都具有本地存储器,并访问附加到另一个套接字的内存更昂贵。Altair Grid Engine为用户提供灵活的策略,以安排非均匀性考虑到更好的性能和工作隔离的作业。
- 高级API - UGE配置API, DRMAAv2-在开发人员中,Python已经成为世界上最流行的编程语言[1]。为了给Altair Grid Engine用户和管理员提供更多的灵活性,Altair Grid Engine 8.3.1及以后版本支持一个全面的基于python的SDK (PyCL),该SDK通过qconf命令与qmaster通信,从Altair Grid Engine集群检索信息并以编程方式配置它们。这个API支持“配置为代码”的概念,帮助客户实现软件定义的HPC基础设施。关于UGE配置库的文档可在GitHub.。此外,Altair Grid Engine支持更新的分布式资源管理应用API(DRMAA V2),一个高级全局网格论坛API,具有多种语言绑定,用于提交和控制异构网格计算机环境中的作业。
[1]编程语言流行趋势2019年6月-http://pypl.github.io/pypl.html.