资源预览内容
第1页 / 共36页
第2页 / 共36页
第3页 / 共36页
第4页 / 共36页
第5页 / 共36页
第6页 / 共36页
第7页 / 共36页
第8页 / 共36页
第9页 / 共36页
第10页 / 共36页
亲,该文档总共36页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第一章 多核概述l使用多核了吗?l摩尔定律芯片的晶体管数量每一年半左右增长 一倍。l处理器性能不断提高主要基于两个原因:半导体工艺的逐渐进步 ;处理器体系结构的不断发展 。l处理器性能提高的途径:工艺和电路技术的发展使得处理器性能提高;体系结构的发展使得处理器性能提高;编译技术的发展使得处理器性能提高。第一章 多核概述l多核的认识 多核即在一个单芯片上面集成两个甚至更多个处理器内核 ,其中每个内核都有自己的逻辑单元、控制单元、中断控 制器、运算单元,一级cache、二级cache共享或独有,其 部件的完整性和单核处理器内核相比完全一致。l多核程序设计开发工作由“先进”到“常规普及” 目前市场上的服务器、工作站、PC台式机、笔记本中的 CPU都是多核(双、四),intel实验室80核; CPU主频很难提高,主要通过多核来提高计算机性能,如 果我们不能很好的利用多核,那么就很难提高我们程序的 性能; 为什么不能提高主频:CPU的功耗增加;节能绿色环保的理念。 第一章 多核概述l80核处理器:2007-02-11 核心面积275平方毫米主频3.16GHz电压0.95V数据带宽1.62Tb/s浮点运算能力1.01TFlops相当于1万颗10年前的Pentium Pro功耗不过62W比core 2 duo还低是四核心Xeon X5355 2.66GHz的大约一半第一章 多核概述l本课程主要讲解:多核体系结构的基础知识;并行程序基本概念以及调试和优化技术;多线程程序设计基础知识;多线程编程及调试; OpenMP多线程编程以及性能优化;一些常见的并行程序设计问题的解决; MPI编程及性能优化;Intel多核软件工具的介绍。 第一章 多核概述l单核与多核?多核不是计算机速度更快了,而是它更能干了;单核内的多线程技术是串行的,即并发的,多个线程交替 执行,在同一时刻只能有一个线程执行;多核内的多线程 是并行的,即并行性,多个线程同时执行,同一时刻可以 有多个线程执行; 并行(parallel):活动线程在不同的硬件资源或者处理单 元上同时执行,多个线程在任何时间点都同时执行; 并发(concurrent):线程在同一个硬件资源上交替执行 的过程,所有活动线程在某段时间内同时执行的状态,但 是在某个给定的时刻都只有一个线程在执行 。第一章 多核概述l单核平台的多线程和多核平台的多线程有什么不同 ? 单核平台上的多线程为了竞争CPU资源需要挂起,多核平 台就不需要这样了,多核提供了一种优化应用程序的渠道 ,那就是通过仔细分配加载到各线程上的工作负载就能够 得到性能上的提升。并且还可以对应用程序代码加以优化 ,使其能够更加充分的使用多个处理器资源,进而达到提 升应用程序性能的目的; 单核与多核采用相同的线程优先级会导致不同的程序行为 .l多核与多处理器(多CPU)的区别: 多核是指一个处理器芯片有多个处理器核心,他们之间通 过CPU内部总线进行通讯; 多处理器是指简单的多个处理器芯片工作在同一个系统上 ,多个处理器之间的通讯是通过主板上的总线进行的。第一章 多核概述l下面我们从以下多个方面分析多核技术是处理器发 展的必然趋势:半导体工艺技术的飞速进步 Pollack规则能耗设计成本第一章 多核概述l半导体工艺技术的飞速进步 通用微处理器的主频已经突破了3GHz数据宽度也达到64位65nm工艺的微处理器已经批量生产45nm工艺以下的微处理器也已问世芯片上集成的晶体管数目已经超过10亿个第一章 多核概述lPollack规则:英特尔微处理器实验室主任Fred Pollack :从386起,英特 尔每一新架构需要两到三倍的晶片面积,而性能只提升 1.4到1.7倍。简言之,性能的提升与复杂性的平方根成比例。 两代处理器,性能每提升一倍,复杂性便增加4倍;速度 提升4倍,电晶体就要多用16倍。如一个处理器的硬件逻辑提高一倍,至多能提高性能40 。采用两个简单处理器构成一个相同硬件规模的双核处理 器,可获得7080的性能提升。第一章 多核概述l能耗:工艺技术的发展和芯片复杂性的增加,芯片的发热现象日 益突出。单核高频率的处理器功耗太大,发热量太大多核可以提高性能,且能较好解决功耗问题多核处理器可以采用降低功耗的技术:如可以关闭一些处 理器第一章 多核概述第一章 多核概述l设计成本:处理器结构复杂性的不断提高,人力成本的不断攀升,设 计成本随时间呈线性甚至超线性的增长研发高频率处理器的成本越来越高 Intel发布3.8GHz的产品,宣布停止4GHz的产品计划。 AMD频率超过2GHz以后无法大幅度提升第一章 多核概述l多核对不同领域软件开发的影响: 传统的科学计算:原有软件大都是并行的多核提供了更高性能的执行平台需要做的是针对多核进行优化,多核应用不存在困难 服务器软件:业务特征是并发的,应用具有天然的并发性多核提供了一个高性能计算平台, 面临挑战不大 桌面软件:原有大部分程序是串行的需要很好的并行编程模型和开发环境,挑战很大第一章 多核概述l超线程技术(Hyper-Threading,HT) Intel公司所实现的同时多线程技术,同时多线程技术( Simultaneous Multi-Threading, SMT)是通过复制处理器体 系结构状态信息来创建逻辑处理器或者称为线程;只有一个实际的物理处理器,但是从软件的角度来看,存 在多个逻辑处理器。超线程技术是通过延迟隐藏的方法提 高了处理器的性能,从本质上讲,就是多个线程共享一个 执行核,因此,超线程技术中的线程执行并不是真正意义 上的并行; 采用超线程技术所获得的性能提升将会随着应用程序以及 硬件平台的不同而参差不齐,超线程技术评为失败的技术 。 1.1 微处理器发展史l1945年,世界上第一台全自动电子数字计算机 ENIAC采用电子管,作为基本原件,每秒可进行5000次加减乘除 占地172平米,重30吨,耗电150千瓦l计算机的发展按照硬件工艺可以分为:第一代(19461958):电子管数字计算机;第二代(19581964):晶体管数字计算机;第三代(19641971):集成电路数字计算机;第四代(1971年以后):大规模集成电路数字计算机1.1 微处理器发展史l微处理器发展大体经历以下几个过程: 第一代微处理器(4位):英特尔4004,8008 第二代微处理器(8位):采用NMOS工艺,采用汇编 语言、 BASIC、Fortran编程,使用单用户操作系统。如英特尔 8080,8085 第三代微处理器(16位):以1978年英特尔的8086出现为起 点 第四代微处理器(32位):运算模式包括实模式、保护模式 和“虚拟86”。英特尔80386 DX, 80486, Pentium 4 2005年,Intel首发基于双核技术的Intel Pentium D处理器, 正式揭开x86处理器多核时代。x86处理器多核技术的发展 ,人们也在进行并行化的探索,又出现了并行计算机体系 结构 并行计算机 l由一组处理单元组成,这组处理单元通过相互之间 的通信与协作,以更快的速度共同完成一项大规模 的计算任务。 60年代初期,晶体管以及磁芯存储器的出现,处理单元变 得越来越小,存储器也更加小巧和廉价。出现规模不大的 共享存储多处理器系统,即大型主机(Mainframe);60 年代末期,同一个处理器开始设置多个功能相同的功 能单元,流水线技术也出现了,在处理器内部的应用大大 提高了并行计算机系统的性能。l两个最主要的组成部分计算节点节点间的通信与协作机制并行计算机lFlynn分类法: Flynn根据指令流和数据流的不同组 织方式,把计算机系统的结构分为以下四类: 单指令流单数据流(Single Instruction stream Single Data stream, SISD)单指令流多数据流(Single Instruction stream Multiple Data stream, SIMD)多指令流单数据流(Multiple Instruction stream Single Data stream, MISD)多指令流多数据流(Multiple Instruction stream Multiple Data stream, MISD) 指令流:机器执行的指令序列;数据流:指令流调用的 数据序列,包括输入数据和中间结果。lFlynn分类法:并行计算机并行计算机l单指令流单数据流 传统的串行计算机,硬件不支持并行 ,指令串行执行,在某个时钟周期内,CPU只能处理一个数据 流,早期的计算机是这样的平台。 l单指令流多数据流采用一个指令流同时处理多个数据流。此 类机器在数字信号处理、图像处理以及多媒体信息处理等许 多领域应用都非常有效。 l多指令流单数据流采用多个指令流同时对一个数据流进行处 理。多个指令流处理多个数据流才是更加有效的处理方式, 因此,多指令流单数据流并行计算机一般只是作为一种理论 模型出现,而并没有投入到实际应用当中。l多指令流多数据流能够同时执行多个指令流,这些指令流分 别对不同的数据流进行操作。多指令流多数据流是目前最流 行的并行计算平台。 1.2 并行计算机结构分类l分布式存储器的SIMD处理机 含有多个同样结构的处理单元(PE),通过寻径网络以一定方式互相 连接。每个PE有各自的本地存储器(LM)l向量超级计算机(共享式存储器SIMD) 集中设置存储器,共享的多个并行存储器通过对准网络与各处理单元 PE相连。在处理单元数目不太大的情况下很理想l对称多处理器(SMP) SMP是指在一个计算机上汇集了一组处理器,各处理器之间共享内存 子系统以及总线结构 l并行向量处理机(PVP) 在并行向量处理机中有少量专门定制的向量处理器。每个向量处理器 有很高的处理能力,并行向量处理机通过向量处理和多个向量处理器 并行处理两条途径来提高处理能力 l集群计算机 是一种并行或分布式处理系统,有很多连接在一起的独立计算机组成 ,像一个单独集成的计算机资源一样协同工作 1.3 片上多核处理器l多核处理器始于IBM(2001)双核RISC处理器Power 4,将两个64位Power PC处理器内 核集成在同一颗芯片上,就成为了首款采用多核设计的服 务器处理器l片上多处理器的概念: 片上多核处理器(Chip Multi-Processor,CMP)就是将多 个计算内核集成在一个处理器芯片中,从而提高计算能力 。l按计算内核的对等与否,CMP可分为同构多核和异 构多核同构内核:计算内核相同,地位对等 ;异构内核 :计算内核不同,地位不对等 。1.3 片上多核处理器lCPU核心数据共享与同步主要有两种机制:总线共享Cache结构:每个CPU内核拥有共享的二级或三级 Cache,用于保存比较常用的数据,并通过连接核心的总 线进行通信; 基于片上互连的结构:每个CPU核心具有独立的处理单元 和Cache,各个CPU核心通过交叉开关或片上网络等方式 连接在一起。l给程序开发者带来的挑战1.3 处理器结构1.3 处理器结构1.3 处理器结构1.3 处理器结构1.3 处理器结构固件对多核的支持l固件是一种嵌入到硬件设备中的软件。 它通常烧写在flash等介质中,可以 被当作一个二进制映像文件由用户 从硬件设备中调用;是在集成电路只读存储器中的计算 机程序,是可擦写可编程芯片,其 上的程序可以通过专门的外部硬件 进行修改,但是不能被一般的应用 程序改动。操作系统对多核的支持l进程的分配、调度进程的分配将进程分配到合理的物理内核上,不同内核在 共享性和历史运行情况下都是不同的,有的物理内核能够 共享二级缓存、有的不共享,
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号