Linux高性能集群 - 硬件和网络体系结构

转自:http://www.ibm.com/developerworks/cn/linux/cluster/hpc/part3/index.html

1 Beowulf集群硬件和网络体系结构


图 1是Cluster 1300的硬件和网络体系结构图
Linux高性能集群 - 硬件和网络体系结构_第1张图片 

图 1是Cluster 1300的硬件和网络体系结构图。从图中可以看出,整个系统由5类计算或网络设备和5类网络组成。这5类设备是:

  • 主控制节点(Control Node)
  • 计算节点
  • 以太网交换机(Ethernet Switch)
  • Myrinet交换机
  • Terminal Server

5类网络是:

  • 集群局域网(Cluster VLAN蓝色)
  • 管理网络(Management VLAN 右边绿色)
  • IPC网络(IPC VLAN 棕色)
  • Terminal网络(灰色)
  • Service Processor网络(左边绿色)

本文的以下部分将介绍这些设备和网络的角色,功能和一般的配置。

2 Beowulf集群中的节点

这一节主要介绍Beowulf集群中的节点,节点的类型和相应的功能。根据功能,我们可以把集群中的节点划分为6种类型:

  • 用户节点(User Node)
  • 控制节点(Control Node)
  • 管理节点(Management Node)
  • 存储节点(Storage Node)
  • 安装节点(Installation Node)
  • 计算节点(Compute Node)

虽然由多种类型的节点,但并不是说一台计算机只能是一种类型的节点。一台计算机所扮演的节点类型要由集群的实际需求和计算机的配置决定。在小型集群系统中,用户节点、控制节点、管理节点、存储节点和安装节点往往就是同一台计算机。下面我们分别解释这些类型节点的作用。

2.1 用户节点(User Node)

用户节点是外部世界访问集群系统的网关。用户通常登录到这个节点上编译并运行作业。

用户节点是外部访问集群系统强大计算或存储能力的唯一入口,是整个系统的关键点。为了保证用户节点的高可用性,应该采用硬件冗余的容错方法,如采用双机热备份。至少应该采用RAID(Redundant Array of Independent Disks)技术保证用户节点的数据安全性。

2.2 控制节点(Control Node)

控制节点主要承担两种任务

  • 为计算节点提供基本的网络服务,如DHCP、DNS和NFS。
  • 调度计算节点上的作业,通常集群的作业调度程序(如PBS)应该运行在这个节点上。

通常控制节点是计算网络中的关键点,如果它失效,所有的计算节点都会失效。所以控制节点也应该有硬件冗余保护。

2.3 管理节点(Management Node)

管理节点是集群系统各种管理措施的控制节点:

  • 管理网络的控制点,监控集群中各个节点和网络的运行状况。通常的集群的管理软件也运行在这个节点上。
  • ASMA的控制点:ASMA(Advanced System Manager Adapter)允许将计算节点通过菊花链连接构成Service Processor网络用于接受计算节点的警报并收集SNMP Trap.

2.4 存储节点(Storage Node)

如果集群系统的应用运行需要大量的数据,还需要一个存储节点。顾名思义,存储节点就是集群系统的数据存储器和数据服务器。如果需要存储TB级的数据,一个存储节点是不够的。这时候你需要一个存储网络。通常存储节点需要如下配置:

  • ServerRAID保护数据的安全性
  • 高速网保证足够的数据传输速度

2.5 安装节点(Installation Node)

安装节点提供安装集群系统的各种软件,包括操作系统、各种运行库、管理软件和应用。它还必须开放文件服务,如FTP或NFS。

2.6 计算节点

计算节点是整个集群系统的计算核心。它的功能就是执行计算。你需要根据你的需要和预算来决定采用什么样的配置。理想的说,最好一个计算节点一个CPU。但是如果考虑到预算限制,也可以采用SMP。从性价比角度说,两个CPU的SMP优于3或4个CPU的SMP机器。

因为一个计算节点的失效通常不会影响其他节点,所以计算节点不需要冗余的硬件保护。

2.7 集群中节点的部署

虽然由多种类型的节点,但并不是说一台计算机只能是一种类型的节点。一台计算机所扮演的节点类型要由集群的实际需求和计算机的配置决定。在小型集群系统中,用户节点、控制节点、管理节点、存储节点和安装节点往往就是同一台计算机,这台计算机通常成为主节点(Master Node)。在这种情况下,集群就是由多个计算节点和一个主节点构成。

在大型的集群系统中如何部署这些节点是个比较复杂的问题,通常要综合应用需求,拓扑结构和预算等因素决定。

3 Beowulf集群的网络结构

3.1 集群中的网络技术

因为计算节点间的通信需求,IPC网络的性能是Beowulf集群设计中非常重要的话题。由于应用的需求,通常需要高带宽、速度和低延迟的网络。Beowulf集群的主要瓶颈通常也在于双工的网络通信,延迟和全局同步。

有好几种网络技术可以用于IPC网络。它们是快速以太网、千兆以太网和Myrinet。为了达到高带宽,通常需要采用交换机。交换机接受从双绞线传来的数据包,但是它和集线器不一样。它不向所有连接的节点广播这个数据包,它会根据目的地址哪个端口是接受者,然后把这个包传给接受者。

3.2 Beowulf集群网络拓扑

如上所述,通常Beowulf集群系统中有5类网络。其中Service Processor网络是以太网连接起来的菊花链结构,Terminal网络是计算节点和Terminal Server通过串口线连接起来的星形结构。管理网络、集群网络和IPC网络则是通过交换机相连的。虽然可以把这三个网络配置在一个网段,但是通常我们把它们分化在三个虚拟网中(VLAN)。图2是Beowulf集群网络结构。


Linux高性能集群 - 硬件和网络体系结构_第2张图片 

3.2.1 管理网络(Management VLAN)

管理网络用于访问IPC网络交换机、Service Processor网络和Terminal Server。HTTP、Telnet和SNMP等协议被用来管理这些设备。

3.2.2 集群网络(Cluster VLAN)

计算节点和存储节点用这个网络进行通常的网络I/O。

3.2.3 IPC网络(IPC VLAN)

用于计算节点间的高速通信。通常由特殊的高速网络设备构成。

3.2.4 Service Processor网络

以太网连接起来的菊花链结构,用于系统管理目的。

3.2.5 Terminal网络

Terminal网络是计算节点和Terminal Server通过串口线连接起来的星形结构。Terminal Server是外界访问这个网络的接口。管理节点通过Terminal Server虚拟出来的终端可以登录到其他节点上完成必要的管理工作。

3.2.6 KVM网络

KVM网络是KVM Switch和各节点连接的星形网络。其实把KVM网络称为一个网络并恰当。KVM是指Keyboard、Video和Mouse。通过KVM Switch的切换,管理员可以在管理各个节点。

4 附录:一个Cluster 1300集群系统的配置清单

Qty	.P/N 		Description
IBM Products
Compute Nodes
4 	865431Y 		xSeries 330 1000 256 256/OPEN 24X
4 	37L7202 		18.2GB Ultra160 HDD
4	10K3806		866Mhz 133MHz 256K
12 	33L3144		256MB 133MHz ECC SDRAM RDIMM MEMORY
1 	06P4792 		C2T Cable Kit
Management Node
1 	86564RY 		xSeries 340,866Mhz,128Mb
1 	19k4630 		866Mhz 133MHz 256K
4 	33L3144 		256MB 133MHz ECC SDRAM RDIMM MEMORY
1 	37L6091		ServeRAID 4L LVD SCSI Adapter
3 	37L7202 		18.2GB 7200rpm Ultra160 SCSI Hot-Swap SL H
1	34L1501 		Netfinity 10/100 Ethernet PCI Adapter 2
1 	34L0301 		Netfinity Gigabit Ethernet SX Adapter
1 	37L6880 		270W Redundant HS Power Supply
Shared Resources
1 	9306200 		Netbay 22 Half Rack
1 	3619702 		Netbay 22 Rack Extension Kit
1 	9411AG1 		Monitor (flatpanel)
1 	L6888 		Flatpanel rack mount kit
1	09N4291 		8x2 Console Switch (KVM Switch)
2 	94G7447		Console Cable Set 12ft (to KVM switch)
1	28L3644 		Spacesaver Keyboard/trackpoint
1	28L4707 		Keyboard tray
2	37L6866 		Netbay Universal Voltage PDU
1 	01K7209 		ASMA Adapter (Wiseman card)
1 	36L9973 		1M Fibre Channel Cable
1 	03K9308 		Short Wave GBIC (Gigabit module)
Equinox Products
1 	990209 		Equinox ELS-16
1 	210059 		Micro-Transceiver,AUI (DB-15)to 10BaseT
1 	790091	 	ELS Rackmount kit
4 	210062 		Equinox Serial Adapters
4 	690226 		10'Serial Cables
Myrinet Networking Products
1 	M3-E16 		Myrinet2000 3-slot Chassis
1 	M3-M 		Management Module
4 	M3S-CB-5M 	Myricom Myrinet LAN cables
4 	M3S-PCI64B-2 	Myrinet LAN Card
1 	M3SW16-8S 	Myrinet 8-port Serial modules
Miscellaneous Products
8 	3'CAT5 Cables
5	1'CAT5 Cables
Extreme Networks Products
1 	13020 		Summit24 -Full Layer 3-X


参考资料

  • Linux HPC Cluster Installation, IBM Redbooks, http://www.redbooks.ibm.com/ 

  • IBM eServer xSeries Clustering Planning Guide, IBM Redbooks, http://www.redbooks.ibm.com/ 

  • Linux Clustering with CSM & GPFS, IBM Redbooks, http://www.redbooks.ibm.com/ 

  • Cluster Computing White Paper, Mark Baker, University of Portsmouth, UK

  • Beowulf HOW-TO, http://www.beowulf-underground.org 

  • Beowulf Introduction and Overview, http://www.beowulf.org 

  • The Mosix Howto, http://www.mosix.org 

  • Linux-HA Heartbeat System Design, http://www.linux-ha.org 

  • xCAT HOW-TO, http://www.x-CAT.org 

  • MPICH, http://www.mcs.anl.gov/mpi/mpich. 

  • PVM, http://www.epm.ornl.gov/pvm/pvm_home.html 

  • OpenPBS, http://www.openpbs.org/ 

  • Maui, http://www.supercluster.org/ 

  • Condor Manual, Condor Team, University of Wisconsin-Madison

  • Intermezzo, http://inter-mezzo.org/ 

  • Coda, http://www.coda.cs.cmu.edu/ 

你可能感兴趣的:(Linux高性能集群 - 硬件和网络体系结构)