电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

如何架构高性价比的分布式计算机集群(5)


发布日期:2020/9/8
 

背景资料

相关名词

SMP对称多处理器

LTSPLinux终端服务器项目 (Linux Terminal Server Project)

Kernel内核

Ramdisk内存虚拟盘

Etherboot以太启动

Bootrom网卡启动芯片

大型主机(Mainframes)超级计算机(Supercomputers)和集群(Clusters)

纵观计算机的历史最先让人了解的就是大型主机和超级计算机这是计算机历史的一部分没有这些大家伙就没有今天的个人电脑这些大家伙通常是一个或几个有强大研发队伍和资金的厂商完成最初的目的是军方或政府的需要很多大学的研发也促成了这些大家伙更强大一般情况下大型主机和超级计算机都使用超过多达上百个的CPU和自己的专用操作系统计算机历史上很多的重要成员都和这些大家伙有关IBMDECCraySGIHAL大型主机已经成为历史而超级计算机成了各国技术实力的争夺焦点但是目前个人电脑的发展使集群成为竞争超级计算机的强大对手集群的CPU数和浮点能力和超级计算机的差距已经越来越近

Cluster

集群系统也有成为机群和群集系统的集群主要分为三类容错集群(Failover Cluster)负载均衡集群(Load balancing Cluster)高性能计算集群(High Performance Computing)

容错集群是指两台主机通过两个或两个以上网路连接的系统其中一个连接称为心跳线(heartbeat)利用每台主机上的服务进程监控对方主机的状态一旦发现对方主机宕机或出现不能正常工作的情况心跳线会反映给互为备份的另外一台主机该主机则会接替出问题的主机典型的使用场景是空军的雷达追蹤系统

负载均衡集群一般用于相应网络请求的网页服务器代理服务器这种集群可以在接到请求时检查接受请求较少不繁忙的服务器并把请求转到这些服务器上从检查其他服务器状态这一点上看负载均衡和容错集群很接近不同之处是数量上更多

高性能计算集群是指具有响应大量计算的性能可以作为数据中心使用的计算机的集合比如压缩mp气象云图的分析等

集群模式

(N)UMA非一致性内存访问(Non)Uniform Memory Access一般是指通过执行特殊的程序代码对内存的共享访问在Linux内核中可以执行对访问时间内的不同内存区域进行交叉访问也就是内核进程可以使用接近CPU使用时的内存对正在使用内存区域的访问才可以共享线性的内存访问是无法共享的

PVM/MPI是指并行虚拟机(Parallel Virrual Machine)和信息传递界面(Message Passing Interface)在Beowulf的世界里最常提到的就是这两个概念该软件包已经提供了多平台的版本通过开放式的标准信息传递库并行机之间可以通讯事实上PVM也是一组库程序可以使用这些编译库来改造程序适应并行系统但是这些都要相应的修改源程序系统内核事实上并没有发生改变

其他模式Turbo Linux EnFuzionPlatform等网格计算(Grid Computing)不必讨论这类集群不是单纯意义的集群以Enfuzion为例EnFuzion是Turbo Linux收购的一个软件改良版(前身就叫Cluster)因为使用了Java可以跨平台使用驻留系统服务来监控集群间的通讯事实上是任务分发和监控器依赖于计算数据离散性对于数据不可分的程序无能为力也就是说每个节点都运行相同的程序但处理的数据是不同的该集群提供了控制这些程序的界面跨平台性也只是依赖于计算的应用有跨平台版本而其只提供跨平台的监控主要集中在CPU空闲的监控和计算的再分配

数据可分和程序可分

集群计算中最重要的就是分布根据不同的应用分为两种数据可分和程序可分

数据可分是指数据间没有必然联系或联系在结果的基础上比如mp的压缩每个单独的mp互不关联或者有限元计算的某个步骤单一的曲面计算生成结果再参加后面的关联计算更着名的是SETI@home通过分析射电望远镜的信号寻找外星人这是典型的将中间分析结果传递给下一部分析这就是数据可分这最适合网格计算

程序可分用过ANSYS的人都知道商业软件分为单处理器和多处理器版本因为计算量大所以支持SMP的计算软件和使用单一CPU的软件是不同的多CPU共同运算时也要考虑到内存的访问处理通讯和负载均衡除非操作系统支持不然使用DOS和Windowsx很难用到第二个CPU(甚至不可见)有了操作系统的支持应用程序也要支持即使操作系统支持并行应用程序不可分的话只能使用/n(n=CPU数量)的处理能力典型的例子就是CPU的WindowsNT/下使用单处理器版本的ANSYS处理器进程显示%但是CPU共同生效而使用多处理器版本时CPU都可以在%的使用率因此程序可分是集群重要的应用基础即使程序本身不可分而集群支持子进程的迁移也意味着类似SMP系统支持程序可分

SETI@home

在家寻找外星人计划这是NASA全球计划之一位于波多黎各西北的一个火山口中垂直对天的射电望远镜Arecibo(黄金眼中最后决战的地点和Xfiles第二部第一集中收到外星人电波的天线直径接收器高约约位于米高处)用于收集来自宇宙的无线电信号就像TCP/IP网中的sniffer这是宇宙中的一个嗅探器通过收集信号来分析由智慧生物发出的有一定规律的无线电比如第一台电视的信号和猫王歌曲在多年前通过收音机发送的无线电信号至今还在宇宙中遨游虽然可能很微弱了但是还可以接收到这个计划就是接受类似外星人的无线电信号具体的步骤是让个人电脑的用户下载客户端程序一个屏幕保护程序或一个命令行程序然后在连接互联网时下载大约KB的数据包然后利用处理器空闲时间计算该数据包只是庞杂数据中的一小部分但是全球目前加入的上亿台计算机就构成了最大的超级计算机当计算完成后在连接互联网时上载结果并下载新的数据包根据其目前的计算形式Intel称为PP计算其实是网格计算的一种上载的数据不是最终数据经过和其他人加工的数据整合会产生新的结果这时可能要继续计算也可能就此产生阶段报告每天SETI@home的主页上都会有新的成果当然不一定是发现外星人的报告笔者的成绩因为借助了自己设计的网格计算全球位排名名左右还在向前靠拢大约是完成了个数据包在中国目前第一

SETI◎home作为屏幕保护时软件运行界面

位于波多黎各一个火山口中的Arecibo射电望远镜

记得那个着名的镜头吗

相关连接

SETI@home的主页

笔者的成绩&cmd=user_stats_new

openMosix小组的成绩

波多黎各Arecibo射电望远镜

需要强大计算的应用

财务与社会行为分析使用数学模型模拟的计算

音乐图象等多媒体数据处理例如mp压缩动画渲染后期处理

流体力学有限元分析例如乐高玩具的数字模拟强度分析

编译数据库挖掘

医学研究例如AIDS和DNA的结构分析成功运作的有UD(United Devices )

天文研究例如SETI@home在家寻找外星人项目()天气和海浪预报

电子电路数字模拟分析例如研发新的处理器

穷举解密例如破解DES密码(en)

正在研发的分布式计算系统

Beowulf

是目前开放源码世界中最大的高性能计算项目该项目就在探寻能适应于不同需要不同处理速度的计算组合但是这个项目并不是指单一的某个软件包或者一种技术而是整个研发方向的综合你可以在该项目中寻找适合你的技术和软件还有很多项目成员并未找出通用的方法而是将已经在使用的专门系统公开到Beowulf项目中让大家参考其中有用于分布式编译数据采集还有多媒体处理等很多领域

相关连接

Plan

年源于贝尔实验室(Computing Sciences Research Center of Bell Laboratories) 开发的新分布式操作系统建立在Unix和C与C++基础上支持的处理器有Intel x Sparc Alpha Power PC 和arm目前没有象KDE漂亮的图形界面使用上接近UNIX标准UNIX工具也可以使用但是从设计原理和基础上不同于UNIX核心已经完全重写并设计成网络操作系统就像设计完UNIX后的补充其中设计元素包括用户端的终端存储固定文件的服务器和提供更快CPU的计算服务器提供用户验证和网关特性

目前吸引人的焦点是Plan 的文件系统可以支持所有的系统服务进程也就是说所有任何用户可以使用的资源在文件系统中都可以找到唯一的命名已经可以称为命名空间了通过网络层的协议P来访问所有的

上一篇:DATAGUARD的角色转换服务

下一篇:OCP考试内容全方位接触