清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2017年3月

Slides:



Advertisements
Similar presentations
國立交通大學應用數學系 數學建模與科學計算研究所 簡 介. 隨著科技的日新月異,人類為追求完美的生活,其 所面臨的科學與工程問題也日趨複雜,舉凡天氣的 預測、飛機的設計、生物醫學中的神經網路、奈米 材料的研發、衍生性金融產品的定價、甚至交通流 量的監測等問題,透過「數學建模」的量化過程, 再配合以「科學計算」的方式去模擬現象並嘗試尋.
Advertisements

C enter of C omputational C hemistry 并行计算机与并行计算 张鑫 理论与计算化学国际合作研究中心 分子反应动力学国家重点实验室.
1 I/O 设备访问方式和类型. 2 Overview n The two main jobs of a computer: l I/O (Input/Output) l processing n The control of devices connneted to the computer is.
云计算辅助教学风云录 黎加厚 上海师范大学教育技术系 2010年8月9日.
Welcome to the world of Computer Organization 计算机组成原理
第 2 章 中央處理單元.
Information Resource Management
多核结构与程序设计 杨全胜 东南大学成贤学院计算机系.
第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因:
赵永华 中科院计算机网络信息中心 超级计算中心
第二章 微型计算机系统 第一节 基本术语和基本概念 第二节 计算机系统的基本构成 第三节 微机系统的硬件组成 第四节 微机系统的软件组成.
网络资源 (1)Oracle中国网址: (2)Oracle中国用户讨论组
CHAPTER 9 虛擬記憶體管理 9.2 分頁需求 9.3 寫入時複製 9.4 分頁替換 9.5 欄的配置法則 9.6 輾轉現象
日月光人力需求簡介 Robert Guo.
思科Oracle RAC解决方案 Starry Wu UCS -GC.
加快数据中心运转速度 — 加速业务发展 约翰•福勒 甲骨文公司系统事业部执行副总裁. 加快数据中心运转速度 — 加速业务发展 约翰•福勒 甲骨文公司系统事业部执行副总裁.
网格 及其应用的一些相关技术 高能所计算中心 于传松
前言 1.课程安排: 第一章 操作系统引论(7学时) 第二章 进程管理(14学时) 第三章 处理机调度与死锁(10学时)
第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机
第1章 概述.
HADOOP的高能物理分析平台 孙功星 高能物理研究所/计算中心
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2005年5月
数字系统设计及VHDL实践 专题五 专用集成电路 设计中的并行算法 主 讲 人:徐向民 单 位:电子信息学院.
“服务器服务于Internet”报告会 倪光南 1999年7月6日
清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2007年10月
天文望远镜集成建模研究 杨德华 南京天文光学技术研究所 30 NOV, 年中国虚拟天文台年会 广西师范大学 桂林
Operating System CPU Scheduing - 3 Monday, August 11, 2008.
网 站 设 计 与 建 设 Website design and developments
Hardware Chen Ching-Jung
第 2 章 中央處理單元.
3G时代的云计算 中国云计算专家委员会 刘鹏 中国网格: 中国云计算:
Human Brain Vs. e-Brain Brain e-Brain Time Brain ~1950 ~1980 ~2010
軟體原型 (Software Prototyping)
Computational Chemistry
CPU資料處理 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS 轉
網路技術管理進階班---區域網路的技術發展
高效能運算服務 (High Performance Computing) 建置之經驗分享
計算方法設計與分析 Design and Analysis of Algorithms 唐傳義
電腦的種類 超級電腦 (supercomputer) 大型電腦 (Mainframe) 迷你電腦 ( Mini computer)
王耀聰 陳威宇 國家高速網路與計算中心(NCHC)
淘宝核心系统数据库组 余锋 利用新硬件提升数据库性能 淘宝核心系统数据库组 余锋
GPU分散式演算法設計與單機系統模擬(第二季)
5 Computer Organization (計算機組織).
ICA3PP 2000 Hong Kong December
Ch 9: Input/Output System 输入/输出系统
Quantum Computer B 電機三 莊子德
华南理工大学 陈虎 博士 CUDA编程模型 华南理工大学 陈虎 博士
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
胡維平 國立中正大學化學暨生物化學系 Aug. 30, 2017
High Performance Computing Service in NTUCC
计算机系统结构 第一章 基本概念 第二章 指令系统 第三章 存储系统 第四章 输入输出系统** 第五章 标量处理机 第六章 向量处理机
第6章 向量处理机 包仲贤 兰州兰州理工大学计算机与通信学院 2019年2月16日星期六 计算机系统结构 第六章 向量处理机.
十二、并行程序设计基础.
計算機概論 第3章 計算機組織與結構概觀.
TinyOS 石万兵 2019/4/6 mice.
计算机问题求解 – 论题1-7 - 不同的程序设计方法
中国科学技术大学计算机系 陈香兰 2013Fall 第七讲 存储器管理 中国科学技术大学计算机系 陈香兰 2013Fall.
虚 拟 仪 器 virtual instrument
中国科学技术大学计算机系 陈香兰 Fall 2013 第三讲 线程 中国科学技术大学计算机系 陈香兰 Fall 2013.
胡維平 國立中正大學化學暨生物化學系 Aug. 22, 2018
從 ER 到 Logical Schema ──兼談Schema Integration
第八章 SIMD计算机.
SoC 與微控制器的發展 朱亞民.
BiCuts: A fast packet classification algorithm using bit-level cutting
SAP 架構及基本操作 SAP前端軟體安裝與登入 Logical View of the SAP System SAP登入 IDES
百万亿次超级计算机诞生记 姓名 Xiangyu Ye 职务 微软中国技术中心资深HPC顾问 公司 微软中国
11 Overview Cloud Computing 2012 NTHU. CS Che-Rung Lee
中国区部分高性能计算行业用户名单 中石油北京勘探开发 研究院 中海油南方基地 中石化物探研究院 中石油东方物探(BGP) 中科院数学所
Experimental Analysis of Distributed Graph Systems
第三章 计算机体系结构.
Presentation transcript:

清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2017年3月 计算机科学与技术系研究生课程 高等计算机系统结构 清华大学计算机科学与技术系高性能计算研究所 郑纬民 教授 2017年3月

高等计算机系统结构课程介绍 教材 1.Kai Huang著,王鼎兴、郑纬民、沈美明译,高等计算机系统结构 并行性 可扩展性 可编程性,清华大学出版社。 2.Patterson D.A.,Hennesy J.L.,Computer Architecture:A Quantitative Approach,Morgan Kanfmann Publishers 3. Patterson D.A.,Hennesy J.L., Computer Organization & Design:The Hardware/Software Interface, Morgan Kanfmann Publishers

高等计算机系统结构 第一章 高等计算机的核心技术——并行处理 第二章 加速比性能模型与可扩展性分析 第三章 互连与通信 第四章 划分与调度 第一章 高等计算机的核心技术——并行处理 第二章 加速比性能模型与可扩展性分析 第三章 互连与通信 第四章 划分与调度 第五章 并行存储器系统 第六章 Cache Coherence 第七章 Memory Consistency 第八章 指令级并行处理 第九章 微处理器设计与实现方法 第十章 网格计算

高等计算机系统结构 第十一章 DSM 第十二章 传感器网络 第十三章 对等计算 第十四章 海量网络存储器 第十五章 多核CPU技术 第十二章 传感器网络 第十三章 对等计算 第十四章 海量网络存储器 第十五章 多核CPU技术 第十六章 可信计算系统 第十七章 虚拟化技术 第十八章 基于集群的海量数据处理

高等计算机的核心技术——并行处理 1.1 什么是并行处理 1.2 为什么要开发并行处理技术 1.3 并行处理计算机结构沿革 1.1.1 并行处理定义 1.1.2 并行性级别 1.2 为什么要开发并行处理技术 1.3 并行处理计算机结构沿革 1.4 其它并行处理计算机技术

1.1 什么是并行处理 1.1.1 并行处理定义 并行处理是指同时对多个任务或多条指令、或同时对多个数据项进行处理。 完成此项处理的计算机系统称为并行处理计算机系统。

同时性(simultaneity)——两个或多个事件在同一时刻发生。 并发性(concurrency)——两个或多个事件在同一时间间隔内发生。 流水特性(pipelining)——在一个重叠的时间内所发生的流水事件。

1.1.2 并行性级别 粒度(granularity):衡量一个软件进程的计算量的度量。最简单的是指此程序段中的指令数。分细、中、粗三种。 按粒度的不同,并行性级别可以分为指令级、循环级、过程级、子程序级和作业级等不同的层次。它们对应的计算粒度可以为细粒度、中粒度和粗粒度。如下:

1.指令级并行 典型细粒度,一般少于20条指令。借助优化编译器自动检测并行性,将源代码变成运行时系统能识别的并行形式。 2.循环级并行 典型循环含少于500条指令,由于有些循环操作在连续迭代中并不相关,易于向量化,是在并行机或向量机上运行的最优程序结构。递归循环的并行化比较困难。向量处理由优化编译器在循环级开发,仍属于细粒度计算。

3.过程级并行 中粒度并行,指令少于2000条,分析过程间的并行性比细粒度要困难。有时需要重新设计程序,并要编译器的支持。SPMD、多任务处理属于这一层。 4.子程序级并行 (粗)中粒度并行,几千条指令,常在message passing多计算机上以SPMD或MPMD方式执行。并行性主要由算法设计人员与程序员开发。

5.作业级并行 粗粒度并行,数万条指令,常由加载程序和操作系统处理这类并行性,靠算法有效性来保证。 一般说来: 细粒度:用并行化或向量化编译器来开发,共享变量通信支持。 中粒度:靠程序员和编译器一起开发,共享变量通信。 粗粒度:取决于操作系统和算法的效率,消息传递通信。

例子:共享存储型多处理机上执行: 忽略总线争用或存储器访问冲突。 L1: DO 10 I=1, N L2: A(I)=B(I)+C(I) L3: 10 Continue L4: SUM=0 L5: DO 20 J=1, N L6: SUM=SUM+A(J) L7: 20 Continue 假设:L2,L4,L6每行要用一个机器周期。 L1,L3,L5,L7所需时间可以忽略。所有数组已经装入主存,程序已装入Cache中(取指令和加载数据可以忽略不计)。 忽略总线争用或存储器访问冲突。

系统互连 上面的程序实际上把数组B(I)和C(I)相加,最后得到一个总和。 共享存储多处理机结构如下图: 处理机 共享存储器 …… P1 Pm 系统互连 …… I/O SM1 SMm 共享存储器

在单机系统中,2N个周期可以完成上述的操作: I循环中执行N次独立迭代需要N个周期; J循环中执行N次递归迭代也需要N个周期。 在共享存储型的多处理机系统上: 假设有M台处理机,可以将循环分成M段,每段有L = N/M个元素。 代码如下所示:

Doall k= 1, M Do 10 I= L(k-1) + 1 , kL A(I) = B(I) +C(I) 10 Continue SUM(k)=0 Do 20 J=1 , L SUM(k)= SUM(k)+A(L(k-1)+J) 20 Continue Endall

分段的I循环可以在L个周期中完成; 分段的J循环在L个周期中产生M个部分和。 所以产生所有的M个部分和共需要2L个周期(还需要将这些部分和合并)。 假设经过共享存储器的处理机之间的每次通信操作需要k个周期。 设N=32,M=8,则经过2L(即8个周期)后在8台处理机上各有一个部分和,还需要8个数相加。 为了合并部分和,可以设计一个l层的二进制加法树,其中l=log2M,加法树用l(k+1)个周期从树叶到树根顺序合并M个部分和,如下:

二进制加法树: 所以,多处理机系统需要 才能得到最终的结果。

假定数组中有N=220个元素,顺序执行需要2N=221个机器周期,假设机器间通信的开销平均值为k = 200个周期,则在M=256台处理机的并行执行需要:

第一章 高等计算机的核心技术——并行处理 1.1 什么是并行处理 1.2 为什么要开发并行处理技术 1.3 并行处理计算机结构沿革 1.4 其它并行处理计算机技术

1.2 为什么要开发并行处理技术 对单用户,可以提高加速比(Speedup Oriented); 对多用户,可以提高吞吐率(Throughput Oriented). 对不同的需求我们可以做需求分析如下:

高性能计算与科研,产业…——需求与意义 基础科研领域的计算需求 工业领域的需求 difficult, 例如建造大型风洞 物理 化学 生物 材料 工业领域的需求 银行 辅助设计 医药 石油 气象 在线服务 信息安全 传统的科学研究 理论分析 设计试验 difficult, 例如建造大型风洞 expensive, 例如建造样机 slow, 例如等待气候的变化,天体的演化 dangerous, 例如武器开发,药品,大气试验,电力系统分析 物理原理和数值方法 基于计算科学的 科学研究

富有挑战性的计算问题遍及科学与工程的各个领域 Science Global climate modeling Astrophysical modeling Biology: genomics; protein folding; drug design Computational Chemistry Computational Material Sciences and Nanosciences Engineering Crash simulation Semiconductor design Earthquake and structural modeling Computation fluid dynamics (airplane design) Combustion (engine design) Oil field applications Business Financial and economic modeling Transaction processing, web services and search engines Defense Nuclear weapons -- test by simulations Cryptography

全球气候模拟 计算问题: f(经度, 纬度, 海拔, 时间) 温度, 气压, 适度, 风速 做法: 域的离散化分解,10公里解析度(Discretize the domain, e.g., a measurement point every 10 km) 给定时间t设计算法预测t +dt的天气(Devise an algorithm to predict weather at time t+dt given t) 应用: 主要事件预测(Predict major events, e.g., El Nino) 用于确定大气散射标准(Use in setting air emissions standards) 来源: http://www.epm.ornl.gov/chammp/chammp.html

全球气候模拟 大气环流模拟 需求解Navier-Stokes方程 1分钟时间间隔100个浮点运算/网格点对计算的需求 为确保时效需1分钟执行5 x 1011 flops = 8 Gflop/s 以天为单位的7 天天气预报需要  56 Gflop/s 以月为单位的50年气候预测需要  4.8 Tflop/s 以12小时为单位的50年预测  288 Tflop/s 如果提高网格解析度则计算复杂性将呈8x,16x增加 更高的精确预测模型则需要综合考虑大气,海洋,冰川,陆地,加上地球化学等因素 千年气候模型分析目前无法对此进行有效计算 5e11 = [ 4*pi*(4000*1.6)^2 / 100 ] * 1000 vertical levels * 100 flops/cell

Units of High Performance Computing

Units of High Performance Computing

Units of High Performance Computing

Units of High Performance Computing

Units of High Performance Computing

Units of High Performance Computing

Units of High Performance Computing

巨型电力系统实时仿真 电 网 调 度 应用服务器 通讯服务器 数据采集和传输 RTU RTU RTU 输电 变电 配电 用电 发电

中国电网现状 巨型电力系统实时仿真 到2002年底 35kV及以上线路总长度:80万公里 500kV线路:34939公里

Production and Consumption must be balanced 巨型电力系统实时仿真 2005 National Power System of China 10188 nodes 1072 generators 3003 loads 13499 transmission lines 4 HVDCs The largest simulation model in China One case, serious fault, 10s dynamic process; On Itanium2 1G CPU; Well-known serial algorithm; 25s consumed Production and Consumption must be balanced

巨型电力系统实时仿真 What is Dynamic Simulation - Simulate the dynamic process after faults to study stability characteristics of power system and verify the operation schedule Why 1 the most popular simulation tool in power system analysis 2 it has very intensive computation 3 serial algorithms can not fulfill the requirements of on-line applications and be only used off-line Computational Model - Differential Algebra Equations

巨型电力系统实时仿真 On-line Operation scheduling makes large scale power system more secure Frequently operation state checking to maintain power system stability (based on many dynamic simulations) On-line Operation scheduling makes more profit Operation schedule within minutes fulfills the variational power needs well An Example: for one power company, in one day, on a 500kV transmission line, every 100MW transmission power changed gains RMB one million

高性能计算已经成为复杂系统工程的必备手段

事务处理的高性能需求 Google query attributes Data Center Data in 2004 150M queries/day (2000/second) 100 countries 8.0B documents in the index Data Center 100,000 Linux systems in data centers around the world 15 TFlop/s and 1000 TB total capability 40-80 1U/2U servers/cabinet 100 MB Ethernet switches/cabinet with gigabit Ethernet uplink Growth from 4,000 systems (June 2000) Data in 2004

1.天气预报 1990年10次台风登陆,福建、浙江两省损失79亿元,死亡950余人。 天气预报模式为非线性偏微分方程,预报台风暴雨过程,计算量为1014—1016次浮点运算,需要10GFlops—100GFlops的巨型机。 用途:局部灾害性天气预报。

http://www.sina.com.cn 2005年08月06日09:43 中国宁波网 解放以来历次对宁波产生较大影响的台风 解放以来历次对宁波产生较大影响的台风(图) http://www.sina.com.cn 2005年08月06日09:43 中国宁波网 解放以来历次对宁波产生较大影响的台风

2.石油工业 地震勘探资料处理 油藏数值模拟 测井资料处理 地震勘探由数据采集、数据处理和资料解释三阶段组成。 目前采用的三维地震勘探比较精确的反映地下情况,但数据量大,处理周期长。 100平方公里的三维勘探面积,道距25米,60次覆盖,6秒长记录,2毫秒采样,一共采集2.881010个数据,约为116GB。

叠加后数据为4.8108个数据。用二维叠前深度偏移方法精确的产生地下深度图像,需要进行251012FLOP,采用100MFLOPs机器计算250天,1GFLOPs机计算25天,10GFLOPs机器35分。考虑到机器持续速度常常是峰值速度的10-30%,所以需要100GFlops的机器。Cray T932/32约为60GFLOPs。

3.航空航天 研究三维翼型对飞机性能的影响。数值模拟用时间相关法解Navier-Stoker方程,网格分点为1204050,需内存160MB,6亿计算机上解12小时,如果在数分钟内完成设计,则需要千亿次计算机。

4.重大挑战性课题需求(图3.5) 计算空气动力学:千万亿次/秒 图像处理: 百万亿次/秒 AI: 千万亿次/秒

5.核武器 核爆炸数值模拟,推断出不同结构与不同条件下核装置的能量释放效应。 压力: 几百万大气压 温度: 几千万摄氏度 能量在秒级内释放出来。 设计一个核武器型号,从模型规律、调整各种参数到优选,需计算成百上千次核试验。 Los Alamos实验室要求计算一个模型的上限为8-10小时。

千万次机上算椭球程序的计算模型需要40-60CPU小时。 二维计算,每方向上网格点数取100,二维计算是一维的200倍,三维是一维的33000倍。若每维设1000网格点,则三维计算是一维的几十万倍之多。此时对主存储器容量要数十、数百亿字单元(64位)。 另外还有I/O能力的要求,可视化图形输出。

6.解决方案 只有开发并行处理技术才能满足要求: 100-1000T performance: Teraflops of Computing Power Terabyte of Main Memory Terabyte/s of I/O bandwidth

第一章 高等计算机的核心技术——并行处理 1.1 什么是并行处理 1.2 为什么要开发并行处理技术 1.3 并行处理计算机结构沿革 第一章 高等计算机的核心技术——并行处理 1.1 什么是并行处理 1.2 为什么要开发并行处理技术 1.3 并行处理计算机结构沿革 1.3.1 向量机与多向量机 1.3.2 SIMD计算机 1.3.3 Shared-Memory Multiprocessors 1.3.4 Distributed-Memory Multiprocessors 1.3.5 四类实用的并行系统 1.4 其它并行处理计算机技术

1.3 并行处理计算机结构沿革 1.3.1 向量机与多向量机 向量机的结构如下图:

scalar processor vector instruction Scalar Functional pipelines vector processor Vector Control unit control scalar instruction Scalar Control unit vector registers Vector Functional pipelines …… Main Memory (Program and data) Vector Functional pipelines Mass Storage Host Computer I/O(user)

程序和数据从Host进入主机 指令先在Scalar control unit译码,如是标量或控制操作指令,则在标量功能流水部件种执行。如果是向量指令,则进入向量控制部件。 register-to-register: Cray series Fujitsu VP2000 series memory-to-memory: Cyber 205 向量化。

多向量机发展过程: CDC Cyber205 (Levine,1982) Memory-Memory ETA 10 (ETA,Inc,1989) CDC7600 (CDC,1970) Cray Y-MP Cray Research 1989 Cray MPP Cray Research 1993 Cray 1 (Russell,1978) register-register Fujitsu NEC Hitachi Models

其中: Cray Y-MP, C90: Y-MP有2,4,8个处理器,而C90有16个处理单元(PE),处理速度16GFlops。 Convex C3800 family: 8个处理器,4GB主存储器, Rerkperformance 为2GFlops。

InterConnection Network 1.3.2 SIMD计算机 SIMD计算机的结构如下图: Control Unit PE0 PE1 PE N-1 Proc 0 Proc 1 Proc N-1 …… Mem 0 Mem 1 Mem N-1 InterConnection Network

MasPar MP-1: 可有1024,4096,…,16384个处理器。在16K PEs,32位整数运算,16KB局部存储器模块的配置下,可达26000MIPS,单精度浮点运算1.5GFlops,双精度浮点运算650MFlops。 CM-2: 65536个处理单元,1Mbit/PE。 峰值速率为28GFlops,持续速率5.6GFlops。 SIMD计算机发展过程图如下:

DAP 610 (AMT,Inc.1987) GoodYear MPP (1980) CM2 (1990) CM5 (1991) Illiac IV (1968) MasPar MP1 (1990) BSP (1982) IBM GF/11 (1985)

1.3.3 Shared-Memory Multiprocessors UMA(Uniform-memory-access) model: 物理存储器被所有处理机均匀共享,所有处理机对所有存储字具有相同的存取时间。 P0 P1 …… Pn 处理器 InterConnection Network (Bus、Crossbar、Multistage Network) 共享存储器 I/O SM1 SMn ……

NUMA(NonUniform-memory-access) model: 访问时间随存储字的位置不同而变化。 LM1 P1 LM2 P2 Inter- Connection Network …… …… …… LMn Pn

COMA(Cache-only memoryarchitecture): 只用高速缓存的多处理机 远程高速缓存访问则借助于分布高速缓存目录进行。 Kendall Square Research’s KSR-1 InterConnection Network D D D C C C distributed cache directories …… P P P

Shared-Memory Multiprocessors发展过程如下: stanford/Dash (1992) Illinois Cedar (1987) Fujitsu VPP500 (1992) KSR-1 (1990) C mmp (cmu,1972) IBM RP3 (1985) UltraComputer NYU (1983) BBN Butterfly (1989)

Distributed-Memory multiprocessors发展进程: nCube-2/6400 (1990) Cosmic Cube (1981) Intel paragon (1992) intel iPSC’s (1983) Mosaic (1992) MIT/J machine (1992)

1.3.5 四类实用的并行系统 1.向量机与多向量机 硬、软件技术相对成熟、应用广泛、市场占有率高。很难达到3T performance来解决Grand Challenge 问题。 下面图表说明了这一类机器的发展过程。

GFlops 100 Cray T932/32 60GF Cray C 916/16 16GF 10 Cray J916/16 3.2GF Cray Y-MP/8 2.6GF Cray 2/4 1.9GF Cray X-MP/2 0.24GF Cray1/1 0.16GF 0.1 1976 1979 1982 1985 1988 1991 1994 Year

2.对称式多处理机SMP SMP:Symmetric MultiProcessors Shared Memory multiProcessors Small size MultiProcessors 处理机之间无主从之分,对外有相同的访问权,都有执行操作系统核心和I/O服务程序的能力。 共享存储器、统一地址空间,系统编程比较容易。 CPU可多至16台左右,做服务器用,市场前景好。

典型的SMP有: Sun SPARC server 1000 Sun SPARC center 2000 SGI Power Challenge SGI Power Challenge L:2-6CPU,1.8GFlops SGI Power Challenge XL: 2-18CPU,5.4GFlops *64位MIPS chip,每周期指令发射数为4 *8路交错主存、带宽为1.2GB/s *I/O带宽320MB/s(每个控制器),配置4个可达1.2GB/s

3.MPP系统(分布存储) 多于100个PE,消息传递,分布存储; 可扩展,峰值可达3T performance; 贵,市场有限; 持续速度是峰值速度的3-10%; 可解决某些Grand Challenge问题,是国家综合实力的象征。

BlueGene/L 131072 CPUs 367000 GLOPS 2,500 Square Feet 2 cpu/node, 2 nodes/card, 16 card/node board, 16 node board/midplane, 2 midplane/rack 131072 CPUs 367000 GLOPS 2,500 Square Feet

Earth Simulator 5120 CPUs, 40960 GFLOPS

4.机群系统 NOW:Network Of Workstations COW:Cluster Of Workstations 特点: 投资风险小,软件财富继承性好; 可构成异构系统,资源利用率高; 通信开销大。 一种典型的机群系统结构如下:

CPU Memory I/O I/O Memory CPU CPU Memory I/O I/O Memory CPU …… …… CPU Memory I/O I/O Memory CPU Network

集群系统发展趋势

TOP 500(2007年6月)中的集群 系统数量分布 74.6% 4% 21.4%

Top500中的集群系统(节录) 资料来源:www.top500.org,2007年6月数据,共有373个集群系统进入 Top500排行。

TOP 500(2007年6月)中的集群 系统性能分布 56.64% 3.53% 39.83%

TOP 500过去14年体系结构演化

TOP 500过去14年体系结构演化

从TOP500看集群系统 在高性能计算领域,集群系统已经成为主流的系统结构,并将进一步扩大其所占份额

集群系统的发展趋势 64位系统逐渐成为主流 多种商业化的高速互连网络 SAN系统作为集群的存储设备

64位:突破2GB的系统内存瓶颈 科学计算 大规模模拟应用 生物信息学 素数运算 三维网格模拟应用所需的内存可以轻易突破2GB 基因拼接等应用需要大量的内存,实际应用中内存不足是主要问题之一 素数运算 需要用到大量64位整数运算和大内存

64位:突破2GB的系统内存瓶颈 商业应用 海量数据处理 媒体播放服务器 DB in memory 大内存 高内存带宽 减少访问磁盘次数,可将性能提高近一个数量级

64位:新的设计理念 引发新的设计理念 现有的很多算法是基于内存不足设计的,因此很多精力花费在用时间换取空间上 64位系统提供了访问更大内存的机会,因此很多应用可能要基于新的理念进行设计,以获得64位所带来的好处

64位:不是万能灵药 并非所有用户都需要现在就转向64位 需要根据自己的应用特性来分析 代码膨胀,性能反而可能会下降 需要根据自己的应用特性来分析 是否需要2GB以上的内存 是否有大量64位整数运算 如果上述问题的答案都是否,那么不一定能够从64位系统中得到预期的好处 某些应用可以从特定的64位处理器获得很大的性能提高,但这不是64位本身的特性,而是依赖于特定处理器,需要具体分析实际情况

集群系统的互连网络 评价互连网络的指标 延迟 带宽 功能支持 价格

集群系统的互连网络 Interconnect Interface MPI Latency(us) Uni-directional Bandwidth (MB/s) 说明 GB Ether PCI ~30-50 100 最便宜 Myrinet PCI-X 6 248 SCI 1.4 326 延迟最小 Quadrics III 5 340 InfiniBand 4x 7.5 805 带宽最高

集群系统的互连网络 功能支持 都支持MPI,除GB Ethernet外都实现了高效率的通信协议 SCI和Quadrics还提供了共享内存的支持,但是其远程通信延迟仍然在us数量级,对于细粒度的共享内存程序,仍然无法很好地支持(对比SGI Altrix系列的远程访问延迟在200ns以下)

集群系统的互连网络 主要运行粗粒度并行程序的小规模集群系统用户,可以使用千兆以太网进行互连 大规模集群系统中,千兆以太网很可能成为系统瓶颈,宜选取专用高速网络互连 InfiniBand因其规模效益,可能成为将来的主流互连设备

集群系统所面临的挑战 能耗问题 管理性 不仅仅是集群系统的问题 从芯片,单机和集群系统等多个层次来共同解决这个问题 监控 自我修复 管理信息的过滤与提取 分区

集群系统所面临的挑战 程序开发与优化问题 Cluster OpenMP? MPI 2会有更好的性能? 如何更好地利用多个层次的并行性,MPI-OPENMP 混合编程还是仅用MPI? Core内的指令级并行 Core之间的并行 SMP内不同CPU的并行 SMP节点间的并行

总结 集群系统已经得到广泛接受,成为高性能计算机的主要体系结构 64位处理器,高速互联网络和SAN系统使得集群系统的能力更加强大,是今后一段时间集群系统的发展趋势 能耗、可管理性和程序开发问题是集群进一步发展所面对的挑战。

高性能计算——清华集群系统3

第一章 高等计算机的核心技术——并行处理 1.1 什么是并行处理 1.2 为什么要开发并行处理技术 1.3 并行处理计算机结构沿革 1.4 其它并行处理计算机技术

1.4 其它并行处理计算机技术 1.数据流技术 data flow以数据驱动机制代替控制流机制 当功能部件输入端的操作数可用时就启动执行;可开发程序中所有的并行性,但费用昂贵,实际性能与功能部件数量、存储器带宽以及挂起和可用部件相匹配的程度有关。 如:MIT的MonSoos,*T ETL的Sigma1,EM5

2.多线程 每台处理机有多个控制线程,同时运行多个现场,是实现时延隐藏的一种有效机制。 比如: Tera,Alewife 成本高。

3.逻辑推理与规约结构 逻辑推理: 日本第五代机,面向逻辑语言、执行速度慢,软件与程序设计环境欠丰富。 规约结构: Alice,PGR,面向函数语言,执行速度慢,软件与环境欠丰富。

4.关键技术 并行算法(数值算法与非数值算法) 并行计算模型 互连与通信 并行存储技术 同步与时延隐藏技术 并行I/O 划分、调度与负载平衡 优化编译 并行调试 工具与环境

5.美国的主要行动 (1)组织基于NSF的国家科学计算联盟 (National Computational Science Alliance) 建立国家科技网(Grid):97.11开始,五年计划,总经费3.4亿美元。 目标:使美国在全国范围内的元计算机(网上的计算机可作为一个整体看待)达到实用水平。 为在桌面上解决计算科学与工程时提供一个有力的解题环境。 解决基于元计算环境的并行、分布、协作和immersive等问题。 UIUC、San Diago组织实施。

(2)DOE支持的ASIC计划 (Accelerated Strategic Computing Initiative) 保证在21世纪美国在核研究和核储备继续处于领先地位。 以Los Alamos,Sandia和Lawrence Livermore 三个国家实验室为核心,组成遍及美国不同地区的“拆墙合作”。 为建立Virtual Laboratory奠定基础。 研制出超级计算机系统:万亿次量级的计算机,2的50次幂(约千万亿)容量的数据库系统。 提供高效、好用的计算环境。

能实现基于网络的、分布式协同工作环境。 能提供高效的、点对点的计算设施。 在CORBA的环境下有效的把计算平台和有关应用进行系统集成。 负载平衡。 可裁剪性。

6.Models of Parallel Computers(1960s-1980s) SIMD MIMD Data Multiple Data Streams Multiple Data Streams Instruction Single Instruction Streams Multiple Instruction Streams Implication Single Program; May be many Programs Lots of data to have lots of parallelism; Lots of programs to have lots of parallelism Programming is simpler since communication is always synchronized; H/W construction is simpler using off-the-shelf uniprocessors Communications seperate from computation since instructions distinct communication merged with computation Implication Illiva IV、CM-2、MasPar Cray X-MP、Sequent、nCube

7.一些缩写 SPMD——Single Program Multiple DataStream MPMD——Multiple Program Multiple DataStream SIMD——Single Instruction Multiple Data MIMD——Multiple Instruction Multiple

重视评测技术,促进我国高性能计算事业的持续发展

高性能计算的发展 必须坚持用户驱动的原则 不同的用户对系统的需求有显著不同 BlueGene/L 高并行度,可采取低主频策略 系统的各个方面的能力要与用户应用相适应,系统必须是一个均衡的系统 单处理器能力 内存访问 I/O 互连网络

性能评测技术是连接 用户与设计者的桥梁 需求收集 应用程序分析 Benchmark程序集构建 系统建模和应用程序性能预测 需求的应用领域,有代表性的应用程序 应用程序分析 并行度 通信、I/O和计算需求 Benchmark程序集构建 根据需求,采用有代表性的程序,并根据需求中各个程序的重要性构建benchmark程序集 系统建模和应用程序性能预测 比较不同的系统设计方案 分析系统性能瓶颈 为优化应用提供依据

国际现状 美国国防部利用评测技术来驱动高性能计算系统的购买流程 美国DARPA HPCS 中的Benchmarking 计划 美国DOE PERC 计划

美国DOD2005年高性能计算系统 购买评估流程 评估需求 确定评估标准 第1期评估 第2期评估 购买 确定benchmarks和权重 性能与性价比 易用性 第1期评估 第2期评估 购买

美国DOD用户基础和需求 561 个计划 , 4,572 个用户 可以分类为10个领域 CSM – 507 用户 561 个计划 , 4,572 个用户 可以分类为10个领域 在2005年需要260TFLOPS*年 的非实时计算能力 CWO – 231 用户 CFD – 1,135 用户 FMS – 889 用户 CEN – 38 用户 CCM – 235 用户 EQM – 170 用户 IMT – 568 用户 CEA – 304 用户 SIP – 435 用户 60 users are self characterized as “other”

DOD 2005Benchmark集 合成的测试程序集(I/O,操作系统测试,内存测试,网络测试,CPU测试等) 实际应用 Aero – Aeroelasticity CFD code (Fortran, serial vector, 15,000 lines of code) AVUS (Cobalt-60) – Turbulent flow CFD code (Fortran, MPI, 19,000 lines of code) GAMESS – Quantum chemistry code (Fortran, MPI, 330,000 lines of code) HYCOM – Ocean circulation modeling code (Fortran, MPI, 31,000 lines of code) OOCore – Out-of-core solver (Fortran, MPI, 39,000 lines of code) RFCTH2 – Shock physics code (~43% Fortran/~57% C, MPI, 436,000 lines of code) WRF – Multi-Agency mesoscale atmospheric modeling code (Fortran and C, MPI, 100,000 lines of code) Overflow-2 – CFD code originally developed by NASA (Fortran 90, MPI, 83,000 lines of code)

HPCS的Benchmark

美国DOE PERC 计划 主要研究应用程序与系统建模技术 比较不同的系统设计方案 分析系统性能瓶颈 为优化应用提供依据

国内评测技术的现状 国内很多单位也开展了评测技术的研究 计算所,国防科大,56所,清华大学,软件行业协会数学软件分会等 863信息领域高性能计算机及其核心软件专项于2004年11月2日成立了"863高性能计算机评测中心“ 独立的第三方测试 以清华大学为依托,联合了多家国内高性能计算的专家和用户

中心的主要工作(1) 评测方法的研究 在现有的基准测试程序的基础上,初步提出了一套高性能计算机系统评测方案 可靠性测试研究 配置测试、底层测试、单机测试、全系统测试 对十五期间863支持的两台万亿次机完成了测试 可靠性测试研究 开发出一套基于HPCCbenchmark的可靠性测试benchmark,测试系统包括 清华大学集群,中山大学集群,北京城市学院集群 待测:北大、北邮,北京化工大学,国防科大,56所,计算所信产部项目集群等

中心的主要工作(2) 具有国内应用特色的基准测试程序开发 Grapes (Global/Regional Assimilation and Prediction System):全球/区域同化预报系统,新一代数值预报系统,中国气象研究院提供。 Mx3dg:三维平面混合层可压缩湍流直接数值模拟测试程序,中科院数学与系统研究院与力学所提供。 CFD软件包:九院九所提供 TH-PaPSM:解决大规模电力系统暂态过程的实时仿真问题,清华大学提供。 生物信息学软件包:一组生物信息学应用。清华大学提供。

中心未来工作计划 进一步开发符合中国国内应用特色的基准测试程序 研究应用与系统建模技术,提高预测的准确程度 对系统可靠性、可管理性、可调度性的测试技术进行研究

建议 评测技术可以有效地反映用户需求,在高性能计算系统的研制全过程采用评测技术十分必要