PBS^usage
PBS是公开源代码的作业管理系统,在此环境下运行,用户不需要指定程序在哪些节点上运行,程序所需的硬件资源由PBS管理和分配。
PBS(Portable Batch System)是由NASA开发的灵活的批处理系统。它被用于集群系统、超级计算机和大规模并行系统。PBS主要有如下特征:
- 易用性:为所有的资源提供统一的接口,易于配置以满足不同系统的需求,灵活的作业调度器允许不同系统采用自己的调度策略。
- 移植性:符合POSIX 1003.2标准,可以用于shell和批处理等各种环境。
- 适配性:可以适配与各种管理策略,并提供可扩展的认证和安全模型。支持广域网上的负载的动态分发和建立在多个物理位置不同的实体上的虚拟组织。
- 灵活性:支持交互和批处理作业。
常用命令
Linux之三剑客,awk、sed、grep的用法^edit
awk
1 | eth0 Link encap:Ethernet HWaddr 00:0C:29:18:4C:35 |
sed
stream editor 流编辑器
sed 从输入读取一行,将之拷贝到一个编辑缓冲区,按指定的sed命令编辑完之后,将其发送到屏幕,然后将这行删除,读取下一行。(注意,输出的是编辑之后的结果,如果是删除,输出中部包含删除的结果。重定向之后,部打印到屏幕上。)
1 | 语法结构 |
grep
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
要用好grep这个工具,其实就是要写好正则表达式,所以这里不对grep的所有功能进行实例讲解,只列几个例子,讲解一个正则表达式的写法。
- pattern 可以是正则表达式(用单引号)、或字符串(双引号)、或一个单词(没有引号)
1 | ls -l | grep \'^a\' |
1 | ls -thl | grep 'snakejob.star_2pass_align.*o.*' | awk '{print $7,$8,$9}' | head -n 36 |
其他
pestat
节点状态:
- Excl 所有CPU资源已被占用;
- Busy CPU已接近满负荷运行;
- free 全部或部分CPU空闲;
- offl 管理员手动指定离线状态;
此外,还可以使用另外一个命令pnodes
来查看每个节点被占用的cpu核心数,用户可以根据剩余cpu资源合理地指定自己作业中使用的cpu核心数,以免作业处于长期等待状态。该命令有个缺点,就是运行时间比较长,大概要3s才出结果,其原因是这套系统节点数太多,命令执行时间太长。^keylabwiki
1 | qsub -I -l nodes=node18 # 以交互方式运行 |
1 | #压缩 |
1 | ./configure --prefix=/opt/software # 利用软件编译安装软件,指定目录 |
MPI
MPI是一种用于节点间通信的方法。^wikipedia
我觉得「消息传递接口」(Message Passing Interface, MPI)就是这样一项技术,而且学习它确实可以让你的并行编程知识变得更深厚。^tutorials
makefile简介
Makefile文件
- 软件程序的管理工具
- 定义规则,实现自动化编译
- 处理源代码、目标文件、头文件、库文件等依赖关系
- 根据规则和依赖关系,结合时间戳实现精细化控制
make命令
- make命令执行 Makefile 中的定义的编译流程
- make命令默认读取当前目录 Makefile 或 makefile 文件,也可用 -f 参数指定 Makefile 文件