IBM Platform Computing工作负载管理解析
IBM Platform Computing提供了一系列工作负载管理能力以优化运行各种采用高性能计算集群的应用,并通过多样化工作负载、业务优先级以及应用资源需求确保较高的资源使用率。工作负载管理有效地利用计算资源来尽可能快速地完成工作负载。为了实现有效的工作负载分配,这里需要一个智能的调度策略。智能的调度策略是基于对共享计算资源、应用优先级以及用户策略的了解。提供最佳服务等级协议管理,并通过提供更大的灵活性、可见性以及对作业调度的控制,来帮助降低运营成本和基础设施成本,这是投资回报最大化所需要的。
IBM平台负载共享设施
IBM Platform LSF(负载共享设施)是一个功能强大的工作负载管理平台,面向要求苛刻的、分布式和关键任务的高性能计算环境。IBM Platform LSF管理批量和高度并行的工作负载。它提供了灵活的以策略为驱动的调度功能,这确保了共享计算资源自动分配给用户、群组以及作业,与你的服务等级协议保持一致,从而改善资源使用情况和用户生产效率。
高级调度功能使得Platform LSF适用于以高利用率运行,从而降低运营成本。很多功能结合到一起缩短用户的等待时间,提供更好的服务等级,这样知识型工作者就可以获得更高的工作效率,从而产生更快速、更高质量的工作结果。它强大的管理功能使得一小群管理员可以更轻松地进行管理,提高效率并释放有价值的员工投入到其他项目中。例如,你可以委派控制一个特定的用户社区到一个特定的项目或者给某个部门经理。你还可以重新配置集群给一个群组,而不会导致其他所有群组的停机时间,使用一种受益于通过GPU的新型应用。所有这些功能都将转化为灵活性。
Platform LSF功能的可扩展性可以满足您不断变化的需求,Platform LSF是可以在多个维度上进行扩展的。它可以扩展到数十万的节点和数百万的作业。它还可以在其他维度进行扩展:例如,在它所支持的资源广度方面。无论你是管理Windows、Linux、GPU工作负载还是浮动应用许可,Platform LSF都可以对跨多个数据中心和地域的大量用户和资源进行灵活控制。它还可以扩展支持不同类型的工作负载,或者数百万以毫秒计算的短时作业。Platform LSF具有调度功能以满足这些多样化的需求,处理大规模工作负载。Platform LSF在解决各种调度问题的能力上是独一无二的,它能够在一个集群上同时激活多重策略。
Platform LSF的智能调度策略包括以下特性:
公平调度
拓扑和核心感知调度
回填和抢占
资源预留
可调整大小的作业
连续和并行的控制
提前预约
作业饥饿
许可调度
基于SLA的调度
绝对优先级调度
检查点和恢复
作业阵列
GPU感知的调度,NVDIA GPU和英特尔至强Phi加速器均支持
与IBM platform MPI以及IBM并行环境的紧密集成
可自定义的调度器
以下版本提供了Platform LSF,以确保用户拥有合适的功能集以满足他们的需求:
快捷版:适合于单集群环境,针对低吞吐量、并行作业以及简单用户群组结构进行了优化
标准版:适合于多集群或者网格环境,针对高吞吐量、连续作业以及复杂用户群组结构进行了优化
高级版:支持极高的可扩展性,吞吐量达到100k+的核心以及并发作业
Platform LSF的性能取决于许多因素,包括集群中节点的数量、并行运行作业的数量、等待作业的数量、用户作业查询的数量以及查询的频率。随着这些任务的增加,调度周期和用户响应时间也会随之增加。对于高吞吐量工作负载来说,整体系统性能取决于处理能力、I/O容量以及调度节点的内存。以下表格提供了基于测试集群配置的衡量指南。对于大型集群来说,建议用户寻求IBM的集群调优服务和帮助。
Platform LSF可扩展性和吞吐量
Platform LSF的异构性概念是很重要的,因为很少有组织机构只在唯一的硬件平台上运行一个操作系统。Platform LSF覆盖从Windows到UNIX以及Linux,再到Cray、NEC和IBM的超级计算机,IBM超级计算机采用全球最先进的架构,为客户提供完全自由的选择,利用一款全面支持的软件产品,针对最佳作业运行最佳平台。
以下操作环境和架构均支持Platform LSF:
IBM Power 6和POWER7上的IBM AIX 6.x和7.x
PA-RISC上的HP UX B.11.31
IA64上的HP UX B.11.31
Sparc上的Solaris 10和11
x86-64上的Solaris 10和11
x86-64 Kernel 2.6和3.x上的Linux
IBM Power 6和IBM POWER7 Kernel 2.6以及3.x上的Linux
Windows 2003/2008/2012/XP/7/8 32位和64位
Apple Mac OS 10.x
Linux Kernel 2.6上的Cray XT3、XT4、XT5、XE6以及XC-30
Linux Kernel 2.5上的glibc 2.3, SGI性能套件
glibc 2.3和ARMv7 Kernel 3.6 glibc 2.15 (仅限平台LSF从属主机)
关于在不同平台LSF版本上支持的平台LSF系统详细信息,请参照以下网址:
http://www-03.ibm.com/systems/technicalcomputing/platformcomputing/products/lsf/index.html
IBM Platform LSF提供了可选的附加组件,可以安装以扩展工作负载管理功能集。以下附加组件设计旨在协同工作解决你的高性能计算需求:
IBM Platform应用中心(IBM Platform Application Center,PAC):门户管理和应用支持,提供了一个丰富的环境,用于构建易于使用的、以应用为中心的Web界面,简化作业提交、管理和远程3D可视化。
IBM Platform流程管理(IBM Platform Process Manager,PPM):一个强大的可视化界面,设计了复杂的工程计算流程和多步骤工作流程,并捕获可重复、可被其他用户使用的最佳实践。
IBM Platform RTM:一个灵活的实时仪表板,用于监测全局工作负载和资源,包括资源使用情况包括。通过更好的集群可见性和集群警报工具,管理员可以在问题导致故障发生之前找出这个问题,帮助避免不必要的服务中断。
IBM Platform分析:一款分析工具,用于可视化和分析大量工作负载数据,以改善决策和更准确地进行容量规划,优化资产使用、查找并移除瓶颈。
IBM评测许可调度:一个许可管理工具,能够实现策略为驱动的分配以及对商用软件许可的追踪。
IBM Platform片段调度:一个高吞吐量和低延迟的调度解决方案,适用于运行短作业,不管是一个任务列表还是带有参数执行的作业数组。
IBM Platform动态集群:一个创新的云管理解决方案,将静态的、使用率较高低的集群转变成动态的、共享的云资源。
Platform LSF的用例
Platform LSF家族产品专注于以下技术计算市场:
电子“电子设计自动化(EDA),电子电路设计和软件开发/QA。
制造(汽车和航空航天以及国防):计算密集型模拟、碰撞和乘员安全、计算流体动力学、NVH、空气动力学、耐久性、机电一体化设计、工程流程以及产品数据管理、远程可视化及材料工程。
生命科学:人类基因组测序、量子色动力学模拟和药物治疗设计。
能源/石油与天然气:3D可视化、油藏数值模拟、地震数据处理、下游化工和机械工程应用。
高等教育和研究:电磁仿真、有限元分析、微观光学、模拟、量子色动力学模拟、可视化和图像分析、气候建模和天气预报。
媒体和数字内容创建:动画、模拟和渲染。
IBM Platform LSF在很多行业得到了成功部署,用于管理批量和高度并行的工作负载。Platform LSF的用户使用案例受益于关键行业领先独立软件厂商的应用支持。在Platform应用中心内的IBM Platform LSF具有完整的应用模版,覆盖ANSYS Mechanical、ANSYS Fluent、ANSYS CFX、ClustalW、CMGL STARS、CMGL IMEX、CMGL GEM、HMMER、LS-DYNA、MATLAB、MSC Nastran、NCBI Blast、NWChem、Schlumberger ECLIPSE、Simulia Abaqus、STAR-CCM,以及用于内部或者开源应用的通用模板。通过访问应用的标准化,Platform应用中心可以更容易地执行站点策略并解决基于角色的访问控制(RBAC)的安全担忧。
通过Platform LSF,计算资源通过动态和透明的负载共享提供给用户。通过其透明远程作业运行,Platform LSF提供了强大的远程主机以提高应用性能,这使得用户能够在系统中的任何地方访问资源。
Platform LSF架构
Platform LSF是一个位于异构企业资源之上的软件服务层。下表显示了这种分层的服务模式,它接受并且调用工作负载为批量或者非批量处理应用、管理资源和监控所有活动。
Platform LSF分层的服务模式
工作负载资源管理层的三个核心组件,分别是LSF Base、LSF Batch和LSF Libraries。这三个组件一起帮助创建一个共享的、可扩展的、容错的基础设施,交付更快速更可靠的工作负载性能。
LSF Base为分布式系统提供了基础的负载均衡服务,例如资源使用情况信息、主机选择、作业安置决策、透明远程运行作业以及远程文件选项。这些服务是通过以下组件提供的:
负载信息管理器(LIM)。每台主机上的LIM监控主机的负载,并向运行在主机节点上的LIM报告负载性能。主LIM手机来自运行在集群中的所有从属主机的信息,并向应用提供相同的信息。
进程信息管理器(PIM)。这是LIM发起的,运行在集群中的每个节点上。它收集运行在主机上的作业流程信息,例如作业消耗的CPU和内存,并将这些信息报告给sbatchd。
远程执行服务器(RES)。每台服务器主机上的RES接收远程运行请求,提供高速、透明和安全的远程任务运行。
有多个工具例如lstools、lstcsh和lsmake可用于管理工作负载。
LSFBatch将Platform LSF基础服务扩展至能够为批量作业处理系统提供负载均衡和基于策略的资源分配控制。为了提供这种功能,LSF Batch使用以下一些平台LSF的基础服务:
来自LIM的资源和负载信息,以便做负载均衡
来自LIM的集群配置信息
由LIM提供的主LIM选择服务
RES用于交互式批量作业运行
由RES提供的远程文件操作服务用于文件传输
Platform LSF Batch的核心组件是基于Master Batch Scheduler守护进程(mbschd)的调度框架,与多个插件进行结合。所有调度策略都是在插件中实现的。针对每个调度周期,触发调度,然后控制负载通过每个调度策略插件,并按照调度策略选择和派发到执行节点。
在不同的调度阶段,这个插件都可以拦截作业负载并影响最终决策。这意味着为了做出调度决策,Platform LSF采用多个调度方法,可以并发运行以及用于任何组合中,包括用户定义的定制调度方法。这种独特的模块化架构让调度器框架可扩展增加新策略例如新的亲和插件。
LSF Batch服务是有两个守护进程提供的。Master Batch守护进程(mbatchd)运行在主主机上,负责系统中整体作业状态。它接收作业提交和信息查询请求。守护进程管理队列中的作业,迅速将作业调遣至由mbatchd决定的主机。Slave Batch守护进程(sbatchd)运行在每个从属主机上。守护进程接收请求运行来自mbatchd的作业,并管理作业的本地运行。它负责执行本地策略并维持主机上的作业状态。守护进程创建一个子sbatchd以应对每个作业运行。这个子sbatchd将作业发送到RES,后者创建作业运行的环境。
LSF库为分布式计算应用开发者提供API,以访问作业调度和资源管理功能,提供以下一些平台LSF库:
LSLIB:这是一个LSF库,为跨异构计算机网络的应用提供Platform LSF基础服务。Platform LSF基础API是Platform LSF基础系统的直接用户界面,为Platform LSF服务器的服务提供轻松的访问。一台Platform LSF主机服务器运行负载共享作业。一个LIM和RES运行在每个Platform LSF服务器主机上。他们与主机操作系统连接,为用户提供一个统一的、独立于主机的环境。
LSBLIB:LSF批量处理库为应用编程者提供了对作业队列处理服务的访问,这些服务是由平台LSF批量服务器提供的。所有平台LSF批量用户界面工具都是构建在LSBLIB之上的。通过LSBLIB提供的服务包括平台批量系统信息服务、作业操纵服务、日志文件处理服务以及Platform LSF批量管理服务。