多核架构及编程技术总结2013

上传人:mg****85 文档编号:44595220 上传时间:2018-06-14 格式:PDF 页数:104 大小:1.69MB
返回 下载 相关 举报
多核架构及编程技术总结2013_第1页
第1页 / 共104页
多核架构及编程技术总结2013_第2页
第2页 / 共104页
多核架构及编程技术总结2013_第3页
第3页 / 共104页
多核架构及编程技术总结2013_第4页
第4页 / 共104页
多核架构及编程技术总结2013_第5页
第5页 / 共104页
点击查看更多>>
资源描述

《多核架构及编程技术总结2013》由会员分享,可在线阅读,更多相关《多核架构及编程技术总结2013(104页珍藏版)》请在金锄头文库上搜索。

1、课程主要内容总结课程主要内容总结课程主要内容总结课程主要内容总结课程主要内容总结课程主要内容总结课程主要内容总结课程主要内容总结核核 多核构架多核构架 多线程编程多线程编程 多线程编程多线程编程 高性能多核编程高性能多核编程 高性能多核编程高性能多核编程 多核应用编程工具多核应用编程工具 多核应用编程工具多核应用编程工具多核构架多核构架多核构架多核构架多核构架多核构架多核构架多核构架芯片组芯片组CPU操作系统并行平台操作系统并行平台多核构架分类多核构架分类多核构架分类多核构架分类按硬件层次分按硬件层次分BusBusBusBusCore1Core1Core2Core2Core1Core1Core

2、2Core2芯片级板级BusBusBusBus2 MB L2 Cache2 MB L2 Cache2 MB L2 Cache2 MB L2 Cache板级机架级 核核核核 网络级网格核核核核核核核核网格核核核核核核核核CPUCPU的的的的CoreCore微架构微架构微架构微架构CPUCPU的的的的CoreCore微架构微架构微架构微架构Core1Core1Core2Core2Core1Core1Core2Core2FP UnitFP UnitEXE CoreEXE CoreBusBusBusBusL1 CacheL1 Cache2 MB L2 Ch2 MB L2 Ch2 MB L2 Ch2 M

3、B L2 ChL2 Cache 2 2 MBMB L2L2 C Cacach he e2 2 MBMB L2L2 C Cacach he eSystem Bus (667MHz, 5333MB/s)System Bus (667MHz, 5333MB/s)(667MHz, 5333MB/s)(667MHz, 5333MB/s)单核、多处理器以及多核结构之间单核、多处理器以及多核结构之间单核、多处理器以及多核结构之间单核、多处理器以及多核结构之间 的简单对比(一)的简单对比(一)的简单对比(一)的简单对比(一)CPU 状态中断逻辑CPU 状态中断逻辑CPU 状态中断逻辑中断逻辑执行单元 Cach

4、e执行单元 Cache执行单元 Cache(a) 单核结构(b) 多处理器结构CPU 状态中断逻辑CPU 状态中断逻辑CPU 状态中断逻辑CPU 状态中断逻辑执行单元Cache执行单元 Cache执行单元 Cache(c) 超线程技术(d) 多核体系结构单核、多处理器以及多核结构之间单核、多处理器以及多核结构之间单核、多处理器以及多核结构之间单核、多处理器以及多核结构之间 的简单对比(二)的简单对比(二)的简单对比(二)的简单对比(二)CPU 状态状态中断逻辑中断逻辑CPU 状态状态中断逻辑中断逻辑执行单元执行单元执行单元执行单元Cache(e) 共享Cache 的多核体系结构CPU 状态状态

5、中断逻辑中断逻辑CPU 状态状态中断逻辑中断逻辑CPU 状态状态中断逻辑中断逻辑CPU 状态状态中断逻辑中断逻辑中断逻辑中断逻辑中断逻辑中断逻辑执行单元执行单元Cache中断逻辑中断逻辑中断逻辑中断逻辑执行单元执行单元Cache(f) 采用超线程技术的多核体系结构与多核对应的芯片组与多核对应的芯片组与多核对应的芯片组与多核对应的芯片组与多核对应的芯片组与多核对应的芯片组与多核对应的芯片组与多核对应的芯片组ProcessorFront Side BusHigh-Speed I/O PCI Express MemoryNorth Bridge / MCH(北桥) PCI USB(北桥)Low-Sp

6、eed I/OPCI Hard Disk LANUSB AudioSouth Bridge / ICH(南桥)()并行计算模型并行计算模型并行计算模型并行计算模型并行计算模型并行计算模型并行计算模型并行计算模型同步并行计算模型同步并行计算模型 SIMDSIMD同步并行计算模型同步并行计算模型 共享存储的共享存储的SIMDSIMD模型(模型(PRAMPRAM模型)模型)共享存储的共享存储的模型模型模型模型 分布存储的分布存储的SIMDSIMD模型(模型(SIMDSIMD互联网络模型)互联网络模型) MIMDMIMD异步并行计算模型异步并行计算模型 MIMDMIMD异步并行计算模型异步并行计算模型

7、 异步异步PRAMPRAM模型模型 BSPBSP模型模型 LogPLogP模型模型 LogPLogP模型模型 C C3 3模型模型并行编程环境并行编程环境并行编程环境并行编程环境并行编程环境并行编程环境并行编程环境并行编程环境比较流行的并行编程环境主要有比较流行的并行编程环境主要有 类消息传递类消息传递 比较流行的并行编程环境主要有比较流行的并行编程环境主要有3 3类:消息传递、类:消息传递、 共享存储和数据并行共享存储和数据并行特征特征特征特征消息传递消息传递共享存储共享存储数据并行数据并行消息传递消息传递共享存储共享存储数据并行数据并行 典型代表典型代表MPI,MPI, PVMPVMOpe

8、nMPOpenMPHPFHPF 可移植性可移植性所有主流并行所有主流并行 计算机计算机SMP,SMP, DSMDSMSMP,SMP,DSM,DSM, MPPMPP 并行粒度并行粒度进程级大粒度进程级大粒度 线程级细粒度线程级细粒度 进程级细粒度进程级细粒度 并行操作方式并行操作方式 异步异步异步异步松散同步松散同步 数据存储模式数据存储模式 分布式存储分布式存储共享存储共享存储共享存储共享存储数据存储模式数据存储模式 分布式存储分布式存储共享存储共享存储共享存储共享存储 数据分配方式数据分配方式 显式显式隐式隐式半隐式半隐式 学习入门难度学习入门难度 较难较难容易容易偏易偏易学习入门难度学习入

9、门难度 较难较难容易容易偏易偏易 可扩展性可扩展性好好较差较差一般一般多线程编程多线程编程多线程编程多线程编程多线程编程多线程编程多线程编程多线程编程基本概念基本概念 基本概念基本概念 同步问题同步问题 同步问题同步问题 基于基于Visual C 6 0Visual C 6 0的多线程编程的多线程编程 基于基于Visual C 6.0Visual C 6.0的多线程编程的多线程编程 基于基于OpenMPOpenMP的多线程编程的多线程编程 基于基于OpenMPOpenMP的多线程编程的多线程编程进程进程(进程进程(ProcessProcess)概念概念)概念概念进程进程(进程进程(Proces

10、sProcess)概念概念)概念概念进程进程(process)(process)进程进程(process)(process)离散的(执行)程序任务集合。离散的(执行)程序任务集合。一个进程包括:一个进程包括: 进程进程进程组进程组用户用户组组进程进程ID,ID,进程组进程组ID,ID,用户用户ID,ID,组组ID;ID;环境环境工作目录工作目录程序指令程序指令寄存器寄存器堆栈堆栈(StackStack)堆栈堆栈()堆(Heap)堆(Heap)文件描述符文件描述符信号操作信号操作信号操作信号操作共享库共享库进程间通信工具进程间通信工具消息队列消息队列管道管道信号量信号量共享内存共享内存进程示例进

11、程示例消息队列消息队列、管道管道、信号量信号量、共享内存共享内存进程示例进程示例多线程的概念多线程的概念多线程的概念多线程的概念多线程的概念多线程的概念多线程的概念多线程的概念线程(线程()是进程上下文()是进程上下文()中执行的代码序)中执行的代码序 线程(线程(threadthread)是进程上下文()是进程上下文(contextcontext)中执行的代码序)中执行的代码序 列,又被称为轻量级进程(列,又被称为轻量级进程(light weight processlight weight process)在支持多线程的系统中进程成为资源分配和保护的实体在支持多线程的系统中进程成为资源分配和

12、保护的实体 在支持多线程的系统中,进程成为资源分配和保护的实体,在支持多线程的系统中,进程成为资源分配和保护的实体, 而线程是被调度执行的基本单元。而线程是被调度执行的基本单元。代码数据文件寄存器栈代码数据文件寄存器寄存器寄存器 寄存器栈栈栈栈线程线程对于在一个进程内的线程:对于在一个进程内的线程:一个线程对共享的系统资源进行修 改,在这个进程内的其它线程也可以一个线程对共享的系统资源进行修 改,在这个进程内的其它线程也可以 见到这种修改见到这种修改见到这种修改见到这种修改。对于同一个数据,可能有两个值相对于同一个数据,可能有两个值相 同的指针指向这个数据同的指针指向这个数据。同的指针指向这个

13、数据同的指针指向这个数据。进程内的多个线程可以对同一个内进程内的多个线程可以对同一个内 存单元进行读和写操作存单元进行读和写操作,所以必须要所以必须要存单元进行读和写操作存单元进行读和写操作,所以必须要所以必须要 采取显式同步机制。采取显式同步机制。在同一个进程的地址空间下,线程在同一个进程的地址空间下,线程一个进程内的线程示例一个进程内的线程示例间的通信消耗更小。间的通信消耗更小。进程与线程的关系进程与线程的关系进程与线程的关系进程与线程的关系进程与线程的关系进程与线程的关系进程与线程的关系进程与线程的关系进程进程 程序在操作系统中作为进程方程序在操作系统中作为进程方 式存在、获取资源、运行

14、。式存在、获取资源、运行。进程进程 在一个进程内线程可以创建在一个进程内线程可以创建 在个进程内,线程可以创建在个进程内,线程可以创建 其它线程。每个线程有各自的其它线程。每个线程有各自的 栈栈(stack)(stack)栈栈(stack)(stack)。 一个进程内所有的线程共享代一个进程内所有的线程共享代 码段和数据段码段和数据段码段和数据段。码段和数据段。多线程的优点多线程的优点多线程的优点多线程的优点多线程的优点多线程的优点多线程的优点多线程的优点 创建一个线程比创建一个进程的代价要小创建一个线程比创建一个进程的代价要小创建个线程比创建个进程的代价要小创建个线程比创建个进程的代价要小

15、线程的切换比进程间的切换代价小线程的切换比进程间的切换代价小 充分利用多处理器充分利用多处理器 充分利用多处理器充分利用多处理器 数据共享数据共享 数据共享使得线程之间的通信比进程间的通信数据共享使得线程之间的通信比进程间的通信 更高效更高效 快速响应特性快速响应特性 在系统繁忙的情况下进程通过独立的线程及在系统繁忙的情况下进程通过独立的线程及 在系统繁忙的情况下,进程通过独立的线程及在系统繁忙的情况下,进程通过独立的线程及 时响应用户的输入时响应用户的输入缺点缺点: 增加程序编写难度,增加程序复杂度。难以调试。线程的层次线程的层次线程的层次线程的层次线程的层次线程的层次线程的层次线程的层次用

16、户级线程用户级线程 用户级线程用户级线程(User(User- -level threads )level threads ) 在应用软件中所创建和操纵的线程。在应用软件中所创建和操纵的线程。 在应用软件中所创建和操纵的线程。在应用软件中所创建和操纵的线程。 内核级线程内核级线程(Kernel(Kernel- -level threads )level threads ) 操作系统实现大多数线程的方式。操作系统实现大多数线程的方式。 硬件线程硬件线程(Hardware threads)(Hardware threads) 硬件线程硬件线程(Hardware threads)(Hardware threads) 线程在硬件资源上的表现形式。线程在硬件资源上的表现形式。线程计算模型线程计算

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号