计算化学集群构建入门
计算化学 集群构建入门
目录第一章绪论$1.1计算机集群的基本概念$1.2计算机集群的软件结构.第二章集群的系统配置82.1操作系统的安装,$2.2网络通信系统的建立.9.10S2.2.1SSH:主机间无密码的远程登录$2.2.2NFS:主机间的文件共享.11S2.2.3NIS:主机间的用户同步13.15$2.3编译器的安装..$2.3.1GNU编译器15.16$2.3.2intel编译器..$2.4并行计算环境的配置17.19$2.5作业系统的建立.20$2.5.1Torque的安装.20$2.5.2Maui的安装.2182.5.3Torque和Maui的配置g2.5.4mpiexec的安装.23.2382.6第一次运行集群.26第三章集群的计算化学软件配置..26s3.1Gaussian03安装与配置.26g3.1.1Gaussian03的安装$3.1.2Gaussian03的单机配置.27$3.2NAMD安装与配置.28.29$3.2.1组件安装.29$3.2.2charm++安装$3.2.3NAMD编译.31.32$3.2.4NAMD运行$3.3Autodock的安装与配置.33.34$3.4MKL编程环境的构建。第四章集群的管理技巧.39.39$4.1用户管理.39$4.1.1用户权限.39$4.1.2高效的管理$4.2作业管理..40$4.2.1管理员管理4144$4.2.2普通用户管理第五章GPU在集群上的应用..46$5.1GPU/CUDA的安装配置.46$5.1.1驱动程序的安装46$5.1.2程序开发环境..46$5.1.3CUDA编程测试,47
目 录 第一章 绪论.1 §1.1 计算机集群的基本概念.1 §1.2 计算机集群的软件结构.4 第二章 集群的系统配置.7 §2.1 操作系统的安装.7 §2.2 网络通信系统的建立.9 §2.2.1 SSH:主机间无密码的远程登录.10 §2.2.2 NFS:主机间的文件共享 .11 §2.2.3 NIS:主机间的用户同步 .13 §2.3 编译器的安装.15 §2.3.1 GNU编译器.15 §2.3.2 intel编译器.16 §2.4 并行计算环境的配置.17 §2.5 作业系统的建立.19 §2.5.1 Torque的安装.20 §2.5.2 Maui的安装 .20 §2.5.3 Torque和Maui的配置.21 §2.5.4 mpiexec的安装.23 §2.6 第一次运行集群.23 第三章 集群的计算化学软件配置.26 §3.1 Gaussian03 安装与配置.26 §3.1.1 Gaussian03 的安装.26 §3.1.2 Gaussian03 的单机配置.27 §3.2 NAMD安装与配置 .28 §3.2.1 组件安装.29 §3.2.2 charm++安装.29 §3.2.3 NAMD编译 .31 §3.2.4 NAMD运行 .32 §3.3 Autodock的安装与配置.33 §3.4 MKL编程环境的构建.34 第四章 集群的管理技巧.39 §4.1 用户管理.39 §4.1.1 用户权限.39 §4.1.2 高效的管理.39 §4.2 作业管理.40 §4.2.1 管理员管理.41 §4.2.2 普通用户管理.44 第五章 GPU在集群上的应用.46 §5.1 GPU/CUDA的安装配置 .46 §5.1.1 驱动程序的安装.46 §5.1.2 程序开发环境.46 §5.1.3 CUDA编程测试 .47
..47$5.2NAMDCUDA版本的安装继续前进!.50
§5.2 NAMD CUDA版本的安装.47 继续前进!.50
第一章绪论第一章绪论$1.1计算机集群的基本概念正如题目所示,本教程的目的是为读者提供计算机集群组建及其在计算化学中的应用的入门知识。可能对大多数读者而言,“集群”什么的是一个全新的概念一一没关系,万丈高楼平地起,我们先讲一些基本概念,然后将以最快的速度进入实践阶段,使大家能够在最短的时间内迅速建立起一个可以从事高性能计算的集群,为大家的科研提供帮助。本教程主要面向从事计算化学的读者(当然也包括其它有计算机集群需要的读者),相信大家知道,计算化学研究中常常需要巨大的计算量,无论对CPU速度、存储容量和总线带宽都要很高的要求。例如,conventional SCF计算中,一个有1000个基函数的体系,所需要计算的双电子积分量约为1012个,按双精度存储需要1.8TB,对于计算速度和存取速度都是极大的负担:在对神经系统的分子动力学模拟中,钾通道动态工作的时间尺度为毫秒级,而即使利用500核的Alpha机器,也只能达到每天4纳秒的速度。这样的速度是人们无法接受的。解决这些计算问题的方法,从理论上应当发展新的更高效的算法,诸如量子化学中的线性标度方法等等;从硬件角度说,需要发展更新的硬件,但由于物理定律的限制,单个计算机的硬件能力已经接近极限,例如CPU主频的提高是以发热量的增加为代价的,而现代CPU的主频已达到4.00GHz左右(实验室产品),更高的主频由于发热量巨大而难以实现。从计算机的角度上来说,可以通过使用超级计算机来解决。但是,这类超级计算机,硬件研发费用昂贵,软件投资更加高居不下,开发出来的软件无法移植,并且学习代价非常高,非一般研究组所能负担的起。那么对于一般的研究组,如何才能突破计算瓶颈呢?答案就是本教程的核心概念:计算机集群(computercluster)!相信很多实验室内部都有局域网,即一大堆计算机通过路由器等连成一个整体,大家可以通过路由器上外网,而内网中,大家可以通过网络共享文件,如Windows下的“共享”。好了,既然局域网可以共享文件,为什么不可以共享计第1页
第一章 绪论 第 1 页 第一章 绪论 §1.1 计算机集群的基本概念 正如题目所示,本教程的目的是为读者提供计算机集群组建及其在计算化学 中的应用的入门知识。可能对大多数读者而言,“集群”什么的是一个全新的概 念——没关系,万丈高楼平地起,我们先讲一些基本概念,然后将以最快的速度 进入实践阶段,使大家能够在最短的时间内迅速建立起一个可以从事高性能计算 的集群,为大家的科研提供帮助。 本教程主要面向从事计算化学的读者(当然也包括其它有计算机集群需要的 读者),相信大家知道,计算化学研究中常常需要巨大的计算量,无论对CPU速 度、存储容量和总线带宽都要很高的要求。例如,conventional SCF计算中,一 个有 1000 个基函数的体系,所需要计算的双电子积分量约为 1012个,按双精度 存储需要 1.8TB,对于计算速度和存取速度都是极大的负担;在对神经系统的分 子动力学模拟中,钾通道动态工作的时间尺度为毫秒级,而即使利用 500 核的 Alpha机器,也只能达到每天 4 纳秒的速度。这样的速度是人们无法接受的。 解决这些计算问题的方法,从理论上应当发展新的更高效的算法,诸如量子 化学中的线性标度方法等等;从硬件角度说,需要发展更新的硬件,但由于物理 定律的限制,单个计算机的硬件能力已经接近极限,例如 CPU 主频的提高是以 发热量的增加为代价的,而现代 CPU 的主频已达到 4.00GHz 左右(实验室产品), 更高的主频由于发热量巨大而难以实现。从计算机的角度上来说,可以通过使用 超级计算机来解决。但是,这类超级计算机,硬件研发费用昂贵,软件投资更加 高居不下,开发出来的软件无法移植,并且学习代价非常高,非一般研究组所能 负担的起。 那么对于一般的研究组,如何才能突破计算瓶颈呢?答案就是本教程的核心 概念:计算机集群(computer cluster)! 相信很多实验室内部都有局域网,即一大堆计算机通过路由器等连成一个整 体,大家可以通过路由器上外网,而内网中,大家可以通过网络共享文件,如 Windows 下的“共享”。好了,既然局域网可以共享文件,为什么不可以共享计
第一章绪论算能力呢?好了,我们学院派的定义一下计算机集群:通过一组松散集成的计算机软件和硬件连接起来高度紧密地协作完成计算工作的计算机系统,可以被看作是一台计算机,这种系统就称为计算机集群。也就是说,只要大家有几台计算机(PC或服务器),一个路由器,几根网线,我们就可以把它们连接起来,通过一些软件,使它们的计算能力得以共享,实现并行计算(parallelcomputing),不仅可以实现高速的计算,而且可以使计算工作规范化,从而大大的提升科研效率!如图1-1-1所示,这是作者所在实验室的组建的一个集群的实景(摄于2009年)。这个集群现在已扩充升级。图1-1-1集群系统实景图(摄于2009年)下面我们讲几个计算机集群中常用的术语和概念。这些概念可以为读者组建集群打下坚实的基础。节点(node)。集群中单独的每一台计算机称为节点。这些计算机,既可以是普通PC也可以是服务器。按照现在的发展(2011年前后),高端PC和服务器的计算能力已经相差无几,而PC的成本较低,不失为是个很好的选择。服务器的优点在于可靠性高,即平均无故障时间长。比如,一个500台计算机构成的集群连续运转一年,若全部为服务器,一个月平均可能只有几台机器出故障,若第2页
第一章 绪论 第 2 页 算能力呢?好了,我们学院派的定义一下计算机集群:通过一组松散集成的计算 机软件和硬件连接起来高度紧密地协作完成计算工作的计算机系统,可以被看作 是一台计算机,这种系统就称为计算机集群。也就是说,只要大家有几台计算机 (PC 或服务器),一个路由器,几根网线,我们就可以把它们连接起来,通过 一些软件,使它们的计算能力得以共享,实现并行计算(parallel computing), 不仅可以实现高速的计算,而且可以使计算工作规范化,从而大大的提升科研效 率! 如图 1-1-1 所示,这是作者所在实验室的组建的一个集群的实景(摄于 2009 年)。这个集群现在已扩充升级。 图 1-1-1 集群系统实景图(摄于 2009 年) 下面我们讲几个计算机集群中常用的术语和概念。这些概念可以为读者组建 集群打下坚实的基础。 节点(node)。集群中单独的每一台计算机称为节点。这些计算机,既可以 是普通 PC 也可以是服务器。按照现在的发展(2011 年前后),高端 PC 和服务 器的计算能力已经相差无几,而 PC 的成本较低,不失为是个很好的选择。服务 器的优点在于可靠性高,即平均无故障时间长。比如,一个 500 台计算机构成的 集群连续运转一年,若全部为服务器,一个月平均可能只有几台机器出故障,若