§5 多理机的发展

73
§5 多多多多多多 多多多多多多多多多多多多 多多多多多多 多多多多多多多 多多多多多多多 多多多多多多多多 多多多

description

§5 多理机的发展. 分布式共享存储器多处理机 对称多处理机 多向量多处理机 并行向量处理机 大规模并行处理机 机群系统. 分布式共享存储器多处理机. 将物理上分散的各台处理机所拥有的本本地存储器在逻辑上统一编址,形成一个统一的虚拟地址空间,以实现存储器的共享 采用 Cache 目录表来支持分布 Cache 的一致性 Standford DASH,SGI/Cray,Origin 2000,Cray T3D. Cray T3D. 对称多 处理机. - PowerPoint PPT Presentation

Transcript of §5 多理机的发展

Page 1: §5  多理机的发展

§5 多理机的发展 分布式共享存储器多处理机 对称多处理机 多向量多处理机 并行向量处理机 大规模并行处理机 机群系统

Page 2: §5  多理机的发展

分布式共享存储器多处理机 将物理上分散的各台处理机所拥有的本本地存储器在逻辑上统一编址,形成一个统一的虚拟地址空间,以实现存储器的共享

采用 Cache 目录表来支持分布 Cache 的一致性

Standford DASH,SGI/Cray,Origin 2000,Cray T3D

Page 3: §5  多理机的发展

Cray T3D

Page 4: §5  多理机的发展

对称多处理机 SMP (Symmetry MultiProcessors) 对称多处理机 SMP (Shared Memory MulptiProcessors) 共享存储多处理机

代表机: DEC Alpha Server 8400 SGI Power Challenge IBM R50 Sun UltraEnterprise 1000 曙光 1 号

Page 5: §5  多理机的发展

对称多处理机( SMP ) SMP 称为共享存储多处理机 (Shared Memor

ymulptiProcessors), 也称为对称多处理机 (Symmetry MultiProcessors)

有三种模型: UMA 多处理机均匀存储器存取模型 (Uniform Memory Access)

存储器被所有处理机均匀共享 所有处理机对所有存储单元具有相同的存取时间 每台处理机有局部 Cache 外围设备可以共享

Page 6: §5  多理机的发展

系统互连网络(总线、交叉开关、多级网络)

UMA 多处理机模型

P1……P2 Pn

SM1 SM2 SM2 I/O……

Page 7: §5  多理机的发展

对称多处理机(续) NUMA 多处理机非均匀存储器存取 (Nonu

niform Memory Access) 模型存储器访问时间随存储单元的位置不同而变化。

共享存储器在物理上是分布在所有处理机中的本地存储器。所有局部存储器地址空间的集合就组成了全局地址空间。

处理机访问本地存储器比较快,访问属于另一台处理机的远程存储器则比较慢,因为通过互连网络会产生附加的时间延迟。

Page 8: §5  多理机的发展

系统互连网络

NUMA 多处理机模型

P1

LM1

……P2

LM2

Pn

LMn

Page 9: §5  多理机的发展

对称多处理机(续) COMA 多处理机

只有 Cache 的存储器结构 (Cache-Only Memory Architecture) 模型; COMA 是一种只用 Cache 的多处理机系统

实际上, COMA 模型是 NUMA 模型的一种特例,后者分布存储器换成了 Cache

在每个处理机结点上没有主存储器,全部 Cache组成了全局虚拟地址空间

远程 Cache 访问通过分布 Cache 目录进行 共享存储系统拥有统一的寻址空间,程序员不必参与数据分配和传输。

Page 10: §5  多理机的发展

互连网络

COMA 多处理机模型

D1

Cache1……

P1

D2

Cache2

P2

Dn

Cachen

Pn

Page 11: §5  多理机的发展

SGI Origin 3000

Page 12: §5  多理机的发展

多向量多处理机

CRAY-YMP

Page 13: §5  多理机的发展

NEC SX-3 CPU

Page 14: §5  多理机的发展

NEC SX-6

Page 15: §5  多理机的发展

FUJITSU 2000CPU

Page 16: §5  多理机的发展

FUJITSU VPP5000

Page 17: §5  多理机的发展

并行向量处理机系统: 如 CRAY YMP-90, NEC SX-3 和 FUJITSU VP-2000

SMP (Symmetry MultiProcessors) 对称多处理机 SMP (Shared Memory MulptiProcessors) 共享存储多处理机 如 SGI Challenge , Sun SparcCenter 2000

MPP (massively parallel processing) 大规模并行处理机 如 Intel Paragon, CM-5, Cray T3D

Cluster 机群系统( NOW 或 COM )

Page 18: §5  多理机的发展
Page 19: §5  多理机的发展

大规模并行处理机( MPP ) 科学计算中的重大课题要求提供 3T 性能:

1 Teraflops 计算能力 1 Terabyte 主存储器 1 Terabyte/s 输入输出频带宽度 目前,速度还慢 1000 倍左右,存储容量和 I/O 带宽差距更大。

科学计算中的重大课题:全球气候预报 , 基因工程 , 飞行动力学 , 海洋环流 , 流体动力学 , 超导建模 , 半导体建模 , 量子染色动力学 , 视觉

采用的关键技术:VLSI, 可扩展技术 , 共享虚拟存储技术

Page 20: §5  多理机的发展

大规模并行处理机(续) 虚拟共享存储器 (Shared Virtual Memory)

也称为共享分布存储器 (Distributed Shared Memory) ;物理上分布存储器,逻辑上共享存储器。

虚拟共享存储器的优点:编程容易 , 系统结构灵活可扩充性好 , 有较好的软件移植性

与消息传递方式相比,程序运行效率高,主要原因: 数据块缓存在本地 ( 内存或 Cache 中 ), 可以多次使用 通信时间分散,提高了并行性 扩大存储空间,减少换页操作

Page 21: §5  多理机的发展

大规模并行处理机(续) 虚拟共享存储器实现途径:

硬件实现 , 利用 Cache 技术。需要增加专用硬件 操作系统和库实现,通过虚拟存储机制取得共享和一致性。在松耦合的分布存储多处理机上,不需要增加任何硬件

编译实现,自动将共享访问转换成同步和一致原语。大多数系统采用途径 (1) 和 (2) ,或这两种途径结合实现

Page 22: §5  多理机的发展

Intel Paragon

Page 23: §5  多理机的发展

机群系统 (Cluster) 机群系统是利用高速网络将一组高性能工作站或高档 PC 机连接起来,在并行程序设计以及可视化人机交互集成开发环境支持下,统一调度,协调处理,实现高效并行处理的系统。

Cluster 、 NOW ( Network of Workstation ) 、 COW ( Cluster of Workstation )

从结构和结点间的通信方式来看,属于分布存储系统。

机群系统中的主机和网络可以是同构的,也可以是异构的。

Page 24: §5  多理机的发展

机群系统 (Cluster) (续) 机群是一组独立的计算机(节点)的集合体,节点间通过高性能的互连网络连接;各节点除了可以作为一个单一的计算资源供交互式用户使用外,还可以协同工作并表现为一个单一的、集中的计算资源供并行计算任务使用。

机群是一种造价低廉,易于构筑,并且具有较好可扩放性的体系结构。

Page 25: §5  多理机的发展

机群系统 (Cluster) (续) 微处理机技术、网络技术和并行编程环境的发展使得机群系统这一新的并行处理系统形式正成为当前研究的热点。 微处理器的性能不断提高。 网络技术的进步使得松散耦合系统的通信瓶颈逐步得到缓解。

并行编程环境的开发使得新编并行程序或改写串行程序更为容易。

Page 26: §5  多理机的发展

机群系统的特征 机群的各节点都是一个完整的系统,节点可以是工作站,也可以是 PC 机或 SMP 机器;

互连网络通常使用商品化网络,如以太网、 FDDI 、光通道和 ATM 开关等,部分商用机群也采用专用网络互连;

网络接口与节点的 I/O 总线松耦合相连; 各节点有一个本地磁盘; 各节点有自己的完整的操作系统。

Page 27: §5  多理机的发展

SMP 、 MPP 、机群的比较一览表 系统特征 SMP MPP 机群节点数量 (N) O(10) O(100)-O(1000) O(100)

节点复杂度 中粒度或细粒度 细粒度或中粒度 中粒度或粗粒度节点间通信 

共享存储器 消息传递或共享变量(有 DSM 时)

消息传递

节点操作系统 1 N( 微内核 ) 和 1 个主机 OS( 单一 )

N ( 希望为同构 )

支持单一系统映像 永远 部分 希望地址空间 单一 多或单一(有 DSM

时)多个

作业调度 单一运行队列 主机上单一运行队列

协作多队列网络协议 非标准 非标准 标准或非标准可用性 通常较低 低到中 高可用或容错性能 / 价格比 一般 一般 高互连网络 总线 / 交叉开关 定制 商用

Page 28: §5  多理机的发展

与传统的并行处理系统相比,机群的优点 很高的性价比 开发周期短 可扩展性好 资源利用率高 用户投资风险少 用户编程方便

Page 29: §5  多理机的发展

机群系统 (Cluster) (续) 机群系统的特点

系统开发周期短 用户投资风险小 系统价格低 节约系统资源。

UC Berkeley 计算机系 100 多台工作站的使用情况调查表明,一般单机系统的使用率不到 10% ,而机群系统中的资源利用率可达到 80% 左右

系统扩展性好 用户编程方便。

Page 30: §5  多理机的发展

机群发展的优势 作为机群节点的工作站系统的处理性能越来越强大,更快的处理器和更高效的多 CPU 机器将大量进入市场;

随着局域网上新的网络技术和新的通信协议的引入,机群节点间的通信能获得更高的带宽和较小的延迟;

机群系统比传统的并行计算机更易于融合到已有的网络系统中去;

Page 31: §5  多理机的发展

机群发展的优势(续) 机群上的开发工具更成熟,而传统的并行计算机上缺乏一个统一的标准;

机群价格便宜并且易于构建; 机群的可扩放性良好,节点的性能也很容易通过增加内存或改善处理器性能获得提高。

Page 32: §5  多理机的发展

机群系统分类 根据应用目标

高性能机群( HP Cluster ) 高可用性机群( HA Cluster )

根据节点的拥有情况 专用机群( Dedicated Cluster )。所有的资源是共享的,并行应用可以在整个机群上运行,

非专用机群( Nondedicated Cluster )。全局应用通过窃取 CPU 时间获得运行。

非专用机群中由于存在地本地用户和远地用户对处理器的竞争,带来了进程迁移和负载平衡等问题;

Page 33: §5  多理机的发展

机群系统分类(续) 根据节点的硬件构成

PC 机群 CoPC ( Cluster of PCs )或称为 PC堆 PoPC ( Pile of PCs ) 工作站机群 COW ( Cluster of Workstations ) SMP 机群 CLUMPs ( Cluster of SMPs )

根据节点的操作系统 Linux 机群(如 Beowulf ) Solaris 机群(如 Berkeley NOW ) NT 机群(如 HPVM ) AIX 机群(如 IBM SP2 )

根据节点的配置 同构机群。各节点有相似的体系并且使用相同的操作系统 异构机群。节点可以有不同的体系,运行的操作系统也可以不尽相同。

Page 34: §5  多理机的发展

机群节点的连接方式

NIC

MIO

M

P/C

D

NIC

MIO

M

P/C

D LAN

无共享

Page 35: §5  多理机的发展

机群节点的连接方式(续)

NIC

MIO

M

P/C

D

NIC

MIO

M

P/C

D共享磁盘

共享磁盘

Page 36: §5  多理机的发展

机群节点的连接方式(续)

共享存储器

NIC

MIO

M

P/C

D

NIC

MIO

M

P/C

D

SCI

Page 37: §5  多理机的发展

机群理想的体系结构

高速互联网络

节点

操作系统

节点

操作系统

节点

操作系统

节点

操作系统

节点

操作系统

机群中间层(单已系统映像和可用性低层结构)

串行应用并行编程环境

PVM 、 MPI 、 Java

并行应用

Page 38: §5  多理机的发展

机群的设计要点 可用性 单一系统映像 SSI(Single System Imag

e) 作业管理 (Job Management) 并行文件系统 PFS(Parallel File System) 高效通讯 (Efficient Communication)

Page 39: §5  多理机的发展

单一系统映像 SSI 好处:

终端用户不需要了解应用在哪些节点上运行; 操作员不需要了解资源所在地位置; 降低了操作员错误带来的风险,使系统对终端用户表现出更高的可靠性和可用性;

可以灵活的采用集中式或分布式的管理和控制,避免了对系统管理员的高要求;

大大的简化了系统的管理,一条命令就可以对分布在系统中的多个资源进行操作;

提供了位置独立的消息通信。

Page 40: §5  多理机的发展

单一系统映像 SSI (续) 包含以下含义

单一系统:尽管系统中有多个处理器,用户仍然把整个机群视为一个单一的系统来使用

单一控制:逻辑上,最终用户或系统用户使用的服务都来自只有唯一接口的同一个地方,

对称性:用户可以从任一个节点上获得机群服务,

位置透明:用户不用了解真正执行服务的物理设备的位置。

Page 41: §5  多理机的发展

单一系统映像的关键服务 单一入口点 单一文件层次 单一输入输出 单一管理和控制点 单一网络 (Single Networking) 单一存储空间 (Single Memory Space) 单一作业管理系统 单一用户界面 (Single User Interface) 单一进程空间 (Single Process Space)

Page 42: §5  多理机的发展

作业管理 对异构环境的支持 批作业支持 并行支持 交互支持 检查点和进程迁移 负载平衡 作业运行时间 (Run-Time) 的限制 图形用户接口 GUI

Page 43: §5  多理机的发展

作业管理系统 包含

用户服务器 任务调度 资源管理器

JMS 的管理和使用 作业类型

串行作业、并行作业 交互作业、批处理作业 外部作业、本地作业

Page 44: §5  多理机的发展

并行程序设计模型 隐式并行( Implicit Parallelism ) 数据并行( Data parallelism ) 消息传递( message passing ) 共享变量( Shared variables )

Page 45: §5  多理机的发展

隐式并行( Implicit Parallelism ) 使用隐式并行模型编程时,程序员使用串行编程语言;然后编译器负责将其自动转换成并行代码

优点是良好可移植性;无死锁;易测试和查错;语义简单

缺点是自动并行非常困难,且总是低效的。

Page 46: §5  多理机的发展

数据并行( Data parallelism ) 使用数据并行模型编程时,驻留在个处理器上的进程可以通过读 /写公共存储器中的共享变量相互通信;在共享变量的并行程序中,程序员不需要显式分配数据,因为数据是驻留在单一地址空间中

特点:多线程;单一地址空间;显式同步( Lock critical 等);异步操作;隐式数据分配。

Page 47: §5  多理机的发展

消息传递( message passing ) 使用消息传递模型编程时,驻留在不同节点上的进程

可以通过网络传递消息(指令、数据、同步信号等)相互通信;在消息传递的并行程序中,程序员必须明确的为进程分配数据; MPMD 是普遍适用的编程风范

特点:多线程;异步并行;多地址空间;显式同步;显式数据分配;大粒度并行。

Page 48: §5  多理机的发展

共享变量( Shared variables ) 使用共享变量模型编程时,驻留在个处理器上的进程可以通过读 /写公共存储器中的共享变量相互通信;在共享变量的并行程序中,程序员不需要显式分配数据,因为数据是驻留在单一地址空间中

特点:多线程;单一地址空间;显式同步( Lock critical 等);异步操作;隐式数据分配。

Page 49: §5  多理机的发展

消息传递、共享存储和数据并行的比较

特征 消息传递 共享存储 数据并行典型代表 MPI, PVM OpenMP HPF可移植性 所有主流并行

计算机SMP, DSM SMP, DSM, MPP

并行粒度 进程级大粒度 线程级细粒度 进程级细粒度并行操作方式 异步 异步 松散同步数据存储模式 分布式存储 共享存储 共享存储数据分配方式 显式 隐式 半隐式学习入门难度 较难 容易 偏易可扩展性 好 较差 一般

Page 50: §5  多理机的发展

并行编程标准 OpenMP — 共享变量编程标准 MPI-消息传递编程标准 Thread 、 pThread

Page 51: §5  多理机的发展

OpenMP — 共享变量编程标准 OpenMP源于 ANSI X3H5, 是共享存储系统编程工业标准,它是将基本串行语言( C 或 Fortran )使用制导指令、运行库和环境变量,按照标准将其并行化;制导指令提供对并行区域、工作共享、同步构造、数据共享和私有化支持,其添加过程就类似于进行显式并行程序设计

OpenMP 是基于线程的并行编程模型,它使用 Fork-Join 方式:主线程一直串行执行,遇到 Fork 时创建并行线程,执行完后进入 Join又回到主线程继续执行。

事实上,所有 OpenMP 的并行化,都是通过使用嵌入到 C 或 Fortran源代码中的编译制导语句来达到的。

Page 52: §5  多理机的发展

OpenMP 编译指导语句

在编译器编译程序的时候,会识别特定的注释,而这些特定的注释就包含着 OpenMP 程序的一些语义。

#pragma omp <directive> [clause[ [,] clause]…]其中 directive 部分就包含了具体的编译指导语句,包括 parallel, for, parallel for, se

ction, sections, single, master, critical, flush, ordered 和 atomic 。 将串行的程序逐步地改造成一个并行程序,达到增量更新程

序的目的,减少程序编写人员一定的负担。 运行时库函数

OpenMP 运行时函数库原本用以设置和获取执行环境相关的信息,它们当中也包含一系列用以同步的 API 。

支持运行时对并行环境的改变和优化,给编程人员足够的灵活性来控制运行时的程序运行状况。

Page 53: §5  多理机的发展

OpenMP简单实例int main(int argc, char* argv[])

{#pragma omp parallel forfor (int i = 0; i < 10; i++ ){printf("i = %d/n", i);}return 0;}

这个程序执行后打印出以下结果:i = 0i = 5i = 1i = 6i = 2i = 7i = 3i = 8i = 4i = 9

Page 54: §5  多理机的发展

MPI-消息传递编程标准 库调用并行编程:一组用标准串行语言编写的进程程序,在并行执行时可以调用消息(函数)库以发送 /接收消息。所以在使用 MPI标准时,计算由一组重量级进程组成,他们可以采用调用库例程的方法进行通信

通信包括基本通信(点到点)和整体通信(播送,归约)

最基本的 MPI 程序可以只使用 6 个函数;虽然MPI库可包含多达 200 多个函数,但最经常使用的也就是 20 多条

MPI 可以绑定 C语言或 Fortran语言

Page 55: §5  多理机的发展

MPIMPI 编程基础编程基础 简单的 MPI 程序示例

#include <stdio.h>#include "mpi.h" int main ( int argc, char *argv[] ) {

int rank;int size;

MPI_Init ( argc, argv ) ; MPI_Comm_rank ( MPI_COMM_WORLD, &rank ) ; MPI_Comm_size ( MPI_COMM_WORLD, &size ) ; printf ( "Hello world from process %d of %d\n", rank, size ) ; MPI_Finalize () ; return 0;}

Hello world from process 0 of 4 Hello world from process 1 of 4 Hello world from process 2 of 4 Hello world from process 3 of 4

Page 56: §5  多理机的发展

MPIMPI 程序的四个基本函数程序的四个基本函数 MPI_Init 和 MPI_Finalize

MPI_Init初始化 MPI执行环境,建立多个 MPI 进程之间的联系,为后续通信做准备。而 MPI_Finalize 则是结束MPI执行环境。

MPI_Comm_rank 来标识各个 MPI 进程

MPI_Comm_size 用来标识相应进程组中有多少个进程

Page 57: §5  多理机的发展

MPIMPI 的点对点通信的点对点通信 两个最重要的 MPI函数 MPI_Send 和 MPI_Recv 。 int MPI_SEND(buf, count, datatype, dest, tag, comm)

这个函数的含义是向通信域 comm 中的 dest 进程发送数据。消息数据存放在 buf 中,类型是 datatype ,个数是 count 个。这个消息的标志是 tag ,用以和本进程向同一目的进程发送的其他消息区别开来。

int MPI_RECV(buf,count,datatype,source,tag,comm,status) MPI_Recv绝大多数的参数和 MPI_Send 相对应,有相同的意义,很好理解。唯一的区别就是 MPI_Recv里面多了一个参数 status 。 status 主要显示接收函数的各种错误状态。

Page 58: §5  多理机的发展

消息管理消息管理 77 要素要素 MPI最重要的功能莫过于消息传递。正如我们先前看到一样, MPI_Send 和 MPI_Recv负责在两个进程间发送和接收消息。总结起来,点对点消息通信的参数主要是由以下 7 个参数组成:

发送或者接收缓冲区 buf ; 数据数量 count ; 数据类型 datatype ; 目标进程或者源进程 destination/source ; 消息标签 tag ; 通信域 comm ; . 消息状态 status ,只在接收的函数中出现。

Page 59: §5  多理机的发展

错误管理错误管理 MPI 在错误管理方面提供了丰富的接口函数,这里我们介绍其中最简单的部分接口。 用 status.MPI_ERROR 来获取错误码。 MPI终止MPI 程序执行的函数 MPI_Abort 。 int MPI_Abort ( MPI_Comm comm, int

errorcode ) 它使 comm 通信域的所有进程退出,返回 errorcode给调用的环境。通信域 comm 中的任一进程调用此函数都能够使该通信域内所有的进程结束运行。

Page 60: §5  多理机的发展

MPIMPI 群集通信群集通信 同步

本函数接口是: int MPI_Barrier ( MPI_Comm comm ) 在操作中,通信子 comm 中的所有进程相互同步,即它们相互等待,直到所有进程都执行了他们各自的 MPI_Barrier函数,然后再各自接着开始执行后续的代码。

广播 从一个 root 进程向组内所有其他的进程发送一条消息。接口是: int

MPI_Bcast ( void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm )

data

broadcast

(a)

A0

A0

A0

A0

A0

A0

A0

processes

Page 61: §5  多理机的发展

MPIMPI 群集通信群集通信 (( 续续 )) 聚集

聚集函数 MPI_Gather 是一个多对一的通信函数。其接口为:int MPI_Gather ( void *sendbuf, int sendcnt, MPI_Datatype sendtype, void *recvbuf, i

nt recvcnt, MPI_Datatype recvtype, int root, MPI_Comm comm )

播撒 MPI_Scatter 是一对多的传递消息。但是它和广播不同, roo

t 进程向各个进程传递的消息是可以不同的。 Scatter 实际上执行的是与 Gather 相反的操作。

A1

A4

A0

A5

A2

A3

scatter

gather

(b)

A1 A4 A0 A5 A2 A3

Page 62: §5  多理机的发展

MPIMPI 群集通信群集通信 (( 续续 2)2) 扩展的聚集和播撒操作

MPI_Allgather 的作用是每一个进程都收集到其他所有进程的消息,它相当于每一个进程都执行了 MPI_Gather执行完了 MPI_Gather之后,所有的进程的接收缓冲区的内容都是相同的,也就是说每个进程给所有进程都发送了一个相同的消息。

int MPI_Allgather ( void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm )

allgather

B0

E0

A0

F0

C0

D0

B0 E0 A0 F0 C0 D0

B0 E0 A0 F0 C0 D0

B0 E0 A0 F0 C0 D0

B0 E0 A0 F0 C0 D0

B0 E0 A0 F0 C0 D0

B0 E0 A0 F0 C0 D0

data

processes

Page 63: §5  多理机的发展

MPIMPI 群集通信群集通信 (( 续续 3)3) 全局交换

MPI_Alltoall 的每个进程可以向每个接收者发送数目不同的数据,第i 个进程发送的第 j 块数据将被第 j 个进程接收并存放在其接收消息缓冲区 recvbuf 的第 i 块,每个进程的 sendcount 和 sendtype 的类型必须和所有其他进程的 recvcount 和 recvtype 相同,这也意谓着在每个进程和根进程之间发送的数据量必须和接收的数据量相等。

int MPI_Alltoall ( void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm )

A1

A4

A0

A5

A2

A3

alltoall

(d)

A1 A4A0 A5A2 A3

B1 B4B0 B5B2 B3

C1 C4C0 C5C2 C3

D1 D4D0 D5D2 D3

E1 E4E0 E5E2 E3

F1 F4F0 D5F2 F3

B1

B4

B0

B5

B2

B3

C1

C4

C0

C5

C2

C3

D1

D4

D0

D5

D2

D3

E1

E4

E0

E5

E2

E3

F1

F4

F0

D5

F2

F3

data

Processor

Page 64: §5  多理机的发展

Thread/pThreadThread/pThread 进程不适合细粒度的共享存储并行程序设计。 线程 ( threads )又被称作轻量级进程。 进程可由单个线程来执行,即通常所说的串行执行;或者,

进程也可由多个线程来并行执行,此时,多个线程将共享该进程的所有资源特征,并可以使用不同的 CPU ,对不同的数据进行处理,从而达到提高进程执行速度的目的。

Page 65: §5  多理机的发展

并行程序性能优化 减少通信量、提高通信粒度 全局通信尽量利用高效集合通信算法 挖掘算法的并行度,减少 CPU 空闲等待 负载平衡 通信、计算的重叠 通过引入重复计算来减少通信,即以计算换通信

Page 66: §5  多理机的发展

•1.2 Tflops (Theoretical limit).•Linpack : 355.5 GFLOPS

Page 67: §5  多理机的发展

系统配置 Node Configuration ( 300 个)

Pentium IV 2.0 GHz,  512 Kbytes L2 cache 512 Mbytes (PC2100) SDRAM 2 x Fast Ethernet adaptors 40 GByte IDE hard disk Running Linux operating system (RedHat

8.0) Total RAM > 150 GBytes Total Storage > 12 TBytes

Page 68: §5  多理机的发展

系统配置(续) Network Components

High Speed Network : Large chassis switch - 312 FE ports

Management Network One 24-port Gigabit switch 24-port FE switch (with GE uplink) - 13 units 620 UTP network cables

File Servers 4 Dell PowerEdge (4 Pentium III Zeon CPUs) Gigabit connection to the 3Com GE switch.

Page 69: §5  多理机的发展
Page 70: §5  多理机的发展
Page 71: §5  多理机的发展
Page 72: §5  多理机的发展
Page 73: §5  多理机的发展

二期建设方案

核心计算网络

核心管理网络

刀片计算节点(100节点)

8Gb光纤盘阵

2台GPU节点

2台胖节点

1台管理节点

1台调度节点

万兆+千兆以太网管理网络

图例:

Infi niband计算网络

光纤存储网络

2台登陆节点

6台LUSTRE节点

2台I O节点

1台肥节点

8 U