随着数据中心在规模和复杂性上的快速增加,使得对集群工作负载和应用的管理更加困难,同时也难以确保计算硬件和软件等资源的正常使用。
用户希望在任何地方都能灵活使用应用程序,并自动操控数据流,管理者希望能够监督集群的资源和负载,管理软件使用权,确定瓶颈问题,监督面向用户的服务协议是否满足,并计划系统的扩容数量。
IBM Platform LSF(Load Sharing Facility) 平台系列软件正致力于解决以上问题,对于要求高的分布式关键任务型高性能计算环境,IBM Platform LSF软件产品提供一个高性能负载管理平台,这个平台有一套综合的基于智能的,策略驱动的调度策略,方便用户使用所有运算基础设施资源,帮助保障最佳的应用性能。
IBM Platform LSF平台管理批处理负载,它将一个分布式计算网络平台作为一个超级计算机,将用户对资源的请求匹配,这个平台智能地将合适的工作分给正确的资源,使资源有效利用,减少浪费并实现最佳性能。
它使多个计算资源作为一个单一的系统映像,呈现给用户,实现基于共享资源的负载均衡,IBM Platform LSF平台有可选的附加软件供安装,提供一套扩展功能,关于附加软件的细节见下图。
IBM Platform LSF平台具备六大附加组件,可选附加组件可扩展 Platform LSF,以提供完整的工作负载管理功能集。
由于IBM Platform LSF平台具有高扩展性、高性能,并提供追踪和实时监控能力,因此被HPC业界很多公司使用,和其他的负载管理软件相比,IBM Platform LSF平台能带来明显的效益增值。此外,它支持如下几个操作系统和体系架构:
IBM AIX 5、6 and 7 on POWER
HP UX B.11.31 on PA-RISC
HP UX B.11.31 on IA64
Solaris 10 and 11 on Sparc
Solaris 10 and 11 on x86-64
Linux on x86-64 Kernel 2.6 and 3.0
Linux on POWER Kernel 2.6 and 3.0
Microsoft Windows 2003, 2008, XP, and 7 32-bit and 64-bit
Mac OS 10.x
Cray XT
在IBM Platform LSF平台的背后有一个全球支持的机构,使得这个平台方案成为可以被依赖的可靠的解决方案,尤其对于商用领域而言。
一个IBM Platform LSF平台集群可以分成两组主机,分别是管理主机和计算主机。管理主机为集群提供专业化的服务,计算主机运行用户的工作量,如下图是IBM Platform LSF平台在集群中的系统环境下的通信通道。
上图展示了如下步骤:
1. 提交一份作业
从LSF客户端,或者是一个运行bsub命令的服务器上提交一份作业,当提交这份作业时,如果不指定哪个队列,这份作业就会被提交到系统默认的队列中,作业在队列中等待安排,这些作业处于等待状态。
2. 调度作业
后台的主进程mbatchd将处理队列中的作业,在一个预定的时间间隔里将这些作业按设定的计划,传递给主调度进程mbschd。
主调度进程mbschd评估这份工作时,根据作业的优先权制定调度决策、调度机制和可利用资源。主调度进程选择最佳的主机,在哪里作业可以运行,并将它的决策返回给后台主进程mbatchd。主负载信息管理进程(LIM)收集资源信息,主LIM与mbatchd主进程交流这些信息,反过来mbatchd主进程使用之前交流信息支持调度决定。
3. 分配作业
Mbatchd主进程一收到Mbschd发过来的决定,立即分配作业到主机。
4. 运行作业
从属批处理进程(sbatchd),从Mbatchd主进程接到要求,为这份作业创建一个子Sbatchd和一个执行环境,通过使用一个远程执行服务器开始这个作业。
5. 返回输出
当一个作业完成时,如果这个作业没有任何问题,它处于一个完成状态。如果有错误作业无法完成,这份作业处于退出状态。Sbatchd传达作业信息,包括错误提示和给Mbatchd的输出信息。
6. 给客户端发邮件
Mbatchd通过邮件给提交主机反馈作业输出信息、作业错误、提示信息、作业信息。
调度程序的特点
IBM Platform LSF 平台有一套先进的特点:
公平竞争调度
基于拓扑结构的调度
抢占调度
回填调度
资源预留
并行作业和串行作业控制
高级资源预留调度
饥饿作业调度
许可证调度
服务协议满足调度
绝对优先级调度
应用程序断点和恢复
作业array调度
GPU调度
自定义调度器插件
故障容错
IBM Platform LSF平台的基础结构是为关键性的组件提供故障容错而设计的,有助于从一个故障中恢复过来,具体工作调度如下:
1. 主程序
如果一个主程序不能再用,另一个候补主程序接管任务。在主程序和候补主程序必须通过工作目录共享来协同工作。
2. 节点和节点组
当节点或者节点组不能工作,不可获得时,只有在其上运行的作业受到影响(重新拍发,失败退出,会根据提交时的设置来反应)。
3.作业
作业提交时可以定义为可重新运行模式,这样当作业失败时,可以重新运行。
或者在作业提交时定义了checkpoint,这样当作业重新运行时会从断点处继续运行。
LSF为这些组件提供了故障容错,一个LSF集群可以在部分网络故障时将工作网络隔离运行。容错取决于系统日志记录档,这个记录档在系统中记录了每一步操作。
安全性
不可否认,IBM Platform LSF平台使用内部的用户管理机制,也为第三方安全机构的整合提供了安全插件,例如轻量级目录访问协议(LDAP)、开放的安全系统认证(Kerberos)、活动目录(Active Directory)。
对于IBM Platform LSF 平台集群的安全性,有两个步骤要求:首先,检查用户的密码是否有效,然后检查用户的权限。在IBM Platform LSF平台上,可以创建一个自定义的可执行文件(eauth),可以为用户、主机和后台程序提供外围的身份认证。
在IBM Platform LSF平台的客户终端和服务器之间的认证数据流中,这些机制提供了一个安全的转移数据,通过创建自己的自定义可执行文件,可以设定集群的安全要求。
多集群支持
IBM Platform LSF 平台提供了多集群支持,不同的集群在不同的位置上,可以通过单一的Platform LSF来进行管理。这个方法使负载管理和集群管理变得容易,也使得基础构架获得高度可扩展性,多集群使得用户可获得更多的资源,提高生产率、资源利用率和性能。
作为强大的工作负载管理平台,IBM Platform LSF用于要求苛刻的分布式HPC环境,它提供智能的策略驱动的调度功能,支持利用所有计算基础架构资源并确保最优的应用程序性能。