IBM Spectrum LSF Session Scheduler(会话调度程序)提高总体集群利用率和系统性能

本文主要是介绍IBM Spectrum LSF Session Scheduler(会话调度程序)提高总体集群利用率和系统性能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 IBM Spectrum LSF Session Scheduler 提高总体集群利用率和系统性能

LSF Session Scheduler 使用户能够使用作业级任务调度程序在单个 LSF 作业的分配中运行短期任务的大型集合,该调度程序为作业分配一次资源,并对每个任务复用已分配的资源。 LSF Session Scheduler 实现了分层的个人调度范式,可提供非常低的延迟执行。 由于每个作业的等待时间非常短,因此 LSF Session Scheduler 非常适合执行非常短的作业,无论这些作业是任务列表还是具有参数执行的作业数组。

虽然传统的 LSF 作业提交,调度和分派方法 (例如,作业数组或作业块) 非常适合长时间和短时间运行的作业或具有相互依赖关系的作业的组合,但 LSF Session Scheduler 是具有短时间运行时间的大量独立作业的理想选择。

随着集群的增长和工作负载量的增加,委派调度决策的需求也会增加。 LSF Session Scheduler 支持将多个任务作为单个 LSF 作业提交,从而提高 LSF 调度程序的吞吐量和性能。

每个 LSF Session Scheduler 都以类似于并行作业的方式动态调度。 然后, ssched 命令的每个实例在其分配的工作负载中管理其自己的工作负载。 工作作为任务数组或任务定义文件提交。

LSF Session Scheduler 满足运行大量短作业的以下目标:

 - 最大限度减少调度短作业时的等待时间; 
 - 提高总体集群利用率和系统性能;
 -  根据 LSF 策略分配资源 ;
 - 支持现有 LSF执行前,执行后程序,作业启动程序,资源限制等; 
 - 每个用户处理数千个用户和超过 50000 个短作业。

系统需求

支持的操作系统

LSF Session Scheduler 在以下分发版中交付:

  • lsf10.1.0_ssched_lnx26-libc23-x64.tar.Z

所需的库

注: 缺省情况下,所有 Linux 发行版都可能未安装这些库。

在 Linux 2.6 (x86_64) 上,需要以下外部库:

  • libstdc++.so.6
  • libpthread-2.3.4.so 或更高版本

兼容的 Linux 发行版

经认证的兼容发行版包括:

  • Red Hat Enterprise Linux AS 3 或更高版本
  • SUSE Linux Enterprise Server 10

IBM Spectrum LSF

LSF Session Scheduler 随附于 IBM Spectrum LSF Advanced Edition ,并作为 IBM Spectrum LSF的其他版本的附加组件提供:

  • 如果要使用 IBM Spectrum LSF Advanced Edition,请从与 IBM Spectrum LSF Advanced Edition 分发包相同的下载页面下载 LSF Session Scheduler 分发包。
  • 如果要使用其他版本的 IBM Spectrum LSF,请购买 LSF Session Scheduler 作为单独的附加组件,然后从 LSF Session Scheduler 下载页面下载分发包。

LSF Session Scheduler 术语

作业

由 mbatchd 和 mbschd 单独调度并分派到 sbatchd 的传统 LSF 作业

任务

类似于作业,用于描述可执行文件及其在执行节点上运行的环境的工作负载单元。 任务由 LSF Session Scheduler管理和分派。

作业会话

LSF 作业,由 mbatchd单独调度,但未作为 LSF 作业进行分派。 相反,正在运行的 LSF Session Scheduler 作业会话表示用于运行大量任务集合的节点分配

调度程序

在为作业会话分配的节点中接受和分派任务的组件。

体系结构

当 LSF 会话调度程序开始运行时,它将在其分配中的每个主机上启动一个执行代理程序。

将提交,调度和分派 LSF Session Scheduler 个作业 (如正常 LSF 个作业)。

当 LSF Session Scheduler 开始运行时,它将在其分配中的每个主机上启动一个 LSF Session Scheduler 执行代理程序。

然后, LSF Session Scheduler 将读取任务定义文件,该文件包含要运行的任务的列表。 任务将发送到执行代理程序并运行。 任务完成后,列表中的下一个任务将分派到可用主机。 这将一直持续到所有任务都已运行。

通过 LSF Session Scheduler 提交的任务会绕过 LSF mbatchd 和 mbschd。 LSF mbatchd 无法识别个别任务。

组件

LSF Session Scheduler 包含以下组件。

LSF Session Scheduler 命令 (ssched)

ssched 命令接受并分派为作业会话分配的节点中的任务。 它读取任务定义文件并将任务发送到执行代理程序。 ssched 还会记录错误,执行任务记帐以及根据需要重新排队任务。

sservice 和 sschild

这些组件是执行代理程序。 它们在分配中的每个远程主机上运行。 他们设置任务执行环境,运行任务,并启用任务监视和资源使用情况收集。

性能

已测试 LSF Session Scheduler 以支持多达 50,000 个任务。 根据性能测试,最佳最大分配大小 (由 bsub -n指定) 取决于任务的平均运行时。 以下是一些典型结果:


平均运行时 (秒)

建议的最大分配大小 (槽)

012
564
15256
30512

这篇关于IBM Spectrum LSF Session Scheduler(会话调度程序)提高总体集群利用率和系统性能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/307790

相关文章

将Java程序打包成EXE文件的实现方式

《将Java程序打包成EXE文件的实现方式》:本文主要介绍将Java程序打包成EXE文件的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录如何将Java程序编程打包成EXE文件1.准备Java程序2.生成JAR包3.选择并安装打包工具4.配置Launch4

Java程序进程起来了但是不打印日志的原因分析

《Java程序进程起来了但是不打印日志的原因分析》:本文主要介绍Java程序进程起来了但是不打印日志的原因分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Java程序进程起来了但是不打印日志的原因1、日志配置问题2、日志文件权限问题3、日志文件路径问题4、程序

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

SpringBoot实现微信小程序支付功能

《SpringBoot实现微信小程序支付功能》小程序支付功能已成为众多应用的核心需求之一,本文主要介绍了SpringBoot实现微信小程序支付功能,文中通过示例代码介绍的非常详细,对大家的学习或者工作... 目录一、引言二、准备工作(一)微信支付商户平台配置(二)Spring Boot项目搭建(三)配置文件

利用Python快速搭建Markdown笔记发布系统

《利用Python快速搭建Markdown笔记发布系统》这篇文章主要为大家详细介绍了使用Python生态的成熟工具,在30分钟内搭建一个支持Markdown渲染、分类标签、全文搜索的私有化知识发布系统... 目录引言:为什么要自建知识博客一、技术选型:极简主义开发栈二、系统架构设计三、核心代码实现(分步解析

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

Java时间轮调度算法的代码实现

《Java时间轮调度算法的代码实现》时间轮是一种高效的定时调度算法,主要用于管理延时任务或周期性任务,它通过一个环形数组(时间轮)和指针来实现,将大量定时任务分摊到固定的时间槽中,极大地降低了时间复杂... 目录1、简述2、时间轮的原理3. 时间轮的实现步骤3.1 定义时间槽3.2 定义时间轮3.3 使用时