高性能计算导论-introduction
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BSP:
Computation supersteps synchronization
成本函数
PRAM:
TEREWTCREWTCRCW
BSP:
TBSP=Pi+C + sL
s: total number of supersteps i..[0 s-1] P: computation time C: communication overtime L: synchronization overhead
衡量高性能系统性能的评价指标
浮点运算的理论峰值(FLOPS)
主频*总核心数*每个时钟周期浮点运算次数
浮点运算的实测峰值(FLOPS)
测试组件(Linpack)测试
并行系统加速比
加速比是衡量“并行收益”的重要指标 Amdahl定律适用于固定计算规模的加速比性能 描述 Gustafson定律适用于可扩展问题
BSP模型
The communication latency and synchronous overhead are considered.
模型中的计算行为
PRAM:
Exclusive read Concurrent read Exclusive write Concurrent write (unsafe)
Reduction of execution time Concurrency provided
HIGH PERFORMANCE COMPUTER ARCHITECTURE
硬件对高性能计算的支持
并行计算机模型
物理机器模型
物理(并行)机器模型
SIMD 计算机: Single-instruction multiple-data
CPU+GPU
MIMD 计算机:multiple-instruction multiple-data
SMP MPP Cluster Blade server
主要用于设计、分析并行算法
PARALLEL COMPUTING MODEL
抽象(并行)机器模型(abstract machine model)
计算负载W (原(未改进)系统度量)
串行分量Ws 并行分量p × Wp
并行部分的执行速度相对于原串行部分的加 速比p 串行分量比例f,并行分量比例1-f 并行计算系统加速比: S=(Ws+p Wp)/(Ws+Wp) =f+ p(1-wenku.baidu.com)
f越低,p越大, S就越大
supercomputers and computer clusters → parallel computer Advanced computation problems →
parallel processing algorithm
Parallel Computer
A parallel computer is a set of processors that are able to work cooperatively to solve a computational problem. This definition is broad enough to include
PRAM模型(parallel random-access machine)
多处理器之间的通信通过访问共享存储器实现
BSP模型(bulk synchronous parallel)
多处理器之间的通信通过网络传输实现
PRAM模型
The communication overhead is ignored
Grid Cloud
Parallel Algorithm
Specify multiple operations on each step
APPLICATIONS OF HPC DEMANDS ON HPC
应用对高性能计算的需求
Areas
气象、环境、海洋数值预报应用 高能物理研究 生命科学应用(基因序列搜寻与比对、新药研发) 计算机辅助工程(工业生产) 石油勘探 图像渲染
Parallel computers offer the potential to concentrate computational resources
---processors---on important computational problems
Large scale of concentrated computational resources
PROGRAM STRUCTURE
程序结构
SPMD:single program multiple data MPMD : multiple program multiple data SIMD :single instruction multiple data Master/Workers
Amdahl定律
计算负载W(原(未改进)系统度量)
串行分量Ws 并行分量Wp
并行部分的执行速度相对于原串行部分的加速比p 串行分量比例f,并行分量比例1-f 并行计算系统加速比: S=(Ws+Wp)/(Ws+Wp/p) =1/(f+(1-f)/p)
p→∞, S→1/f
Gustafson定律
高性能计算导论课程
Introduction to High Performance Computing
课程内容
什么是高性能计算 应用对高性能计算的需求 硬件对高性能计算的支持 软件对高性能计算的支持
参考文献
黄铠,徐志伟著,可扩展并行计算技术,结构与编程,北京: 机械工业出版社,2000 陈国良著,并行计算-结构、算法、编程,北京:高等教育出版 社,1999 都志辉著,高性能计算并行编程技术-MPI并行程序设计,北京: 清华大学出版社,2001 Mpi:http://www.mcs.anl.gov/mpi OpenMP:http://www.openmp.org CUDA:http://www.nvidia.com/object/cuda_home_new .html OpenCL:http://www.khronos.org/opencl/ www.hadoop.com www.google.com
parallel supercomputers that have hundreds or thousands of processors networks of workstations multiple-processor workstations Computer with multi-core processor and embedded systems
WHAT IS HPC?
What is HPC?
From wikipedia
High-performance computing (HPC) uses supercomputers and
computer clusters to solve advanced computation problems. Today, computer systems approaching the teraflopsregion are counted as HPC-computers.
软件对高性能计算的支持
PROGRAMMING MODEL
软件对高性能计算的支持
编程模型
A programming model is a collection of program abstractions providing a programmer a simplified and transparent view of the computer hardware/software system. Parallel programming models are specifically designed for multiprocessors, multicomputers, or vector/SIMD computers
编程模型 Programming Model
消息传递模型(message passing)
MPI
共享存储模型(shared memory)
OpenMP
数据并行模型(data parallel)
CUDA/OpenCL
CPU-GPU architecture
Map Reduce编程模型