当前,我们正处在一个“数据智能”的时代,数据呈指数级增长,数字化、智能化转型已是企业创新和高质量发展的基石。在数据为王的时代,如何让数据产生价值,让数据说话,让数据辅助决策呢?数据变宝任重而道远,只有借助于高性能计算 (HPC) 和人工智能 (AI),数据才能淋漓尽致的绽放其价值。而在分布式的 HPC 集群的工作负载运行中,调度是 “大脑中枢”,无调度不成超算。
IBM Spectrum LSF (Load Sharing Facility,下文称 LSF) 给分布式高性能计算系统注入灵魂,强有力地把分布在不同地方的算力组织起来,犹如万剑归一,凝心聚力,以实时的算力监控和优越的调度性能,在最短的时间内完成工作负载的调度和执行。
LSF 横空出世并一往直前
站在今天看过去,分布式高性能计算一直是 IT 行业的热门话题。就是算力强悍的今天,大型机 (比如 IBM Z 系列) 已经承载了一些核心的业务,但一些其他的应用和作业,无福享受到强悍的大型机的伺候,更何况把目光往前推 20多年,单个主机很难满足应用作业的需求,那怎么办呢?最直接的方式就是把一群机器组织起来,并行干活。如果有一把绝世宝剑,来统一号令集群协同工作,只要调度得当,完全有可能实现“机心齐,泰山移”。
在这种背景下,LSF 于 1992年横空出世。到今天,LSF 已经走过了 29个年头。在这 29年的发展中,新的技术层出不穷,用户的需求也在不断变化,经过 LSF 研发团队的精益求精和不懈努力,LSF 已经发展成为 HPC 分布式集群的“瑞士军刀”,拥有高性能的大规模分布式集群管理和调度能力。近日在中国,LSF 被 IBM 中国团队创业成长计划“12星座”冠以“白羊座”黑科技产品,算是名至所归。29岁,LSF 正当壮年!
那么 LSF 到底是什么呢?LSF 是一个强大的分布式工作负载管理平台,基于智能的、策略驱动的调度特性,充分利用计算基础设施资源,实现最佳的应用程序性能。一言以蔽之,LSF 在正确的时间内,将正确的资源分配给正确的用户作业。LSF 旨在降低企业运营成本的同时,提高生产效率。LSF 构架图如下。
经过二十多年的发展,相对于最初的 LSF 1.0 版本,最新的 LSF 10.1,不管是功能上,还是性能上,都得到了质的飞跃。LSF 从最初简单的调度器,发展到今天丰富多彩的调度“航母”,不仅后向兼容,而且不断创新,支持层出不群的新技术和新平台,比如支持 GPU 和 Kubernetes 等,也支持机器学习的平台和作业,AI 赋能,发展出了很多周边产品,一往无前的创新和完善的功能,让 29岁的 LSF 成为了妥妥的“黑科技”。
在分布式管理和调度方面,LSF 的功能可谓应有尽有,仅仅调度策略,就有数十种,比如先来先服务 (FCFS)、抢占 (Preemption)、资源需求 (Resource Requirement)、公开共享 (Fair share Scheduling)、服务水平的资源保障 (Guarantee SLA)、资源预订 (Resource Reservations)、回填调度 (Backfill Scheduling)、亲和调度 (Affinity Scheduling) 等。
LSF 不光支持 CPU 等常见算力,而且也支持 GPU 调度。同时支持多集群调度,块调度、作业动态调度、许可证(License)调度,基于事件的调度、计算单元和作业包装、作业开始时间预测等功能。
LSF 也支持容器化的应用的调度,LSF 可作为 Kubernetes 集群的热插拔调度器,根据策略将 Pod 绑定到特定节点,由 Kubelet 在目标节点上执行和管理 Pod 生命周期,HPC 作业可以在不影响 Kubernetes Pods 的情况下提交和执行。
同时,LSF 支持混合云策略,LSF 有一个非常受欢迎的功能:Resource Connector。如果在作业激增的情况下,等待作业较多,本地资源不足的情况下,Resource Connector 可以迅速的向公有云或者私有云申请资源,然后基于智能化的策略,把作业调度到云端资源上执行。如果业务量下降了,根据预设的门限,即刻释放云端资源。这种可伸缩性,有效的提高计算效率的同时,为客户节省了费用,真是鱼和熊掌二者兼得也!
在 HPC 集群中,性能非常重要,在 LSF 10 版本中,实现了无与伦比的大规模高性能,并且包含了很多创新性功能,提高了易用性和可访问性。LSF 10 支持数以千计的并发用户数,同时管理数以万计的节点资源,同时调度数以百万计的作业。通过 IO 模式优化、将数据移到更靠近作业的地方、处理器间通信的优化等方法,来提高作业的吞吐量性能。在 LSF 10 的 Benchmark 测试中,LSF 可以在每小时调度分发 9百万的作业(超短作业)。在另外一组测试环境中,在 100,000个 Slots 的 LSF 集群,纵向对比了 LSF 的性能提升,从图中我们可以看是 LSF 10 的性能得到了大幅提升。
LSF 的小伙伴们
俗话说,一个好汉三个帮。LSF 的核心的功能是根据集群的资源情况对作业进行调度和分发,到今天,LSF 已经发展出了一个大的家族,LSF 更像是一个家长,以“带头大哥”的身份带领其家族的小伙伴们,为客户降低运营成本,提高生产率。具体看,LSF 家族的核心价值有:
- 通过有效的调度和共享策略提高资产利用率
- 通过易用性、易访问性和简化来提高用户的工作效率
- 通过洞察如何使用 HPC 环境来提高操作效率
下面有请 LSF 家族中几位主要的小伙伴们亮相:
LSF AC (Application Center)
LSF AC 是 LSF 的 Web Portal。作为是 LSF 家族中“大师兄”,为集群用户和管理员提供了灵活、易用的界面,使用户能够直观的和 LSF 集群进行交互。有了 LSF AC,妈妈再也不用担心程序员小明记不住复杂的 LSF 后台命令了!用户可以通过 Web 浏览器轻松愉快的完成作业的基本操作,如停止、暂停、恢复或重新排队作业,也可以在 Web 界面监控作业的运行情况。同时,LSF AC 有很多应用程序的模板和脚本指南,这些模板和指南,很好的简化了作业提交,很大程度上降低用户的操作错误概率。
LSF AC 不光有电脑客户端,也支持手机客户端,用户随时随地的掌握作业的运行状态和资源情况。
LSF PM (Process Manager)
在一些 LSF 的应用场景中,很多作业之间有依赖关系,特别是近几年来的容器化,微服务化,并行化作业愈发盛行,面对错综复杂的作业依赖关系,如果没有一套流水线的管理工具,那对于这些用户来说,简直就是灾难。LSF PM 就是肩负着这个使命而诞生的,使用这个流水线工具,LSF 用户可以在提交作业前,图形化的勾勒出作业的先后顺序和驱动事件,然后再提交执行。使用直观的图形界面记录和查看工作流步骤和执行情况,允许用户自动执行容易出现人为错误的、或者冗长重复任务。
同时,用户可以通过 LSF PM 设置一些驱动事件,比如文件事件(比如文件产生或者消失的时候,触发某些作业),时间事件(可以在特定的时间或者周期性的触发作业的运行)等。LSF PM 拥有 CS 模式的客户端,同时也已经集成到了 LSF AC 的 Web 界面中了。
LSF RTM (Report, Track, Monitor)
LSF RTM 是 LSF 集群管理员的福音,LSF 集群管理员可以通过 LSF RTM 的 Web 仪表盘来全面的、实时的监视、报告和管理集群和工作负载,极大程度上提高了集群资源利用率和用户生产率,以及控制或降低了用户的成本。同时LSF RTM 支持监控应用程序许可证服务器和集群中的用户和用户组。通过 LSF RTM 直观的 Dashboard,可以轻松有效的监控多个 LSF 集群,完成管理员日常的集群维护工作。
LSF Explorer
LSF Explorer 是针对 LSF 环境的轻量级报告解决方案,支持各种业务和用户快速创建和查看报告和 Dashboard。如果没有 LSF Explorer,想要满足不同用户的需求,这些报告需要从多个产品中的不同报告中获得,而且这些数据可能需要通过电子表格的方式,手动创建报告,耗时且费力。LSF Explorer 使用 Elasticsearch 数据库来存储、索引和查询数据,LSF 的用户、IT 管理人员或者项目负责人,都可以轻松的、定制化的获取,定期查看计算环境的执行报告,和所在项目或业务线正在消耗什么样的资源。
LSF License Scheduler
商业化的应用程序许可证 (License) 往往是一种昂贵的资源,用户可以使用 LSF License Scheduler,根据已建立的分发策略分配 License,从而管理和优化计算节点和项目之间的应用程序 License 使用。License 可以在集群之间共享,也可以在集群内的项目之间共享。LSF License Scheduler 可以简化 License 共享,帮助提高生产力和增加对 License 资源的整体访问,支持 FlexNet 和 Reprise 许可证管理器 (RLM) 等。
LSF Data Manager
作业的执行,往往需要一些数据作为输入,或者会输入大量的数据,如果没有合理的数据管理,势必对作业的执行速度造成影响。使用 LSF Data Manager,用户可以有效地管理在 HPC 环境中的大量数据,借助已经具备的底层文件传输基础设施(如 IBM Aspera),自动化 LSF 集群内和集群间的数据传输,以及本地与云之间的数据传输。LSF Data Manager 还提供了一个智能托管缓存,允许复用数据,并避免重复的传输,从而消除浪费的磁盘空间和数据传输的等待时间。简单的说,LSF Data Manager 根据作业调度情况,决定移动哪些数据,和什么时候移动,然后可以借助文件传输技术(如 IBM Aspera)实现超高速传输。
LSF 应用场景和用户分析
LSF 主要的应用场景为分布式计算领域和一些计算密集型的场景。LSF 已经成功的应用到了众多行业,包括电子自动化,航空航天等制造业、教育培训、能源、金融、生命科学,大型超算中心、气象分析、环境监测、仿真系统、数据挖掘、人工智能、动漫渲染等。简而言之,如果后台需要大量的计算,LSF 定能助一臂之力。
目前,全球前 12大汽车领域的公司,有 10家在使用 LSF。前 25家电子自动化企业,有 23家在使用 LSF 计算机辅助作业调度。全球前 3大生命科学中心均在使用 LSF 做后台的集群调度。一些成功的超算中心,也在使用 LSF 做调度和监控。很多高等学府和研究院,使用 LSF 做超前的研究工作。我们每天看的精准的天气预报,也有 LSF 默默无闻的贡献。LSF 的成功案例数不胜数,可以说,虽然我们摸不到,看不到,但 LSF 已然和我们的生活息息相关。
因篇幅有限,不能对浩瀚的 LSF 做详尽阐述,LSF 依旧在持续的发展中。二十多年来,LSF 工作负载/资源管理解决方案赢得了多个行业客户的青睐,借助于 LSF,客户的作业运行效率得到了极大的提高,降低了成本。今日的成功只是明日的起跑线,风华正茂的 LSF 和它的小伙伴们,在以后的日子里,不改初心,会不断完善自己,持续为客户创造更大的价值。(作者:何金池,IBM 科技事业部客户工程架构师)
了解更多关于IBM Spectrum LSF,请访问:https://www.ibm.com/cn-zh/products/hpc-workload-management/details
作者简介
何金池是 IBM 科技事业部负责客户工程的架构师,著有《Kubeflow:云计算和机器学习的桥梁》和《大数据处理之道》等书,是 Kubeflow、Tekton 多个开源社区的 Maintainer,亲自参与了 IBM Spectrum LSF、IBM Cloud Pak for Data 等产品的研发,是分布式计算、大数据处理和云原生等相关技术和产品的专家。
关于 IBM
IBM 是全球领先的混合云、人工智能及企业服务提供商,帮助超过 175 个国家和地区的客户,从其拥有的数据中获取商业洞察,简化业务流程,降低成本,并获得行业竞争优势。金融服务、电信和医疗健康等关键基础设施领域的超过 3200 家政府和企业实体依靠 IBM 混合云平台和红帽 OpenShift 快速、高效、安全地实现数字化转型。IBM 在人工智能、量子计算、行业云解决方案和企业服务方面的突破性创新为我们的客户提供了开放和灵活的选择。对企业诚信、透明治理、社会责任、包容文化和服务精神的长期承诺是 IBM 业务发展的基石。了解更多信息,请访问:https://www.ibm.com/cn-zh