IBM LSF 系统简介

news2024/12/25 9:24:26

IBM LSF 系统简介

LSF(Load Sharing Facility)是IBM旗下的一款分布式集群管理系统软件,负责计算资源的管理和批处理作业的调度。它给用户提供统一的集群资源访问接口,让用户透明地访问整个集群资源。同时提供了丰富的功能和可定制的策略。LSF 具有良好的可伸缩性和高可用性,支持几乎所有的主流操作系统。它通常是高性能计算环境中不可或缺的基础软件。作用上与PBS一样,使用方法略有不同。

IBM Spectrum LSF (“LSF” ,简称为负载共享设施) 软件是业界领先的企业级软件。 LSF 在现有异构 IT 资源之间分配工作,以创建共享,可扩展且容错的基础架构,从而提供更快,更可靠的工作负载性能并降低成本。 LSF 均衡负载和分配资源,并提供对这些资源的访问权。

LSF 提供了一个资源管理框架,用于满足您的作业需求,查找运行该作业的最佳资源,并监视其进度。 作业始终根据主机装入和站点策略运行。

在这里插入图片描述

集群
一组运行 LSF 的计算机 (主机) ,它们作为单个单元一起工作,将计算能力,工作负载和资源组合在一起。 集群为计算资源网络提供单系统映像。

可以通过多种方式将主机分组到集群中。 集群可以包含:

  • 单个管理组中的所有主机
  • 子网上的所有主机

主机
集群中的主机执行不同的功能。

  • 管理主机
    充当集群整体协调程序的 LSF 服务器主机,执行所有作业调度和分派。
  • 服务器主机
    提交和运行作业的主机。
  • 客户机主机
    仅提交作业和任务的主机。
  • 执行主机
    运行作业和任务的主机。
  • 提交主机
    从中提交作业和任务的主机。

作业
在 LSF 系统中运行的工作单元。 作业是提交到 LSF 以执行的命令。 LSF 根据配置的策略调度,控制和跟踪作业。

作业可以是复杂问题,模拟场景,广泛计算或需要计算能力的任何内容。

作业槽
作业槽是在 LSF 系统中分配单个工作单元的存储区。

可以使用多个作业插槽来配置主机,并且您可以从队列分派作业,直到所有作业插槽都已填满为止。 您可以将作业插槽与集群中的 CPU 总数相关联。

队列
作业的集群范围容器。 所有作业都在队列中等待,直到调度这些作业并将其分派给主机为止。

队列与个别主机不对应; 每个队列都可以使用集群中的所有服务器主机或已配置的服务器主机子集。

将作业提交到队列时,不需要指定执行主机。 LSF 将作业分派到集群中的最佳可用执行主机以运行该作业。

队列实现不同的作业调度和控制策略。

资源
资源是集群中可用于运行工作的对象。 例如,资源包括但不限于主机, CPU 插槽和许可证。

LSF 集群组件
LSF 集群可管理资源,接受和调度工作负载以及监视所有事件。 用户和管理员可以通过命令行界面, API 或通过 IBM® Spectrum LSF Application Center 来访问 LSF

在这里插入图片描述

在 LSF 集群中

了解在 LSF 主机上运行的各种守护进程, LSF 集群通信路径以及 LSF 如何容忍集群中的主机故障。

  • LSF 守护程序和进程
    多个 LSF 进程在集群中的每个主机上运行。 正在运行的进程的类型和数量取决于主机是 管理 主机还是计算主机。
  • LSF 集群通信路径
    了解集群中 LSF守护程序之间的通信路径。
  • 故障容错和自动管理主机故障转移
    LSF 的稳健体系结构设计时考虑到了故障容错。 系统中的每个组件都具有恢复操作,因此重要组件由另一个组件监视,并且可以从故障中自动恢复。
  • 安全性
    了解 LSF 安全模型,认证和用户角色。

1、LSF 守护程序和进程

多个 LSF 进程在集群中的每个主机上运行。 正在运行的进程的类型和数量取决于主机是 管理主机 还是 计算主机。

在这里插入图片描述

在这里插入图片描述

2、LSF 集群通信路径
在这里插入图片描述

容错和自动管理主机故障转移

LSF 的稳健体系结构是在设计时考虑了容错。 系统中的每个组件都具有恢复操作,因此重要组件由另一个组件监视,并且可以从故障中自动恢复。

LSF 旨在继续运行,即使集群中的某些主机不可用也是如此。 集群中的一个主机充当 管理 主机,但如果 管理 主机变为不可用,那么另一个 管理 主机候选者将接管。 当集群中有一个 管理 主机候选者可用时, LSF 可用。

LSF 可以容许集群中任何主机或主机组发生故障。 当主机变为不可用时,将重新排队或丢失在该主机上运行的所有作业,这取决于该作业是否标记为可重新运行。 不会影响其他暂挂或正在运行的作业。

1)、故障转移的工作方式
容错取决于事件日志文件 lsb.events,该文件保留在主文件服务器上。 系统中的每个事件都会记录在此文件中,包括所有作业提交以及作业和主机状态更改。 如果 管理 主机变得不可用,那么将从 管理 候选列表中选择新的 管理 主机,并且新的 管理 主机上的 sbatchd 守护程序将启动新的 mbatchd 守护程序。 新的 mbatchd 守护程序读取 lsb.events 文件以恢复系统状态。

2)、重复事件日志记录
对于不希望仅依赖中央文件服务器来获取恢复信息的站点,可以将 LSF 配置为通过保留 lsb.events 文件的副本来维护重复事件日志。 副本存储在文件服务器上,并在主副本不可用时使用。 启用重复事件日志记录后,主事件日志将以本地方式存储在第一个 管理 主机上,并在主机恢复时与复制的副本进行再同步。

3)、主机故障转移
LSF 管理 主机是动态选择的。 如果当前 管理 主机变为不可用,那么另一个主机将自动接管。 从 lsf.conf 文件 (在安装时在 install.config 文件中指定) 的 LSF_MASTER_LIST 参数中定义的列表中选择故障转移 管理 主机。 列表中的第一个可用主机充当 管理 主机。

正在运行的作业由每个服务器主机上的 sbatchd 守护程序管理。 当新的 mbatchd 守护程序启动时,它会轮询每个主机上的 sbatchd 守护程序并查找其作业的状态。 如果 sbatchd 守护程序失败但主机仍在运行,那么在主机上运行的作业不会丢失。 当 sbatchd 守护程序重新启动时,它将重新控制正在主机上运行的所有作业。

4)、作业故障转移
可以将作业作为 rerunnable提交,以便它们自动从头开始再次运行或作为 checkpoint运行,以便它们在由于主机故障而丢失时从另一个主机上的检查点再次启动。

如果集群中的所有主机都关闭,那么所有正在运行的作业都将丢失。 当 管理 候选主机恢复并接管为 管理 主机时,它将读取 lsb.events 文件以获取所有批处理作业的状态。 假定在系统关闭时正在运行的作业已退出,除非这些作业被标记为可重新运行,并且将向提交用户发送电子邮件。 暂挂作业将保留在其队列中,并在主机变为可用时进行调度。

5)、分区集群
如果集群由网络故障分区,那么 管理 主机 LIM 将在分区的每一侧进行接管,而 管理 主机候选项在分区的每一侧都可用。 当每个主机仍可访问 LSF 可执行文件时,交互式负载共享仍然可用。

6)、分区网络
如果网络已分区,那么只有其中一个分区可以访问 lsb.events 文件,因此 LSF 服务仅在分区的一侧可用。 锁定文件用于确保只有一个 mbatchd 守护程序在集群中运行。

7)、作业异常处理
您可以配置主机和队列,以便 LSF 在作业运行时检测异常情况,并自动执行相应的操作。 您可以定制检测到的异常以及相应的操作。 例如,您可以将 LSF 设置为在作业退出时带有特定错误代码时自动重新启动该作业。

3、安全性

LSF 安全模型
在这里插入图片描述

缺省情况下, LSF 安全模型在内部跟踪用户帐户。 LSF 中定义的用户帐户包含用于提供认证的密码和用于提供授权的已分配角色 (例如管理员)。

LSF 用户角色
在未启用 EGO 的情况下, LSF支持以下用户角色:

  • LSF user
    有权将作业提交到 LSF 集群并查看作业和集群的状态。

  • 主 LSF 管理员
    有权执行集群范围的操作,更改配置文件,重新配置集群以及控制所有用户提交的作业。
    配置文件 (例如 lsb.params 和 lsb.hosts ) 配置 LSF的所有方面。

  • LSF 管理员
    有权执行影响其他 LSF 用户的操作。
    – 集群管理员
    可以对集群中的所有作业和队列执行管理操作。 可能无权更改 LSF 配置文件。
    –队列管理员
    管理许可权仅限于指定的队列。
    – 主机组管理员
    管理许可权仅限于指定的主机组。
    – 用户组管理员
    管理许可权仅限于指定的用户组。

启用了 EGO 的 LSF 用户角色
启用了 EGO 的 LSF支持以下角色:
-集群管理员
可以管理集群中的任何对象和工作负载。
-使用者管理员
可以管理他们有权访问的使用者中的任何对象和工作负载。
-使用者用户
可以在他们有权访问的使用者中运行工作负载
在 EGO中创建和管理用户帐户。 EGO 授权其用户数据库中的用户。

LSF 用户组
通过在可以指定 LSF 用户组的任何位置指定 UNIX 或 Linux 用户组,直接使用任何现有 UNIX 和 Linux 用户组。

外部认证
LSF 为首选使用外部或第三方安全性机制 (例如 Kerberos, LDAP 或 ActiveDirectory) 的站点提供了安全插件。

您可以创建定制的 eauth 可执行文件,以提供用户,主机和守护程序的外部认证。 从外部安全系统传递凭证。 还可以定制 eauth 可执行文件以从操作系统或认证协议 (例如 Kerberos) 获取凭证。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/910783.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实时拍照翻译怎么做?几个步骤轻松翻译

现在,随着人们跨越国界的频率不断增加,语言障碍成为了一个越来越普遍的问题。为了解决这个问题,一些应用程序开始提供实时拍照翻译功能,这种功能可以通过手机摄像头拍摄文本,并将其翻译成用户所需的语言。那么&#xf…

YOLO目标检测——动漫头像数据集下载分享

动漫头像数据集是用于研究和分析动漫头像相关问题的数据集,它包含了大量的动漫风格的头像图像。动漫头像是指以动漫风格绘制的虚构人物的头像图像,常见于动画、漫画、游戏等媒体。 数据集点击下载:YOLO动漫头像数据集50800图片.rar

结构型(四) - 装饰器模式

一、概念 装饰器模式(Decorator Pattern):允许向一个现有的对象添加新的功能,同时又不改变其结构。这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的…

【Java转Go】快速上手学习笔记(五)之Gorm篇

目录 go get命令1、go get命令无响应问题2、Unresolved dependency错误 连接数据库连接.gomain.go 操作数据库创建表新增数据更新数据删除数据查询数据单表查询多表查询 用到的数据库表原生SQL 完整代码 go往期文章笔记: 【Java转Go】快速上手学习笔记(…

python-docx把dataframe表格添加到word文件中

python-docx把dataframe表格添加到word文件中思路较为简单: 先把dataframe格式转变为table新建一个段落:document.add_paragraph()把table添加到这个段落下方 效果图 示例代码 from docx import Document, oxml import pandas as pd import numpy as …

什么是安全测试报告,怎么获得软件安全检测报告?

安全测试报告 软件安全测试报告:是指测试人员对软件产品的安全缺陷和非法入侵防范能力进行检查和验证的过程,并对软件安全质量进行整体评估,发现软件的缺陷与 bug,为开发人员修复漏洞、提高软件质量奠定坚实的基础。 怎么获得靠谱…

单链表制作通讯录

1 问题 通讯录具有输入信息,显示信息,查找以姓名作为关键字,删除信息。 2 方法 实现一个基于面向对象思想的,具有添加、查看、删除、修改、查找、保存数据功能的通讯录程序。 class Node: def __init__(self, name, phone_numb…

HCIP的交换机(STP,VRRP)实验

题目 拓扑图 链路聚合 LSW1 [lsw3]interface Eth-Trunk 1 [lsw3-Eth-Trunk1]trunkport GigabitEthernet 0/0/3 0/0/4 [lsw3-Eth-Trunk1]q [lsw3]vlan batch 1 2 [lsw3]interface Eth-Trunk 1 [lsw3-Eth-Trunk1]port link-type trunk [lsw3-Eth-Trunk1]port trunk allow-pass…

多线程与并行计算(python与c++)基础入门篇

目录 1.简介 1.1什么事多线程 1.2概念 2.python多线程基础知识讲解 创建线程: 启动线程: 线程函数/方法: 线程同步: 线程间通信: 线程结束与等待: 线程常用方法: 3.c多线程基础知识…

无涯教程-PHP - ereg()函数

ereg() - 语法 int ereg(string pattern, string originalstring, [array regs]); ereg()函数在string指定的字符串中搜索pattern指定的字符串,如果找到pattern,则返回true,否则返回false。搜索对于字母字符区分大小写。 可选的输入参数re…

拒绝摆烂!C语言练习打卡第五天

🔥博客主页:小王又困了 📚系列专栏:每日一练 🌟人之为学,不日近则日退 ❤️感谢大家点赞👍收藏⭐评论✍️ 目录 一、选择题 📝1.第一题 📝2.第二题 &#x1f4d…

论文复现--关于yolov8在姿态估计方面的研究

分类:动作捕捉 github地址:https://github.com/ultralytics/ultralytics 所需环境: Windows10,CUDA11.6,conda 4.13.0,Visual Studio 2017; 目录 环境搭建Conda list使用测试 环境搭建 # 创建环…

企业出海营销:如何借助HubSpot将潜在用户引导为忠实客户

在全球化的商业环境中,企业出海营销已成为实现可持续增长的重要策略之一。然而,成功吸引潜在客户并将其转化为忠实客户并非易事。 这正是HubSpot这款强大的综合性平台发挥作用的时候,它不仅帮助企业引导潜在客户进入销售漏斗,还在…

PyQty5—第一课:安装及简单的界面设计(附代码)

在日常办公中我们将经常使用的代码与PyQty5进行配合,从而设计出GUI的小程序,这样不经界面好看而且可以进行打包,发给自己的亲朋好友们进行使用,那么今天我们就来进行PyQty5的第一节课 1、首先我们需要安装PyQty5的库 库名安装si…

Jmeter压测 —— 动态数据关联

在进行压测时,经常需要对一些动态的数据进行数据关联。要不然容易造成脚本回放失败,或者多个虚拟用户执行时,只有一个用户运行成功。如下图:未关联数据时,脚本参数及回放结果 因此,在进行压测时&#xff0c…

opencv 进阶15-检测DoG特征并提取SIFT描述符cv2.SIFT_create()

前面我们已经了解了Harris函数来进行角点检测,因为角点的特性,这些角点在图像旋转的时候也可以被检测到。但是,如果我们放大或缩小图像时,就可能会丢失图像的某些部分,甚至有可能增加角点的质量。这种损失的现象需要一…

纯js封装一个弹出窗口

先上效果图: 左图是默认的样式(默认标题是黑色的。不是橙色的。截图时我改了点东西所以变了色。。。)。右图是通过传递参数自定义了外观的样式。 封装实现: function showWindow() {this.rnd Math.random();this.obj null;this.title ;this.content …

NER(命名实体识别)的介绍与使用--附源码

概述 本文将向您简要介绍命名实体识别,这是一种用于识别文本文档中存在的实体的流行方法。本文针对 NLP 领域的初学者。在本文末尾,已经实现了预训练的 NER 模型来展示实际用例。 为什么是NER? 图1 通过观察上

排序算法之详解选择排序

引入 选择排序顾名思义是需要进行选择的,那么就要问题了,选择到底是选择什么呢?选择排序的选择是选择数组中未排序的数组中最小的值,将被选择的元素放在未排序数组的首位 如果你对 ‘未排序数组’ , ‘选择’ 的概念不理解&#…

C++中机器人应用程序的行为树(ROS2)

马库斯布赫霍尔茨 一、说明 以下文章为您提供了对机器人应用程序或框架中经常使用的行为树的一般直觉:ROS,Moveit和NAV2。了解行为 Tress (BT) 框架的原理为您提供了在游戏领域应用知识的绝佳机会。BT可以与Unity或Unreal集成。 由…