超算中心、并行计算

news2024/11/25 4:59:27

现在超算中心已经迅速发展

合肥:

合肥先进中心

合肥曙光超算中心平台

合肥安徽大学超算中心

合肥中科大超算中心

合肥中科院超算中心

合肥大一点的公司都会有自己的集群,

超算中心又称为集群,一般集群是小型服务器组成,超算中心是更大概念的,有很多小型服务器组成。

超算中心一般指的是大型集群,核数达到上千核数,核数多很多节点成为队列。

一般超算中心都会有3-5个队列,会根据投资多少,决定了队列的节点,有的节点是40核数,有的是48核数,有的是28核数,有的是128核数。

超算中心一般会有一台login登录节点,或者几台,几十台。就我们实验室的服务器集群5台,一台login节点,其余是运行节点。login电脑一般会限制终端数量。

关于超算中心一般有超算文件说明,那么关于如何使用超算中心是很多人关注的重点。队列的使用,集群是否和自己电脑上的linux使用方法是一样的。

"Linux下PBS(torque)任务排队管理系统的安装配置" 笔者推荐了集群管理系统torque,但是常常有朋友反应torque容易出故障与shell兼容不太好。笔者自从用了天河、成都超算和本校超算后,发现它们都用的slurm作为集群管理系统。

# su root #进入root用户
#slrum要进行munge密钥认证,所以要先安装munge并生成密钥
# apt-get install munge  # 安装munge
# /usr/sbin/create-munge-key # 生成munge密钥

安装slurm

# systemctl start slurmctld

# systemctl status slurmctld

# systemctl enable slurmctld

输入命令sinfo -N查看集群状态,可以到这个单节点是处于down状态的。此时提交任务即使服务器资源没有被占用,任务也会一直处于PD状态。因此需要把节点调为idle状态。

输入:scontrol show node可以看到故障原因为Not_responding

输入以下命名可以解决:

scontrol update NodeName=node0 State=DOWN Reason=Not_responding

slurmd restart

scontrol update NodeName=node0 State=RESUME

再输入sinfo -N时节点状态已经为idle了。

提交任务测试可以看到,提交上去任务立马运行,此时slurm集群管理系统安装成功。

附录:

#slurm常用的三个命令

sbatch #提交任务,使用方法sbatch run.sh 其中run.sh为任务脚本

squeue #查看队列

scancel #kill任务,使用方法 scancel JOB_ID

一个提交LAMMPS/VASP的slrum脚本如下

#!/bin/bash

#SBATCH --nodes=1

#SBATCH --job-name="cascade"

#SBATCH --ntasks-per-node=32

source ~/scripts/intel2019.sh

export PATH=~/Code/bin:$PATH

ulimit -c unlimited

ulimit -s unlimited

#mpd &

#mpirun -np 32 lammps < in.relax #核数可以自定义

mpirun -np 32 vasp > out.txt

命令1:sinfo (查看集群运行状态)

对于我这个初学者而言,SLURM 学习还是有一定难度。本文参考:slurm入门,在此谢谢作者!

1. SLURM 的安装和使用

# 安装slurm及其依赖
sudo apt-get install slurm-llnl

2. 配置slurm

可使用在线是slurm 配置器,由它为我生成基于表单数据的配置文件。注意:需根据自己超算的情况进行修改。

面向单节点集群的SLURM 配置文件,这个还没弄,到时候再看!

# slurm.conf file generated by configurator.html.
# Put this file on all nodes of your cluster.
# See the slurm.conf man page for more information.
#
ControlMachine=mtj-VirtualBox
#
AuthType=auth/none
CacheGroups=0
CryptoType=crypto/openssl
MpiDefault=none
ProctrackType=proctrack/pgid
ReturnToService=1
SlurmctldPidFile=/var/run/slurmctld.pid
SlurmctldPort=6817
SlurmdPidFile=/var/run/slurmd.pid
SlurmdPort=6818
SlurmdSpoolDir=/tmp/slurmd
SlurmUser=slurm
StateSaveLocation=/tmp
SwitchType=switch/none
TaskPlugin=task/none
#
# TIMERS
InactiveLimit=0
KillWait=30
MinJobAge=300
SlurmctldTimeout=120
SlurmdTimeout=300
Waittime=0
#
# SCHEDULING
FastSchedule=1
SchedulerType=sched/backfill
SchedulerPort=7321
SelectType=select/linear
#
# LOGGING AND ACCOUNTING
AccountingStorageType=accounting_storage/none
ClusterName=cluster
JobCompType=jobcomp/none
JobCredentialPrivateKey = /usr/local/etc/slurm.key
JobCredentialPublicCertificate = /usr/local/etc/slurm.cert
JobAcctGatherFrequency=30
JobAcctGatherType=jobacct_gather/none
SlurmctldDebug=3
SlurmdDebug=3
#
# COMPUTE NODES
NodeName=mtj-VirtualBox State=UNKNOWN
PartitionName=debug Nodes=mtj-VirtualBox default=YES MaxTime=INFINITE State=UP

最后一步说是生成一组作业凭证秘钥,且使用openssl 作为其凭证秘钥。

清单2. 为slurm 创建凭证

$ sudo  openssl  genrsa  -out  /usr/local/etc/slurm.key  1024
Generating RSA private key, 1024 bit long modulus
.................++++++
............................................++++++
e is 65537 (0x10001)
$ sudo openssl  rsa  -in  /usr/local/etc/slurm.key -pubout -out /usr/local/etc/slurm.cert
writing RSA key

完成凭证后,可以启动slurm 并与其交互。

3. 启动slurm

$ sudo /etc/init.d/slurm-llnl start  

清单3. 使用sinfo命令来查看集群

$ info
================================================================    
PARTITION     AVAIL    TIMELIMIT    NODES   STATE     NODELIST 
debug*        up       infinite     1       idle      mtj-VirtualBox    
================================================================

4. 更多的slurm命令

slurm

Slurm Workload Manager - Documentation

# apt-get install slurm-llnl
配置slurm配置文件:
笔者的配置文件如下,最重要的是开头一行和最后两行,其余的可以保持默认,具体可参考网站:https://www.ityww.cn/1470.html
ontrolMachine=node0
SlurmctldPort=6817
SlurmdPort=6818
AuthType=auth/munge
StateSaveLocation=/tmp
SlurmdSpoolDir=/tmp/slurmd
SwitchType=switch/none
MpiDefault=none
SlurmctldPidFile=/var/run/slurm-llnl/slurmctld.pid
SlurmdPidFile=/var/run/slurm-llnl/slurmd.pid
ProctrackType=proctrack/pgid
CacheGroups=0
ReturnToService=2
TaskPlugin=task/affinity
 
# make the default memory per core
DefMemPerNode=2048
MaxJobCount=10000
MinJobAge=180
 
 
# TIMERS
SlurmctldTimeout=120
SlurmdTimeout=120
InactiveLimit=0
KillWait=30
Waittime=0
# SCHEDULING
SchedulerType=sched/backfill
 
#SchedulerPort=7321
SelectType=select/cons_res
SelectTypeParameters=CR_CPU_Memory
FastSchedule=0
 
 
# LOGGING
SlurmctldDebug=3
 
#SlurmctldLogFile=/var/log/slurmctld.log
SlurmdDebug=3
 
#SlurmdLogFile=/var/log/slurmd.log
JobCompType=jobcomp/none
 
#JobCompLoc=
JobAcctGatherType=jobacct_gather/none
 
# COMPUTE NODES
NodeName=node0 CPUs=32 Sockets=2 CoresPerSocket=16  Procs=32 RealMemory=128853 State=UNKNOWN
PartitionName=compute Nodes=ALL Default=YES Shared=YES State=UP
 
启动munge:
# systemctl start munge
# systemctl status munge
# systemctl enable munge
开启:slurm

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

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

相关文章

EasyRecovery16免费的电脑的数据恢复工具

常见的数据恢复有两种方式&#xff0c;第一种方式是找别人恢复&#xff0c;按照市场价来说&#xff0c;数据恢复的价格每次在100-500之间&#xff0c;但这种方式容易使自己设备上的隐私资料泄露出去&#xff0c;不安全。 另一种方式则是自己学会数据恢复的方法&#xff0c;有问…

逻辑回归

逻辑回归 在分类问题中&#xff0c;要预测的变量y为离散值&#xff08;y0~1&#xff09;&#xff0c;逻辑回归模型的输出变量范围始终在 0 和 1 之间。 训练集为 {(x(1),y(1)),(x(2),y(2)),...,(x(m),y(m))}\{(x^{(1)},y^{(1)}),(x^{(2)},y^{(2)}),...,(x^{(m)},y^{(m)})\} {…

地址,指针,指针变量是什么?他们的区别?符号(*)在不同位置的解释?

指针是C语言中的一个重要概念&#xff0c;也是C语言的一个重要特色&#xff1b;使用指针&#xff0c;可以使程序简洁、紧凑、高效。不掌握指针&#xff0c;就没有掌握C语言的精华。 目录 一、定义 1.1地址 1.2指针 1.3指针变量 1.4指针和指针变量的区别 二、使用指针变量…

C#关于HWindowControl实现一些便捷功能——(缩放与拖动图像)

C#关于HWindowControl实现一些便捷功能——&#xff08;缩放与拖动图像&#xff09;一、关于Hwindow窗体显示的part二、以鼠标为中心的缩放三、以鼠标拖动移动图片一、关于Hwindow窗体显示的part 首先 HWindowControl 控件的尺寸是固定的&#xff0c;当我们在这个固定的尺寸中…

C++类和对象:构造函数和析构函数

目录 一. 类的六个默认成员函数 二. 构造函数 2.1 什么是构造函数 2.2 编译器自动生成的默认构造函数 2.3 构造函数的特性总结 三. 析构函数 3.1 什么是析构函数 3.2 编译器自动生成的析构函数 3.3 析构函数的特性总结 一. 类的六个默认成员函数 对于任意一个C类&…

零基础如何入门网络安全(黑客)

我经常会看到这一类的问题&#xff1a; 学习XXX知识没效果&#xff1b;学习XXX技能没方向&#xff1b;学习XXX没办法入门&#xff1b; 给大家一个忠告&#xff0c;如果你完全没有基础的话&#xff0c;前期最好不要盲目去找资料学习&#xff0c;因为大部分人把资料收集好之后&a…

三天吃透Java虚拟机面试八股文

本文已经收录到Github仓库&#xff0c;该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点&#xff0c;欢迎star~ Github地址&#xff1a;https://github.com/…

趣味数学题存疑待证1

原文出自&#xff1a;球面上随机 N 个点在同一个半球上的概率 要求任意N个点&#xff0c;全在同一个半球上的概率&#xff0c;我们需要构造使得分母为有限的样本集合&#xff0c;分子则为有N个点在同一半球的情况集 首先对任意N个点取其对称点使得可划分点为2N&#xff0c;在…

【数据库】第七章 数据库设计

第七章数据库设计 数据库设计概述 数据库设计的基本步骤 需求分析概念结构设计逻辑结构设计物理结构设计数据库实施数据库运行和维护 需求分析 收集需求&#xff0c;理解需求 收集各个角色的需求 概念数据库设计 建立概念模型 &#xff0c;E-R图/IDEF1x图 消除冲突&…

【JDK8新特性之日期时间API-案例实操】

一.JDK8新特性之日期时间API-案例实操 之前我们学习了Stream流、Lambda表达式以及方法引用等相关的内容&#xff0c;如果想学习的同学可以看一下之前的文章&#xff0c;接下来我们一起学习一下关于JDK8中新日期时间API的使用。 二.JDK中原始日期时间存在的问题 设计不合理&…

VC++随鼠标移动显示坐标和坐标映射模式学习

VC6&#xff0c;新建一个单文档工程&#xff1b; 把这两个加到视类头文件&#xff1b; CPoint m_ptOut; //用来保存鼠标坐标 CString strPosition; //用来保存输出的内容 视类CPP的构造函数中初始化&#xff0c; m_ptOut.x 0; m_ptOut.y 0; 用类向导为视类…

Boosting Crowd Counting via Multifaceted Attention之人群密度估计实践

这周闲来无事&#xff0c;看到一篇前不久刚发表的文章&#xff0c;是做密集人群密度估计的&#xff0c;这块我之前虽然也做过&#xff0c;但是主要是基于检测的方式实现的&#xff0c;这里提出来的方法还是比较有意思的&#xff0c;就拿来实践一下。论文在这里&#xff0c;感兴…

chatGPT模型原理

文章目录简介BertGPT 初代GPT-2GPT-3chatGPT开源ChatGPT简介 openai 的 GPT 大模型的发展历程。 Bert 2018年&#xff0c;自然语言处理 NLP 领域也步入了 LLM 时代&#xff0c;谷歌出品的 Bert 模型横空出世&#xff0c;碾压了以往的所有模型&#xff0c;直接在各种NLP的建模…

Java中的反射使用

1、获取Class对象的三种方式 1、对象调用Object类的getClass()方法&#xff08;对象.getClass()&#xff09; 2、调用类的class属性&#xff08;类名.class&#xff09; 3、调用Class类的静态方法&#xff08;Class.forName(“包名.类名”)&#xff09;常用 Student类 package…

Xcode Developer Document 开发者文档

总目录 iOS开发笔记目录 从一无所知到入门 文章目录IntroDeveloper Documentation 打开方式菜单栏点击 &#xff5c; 快捷键方式另一种打开方式Intro 2016年我在学校学Java的时候&#xff0c;要查某个Java类/方法的用法还得自己手动下载一种.chm格式的开发文档文件&#xff0c…

python爬虫常见错误

python爬虫常见错误前言python常见错误1. AttributeError: WebDriver object has no attribute find_element_by_id1. 问题描述2. 解决办法2. selenium&#xff1a;DeprecationWarning: executable_path has been deprecated, please pass in1. 问题描述2. 解决办法3. 下载了包…

4、算法MATLAB---认识矩阵

认识矩阵1、矩阵定义和基本运算1.1 赋值运算符&#xff1a;1.2 等号运算符&#xff1a;1.3 空矩阵1.4 一行一列矩阵1.5 行矩阵&#xff08;元素用空格或逗号分隔&#xff09;1.6 列矩阵&#xff08;分号表示换行&#xff09;1.7 m行n列的矩阵&#xff1a;行值用逗号间隔&#x…

SPI总线设备驱动模型

SPI总线设备驱动模型 文章目录SPI总线设备驱动模型参考资料&#xff1a;一、平台总线设备驱动模型二、 数据结构2.1 SPI控制器数据结构2.2 SPI设备数据结构2.3 SPI设备驱动三、 SPI驱动框架3.1 SPI控制器驱动程序3.2 SPI设备驱动程序致谢参考资料&#xff1a; 内核头文件&…

角角的Qt自学日记:Qt的安装

目录 2. 打开下载器&#xff0c;输入账号和密码&#xff0c;然后单击下一步&#xff1a; 3. 分别单击2个单选框&#xff0c;其它不用管&#xff0c;直接单击下一步&#xff1a; 4. 先设置一下安装目录&#xff0c;因为现在Qt基本都好几个g&#xff0c;建议找个内存够的盘。然…

尝试用程序计算Π(3.141592653......)

文章目录1. π\piπ2. 用微积分来计算π\piπ2.1 原理2.2 代码2.3 结果2.4 分析1. π\piπ π\piπ的重要性或者地位不用多说&#xff0c;有时候还是很好奇&#xff0c;精确地π\piπ值是怎么计算出来的。研究π\piπ的精确计算应该是很多数学家计算机科学家努力的方向&#xf…