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

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

ID:34084825

大小:1.69 MB

页数:104页

时间:2019-03-03

多核架构及编程技术总结2013_第1页
多核架构及编程技术总结2013_第2页
多核架构及编程技术总结2013_第3页
多核架构及编程技术总结2013_第4页
多核架构及编程技术总结2013_第5页
资源描述:

《多核架构及编程技术总结2013》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、课程主要内容总结多核构架多线程编程高性能多核编程多核应用编程工具多核构架芯片组CPU并行平台操作系统多核构架分类Core1Core2按硬件层次分Bus芯片级2MBL2Cache板级机架级核核核核网络级核核核核网格核核核核核核核核CPU的Core微架构FPUnitFPUnitCore1Core2EXECoreEXECoreBusL1CacheL1CacheL2Cache2MBL2Ch2MBL2CacheSystemBus(667MHz,5333MB/s)(667MHz,5333MB/s)单核、多处理器以及多核结构之间的简单对比(一)CPU状

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

3、的多核体系结构与多核对应的芯片组ProcessorFrontSideBusNorthBridge/MCHHigh-SpeedI/O•PCIExpress•Memory(北桥)•PCI•USB•HardDisk•AudioSouthBridge/ICHLow-SpeedI/O•LAN(南桥)并行计算模型SIMD同步并行计算模型共享存储的SIMD模型(PRAM模型)分布存储的SIMD模型(SIMD互联网络模型)MIMD异步并行计算模型异步PRAM模型BSP模型LogP模型3C模型并行编程环境比较流行的并行编程环境主要有3类:消息传递、共享存储

4、和数据并行特征消息传递共享存储数据并行典型代表MPI,MPI,PVMPVMOpenMPHPF可移植性所有主流并行SMP,SMP,DSMDSMSMP,DSM,计算机MPP并行粒度进程级大粒度进程级大粒度线程级细粒度线程级细粒度进程级细粒度进程级细粒度并行操作方式异步异步松散同步数据存储模式分布式存储共享存储共享存储数据分配方式显式隐式半隐式学习入门难度较难容易偏易可扩展性好好较较差差一般多线程编程基本概念同步问题基于VisualVisualC60VisualC6.0的多线程编程基于OpenMP的多线程编程进程(Process)概念进程(proces

5、s)离散的(执行)程序任务集合。一个进程包括:进程ID,进程组ID,用户ID,组ID;环境工作目录程序指令寄存器堆栈(Stack)堆(Heap)文件描述符信号操作共享库进程间通信工具消息队列、管道、信号量、共享内存进程示例多线程的概念线程(thread)是进程上下文(context)中执行的代码序列,又被称为轻量级进程(lightweightprocess)在支持多线程的系统中,进程成为资源分配和保护的实体,而线程是被调度执行的基本单元。代码数据文件代码数据文件寄存器寄存器寄存器寄存器栈栈栈栈线程线程对于在一个进程内的线程:

6、•一个线程对共享的系统资源进行修改,在这个进程内的其它线程也可以见到这种修改。•对于同一个数据,可能有两个值相同的指针指向这个数据。•进程内的多个线程可以对同一个内存单元进行读和写操作,所以必须要采取显式同步机制。•在同一个进程的地址空间下,线程间的通信消耗更小。一个进程内的线程示例进程与线程的关系进程程序在操作系统中作为进程方式存在、获取资源、运行。在一个进程内,线程可以创建其它线程。每个线程有各自的栈(stack)。一个进程内所有的线程共享代码段和数据段。多线程的优点创建一个线程比创建一个进程的代价要小线程的切换比进程间的切换代价小充分利用

7、多处理器数据共享数据共享使得线程之间的通信比进程间的通信更高效快速响应特性在系统繁忙的情况下,进程通过独立的线程及时响应用户的输入缺点:增加程序编写难度,增加程序复杂度。难以调试。线程的层次用户级线程(User(User--levelthreads)levelthreads)在应用软件中所创建和操纵的线程。内核级线程(Kernel(Kernel--levelthreads)levelthreads)操作系统实现大多数线程的方式。硬件线程(Hardware(Hardwarethreads)(Hardwarethreads)线程在硬件资源上

8、的表现形式。线程计算模型用户级线程由可执行应用程序使用,同时由用户

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。