你需不须要一台每秒能够进行数百万亿次浮点运算的机器?或者,你想不想知道点关于你家地下室里的超级计算机是如何上电运行的趣事儿?建造一台属于自 己的计算集群——亦即超级计算机——是每一个闲得发慌还有钱烧的专业极客都能作到的事情!从技术上来说,一台现代多处理器超级计算机其实是一个计算机网 络,这些计算机并行地工做以解决特定的计算问题。本文将从硬件和软件两个角度为你解开建造一台超级计算机的神秘面纱。node
Steps

1.首先要肯定硬件部件和所须要的资源
你须要一个头节点(head node),至少一打的计算节点(compute node),一台以太网交换机,一个电源分配单元(power distribution unit)和一个服务器机架。计算一下电力消耗,冷却需求和占地需求。一样,你须要肯定你的私有网络的IP地址段,节点的命名,预计使用的软件包以及搭建 服务集群所用的技术(后面会有更多解释)。bash

2.创建计算节点
你须要本身组装计算节点,或者你也可使用预配置的服务器。服务器
- ●选择一款可以最大化空间、冷却和能源消耗效率的机架式服务器;
- ●或者,你可使用一打左右闲置的过期服务器——它们集合在一块儿工做的性能要比它们独立运行时的总和还多,并且还能省你一大笔钱!整个系统的处理 器、网络适配器、主板应该是同一型号的,这样才能达到最佳运行效能。固然了,别忘了给每一个节点配内存和硬盘,而且至少给头节点配一台光驱。

3.将服务器装在机架上
安装的时候从下面开始,这样能够避免机架头重脚轻。你可能会须要朋友的帮助才能完成这件事——这么多的服务器将很是的重,把它们放到机架的滑轨上会很是困难。网络
4.在机架顶端安装以太网交换机
如今来配置交换机:容许9000字节的大的帧,将IP地址设置为你在第一步里面肯定的静态地址,关闭例如SMTP嗅探这样没必要要的路由协议。多线程
5.安装能源分配单元
根据目前你的节点的最大需求,可能220V就能知足你的高性能计算需求了。架构
6. 一切都安装稳当以后,就能够开始配置环节了
Linux是高性能计算集群(HPC Cluster)操做系统的事实标准,这不只由于Linux是科学计算的理想环境,也是因为在数以百计甚至千计的节点上安装的时候,Linux不会产生任何花费。设想一下,在如此多的节点上安装Windows会花掉你多少钱呢?工具
- ●从更新主板BIOS的固件开始,将全部节点的BIOS固件都更新至最新的版本;
- ●在每一个节点上都安装好你喜欢的Linux发行版,头节点须要安装队图形界面的支持。比较流行的选择,包括CentOS、OpenSuse、Scientific Linux、RedHat以及SLES;
- ●做者极力推荐你使用Rocks Cluster Distribution来搭建计算集群。除了它已经安装好计算集群须要使用的全部工具外,Rock还提供了一种经过PXE和RedHat的“Kick Start”来进行批量部署的方案。
7. 安装消息传送界面、资源管理器以及其余必须的库
若是上一步里你没有选择Rock作为你的节点的操做系统,那么如今你须要手动设置并行计算机制所必需的软件。性能
- ●首先,你须要一个便携的bash管理系统,例如Torque Resource Manager,这些软件容许你划分以及分配计算任务;
- ●若是安装了Torque Resource Manager,那么你还须要Maui Cluster Scheduler来完成设置;
- ●其次,你须要安装消息传送界面(message passing interface),用来在不一样的计算节点的进程之间共享数据。不用想了,OpenMP是你的菜!
- 最后,不要忘了用多线程的数学库及编译器来编写你的计算任务。我是否是说过其实你只须要Rocks?

8.将全部的计算节点接入网络
头节点负责将任务分配到计算节点,计算节点再把结果返回回来,节点间的消息传递也是如此,因此固然是越快越好了。测试
- ●使用私有网络将集群中的全部节点互联起来;
- ●头节点其实还充当局域网里的NFS、PXE、DHCP以及NTP服务器;
- ●你必须将该网络从公网中分离出来,这样能够保证该网络中的广播报文不会影响到其余的网络;
9.对集群进行测试
在你把你强大的Top500计算集群交付给客户以前,你还要测试一下它的性能。HPL(High Performance Lynpack)评测软件包是测试集群的计算速度的常见选择。你须要从源代码编译它,编译的时候根据你选择的架构,打开全部可能的优化选项。优化
- ●固然了,在编译源代码的时候,你须要打开全部可能的编译优化选项。例如,若是你使用的是AMD的CPU,编译Open64的时候,请加上-0fast优化选项;
- ●把跑分结果和TOP500.org上最快的计算机作个比较!