架构高性价比的分布式计算机集群_第1页
架构高性价比的分布式计算机集群_第2页
架构高性价比的分布式计算机集群_第3页
架构高性价比的分布式计算机集群_第4页
架构高性价比的分布式计算机集群_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、架构高性价比的分布式计算机集群正如你所看到的一样,你的机器在绝大多数时间是空闲的,如果你在Windows下用任务管理器或其他的Linux平台的工具(例如top,xload)观察CPU,你会看到CPU的使用率常见在12%。事实上,如果你有更多的计算机,这种浪费会加剧,在一个有300台计算机的部门里,CPU的空闲率是惊人的。然而这些部门还是需要强大的服务器用来编译或模拟计算,这样的情况还会加剧,不止需要一台,因为随着用户的增加,即使是8个CPU的服务器,满负荷时也不能把任务交给另外的空闲服务器,因为用户很少会改变习惯去登陆另外一台服务器。如果能利用现有的计算资源,把空闲的CPU利用起来,或者能让服

2、务器智能的迁移负荷,就是你看下去的理由。 集群的基本单位是单独的计算机,称为节点(node)。其可增长的特性,称为延展性(Scale),也就是向集群中加入计算机。集群没有严格的定义,可以说就是许多利用高速联接的,具有高速运算能力的,具有单一用户界面的计算机组合。这并不是集群的定义,而是表面现象的描述。集群中的节点需要硬件尽可能的一致,不一致的硬件集群称为异构集群,虽然这并不能改变集群的特性,但是异构导致集群会花费额外的时间来处理由于异构带来的延迟,另一方面这也是集群的优势,任何其他的多CPU系统都是严格要求CPU是一致的,集群就有足够的自由度增减节点,不受类型的限制。 本文选择MOSIX作为集

3、群的方案,并使用无盘节点。架构集群并没有想象中那样复杂,参考下面的步骤可以一步步的架构集群,整个的方案并不是很昂贵,而且便于扩展。使用RedHat是因为在中国这是最有权威的版本,不论是初学者还是专业工作者,都可以在RedHat Linux中定制自己的版本。使用终端服务器LTSP是因为结构简单,便于快速扩展。使用的硬件是可以改进的,比如使用双CPU的主板和至强处理器,这样单一机柜中处理器就密集到48块CPU,本例中可以使用24块CPU。除了CPU以外,还可以使用千兆网卡或光纤网卡,交换机可以使用光纤交换机,内存总数可以达到48GB。但是随着硬件的升级,整体价格就会过高,而性能的提升并不是按比例的

4、,因此本例的配置是性价比较好的组合。MOSIX是利用给内核源代码加补丁的办法,增加内核的功能来达到内核级的集群支持,通过编译后的内核启动的系统间类似SMP多处理器的系统,从外面的角度看只有一台有很多处理器的庞大机器,但是内部是用很多机器架构成的。而MOSIX集群的特点是对用户透明,原有的应用程序不需要修改代码即可以在集群中分布计算。 有几种情况是不需要使用集群系统的,使用类似网格计算的脚本就可以完成计算,比如三维动画的渲染,这类计算可以使用不同的节点,不需要对称的硬件,不需要一致的操作系统(需要应用具有支持不同操作系统的版本),只需要按照处理器来分割渲染的任务段,在每个节点上运行相应的任务段,

5、然后合成所有节点的计算结果。因为计算数据是离散的(结果的连续是视觉的连续),因此用类似网格计算的脚本也可以完成。这类计算不需要使用集群也可以完成。 下面本文将告诉你如何准备硬件和软机环境。首先是规划你的计算环境。 规划计算环境 硬件环境: 1.49U标准机柜,安装1U的交换机,24台2U机架式机箱。 2.1U的24口100MB交换机(不是集线器) 3.Intel P4 2GHz CPU,1GB DDR,Intel 845D主板,软驱,NVIDIA显卡(能启动X Windows就可以),2U机架式机箱,3C905B 10/100MB自适应网卡,网关需要配置光驱,80GB硬盘和双网卡。 4.5类线

6、,按照693A压3米网线24根。 5.显示器,键盘,鼠标仅在安装时使用。 软件环境和必要的安装包(除特殊说明外,高版本不一定适用): 1.Redhat 7.2 CD1 和CD2安装光盘 2.dhcp-3.0.1rc9-1.i386.rpm是支持启动内核调用的DHCP版本 3.dhcpcd-1.3.22pl1-7.i386.rpm是DHCPD守护进程 4.mknbi-1.2-6.noarch.rpm是制作客户端启动内核的必要软件包 5.MOSIX-1.6.0.tar.gz是原始的MO

7、SIX文件,最新的版本是1.7.0 6.MOSKRN-1.6.0.tar.gz是原始MOSIX内核文件,最新的版本是1.7.0 7.openmosix-kernel-2.4.18-openmosix2.i386.rpm是MOSIX分支版本的通用内核,最新的版本是2.4.19 8.openmosix-kernel-2.4.18-openmosix2.i686.rpm是MOSIX分支版本的新处理器内核,最新的版本是2.4.19 9.openmosix-kernel-smp

8、-2.4.18-openmosix2.i686.rpm是MOSIX分支版本的多处理器内核,最新的版本是2.4.19 10.openmosix-kernel-2.4.18-openmosix2.src.rpm是MOSIX分支版本的源代码 11.openmosix-tools-0.2.2-1.i386.rpm是MOSIX分支版本的客户端工具 12.ltsp_core-3.0-11.i386.rpm是LTSP的核心文件 13.ltsp_kernel-3.0-3.i386.r

9、pm是LTSP的内核 14.ltsp_floppyd-3.0.0-2.i386.rpm是LTSP的软盘工具 15.ltsp_initrd_kit-3.0.1-i386.tgz是LTSP的启动制作工具 16.linux_kernel-2.4.18.tar.gz是需要编译的内核源码 网络配置环境: 1. 网关对外网卡配置69,子网掩码给内部网使用,用于登录和提交进程。 2. 网关对内网卡配置54,子网掩码

10、,网关为69给集群用于DHCP服务器,NFS服务器,LTSP服务器。 3. 网关对内网卡配置DHCP,分配地址从00到53,子网掩码,都是C类。 当以上条件都具备时,可以开始架构MOSIX集群。 1. 安装所有硬件,并能确保可以从光盘启动网关服务器系统,节点可以使用软盘启动,检查BIOS的启动设置,并确认可以正确启动。将所有节点和交换机安装到机柜上,用网线连接交换机和各节点,网关需要额外的网线连接到局域网,因为可以称集群计算环境为计算场(Computing Farm),因此对应局域网称集群系统的网络为计

11、算网络。连接好电源后,使用两套显示器和键盘鼠标,分别连接一台节点机和网关服务器。 安装RedHat 7.2版本在具有两块网卡的网关服务器上,分区使用自动分区(比较简单,本文不讨论Linux其他问题),选择定制安装,但不要安装所有的软件包,除缺省的选择外,需要额外选择软件开发和内核开发两组软件包,安装时没有选择的软件包,可以在系统正常启动后参考如何编译内核中的软件包来安装。安装到网络配置时,按照网络环境配置IP地址,需要配置DNS的需要修改对外网卡的设置,使用小写mosix为主机名。安装完后需要验证网关服务器可以正常启动,按照个人喜好来设定系统,推荐使用文本模式,图形模式资源消耗较大。另外需要连

12、接到RedHat网站升级有缺陷的软件包,减少系统漏洞,注意别把内核也升级了,并不是因为本文的操作,而是内核升级后,系统很可能启动失败,本文将自己编译内核。升级完成后重启,再次确认系统没有任何错误。 3. 安装MOSIX包(openmosix的安装是另外的分支)需要很多步骤,注意操作步骤的准确性: A,将所有下载的软件包上载到服务器的/usr/src/tmp目录下,确认下载的软件包是完整的,确认md5的校验结果一致: su -cd /usr/src/makdir tmpmd5 package_file_name B,将RedHat 7.2 CD2放入到光驱。参考以下操作确认编译内核需要的软件包已

13、经存在: mount /dev/cdrom /mnt/cdromcd /mnt/redhat/RPMrpm -Uvh kernel-headers*rpm -Uvh kernel-source*rpm -Uvh kernel-doc*rpm -Uvh dev86*rpm -Uvh make-*rpm -Uvh glibc-devel*rpm -Uvh cpp*rpm -Uvh ncurses-devel*rpm -Uvh binutils*rpm -Uvh gcc-2*rpm -Uvh tftp*cd /usr/srcumount /mnt/cdrom C,安装需要的软件包,展开所有的tar.

14、gz软件包: tar xvfz MOSIX-1.6.0.tar.gz tar xvfz MOSKRN-1.6.0.tar.gz tar xvfz linux-2.4.18.tar.gz D,如果展开文件没有错误,将各个软件展开目录移到正确的位置: mv MOSIX-1.6.0 /usr/src/mv MOSKRN-1.6.0 /usr/src/ mv linux /usr/src/linux-2.4.18 chmod goa+x /usr/src/MOSIX-1.6.0/inst/add_kernel_to_grub mkdir /usr/local/man F,下面才是真正有趣和让人着迷的步

15、骤,首先要创建编译内核配置文件的目录,这是个好习惯,因为每次的编 cd /usr/src mkdir config.backupcd /usr/src/linux-2.4.7-10/configscp kernel-2.4.7-i686.config /usr/src/config.backup/kernel-2.4.18.config cd /usr/src/cp config.backup/kernel-2.4.18.config linux-2.4.18/.config H,根据你的情况修改Makefiles的EXTRAVERSION部分,原值为18,可改为mosix来标明编译后的内核版

16、本, cd /usr/src/linux-2.4.18vi MakefileEXTRAVERSION = 18 cd /usr/src/MOSIX-1.6.0./mosix.install J,安装开始后会有一些问题,除新内核加入LILO或GRUB一问回答为G以外的问题都用回车使用缺省选择(大写的字母为缺省值)。问题依次为内核源代码的路径,新内核的启动选项添加在那个启动程序中,内核所包含的库文件连接,MOSIX服务的启动级别,创建MFS装载目录,启动那种内核编译配置菜单,是否显示内核编译详细过程,是否显示用户级编译详细过程。随后系统开始给内核源代码加补丁,启动内核编译配置菜单。 K,在内核编译

17、配置菜单中,你可以看到新增加的MOSIX选项。 L,选择进入MOSIX选项并添加直接文件系统访问 (Direct File-System Access) 和MOSIX文件系统 (MOSIX File-System)。用ESC键推出当前选单。 M,添加块设备 (Block devices) 的内存虚拟盘的支持 (RAM disk support) 和使用初始化进程初始化内存虚拟盘 (Initial RAM disk (initrd) support)两项。 N,在网络选项 (Networking options) 中增加对IP内核级自动配置 (IP: kernel level autoconfi

18、guration),IP动态地址支持 (IP: DHCP support),IP启动地址绑定支持 (IP: BOOTP support)。 O,建议除去SCSI的支持,本例中没采用SCSI设备,并且可以避免内核编译失败。建议除去声卡支持。 P,在网络文件系统 (Network File System) 中增加NFS支持根文件系统(Root file system on NFS)。 Q,最后多按一次ESC键,提示保存配置文件,选择Yes。系统将开始编译内核,编译模块,安装内核,安装模块。该过程可能会产生一些警告,只要编译没退出,并正常完成回到提示符状态就完成了编译。 R,先不要忙于重启,需要修改

19、/boot/grub/grub.conf文件中MOSIX的内核路径一行,原路径为/boot/vmlinuz-2.4.18-mosix,修改为/vmlinuz-2.4.18-mosix。修改完后键入reboot可以重新启动。 S,这时的启动菜单中出现Mosix 1.6.0 (2.4.18),选择该项启动MOSIX系统。 T,系统启动中会出现若干错误,图中第一个是由于没有创建/mfs引起的,第二个是由于MOSIX更改了sshd服务的权限,而没启动另外的MOSIX的sshd引起的。第一次启动MOSIX系统,会要求配置mosix.map文件,回车选择缺省的编辑器进入编辑。 U,配置文件修改完成后,系统

20、会提示节点的IP地址有变化时需要修改mosix.map文件中的节点号。因为网关服务器是54因此定义为节点1,其他的节点从开始共有253个节点,节点号从2开始。 V,进入系统后,启动MOSIX,显示初始化MOSIX,MOSIX配置完成。 service mosix start 4. 因为MOSIX有另外的分支openmosix,因为版权问题不同(后面将会介绍),openmosix更开放一些,而且openmosix的安装相对简单,推荐没有经验的初学者使用,下面是openmosix的安装和基于openmosix的客户端配置。注意:MOSIX和openmos

21、ix虽然都是MOSIX原理下的软件,但是互相是不能通讯的,因此一个集群系统里要统一使用一种平台。openmosix是使用rpm为安装包的,事实上只是把编译好的内核直接挂接到系统里,并没有经过你自己的编译,对于初学者而言要方便许多。以下操作是在刚安装完RedHat Linux 7.2的系统上完成的,除openmosix的软件包外,不需要其他任何的软件包,缺省目录在/usr/src/下。可根据情况安装SMP版本,openmosix-kernel-2.4.18-openmosix2.i386.rpm版本适合于所有X86体系的处理器,openmosix-kernel-2.4.18-openmosix2

22、.i686.rpm版本适合本例,openmosix-kernel-2.4.18-openmosix2.src.rpm是包含kernel-2.4.18和openmosix内核补丁的源代码。当安装完成后启动时就可以看到openmosix的启动项。 cd /usr/src/rpm -Uvh openmosix-kernel-2.4.18-openmosix2.i686.rpmrpm -Uvh openmosix-kernel-2.4.18-openmosix2.src.rpmrpm -Uvh openmosix-tools-0.2.2-1.i386.rpm rpm -Uvh dhcp-3.0.1rc

23、9-1.i386.rpmrpm -Uvh dhcpcd-1.3.22pl1-7.i386.rpmrpm -Uvh mknbi-1.2-6.noarch.rpmrpm -Uvh ltsp_core-3.0-11.i386.rpm rpm -Uvh ltsp_kernel-3.0-3.i386.rpm rpm -Uvh ltsp_floppyd-3.0.0-2.i386.rpm rpm -Uvh ltsp_initrd_kit-3.0.1-i386.tgz mv ltsp_initrd_kit /usr/src/ 6. 因为使用的是openmosix,你需要单独展开的linux-2.4.18.ta

24、r.gz文件和openmosix的补丁文件,需要将openmosix的补丁加入,你在安装openmosix-kernel-2.4.18-openmosix2.src.rpm时,源文件会存在于/usr/src/redhat/SOURCES/目录下,同时还有内核补丁文件。 cd /usr/src/redhat/SOURCES/tar xvfz linux-2.4.18.tar.gzmv /usr/src/redhat/SOURCES/linux /usr/src/linux-2.4.18-om2 7. 将内核补丁文件展开并加入内核源文件,并作编译前准备,将旧的内核编译中间结果清理干净: cp /u

25、sr/src/redhat/SOURCE/openMosix-2.4.18-2.gz /usr/src/linux-2.4.18-om2/gunzip /usr/src/linux-2.4.18-om2/openMosix-2.4.18-2.gzcd /usr/src/linux-2.4.18-om2patch -Np1 /proc/mosix/admin/lstay# start mosix/etc/rc.openmosix start# mount mfs filesystem. doesnt work when done earliermount /mfs# End OpenMosix

26、Startup Section 25. 配置完成后准备软盘制作以太启网启动盘。访问www.Rom-O-网站,选择网卡类型生成以太网启动芯片的映象,保存到Linux上,使用cat生成启动软盘。本例中使用3C905B。放入一张空白三吋软盘。 cat eb-51.0.7-3c905b-tpo100.lzdsk /dev/fd0 26. 修改LTSP客户端启动配置文件/opt/ltsp/i386/etc/lts.conf,禁止启动X Windows,修改参数X_USBMOUSE_BUTTONS = 3,即启动文本界面。 27. 确认/etc/exports文件包含共享客户端根文件系统

27、和交换区内容: more /etc/exports/opt/ltsp/i386 /(ro,no_root_squash)/var/opt/ltsp/swapfiles /(rw,no_root_squash) 28. 将以太启动软盘放入客户端,开机并确认正常启动,正常获得动态地址,加载内核成功,初始化脚本正常运行,主机名自动生成,openmosix正常初始化,没有任何错误提示。 29. 回到服务器,通过检查/mfs文件系统来检查mfs文件系统。 30. 启动mosmon监控程序来检查通讯是否有效,这

28、是刚加入3个节点时,启动setiathome计算的状态。将下载的应用展开在/dw目录下,注意命令的格式。 mosrun -j1-3 /mfs/1/dw/setiathome1 -nolock 31. 制作启动盘,陆续加入节点,MOSIX集群就创建完了。 典型的配置文件 /etc/mosix.map 1 54 1 2 253 /etc/dhcpd.conf default-lease-time 21600; max-lease-time 21600; ddns-update-style none; allow booting; allow bootp

29、; option subnet-mask ; option broadcast-address 55; option routers 54; option domain-name-servers 54; option domain-name mosix; option root-path 54:/opt/ltsp/i386; shared-network NODES subnet netmask range dynamic-boo

30、tp 00 53; use-host-decl-names on; option log-servers 54; if substring (option vendor-class-identifier, 0, 9) = PXEClient filename /lts/pxe/pxelinux.bin; else filename /lts/vmlinuz-2.4.18-mosix; option host-name = concat(node , binary-to-ascii( 10, 8, , substring(reve

31、rse( 1, leased-address), 0, 1); group use-host-decl-names on; option log-servers 54; host node001 hardware ethernet 00:E0:06:E8:00:84; fixed-address ; filename /lts/boot/bootp/vmlinuz.eepro100.bootp; host node002 hardware ethernet 000:09:30:6A:1C; fixed-address ; fil

32、ename /lts/boot/bootp/vmlinuz.tulip.bootp; host node003 hardware ethernet 000:09:30:28:B2; fixed-address ; # kernels are specified in /tftpboot/lts/boot/pxe/pxelinux.cfg/ filename /lts/boot/pxe/pxelinux.bin; /etc/exports /opt/ltsp/i386 /(ro,no_root_squash) /var/opt

33、/ltsp/swapfiles /(rw,no_root_squash) /etc/hosts 和 /opt/ltsp/i386/etc/hosts 54 mosix node001 node002 node003 node004 省略一部分 53 node253 localhost.localdomain localhost /opt/ltsp/i386/etc/fstab none /

34、mfs mfs dfsa=1 0 0 /opt/ltsp/i386/etc/lts.conf Default SERVER = 54 XSERVER = off X_MOUSE_PROTOCOL = PS/2 X_MOUSE_DEVICE = /dev/psaux X_MOUSE_RESOLUTION = 400 X_MOUSE_BUTTONS = 3 X_USBMOUSE_PROTOCOL= PS/2 X_USBMOUSE_DEVICE = /dev/input/mice X_USBMOUSE_RESOLUTION = 400 X_USBMOUSE_BUTTONS =

35、3 USE_XFS = N LOCAL_APPS = N RUNLEVEL = 3 SOUND = Y VOLUME = 75 常见问题和解决方法 内核编译失败怎么办? 编译内核是MOSIX集群的最大操作,对于没有编译过内核的人会遇到很多编译失败的问题。对于经常出现的问题和解决办法如下: 编译失败在SCSI设备时,如果没有SCSI设备,在编译配置菜单中除去SCSI选项。 编译失败在SiS芯片时,如果没使用SiS芯片组的主板,在编译菜单中除去SiS芯片支持选项。 更改编译文件后仍然编译失败时,注意将上一次编译的中间文件清理干净,使用如下命令(不要忘记备份.config文件): cd /usr/s

36、rc/linux-2.4.18-om2cp .config /usr/src/config.backup/config-newkernelmake mrproper DHCP为什么不能正确读取配置文件? 确认你的DHCP版本要3.0.1以上,可以到RedHat的网站上下载。另外检查/etc/dhcpd.conf文件配置是否有错误,可以参考本例的文件。 配置完启动时出现sshd加载失败时怎么办? 该情况出现在MOSIX修改sshd的属性后出现,你可以加载MOSIX的ssd守护进程,操作如下: chkconfig sshd.pre-mosix onservice sshd.pre-mosix st

37、art 首次启动MOSIX时提示Host name lookup failure是什么原因? 这是由于/etc/hosts文件没有正确标出主机名对应的地址造成的,修改/etc/hosts文件正确就可以。 首次启动MOSIX时提示以下错误是什么原因? setpe: the supplied table is well-formatted, but my IP address () is not there! 这是由于RedHat Linux 的host文件缺省只有对应主机名,可以将/etc/hosts文件中的 mosix localhost分

38、开描述: vi /etc/hosts54 mosix localhost 制作LTSP启动内核映象失败 注意使用的LTSP初始化工具是ltsp_initrd_kit-3.0.1-i386.tgz版本,其他的版本因为修改了初始化脚本,目前没有方法可以初始化成功。 另外制作启动内核映象时必须有mknbi-1.2-6.noarch.rpm包,从RedHat的网站上可以下载最新的版本。 配置ltsp客户端DHCP启动失败 检查/etc/dhcpd.conf文件指向的启动内核路径正确,确认物理连接正确,确认软盘未损坏,确认LTSP内核启动文件正常编译。确认安装并启

39、动了tftp守护进程,确认/etc/exports文件共享了正确的客户端根文件系统路径。 配置ltsp客户端启动X Windows失败 如果需要在客户端启动X Windows,需要安装LTSP的X包,并根据显示卡的不同安装不同的X服务器版本。 rpm -Uvh ltsp_x_core-3.0.1-1.i386.rpmrpm -Uvh ltsp_x_fonts-3.0.0-0.i386.rpm 下载连接是:/project/showfiles.php?group_id=17723 如果并不需要启动X Windws,需要修改/opt/ltsp/i386/e

40、tc/lts.conf文件中X_USBMOUSE_BUTTONS = 3即可启动文本界面。 LTSP客户端启动后找不到主机名或不能解析主机名 确认/opt/ltsp/i386/hosts文件不是符号连接,并且和/etc/hosts文件一致,确认/etc/dhcpd.conf文件中加入自动生成主机名配置,确认生成的主机名与hosts文件中的一致。 LTSP客户端启动后不能启动mosix 确认/etc/mosix.map和/opt/ltsp/i386/etc/mosix.map文件一致。 启动mosix后没找到mfs目录 手动创建/mfs目录: mkdir /mfsmkdir /opt/ltsp/

41、i386/mfs 背景资料: 相关名词 SMP:对称多处理器 LTSP:Linux终端服务器项目 (Linux Terminal Server Project) Kernel:内核 Ramdisk:内存虚拟盘 Etherboot:以太启动 Bootrom:网卡启动芯片 大型主机(Mainframes),超级计算机(Supercomputers)和集群(Clusters) 纵观计算机的历史,最先让人了解的就是大型主机和超级计算机,这是计算机历史的一部分,没有这些大家伙,就没有今天的个人电脑。这些大家伙通常是一个或几个有强大研发队伍和资金的厂商完成,最初的目的是军方或政府的需要,很多大学的研发也促

42、成了这些大家伙更强大。一般情况下,大型主机和超级计算机都使用超过8个,多达上百个的CPU和自己的专用操作系统,计算机历史上很多的重要成员都和这些大家伙有关,IBM,DEC,Cray,SGI,HAL。大型主机已经成为历史,而超级计算机成了各国技术实力的争夺焦点,但是目前个人电脑的发展使集群成为竞争超级计算机的强大对手,集群的CPU数和浮点能力和超级计算机的差距已经越来越近。 Cluster 集群系统,也有成为机群和群集系统的。集群主要分为三类:容错集群(Fail-over Cluster),负载均衡集群(Load balancing Cluster),高性能计算集群(High Performan

43、ce Computing)。 容错集群是指两台主机通过两个或两个以上网路连接的系统,其中一个连接称为心跳线(heartbeat),利用每台主机上的服务进程监控对方主机的状态,一旦发现对方主机宕机或出现不能正常工作的情况,心跳线会反映给互为备份的另外一台主机,该主机则会接替出问题的主机。典型的使用场景是空军的雷达追踪系统。 负载均衡集群一般用于相应网络请求的网页服务器,代理服务器。这种集群可以在接到请求时,检查接受请求较少,不繁忙的服务器,并把请求转到这些服务器上。从检查其他服务器状态这一点上看,负载均衡和容错集群很接近,不同之处是数量上更多。 高性能计算集群是指具有响应大量计算的性能,可以作为

44、数据中心使用的计算机的集合。比如压缩mp3,气象云图的分析等。 集群模式 (N)UMA非一致性内存访问(Non-)Uniform Memory Access一般是指通过执行特殊的程序代码对内存的共享访问。在Linux内核中,可以执行对访问时间内的不同内存区域进行交叉访问,也就是内核进程可以使用接近CPU使用时的内存。对正在使用内存区域的访问,才可以共享。线性的内存访问是无法共享的。 PVM/MPI是指并行虚拟机(Parallel Virrual Machine)和信息传递界面(Message Passing Interface)。在Beowulf的世界里最常提到的就是这两个概念,该软件包已经提

45、供了多平台的版本。通过开放式的标准信息传递库,并行机之间可以通讯,事实上PVM也是一组库,程序可以使用这些编译库来改造程序适应并行系统。但是这些都要相应的修改源程序,系统内核事实上并没有发生改变。 其他模式:Turbo Linux EnFuzion,Platform等网格计算(Grid Computing)不必讨论这类集群不是单纯意义的集群,以Enfuzion为例,EnFuzion是Turbo Linux收购的一个软件改良版(前身就叫Cluster),因为使用了Java,可以跨平台,使用驻留系统服务来监控集群间的通讯,事实上是任务分发和监控器,依赖于计算数据离散性,对于数据不可分的程序,无能为

46、力。也就是说每个节点都运行相同的程序,但处理的数据是不同的,该集群提供了控制这些程序的界面,跨平台性也只是依赖于计算的应用有跨平台版本,而其只提供跨平台的监控。主要集中在CPU空闲的监控和计算的再分配。 数据可分和程序可分 集群计算中最重要的就是分布,根据不同的应用,分为两种:数据可分和程序可分。 数据可分是指数据间没有必然联系或联系在结果的基础上,比如mp3的压缩,每个单独的mp3互不关联,或者有限元计算的某个步骤,单一的曲面计算生成结果再参加后面的关联计算,更著名的是SETIhome通过分析射电望远镜的信号寻找外星人,这是典型的将中间分析结果传递给下一部分析,这就是数据可分,这最适合网格计

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

48、因此程序可分是集群重要的应用基础,即使程序本身不可分,而集群支持子进程的迁移,也意味着类似SMP系统支持程序可分。 SETIhome 在家寻找外星人计划,这是NASA全球计划之一,位于波多黎各西北的一个火山口中垂直对天的射电望远镜Arecibo(007黄金眼中最后决战的地点和X-files第二部第一集中收到外星人电波的天线,直径305米,接收器高约30米,约位于130米高处),用于收集来自宇宙的无线电信号,就像TCP/IP网中的sniffer,这是宇宙中的一个嗅探器,通过收集信号,来分析由智慧生物发出的,有一定规律的无线电。比如,第一台电视的信号和猫王歌曲在多年前通过收音机发送的无线电信号,至

49、今还在宇宙中遨游,虽然可能很微弱了,但是还可以接收到。这个计划就是接受类似外星人的无线电信号,具体的步骤是让个人电脑的用户下载客户端程序,一个屏幕保护程序,或一个命令行程序,然后在连接互联网时下载大约330KB的数据包,然后利用处理器空闲时间计算。该数据包只是庞杂数据中的一小部分,但是全球目前加入的上亿台计算机就构成了最大的超级计算机,当计算完成后,在连接互联网时上载结果,并下载新的数据包,根据其目前的计算形式,Intel称为P2P计算,其实是网格计算的一种。上载的数据不是最终数据,经过和其他人加工的数据整合,会产生新的结果,这时可能要继续计算,也可能就此产生阶段报告,每天SETIhome的主页上都会有新的成果,当然不一定是发现外星人的报告。笔者的成绩因为借助了自己设计的网格计算,全球位排名1787名左右,还在向前靠拢

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论