中国海洋大学生命科学学院生物信息学高性能计算机群(CLUSTER

中国海洋大学生命科学学院生物信息学高性能计算机群(CLUSTER
中国海洋大学生命科学学院
生物信息学高性能计算机群(CLUSTER)用户指南
中国海洋大学生命科学学院
2011-03-08 第一版
1 / 23
目
录
第 1 章 认识 Cluster ----------------------------------------------------------------------------------------3
第 2 章 使用 Cluster -------------------------------------------------------------------------------------7
第 3 章 Linux 常用命令 ----------------------------------------------------------------------------------10
第 4 章 软件编译和安装 ----------------------------------------------------------------------------------16
第 5 章 并行计算---------------------------------------------------------------------------------------------18
第 6 章 文件传输---------------------------------------------------------------------------------------------19
附录:常用生物信息学软件-----------------------------------------------------------------------------21
特别注意事项------------------------------------------------------------------------------------------------22
后记-------------------------------------------------------------------------------------------------------------24
2 / 23
第 1 章:认识 Cluster
1.什么是 Cluster 系统
Cluster 一般由一台主机(main 或 node1)和多台节点机(node)构成,是一
种松散耦合的计算节点集合。为用户提供网络服务或应用程序的单一客户视图,
同时提供接近容错机的故障恢复能力。通常 Cluster 的每台机器通过相应的硬件
及软件互连,每个群集节点都是运行其自己进程的独立服务器。这些进程可以彼
此通信,对网络客户机来说就像是形成了一个单一系统,协同起来向用户提供应
用程序、系统资源和数据。 Cluster 概念的提出在 70 年代主要是为了进行一些
大运算量的科学计算。随着网络的发展,之后的 Cluster 系统还被用作网络服务
器,发挥其故障恢复和均衡负载的能力。
使用 PC 机构建 Cluster 的好处在于开发成本低,而且由于每台节点机都是
普通的 PC 机,在某一台机器发生故障的时候,可以方便的进行维护,而不影响
整个系统的运行。
中国海洋大学生命科学学院的生物信息学高性能计算 PC Cluster 系统(以下
简称 CLUSTER)
,由 4 台 64 位的 PC 机组成。4 台节点机名称依次为 node1、
node2、
node3、node4。这 4 台机器每台有 4 个 4 核的 CPU,也就是说每个节点上可以
同时提供 16 个 CPU,总共可提供 64 个 CPU。操作系统使用的是 SUSE Linux
Enterprise Server 10 (x86_64)。图 1 为 CLUSTER 目前的结构。目前仅能从内部局
域网登陆,登录 node1 的 IP 地址为 192.168.1.111。这个地址可能会根据系统配
臵需要不时改变,请注意通知。由于校园网网关的限制以及安全的考虑,目前无
法从校外登陆。如果有必要,我们将和网络中心协调,争取实现从外网登陆,方
便大家的使用。
3 / 23
Figure 1: CLUSTER 总体结构
Figure 2: CLUSTER 服务器结构
4 / 23
2. Linux 操作系统
Linux 是开源的操作系统,由内核和外部模块构成核心功能, Linux 上的软
件运行以后台进程的方式进行。软件源代码由编译器编译成可执行文件(bin)
存放在文件系统中,供用户调用执行。对于维持系统基本功能的服务( service)
,
比如 httpd,通常以守护进程( daemon)的方式开机后自动在后台执行,等待
用户的调用。用户同系统的交互由 SHELL 来完成,类似 Windows DOS 系统的
命令行。用户登录服务器后,通过在 SHELL 中输入命令来进行操作。 因此,
用户要使用 Linux 系统,必须掌握基本的 Linux 命令。
Linux 的用户分为两种:超级用户( root)和普通用户。 root 用户拥有所有
的权限,普通用户的权限在账号被创建的时候可以进行相应的设臵。
Linux 系统中的所有文件都被赋有一定的属性,这些属性包括拥有这个文件
的用户( user)
、组( group)、读写运行的访问权限、最近修改的时间等。其中
访问权限的功能非常强大。众所周知 Linux 系统的安全性很高,可以说 Linux 系
统的安全就依赖于这样一套严备的访问权限体系。
访问权限在 Linux 系统中由一个 10 位的字符串表示,第一位表示文件的类
别: -表示普通文件(file)
; d 表示文件目录( directory)
; l 表示链接(symbolic
link)
。后面的 9 位分为 3 组 rwx,第一组为文件所有者的访问权限,第二组为文
件所有者所在群组的访问权限,第三组为其他用户的访问权限。每组的 3 个字
母: r 代表可读权限( readable); w 代表可写权限(writable);x 代表可执行权
限( executable)
。例如:
[[email protected]:~]# ls -l
total 3
-rw------ 2 ime Users 4096 May 17 2008 demo.txt
-rwxrwx-- 1 ime Users 4096 May 17 2008 do.exe
5 / 2317 2008 home
drwxr-xr-x 7 ime Users 4096 May
lrwxrwxrwx 1 ime Users 8
May 17 2008 link -> home/
[[email protected]:~]#
从上例我们可以看到,用户 ime 隶属于 Users 用户组,其家目录下有一个
home 文件目录,两个普通文件。 demo.txt 文件只能被 ime 读写,并且不能被执
行
( rw-)。do.exe 文件可以被 ime 以及所有隶属于 Users 的用户读写以及执行,
但是不能被其他用户读写执行。在 Cluster 上,用户可以设臵自己家目录中的文
件的访问权限,而对别的用户的文件的访问,则根据权限设臵的不同而不同。
另一个 Linux 操作系统的特点是链接( symbolic link)
,指向一个链接的文
件路径会被自动定向到源文件的位臵。比如上面例子中 link 为一个指向 home 目
录的链接。
Cluster 的 主 机 和 节 点 之 间 的 文 件 共 享 是 通 过 autofs 服 务 实 现 的 。 在
/etc/auto.misc 里定义了本地机器挂载的网络文件目录。 /etc/exports 里定义了别
的机器能够挂载的本机的目录。挂载的文件目录在 /misc 里可以找到。 Cluster
的机器为了管理方便,
将 /misc 下的目录链接到了 /mnt 下。
用户的信息由 node1
通过 yp 服务统一管理,
每台节点机的 /home 都挂载为 node1 机器上的 /home。
用户自己家目录的实际存放点是散布在节点机上的,在 /home 下链接到实际地
点。
在 node1 的/public/software 上安装了的软件,用户可以通过修改 PATH 环
境变量直接调用。附录中列出了目前安装的软件列表。
6 / 23
第 2 章:使用 Cluster
当管理员向你提供了用户名和密码后,这表示你已经获取了访问和利用
Cluster 上计算资源的途径。为了展开 Cluster 上的科学计算工作,我们需要做一
些准备工作。
1. 本地准备工作
为了登录 Cluster,在本地的 PC 机上需要安装链接服务器 SHELL 的客户端
(client)程序。对于 windows 用户,建议使用的软件是 Putty 和 SSH Secure Shell
Client,最新版的本说明书以及这两个软件可从 www.DNAPlusPro.com 下载。
Figure: Putty 登录设臵
Login as: ime
Using keyboard-interactive authentication.
password:
Last login: Tue Mar 15 16:01:25 2010 from 192.168.1.88
[[email protected]:~]#
Figure: Putty 登陆界面
7 / 23
Figure: SSH Secure Shell Client 登录设臵
对于本地计算机的操作系统为 Linux 的用户,可以直接使用系统命令行中的
ssh 服务:
[[email protected]:~]$ ssh [email protected]
password:
Last login: Tue Mar 15 16:31:25 2010 from 192.168.1.88
[[email protected]:~]#
纯字符的 SHELL 命令行通常已经能够满足大多数的调试运行软件的用户。
登陆之后,首先要进行的、最重要的事情是用 passwd 命令改自己的密码,这是
为了保证你的账号和资源安全。你的密码应该只有你一个人知道。当密码遗忘或
遇到问题需要管理员解决时,可请管理员修改自己的密码。
8 / 23
修改密码的方法如下:
[[email protected]:~]# yppasswd
Changing password for ime on node1.
Please enter old password:
Changing NIS password for ime on node1.
Please enter new password:
Please retype new password:
The NIS password has been changed on node1.
[[email protected]:~]#
Linux 系统中的密码在键入时不会显示。注意不能使用 passwd 命令,因为那
样修改后的密码只能在你运行 passwd 命令的那台机器上生效。 Cluster 上使用
yppasswd 命令作用是通过 yp 服务使修改后的密码被传递到各个节点。
修改完密码后,可以管理一下自己的家目录, Linux 系统中,当登录用户为
aaa 时,家目录路径是/public/home/aaa。在家目录中,一般会有一个 .bashrc 文
件存放 bash 的环境变量。
bash 是 Linux SHELL 的一种,
其语法比较接近 C 语言,
Linux 的 SHELL 还有 sh、csh、tcsh 等多种。目前 CLUSTER 上的用户默认 SHELL
是 bash。关于.bashrc 文件的详细介绍请参考下一部分内容。
登录 Cluster 后,可以通过 rsh 命令切换到各个节点,比如从 node1 上 rsh
登录到 node02 节点:
[[email protected]:~]# rsh node2
Last login: Tue Nov 25 13:14:03 from node1
[[email protected]:~]#
至此,可以在家目录中建立目录,存放要运行的软件和数据。在平时的使用
中,维护自己的家目录是非常重要的,对于软件的编译和运行,一个有条有理的
目录能够帮助你顺利完成自己的计算任务。所以我们必须熟悉 Linux 操作命令。
9 / 23
第 3 章:Linux 常用命令
Linux 操作系统自带的系统命令有很多,然而常用的只有不超过 30 个。这
些命令大致分为文件操作和进程管理两大类,具体用法参考相关书籍或网页。
1. 常用命令:
1)
man [command]查看 command 命令的说明文档( manual page)
2)
ll 或 ls -[options] [directory]列出目录里的文件, 常用的 ls 的选项有 -l
-a -t 等
3)
cd [directory]进入文件夹(不加目录名则默认进入你的家目录)
4)
pwd 显示当前所在目录
5)
rm [files]删除文件(删除目录需要加 -r 选项,强制删除用 -f)
6)
cp [source] [target]复制文件
7)
mv [source] [target]移动文件(也可以理解为改名)
8)
touch [filename]新建名为 filename 的文本文档
9)
mkdir [-p] [directory]新建文件夹( -p 为建立整个路径)
10) ln [-s] [path] [link]建立链接( -s 为建立软链接)
11) cat [textfile]显示文本文档的内容
12) grep 'content’ [file]在 file 中查找有 content 的行
13) sed, awk, cut...字符串处理程序
14) chown [user.group] [file]修改 file 的所有人和群组
15) chmod 755 [-R] [file]改变 file 的访问权限, 755 三个数字为三组访问
权限的加权值。 r=4,w=2,x=1。755 代表的意思是 -rwxr-xr-x。又
比如 644 的意思是-r-xr-r-等等。
10 / 23
16) tar zxvf [*.tar.gz]解压缩文件包, z/j=gunzip/bz2 格式, c/x=压缩 /
解压缩
17) find -name [filename]在当前文件夹搜索名为 filename 的文件 ,有比较
多的高级选项
18) locate [file]快速查找定位文件,只能搜文件名
19) file [file]查看 file 的文件类型
20) vi 功能强大的文本编辑工具 : i 进入编辑模式 Esc 退出编辑模式 r
修改单个字符 :w 保存 :q[!](放弃修改)退出 :h 帮助 /string 搜索
string :2 co 4 将第 2 行拷贝到第 4 行
21) [command] > outfile 将 command 命令的执行结果写入到 outfile 文本
文件中
22) &在后台执行程序
23) [command1] | [command2] 把 command1 执行的结果作为输入送到
command2 中执行
2. 环境变量
Linux 系统的环境变量的作用在于他们定义了应用程序需要多次调用的值,
比如:系统文件的路径、 IP 地址等。定义系统变量可以方便程序获得所需的值,
而不必每次都重新定义。PATH 是最重要的一个环境变量,它的作用是存放可执
行命令路径,当你在 shell 提示符后键入一个命令后, Linux 会到 PATH 指定的
路径去查找相对应的可执行文件,找到后执行它。所以如果你要调用的命令路径
不在 PATH 中,就得每次都在命令前加上绝对路径才能正常调用。
11 / 23
在 bash 中,查看系统变量的值,可以用 echo $NAME。定义系统变量的方
法是: export NAME=value,这个变量在 bash 被关闭之前有效。为了让环境变
量永久被记住,则需要将它写入.bashrc 文件。系统在打开一个 bash 的同时,会
自动加载 .bashrc 中定义的变量。改动.bashrc 内容后,需执行 source .bashrc 或重
新登录 bash 才能生效。
除了 Linux 系统通用的命令以外,
Cluster 上常用的命令有 pgi 的系列编译器、
mpich/mpi 并行程序命令,以及一些常用生物信息软件的命令(见附录),它们
的路径都被加进了 PATH 变量里。使用者在掌握了命令的使用方法后直接使用
即可。
3.进程管理
在平时的使用中,学会进程管理是非常有必要的,因为调试程序的过程中往
往会遇到程序非正常退出或失去响应,甚至死循环等现象。这是必须查看程序占
用的进程,进行适当的操作。
Linux 系统的进程分前台和后台两种,当你在 shell 中输入程序名直接执行,
在执行过程中下一个提示符不出现,则程序在前台执行,比如 :
[[email protected]:]# clustalw-mpi
此时命令行直到 clustalw-mpi 执行完毕才能键入新命令。 clustalw-mpi 在前
台运行。另一种程序的运行方式是后台运行。同样以 clustalw-mpi 为例:
[[email protected]:]# clustalw-mpi &
[1] 13242
[[email protected]:]#
此时, clustalw-mpi 已经在后台开始运行。进程号 (pid)为 13242。如果要将
12 / 23
clustalw-mpi 的输出结果保存到文本文件的话,可以执行:
[[email protected]:]#clustalw-mpi > clustalw-mpi.out
在后台运行,则执行:
[[email protected]:]#clustalw-mpi >& clustalw-mpi.out &。
查看程序的运行情况可以用 ps 和 top 命令 :
ps 命令是用来查看这一时刻系统上正在运行的进程,用户可以以不同的显
示方式来查看进程,从而获取相应的信息。显示系统上正在运行的所有进程,可
以使用 ps -e,或者 ps aux。如果要查看某一程序的进程信息,以 clustalw-mpi 为
例,可以使用 pa aux | grep clustalw-mpi,这样系统会返回当前所有正在运行的
clustalw-mpi 程序。
ps 命令返回的是一个时刻的进程信息,如果用户希望动态地监视进程的话
(类似于 windows 中任务管理器的进程模式),则可以选择 top 命令。 top 命令
执行的结果如下,可看到多个 clustalw-mpi 进程和系统进程正在执行:
[[email protected]:~]#top
PID USER
PR
25694 ime
25
NI
VIRT RES SHR S %CPU %MEM
TIME+
COMMAND
0 111m 4056 2332 R 100 0.0 11:40.75 clustalw-mpi
25696 ime
25
0 111m 4052 2332 R 100 0.0 11:40.76 clustalw-mpi
1 root
16
0
2 root
RT
3 root
34
4 root
RT
0
19
0
796 300
0
0
0
0
0
0
256 S
0
0S
0S
0S
0.0
0
0
0
0.0
0.0
0.0
0:03.11 init
0:00.00 migration/0
0:00.00 ksoftirqd/0
0:00.00 migration/1
在 top 的界面中可以进行以下操作:
按 u 键,键入用户名,可以只显示某用户的进程;
按 d 键,键入秒数,可以修改 top 刷新显示的时间间隔;
按 i 键,可以只显示活跃的进程。
13 / 23
有关 ps 和 top 命令的更多参数,可以查阅操作手册: man ps 和 man top。
程序执行完毕后,在 shell 中会出现如下提示:
[1] Done clustalw-mpi
表示 clustalw-mpi 已经执行完毕。
如果程序在执行的过程中遇到问题,无法正常中止,可以用 killall 命令来强
行中止。例如: killall clustalw-mpi。也可以用 kill 命令直接删除进程,使用 ps aux
| grep clustalw-mpi 查看 clustalw-mpi 程序的进程号 (pid):
[[email protected]:]# ps aux |grep clustalw-mpi
ime 13242 102 2.5 303084 205108 pts/1 R 20:04 0:18 clustalw-mpi
ime 13243 0.0 0.0 51092 684 pts/1 S+ 20:04 0:00 grep clustalw-mpi
可见 clustalw-mpi 的进程号是 13242,执行 kill 13242 来中止它。避免误将别
人的进程杀死。
4.脚本
概括地说,脚本是 shell 中的一个命令集合,可以将多个命令作为一个单一
文件执行,类似于 DOS 里面的批处理文件。使用脚本,可以使繁琐的工作变得
简单,也方便管理自己的程序。在日常的工作中我们经常会遇到这样的情况,完
成一项工作需要执行一连串的命令,并且在整个过程中需要根据结果的不同做相
应的判断,脚本的出现使得我们不必自己一次次重复复杂的操作,而是将规则记
录下来让计算机去为我们操作。
掌握脚本的使用,最重要的是理解变量、赋值和条件判断。由于脚本是基于
命令行输入输出的编程语言,所有的操作基本以字符串为基础,所以变量的类型
只能是字符串。以 bash 为例,赋值的方法是: export NAME=value。NAME 是
14 / 23
变量名, value 是一个字符串。调用 NAME 的值的方法是在它的前面加上 $,
例如 $NAME 或${NAME}。在字符串中混用变量的情形下,为了避免变量后紧
跟字符串造成的歧义,应使用第二种表示方法。例如:
Export DNASeq="ATCG"
Echo This DNA Sequence is ${DNASeq}!
脚本的运行结果是:
This DNASeq is ATCG!
值得一提的是,在脚本中可以方便地将命令执行的输出作为字符串赋给一个
变量,只需使用 `(.键)就可以了。例如:
Export currentdate=`date`
这样便将 date 命令的输出赋给了 currentdate 变量。
bash 中的条件判断和 C 语言比较类似,同时还增加了文件判断功能,例如:
if ( -f $filepath ) then
rm $filepath
end if
上例查找 $filepath 是否存在,若存在,则删除这个文件。 -f 判断文件是否
存在, -d 判断文件夹是否存在。由于所有的变量都是字符串,所以对数的运算
也是通过字符串的命令完成的。 执行脚本前,需要将文件 chmod 为可执行文件:
chmod 755 download.sh
对于字符串处理,Linux 系统提供的 awk 和 sed 命令具有更加完备和强悍的
功能。有兴趣的读者可以自行查阅它们的说明文档。这两个强大的工具使得复杂
的字符串操作成为可能,所以在脚本中经常被用到。
15 / 23
第 4 章:软件编译和安装
Linux 系统下的软件安装与 Windows 系统中不同, Windows 系统中我们习
惯于运行 setup.exe 文件,其实它所做的工作是将自身压缩的可执行文件解压并
拷贝到系统中,并在注册表中留下相关的记录,使得软件能够正常运行。在 Linux
系统中没有注册表,另外由于开源软件的流通,软件经常以代码包的形式被下载
使用。这样做的一个好处是软件包所占空间非常小,但在安装前需要编译。
1.编译器
软件的代码通常由 C 语言、 Fortran 语言等写成, Linux 也提供了相应的
编译器,例如 GNU 的 gcc,gfortran,Intel 的 f90 等。本 Cluster 上使用的是 GNU
的编译器(gcc,gfortran 等)
。
在 Linux 系统中编译源文件非常简单,只需要执行命令
[compiler] -flag [sourcefile] -o [executive]。
compiler 为编译器名, flag 为编译过程中的参数设臵, sourcefile 为源代码
文件, executive 为编译成的可执行文件,默认的文件是 a.out。例如:
gcc test.f -o test.exe
该命令用 gcc 编译器编译 test.f 文件,将生成的可执行文件命名为 test.exe。
编译器的选项设臵是否正确,影响到编译是否能顺利完成。这些选项包括系
统类型的选择、内存的使用、需要用到的链接库等。
2.库
熟悉编程的读者应该对库的概念有所了解, Linux 系统中编译源代码指定链
接库文件的方法是(以 gcc 编译器为例):
gcc -L/usr/lib –libdemo.so test.f
16 / 23
这样指定了在编译 test.f 的过程中链接 demo 库文件 libdemo.so,该文件位
于/usr/lib 中。
3. Makefile
由于软件包往往是由大量的源码文件组成,它们之间又有着复杂的依赖关系,
如果依次单个进行编译的话,会非常的耗时耗力,所以 Linux 提供了 make 机制
来处理复杂的软件编译过程。在软件包的各目录中,都有一个 Makefile 文件,记
载了该文件夹中的源码按什么样的规则来编译。在软件的根目录中,同样有一个
Makefile 记录软件的作者提供的可能的编译方式。 Makefile 中记录了编译器名、
编译器使用的选项以及源代码被编译的先后顺序等。因此,我们在软件的编译过
程中只需要修改 Makefile 中的相应项就可以了。
4.编译软件的步骤
软件编译的第一步,始终是阅读 readme 文件,因为软件的作者会在里面详
细地介绍软件编译安装的过程以及可能遇到的问题。
为了方便用户的编译,许多软件的作者提供了 configuration 这一步,有点类
似于 windows 软件“下一步”的风格。运行 configure 脚本进行用户交互,根据
得到的选择生成合适的 Makefile,使得用户不用亲自研究 Makefile 的语法。
configure 脚本在执行完后,会生成一个配臵文件, Makefile 中会调用这个文件,
使得设臵生效。
在正确修改 Makefile 之后,在软件的根目录下执行 make 命令,开始编译。
如果在编译中遇到了错误,会在输出文本中体现出来。常见的错误有:使用
了错误的编译模式、链接的库文件没有找到、系统兼容性等。
17 / 23
第 5 章 并行计算
Cluster 的主要作用是进行并行计算,并行计算的软件与一般的软件较为不同。
使用 gcc 命令直接编译的可执行文件,在执行的过程中只会占用一个进程。进行
并行计算需要将软件按照并行计算的模式进行编译。对于软件的使用者来说,并
不关心其具体的实现方法。并行计算软件的作者通常已经将这些编译模式设计好,
记录在 Makefile 中供用户使用。
1.并行计算程序的编译
本 Cluster 上使用的并行计算环境是 mpich 或 MPI,mpich 编译软件的命令
是 mpicc 等,而 mpi 编译软件的命令是 mpicc, mpic++或 mpif90 等。用户可以在
软件包中找到相应的设臵。本 Cluster 上的并行计算程序已经编译好了,用户直
接调用就可以。如果需要编译新的并行计算程序,请与管理员联系。
2. 并行计算程序的运行
运行并行计算程序,需要准备一个文本文件存放提供 CPU 的节点机名称。
我们已经在/public/目录中创建文本文件 ma,其内容为:
node1
node2
node3
node4
以 Clustalw-mpi 为例,并行计算的方法是:
mpirun -np 16 -machinefile /public/ma Clustalw-mpi &
np 指使用进程的个数,machinefile 指定节点机名称文件/public/ma,上例使
用了 node1 至 node4 上的总共 16 个 CPU 来执行 Clustalw-mpi 程序。
18 / 23
在 node4 上执行 top,可以查看 Clustalw-mpi 占用进程的情况:
[[email protected]:~]#rsh node4
[[email protected]:~]#top
PID USER
PR
NI
25694 ime
25
0 111m 4056 2332 R 100 0.0 11:40.75 clustalw-mpi
25696 ime
25
0 111m 4052 2332 R 100 0.0 11:40.76 clustalw-mpi
25698 ime
25
0 111m 4056 2332 R 100 0.0 11:40.75 clustalw-mpi
25699 ime
25
0 111m 4052 2332 R 100 0.0 11:40.76 clustalw-mpi
1 root
16
0
2 root
RT
3 root
34
4 root
RT
0
19
0
VIRT RES SHR S %CPU %MEM
796 300
0
0
0
0
0
0
256 S
0S
0S
0S
0
0
0
0
0.0
0.0
0.0
0.0
TIME+
COMMAND
0:03.11 init
0:00.00 migration/0
0:00.00 ksoftirqd/0
0:00.00 migration/1
并行程序运行中如果出现错误需要手动停止,也可以用 killall 命令。
19 / 23
第 6 章 文件传输
node1 开通了 httpd 服务和 vsftpd 服务,可以供用户进行 http 和 ftp 协议的
文件传输。
1. ftp
使用账号登录 ftp,可以访问自己家目录下的文件,并可以执行读写操作。
ftp client 软件有许多种,对于 windows 用户,可以使用 IE 浏览器自带的 ftp
协议,也可以使用专门的 ftp 软件,比如 LeapFTP 等。 ftp 登录的方法是:
ftp://user:[email protected]:21 user 为用户在 Cluster 上的用户名, passwd 为
密码。 Linux 用户可以使用 lftp 程序登录 Cluster 进行文件传输。
除了 ftp 协议之外, SSH 也提供文件传输的功能,比如 SSH Secure Shell
Client 软件在安装后会自带一个 SSH Secure File Transfer Client,提供类似 ftp 的文
件传输功能。
2. scp
对于 Linux 用户,
使用 scp 或 sz 命令可以方便的进行文件传输。
要将 Cluster
服务器端的文件下载到本地,在本地端命令行键入:
scp [email protected]:/path/to/file /source/dir/.
系 统 会 提 示 输 入 密 码 , 将 服 务 器 端 的 /path/to/file 下 载 到 本 地 端
/source/dir/中。要将本地文件上传到 Cluster,在本地命令行键入:
scp /path/to/file [email protected]:/path/to/file
系统同样会提示输入密码。
如果知道本地端的 IP 地址,那么在服务器端用 scp 传输文件同样可行。
20 / 23
附录:Cluster 上安装的软件
Cluster 上安装的生物信息学软件目录随着需要不断更新,最新目录请在
www.dnapluspro.com 查询,如果你所需要的软件没有安装,请与管理员联系。
1、编译器和系统软件
(1)
GNU/gcc/gf90 编译器
(2)
Intel C/Fortran 编译器
(3)
Mpich 并行计算环境
(4)
Openmpi 并行计算环境
(5)
Torque 作业调度系统
2、生物信息学软件(不断更新中,最新目录请在 www.dnapluspro.com 查询。
)
(1)
Clustalw-mpi
(2)
mpi BLAST
21 / 23
特别注意事项
(1)
为了方便大家使用,我们给予用户较高的权限,如果发现有人故意破坏,
将停止其账户。
(2)
Cluster 的应用主要集中在并行计算上。虽然单个节点的单 CPU 运算效
率比普通的笔记本或是台式机都高很多,但是 Cluster 当初被设计出来,其目的
就是为了进行多 CPU 协同运算的,而不是仅仅为了提高单 CPU 的运算效率。
所以我们鼓励用户在 Cluster 上进行并行计算,而把一些单 CPU 也能解决的工
作交给自己的 PC 机完成。
(3)
由于主机(node1)负担了在 各个 node 间传递文件和用户信息的重要任
务,所以我们应该尽量不要用 node1 主机长时间运行程序,尤其是占用 CPU
较多的程序,以免进程占用太多 CPU 而影响其他用户登陆和文件传输。
(4)
如果软件和数据在 Cluster 上已经存在,可以直接调用而不用拷贝到家目
录中,这样可以节省硬盘空间的开支。
(5)
目前系统总存储空间为 5TB,为了合理利用空间,每个用户的硬盘空间
限额暂定为 300GB,如果有更大的空间需求,请向管理员申请。在不久的将来,
我们将尽可能对系统计算能力和存储容量进行扩充,以满足日益增长的计算和
存储需求。
(6)
不要在 public_html 文件夹中存放大的影音文件、
数据资料等,
防止被 P2P
盗链下载软件搜索到,引起集中下载,从而大量浪费 Cluster 存储空间及网络带
宽。一旦发现,管理员将予以删除。
(7) Linux 系统具有高度可靠性,但并不能保证你的数据万无一失,因此所有
的数据资料要在本地和 Cluster 之间互为备份,以便万一数据丢失时可以恢复。
22 / 23
后记
以上指南为笔者参考其他 Cluster 系统,结合生物信息学计算系统的特点您
订的。由于本人并非计算机专业人员,对计算机的知识停留在使用的层面,所以
难免在叙述上存在误差和遗漏,望读者指正。本指南将根据需要不断修订,最新
版的指南可在 DNAPlusPro 网站下载。
生命科学中的许多研究课题都需要使用高性能计算,所以并行计算成为这一
学科必不可缺的科研工具。在使用这个强大的工具的过程中,遇到技术上的问题
时,往往会影响科研的进度。所以我希望成立 Cluster 技术小组,组织起一支技
术力量来为科研工作服务。原意参加这个小组为大家服务的人可和我联系:
我的联系方式:
汪小龙
中国海洋大学生命学院生物工程系
山东青岛鱼山路 5 号化学馆 226 室
邮编:266003
Email:[email protected]
DNAPlusPro 网站: http://www.dnapluspro.com/
23 / 23
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement