微机集群是把微机用网络连接起来,用Linux系统软件控制的并行计算机。本书详细讲解了微机集群所需的网络功能,并给出组建机集群的完整过程和操作步骤,以及调试和测试技术。即使连Linux也没有学过的人,也可以通过本书学会组建微机集群所需的知识和技术;甚至只需拥有两台带网卡的微机和一根网线,就可以一步步地跟着本书进行微机集群实践。此外,本书还介绍了微机集群的管理、网络唤醒、网络启动、网卡捆绑以及任务排队等较深层的内容,供准备或已经组建大型微机集群的读者参考。
本书可供使用并行计算机从事科学和工程计算的科研、工程技术人员以及Linux发烧友和玩家自建和管理微机集群时参考,本书变可作为大专院校、高职、高专及相关培训班的“Linux网络应用”课程的教材。
前言
第1章 超级计算机的发展方向
1.1 市场是决定性的因素
1.2 微机集群的历史
1.3 微机集群的现状
1.4 微机集群的技术
1.5 微机集群的可靠性
1.6 微机集群的优势
1.7 微机集群的局限
1.8 微机集群的趋势
第2章 并行计算概念及其所需的网络服务
2.1 并行计算的基本概念
2.2 消息传递界面并行计算
2.3 TCP/IP通信协议
2.4 微机集群所需的网络功能
2.5 微机集群的网络设计
第3章 微机集群的Linux安装和配置
3.1 Linux系统安装
3.2 YaST管理工具
3.3 微机集群服务器的网络功能设置
3.4 微机集群节点机的网络功能设置
3.5 内核的重新编译
3.6 并行环境lan mpi的安装
第4章 微机集群的性能测试
4.1 微机集群的连接
4.2 集群所需网络功能的检测
4.3 启动lam mpi并行平台常遇问题
4.4 一维数值积分并行程序测试
4.5 lamtests测试
4.6 Linpack速度测试
第5章 微机集群的性能优化
5.1 节点机的网络唤醒和停机
5.2 用dhcp服务器进行网络配置
5.3 如何复制节点机
5.4 网络启动
5.5 网卡捆绑
5.6 节点机该启动哪些进程
第6章 微机集群的任务管理
6.1 OpenPBS概述
6.2 OpenPBS执行码
6.3 OpenPBS源代码的编译安装
6.4 OpenPBS的启动和停止
6.5 OpenPBS的命令
6.6 OpenPBS的简单设置
6.7 OpenPBS的工作目录和主要文件
6.8 OpenPBS的用户命令
6.9 OpenPBS两个重要的批处理工作
附录A Linux系统基础
A.1 基本Shell命令
A.2 vi编辑器
A.3 Shell脚本程序
A.4 make工具
A.5 软件包管理器rpm
附录B 微机集群的硬件选择
B.1 计算节点
B.2 网络硬件
B.3 其他
后记
我的微机集群实践始于1998年,为了调试并行计算程序,将两台微机设置成了微机集群,当时所用的网络带宽只有10Mb/s,自己怎么也没有意识到,这种微机集群有朝一日竞会发展到足以与传统超级计算机竞争的地步:更没想到,100Mb/s网络成为主流后,自己也会组建一台速度可以进入世界超级计算机500强的微机集群。2001年5月,我在复旦大学计算凝聚态物理985计划100万元人民币的资助下,开始实践大型微机集群。经过一年多时间的试制,于2002年5月底建成了一台采用网卡捆绑、网络启动、OpenPBS管理的有96个P4计算节点的大型微机集群。用世界超级计算机500强排序所采用的标准测试程序测试,这台微机集群的最大速度可达每秒1417亿次浮点运算,可排当时(2002年6月)公布的世界超级计算机500强第468位。受此鼓舞,我就想在国内大力推广这种符合我国国情的超级计算机。将这些经验写出来,让更多的人分享。本书是我在给学生开课讲解自己动手组建超级计算机之后,在学生的要求下,和王迅院士的鼓励和推动下写成的。
书中尽可能手把手地教读者如何组建、优化和管理微机集群。从未接触过Linux的读者,可先阅读附录A“Linux系统基础”;第2、3、4章的内容足以帮助读者组建、调试和测试一台微机集群:虽然附录B“微机集群的硬件选择”的内容,由于硬件市场变化很快而可能有点过时,但一些要领对组建一台可靠的微机集群还是有益的;第5章的内容是优化微机集群性能的一些有用方法;而第6章则介绍了一个常用管理工具的基本用法。
我从事物理研究,只是在研究工作需要、研究经费又捉襟见肘的情况下,才走上了自己组建微机集群的道路的,本书是这个过程的经验总结。由于教学、研究工作繁忙,成书时间仓促,书中错误在所难免,真诚欢迎计算机专家、学者和广大DIY发烧友批评指正。
附录A由洪峰收集整理,附录B由赵坚收集整理,在此谨表谢意。
在本书出版之际,我要感谢我的硕士导师谢希德院士和张开明教授,是她们引导我走上了表面物理研究道路:感谢我的博士导师德国明斯特大学的J.Pollmann教授,我的计算物理学和计算机编程方面的严格训练是在明斯特大学完成的;感谢王迅院士,他的鼓励和鞭策是本书写作启动的第一推动力;感谢清华大学李家明院士,他的关心和指导是我不断尝试微机集群新技术的源泉;感谢好友香港科大冯永嘉博士的无私帮助,否则我还需摸索更长的时间;感谢同事资剑教授的信任和支持,使我得以完成大型微机集群的实践:最后,还要感谢我的妻子顾青和女儿车逸文,她们的理解、支持和牺牲是如期完成本书的保证。