|
近年来因为数值模式仿真的盛行,所以『平行运算』的架构也就越来越重要了!什么是数值仿真呢?主要就是藉由一些物理理论去开发出来的一些『计算公式』,而这些计算公式藉由程序语言(例如C、Fortran等等)实际的将他编译成为可执行的程序,最常见的例如中央气象局不是每天都会预报天气吗?这个预报的动作就是利用数值计算去演算出来的。另外,还有空气品质模式仿真,也是经过运算出来的,除此之外,例如天文、物理、水文等等很多方面的工作,都是利用这种数值仿真的运算的喔!不过,这些程序是很大型的!也就是说,他们在运算的时间是很长的,如果使用单颗 CPU 的话,不论这颗 CPU 的频率与效能有多高,还是得要运算个好几个钟头的~如此一来,对于像气象预报这个急需时效性的工作可能就会有所延误啊!不过,如果我将这个运算的工作同时丢给多颗 CPU 呢?也就是让多颗 CPU 同时进行这个程序的运算工作,如此一来,将可以大大的减低时间的损耗了~这就是平行运算的简单说明。在 Linux 平台上面,要达成简单的平行运算,可以透过 MPI 的函式库,例如 MPICH 就是一个很有名的 MPI 软件喔!马上来给他看看平行运算类型的 Cluster 建置吧! <br>
<br>
原理: <br>
:什么是 Cluster 与 Cluster 的优点 <br>
:Cluster 的主从架构 <br>
:达成 Cluster 所需要额外功能 ( RSH ) 与软件 ( MPICH ) <br>
架设流程: <br>
:整体架构 <br>
:鸟哥的一个实例规范 <br>
:系统安装 ( Red Hat 9 ) <br>
:防火墙 ( 含 NAT 主机 ) 与网络设定 <br>
:NFS 架设规划(相当重要,参考说明) <br>
:NIS 架设规划 <br>
:RSH 设定 <br>
:安装 Fortran 90 的编译程序 PGI pgf90 ( PS. server version ) <br>
:安装 MPICH <br>
-------------------------------------------------------------------------------- <br>
<br>
原理: <br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
什么是 Cluster 与 Cluster 的优点 <br>
<br>
什么是 Cluster 呢?目前常见的 Cluster (丛集)架构有两种,一种是 Web / Internet cluster system,这种架构主要是将资料放置在不同的主机上面,亦即由多部主机同时负责一项服务;而另外一种则是所谓的平行运算了!平行运算其实就是将同一个运算的工作,交给整个 Cluster 里面的所有 CPU 来进行同步运算的一个功能。由于使用到多个 CPU 的运算能力,所以可以加快运算的速度。目前比较常见于平行运算功能的,通常需要在超级计算机上面才看的到,这些超级计算机主要是用在天文、军事、物理等需要很精密的、大量的运算的工作中,而考虑到稳定性,则通常是用在 Unix 系统上面的硬件架构上。不过,目前由于 PC 上面的 CPU 的运算功能越来越强大了~因此,当然很多程序开发者就动脑筋到 PC 上面来制作并行计算机的系统啰!我们这篇短文主要在介绍的就是『平行运算』这一类的 Cluster 了! <br>
<br>
由于 Cluster 主要是用在平行运算上面的,而所谓的平行运算是使用到多颗 CPU 的运算功能,因此可以让您的大型运算的程序很快的执行完毕!因此,如果你的工作环境当中,常常会使用到很耗 CPU 运算功能的程序时,就可以尝试使用 Cluster 来进行工作啰!应该可以节省您不少的时间吶!此外,我们这篇短文主要是在 X86 架构下的 PC 来架设 Cluster 的喔! <br>
<br>
不过,也需要特别留意的是,由于我们的 Cluster 是将一个工作平均分给所有的 node (注:一颗 CPU 在一个 Cluster 架构下,就称为一个 node 啰!),所以,万一您做成的 Cluster 系统当中,所有的 node 并非完全相同的运算等级,那么先做完工作的 node 将会暂停工作,会等到所有的 node 都进行完毕后,才会在进行下一动~所以啦!强烈的建议在同一个 cluster 的架构中,尽量所有的 CPU 都使用相同的 CPU 型号,应该会比较好一点喔! <br>
<br>
<br>
-------------------------------------------------------------------------------- <br>
<br>
Cluster 的主从架构 <br>
<br>
最简单的 Cluster 其实就是以一种主从架构来进行资料的运算工作的,图标如下: <br>
<br>
上面的 Master 与 Slave 指的都是 CPU 喔! <br>
<br>
Master 那部机器上面必须要有可以将工作分配给各个 node 去工作的函式库,也就是 MPI ,他最重要的功能就是将工作给他分配下去的啦!而最重要的软件就是:(1)MPICH;(2)编译器(compiler, 例如 Fortran); <br>
<br>
什么是网络功能呢?如果 master 与 slave 是在同一部机器当中,例如双 CPU 的主机板,那么这里就不需要网络功能啦!不过,如果我是使用四台双 CPU 的 PC 呢?呵呵!那么这四部主机就需要以高速网络架构进行联机啦!此外,还需要在这四部主机之间建立可以互通讯息的通讯协议才行,这方面的功能就含有:(1)R Shell, 亦即称为 RSH;(2)NIS,使 Master 与 Slave 具有相同的帐号群组关系;(3)NFS,使读取写入的资料可以在同一个 partition 上面; <br>
<br>
Slave 就是单纯的将来自 Master 的任务给他做完就是了! <br>
<br>
整个主从架构大致上就是这样啦!因此,可以知道的是,我们需要的就是上面那些咚咚啰! |
|