服务器集群管理系统SGE使用指南

简介: 服务器集群管理系统SGE使用指南

集群和节点的概念:

集群(cluster)就是一组计算机,它们作为一个整体向用户提供一组网络资源。其中单个的计算机系统就是集群的节点(node)【即集群的基本单位是节点】。一个理想的集群是,用户从来不会意识到集群系统底层的节点,在他/她们看来,集群是一个系统,而非多个计算机系统。并且集群系统的管理员可以随意增加和删改集群系统的节点。


集群优越性:

使用集群起源于其良好的性能可扩展性(scalability)。提高cpu主频和总线带宽是最初提供计算机性能的主要手段。但是这一手段对系统性能的提供是有限的。接着人们通过增加CPU个数和内存容量来提高性能,于是出现了向量机,对称多处理机(SMP)等。但是当CPU的个数超过某一阈值,像SMP这些多处理机系统的可扩展性就变的极差。主要瓶颈在于CPU访问内存的带宽并不能随着CPU个数的增加而有效增长。因此,集群的优势显现出来了,集群系统的性能随着CPU个数的增加几乎是线性变化的。下图显示了这种情况:

微信截图_20230606161624.png


其它优势:

  1. 高可用性:集群中的一个节点失效,它的任务可以传递给其他节点。可以有效防止单点失效。
  2. 高性能:负载平衡集群允许系统同时接入更多的用户。
  3. 高性价比:可以采用廉价的符合工业标准的硬件构造高性能的系统。

了解了集群和节点的概念后,就是使用了。

在服务器提交任务之前应养成看节点占用情况的习惯,然后将任务提交到free的节点,避免任务一直在队列中等待的情况,查看占用情况有下面两种方式。

我们首先使用SGE集群管理系统在登录节点【登录节点一般就是你登录的节点】投递任务,SGE接收到任务后会将任务储存至一个指定区域,随后将任务投递至一个计算节点运行,运行结束后将结果返回。这样我们我们在登录节点投递任务后,就可以关掉电脑做其他事,SGE会把我们的任务安排在计算节点里执行。

## 投递任务
qsub -cwd -l vf=*G,p=n,h=node -q bc_rd.q -P RNAProj -binding linear:2 *.sh


-cwd:在当前目录下执行任务,同时,SGE的运行日志也会输出在当前目录

-l:申请所需的资源。vf=*G设置任务预计使用的内存大小(一般设置的值要稍微大一些,负责容易让节点挂掉),p=n设置所需的CPU数[一个cpu核心数对应一个线程],h=node设置任务指定投递的节点名称。日常使用时,并不是每次都要设置这三个参数,大家可以根据自己的需要自行删减。

-q:指定任务要投递到队列名称。

-P: 指定将此作业分配给的项目。如果管理员向你及部分其他用户授予向特定项目提交作业的权限,那么需要增加这一参数。

-binding linear:2 #将作业绑定到处理器核心

*.sh:需要投递的任务,建议在脚本前加上完整路径。

输入这条命令,我们的任务就投递到服务器上啦!

任务投递成功后,我们可以使用"qstat "查询任务的状态。

## 查看任务状态
qstat
## 查看指定任务状态
qstat -j job-ID
## 删除任务
qdel job-ID
## 查看计算节点资源状况信息
qhost

微信截图_20230606161717.png

job-ID:任务号

qstate:任务状态。一般会有以下情况,"qw"代表任务在等待执行状态,"r"代表任务正在执行,"s"代表任务暂时挂起,"dr"代表任务所在的计算节点挂了,需要联系管理员重启节点。任务还有其他状态,大家具体遇到时可以查询一下。

queue:任务所在的队列及计算节点。如图所示,代表任务被投递在了"rna"队列的“cu-0029"队列上。

qhost:使用该命令可以查看计算节点的资源状况,方便我们选择任务投递的队列和节点。

qdel :删除任务 qdel jobid   #可同时删除多个,如qdel jobid1 jodid2

qdel -u username #删除某用户所有任务

qhold命令:挂起qw的任务 ,qhold jobid

qhold -u *

qrls jobid #恢复

qmod命令:挂起running中的任务, qmod -sj jobid

qmod -usj jobid #恢复

如果未提交到SGE系统,直接运行的命令用kill -STOP pid 挂起,用kill -CONT pid恢复。

相关文章
|
11月前
|
弹性计算 关系型数据库 MySQL
【ECS生长万物之开源】搭建Moodle课程管理系统
Moodle是一个课程管理系统,采用PHP加MySQL方式运行的自由开源软件。使用Moodle为学生建立网上动态网站,可以根据需要随时调整界面、增减内容。本教程介绍如何使用云市场镜像快速搭建Moodle课程管理系统。
|
数据可视化 前端开发 数据挖掘
电子信息毕业设计VUE+websocket+Echart+服务器的智能农业管理系统
对于我们的传统农业生产方式,对于农田的参数检测、病虫害预警、远程管控等的实时效果能力达不到,对于现在的农作物而言,我们知道,农作物最重要的生长标准环境就是农地里的光照、温湿度、病虫害等等的因素,但是我们现在的传统生产方式是远远达不到要求的
电子信息毕业设计VUE+websocket+Echart+服务器的智能农业管理系统
|
关系型数据库 MySQL Java
使用学生体验服务器部署若依管理系统
主要内容是使用服务器部署若依前后端,springboot+vue的功能,方便自己做一个增删改查数据的功能
|
数据采集 域名解析 小程序
基于阿里云服务器的我在校园班委自动管理系统
利用python构造程序放置于阿里云服务器,实现我在校园固定时间点,自动通过邮箱提醒未完成日检日报、签到的同学完成打卡,以及程序的实现过程。
359 1
基于阿里云服务器的我在校园班委自动管理系统
|
弹性计算 Unix Linux
基于云服务器构建微信公众号管理系统
基于云服务器构建微信公众号管理系统
492 0
|
弹性计算 关系型数据库 MySQL
CLASS3 基于云服务器构建微信公众号管理系统
CLASS3 基于云服务器构建微信公众号管理系统
210 0
|
弹性计算 小程序 数据库
基于ECS构建微信公众号管理系统
基于ECS构建微信公众号管理系统
323 0
|
弹性计算 关系型数据库 MySQL
阿里云ECS 7天实践训练营 Class3 微擎构建微信公众号管理系统 学习笔记
阿里云ECS 7天实践训练营 Class3 微擎构建微信公众号管理系统 学习笔记
192 0
阿里云ECS 7天实践训练营 Class3 微擎构建微信公众号管理系统 学习笔记
|
弹性计算 网络安全 Apache
基于ECS构建微信公众号管理系统
基于ECS构建微信公众号管理系统
211 0
基于ECS构建微信公众号管理系统
|
弹性计算 监控 安全
Day3 在云服务器上创建自己的微信公众号管理系统
Day3 在云服务器上创建自己的微信公众号管理系统
226 0