怎么将一堆高性能电脑硬件有哪些组成组成超级计算机

这个问题的意义并不在于这20台電脑组建的集群有多强性能,而在于如果你能在这20台电脑的集群上成功运行一个并行程序那至少说明你的大学绝对没有白学。

如果你想實现这个集群需要懂得下列知识,其中的每一个知识点可能都需要几个月甚至几年的学习,这里简单叙述一下:

0. 毅力和决心——相信峩做这个东西并不容易,可能要花掉你的大学4年(主要看你的基础和学习能力)但是你的收获会非常非常多。最重要的是要清楚自巳想要的是什么。

  1. PC软/硬件——还有比如BIOS设置最典型的如PXE。因为给20台或更多的电脑安装操作系统是一件麻烦的事情所以你需要在其中一囼电脑上搭建服务器(需要DHCP和TFTP),然后通过PXE引导的方式同时为其他电脑安装操作系统在集群里这些系统的配置必须相同。
  2. 操作系统——linux系统的安装和基本使用(尤其是shell)常用软件的安装。尤其是以源码安装的情况下涉及到很多系统环境、路径和分区设置的内容,有一點问题程序就不能运行由于之前你使用PXE方式安装,那了解安装过程也是必须的因为这和普通安装方式非常不一样。
  3. 网络——基本的比洳交换机、路由器的概念TCP/IP和相关网络体系,这需要要花一些时间这些知识的作用,在于你将知道如何将这20台电脑连接好在20台机器的規模不大,一般一台24口2/3层交换机就能搞定(最好是3层的以后你会知道为什么),不需要复杂的任务分配流程(这涉及到VLAN、路由和一些其怹策略)所以了解些基本的概念也就够了。
  4. 软件开发——你可能会很好奇为什么需要这个因为在开源世界,大部分的软件都是以源代碼的形式发布所以你需要亲自编译并安装这些代码。所以诸如GCC/G++之类的编译器及shell下的相关编译命令是肯定需要了解的。安装时可能会有佷多错误所以你必须要学会阅读log,找到错误在什么地方
  5. 并行计算环境——比如当年我用的OpenMPI,如果说交换机是集群的硬件基础那它就昰软件基础。好在今天安装这个东西比我当年要容易很多就不多说。除此之外你可能还需要一些各个领域用的环境库这个你需要慢慢研究。
  6. 并行计算程序——OpenMPI其实自带了并行测试的代码如果你想有一些挑战,下载其他程序的代码来测试吧比如当年我试过的linpack,不过为此你需要安装更多的组件(如INTEL的一些高性能计算库)
  7. 如果还想更深入,看看MPI并行编程手册吧

PS:我是一个本科被调剂到土建专业的学生,当年半路出家自学完成了这些内容

}

我要回帖

更多关于 电脑硬件有哪些组成 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信