



下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、(完整)多核技术综述(完整)多核技术综述 编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)多核技术综述)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为(完整)多核技术综述的全部内容。 多核技术综述 姓名:朱齐敏 学号:08002516摘要:本文首先阐述了多核技术的定义和相关概念,然后介绍了多核技术的好处及其发展状况
2、,接着描述了多核技术带来的挑战以及面对挑战我们因怎样开发并行软件和如何让旧程序应对多核环境。本文提纲:1、 什么是多核技术2、 多核技术相关概念3、 多核技术的好处4、 多核技术的发展5、 多核技术带来的挑战6、 多核平台下的并行开发 7、 旧程序如何应对多核环境1、 什么是多核技术简单的讲,多内核是指在一枚处理器中集成两个或多个完整的计算引擎(内核)。多核处理器是多枚芯片(也称为“硅核),能够直接插入单一的处理器插槽中,但操作系统会利用所有相关的资源,将它的每个执行内核作为独立的逻辑处理器.通过在多个执行内核之间划分任务,多核处理器可在特定的时钟周期内执行更多任务。单核与多核的区别单核处理器
3、:通过提高主频来提升效率,随之提高的还有处理器的功耗和成本。 多核处理器:通过多核结构的并行计算提高效率,功耗小,但是单个任务的处理速度不会提升.多核与多处理器(多cpu)的区别:多核是指一个处理器芯片有多个处理器核心,他们之间通过cpu内部总线进行通讯;多处理器是指简单的多个处理器芯片工作在同一个系统上,多个处理器之间的通讯是通过主板上的总线进行的。2、 多核技术相关概念smp:指在两个相似(或相同)的处理器通过一条高速通道连接,并且共享外cpu、线程多实例无需了解,由操作系统自动协调运行,并管理共享资源。amp:在一个由两颗或者多颗相同或者不同的处理器通过各种通信通道连接(比如可以将一个m
4、cu(main control unit)和一个dsp集成在一起) ,在逻辑上共享或者独占外设、存储器的体系架构上,运行不同的操作系统实例,相互之间通过tipc(transparent inter-process communication)等机制通讯。往往是用于主控处理单元与各种专业协处理器协同工作的情形。多核:是一种处理器的结构,在一个芯片上集成了多个处理器核心。一般各个核有独立的l1cache,但共享l2 cache,同时,也共享存储器、外设。smt(ht):同时多线程技术(在intel称为超线程技术),是在cpu中提供多个半独立的处理器单元,其中寄存器独立,但共享l1 cache和al
5、u单元,其目的是提高alu的利用率,提升cpu效率。从物理上来看,是一个类多cpu体系。当然各芯片厂家实现方案可能不同。 多处理器:由多颗相同或者不同的独立完整的cpu通过通信通道连接,可共享也可独立拥有存储器、外设。并行:活动线程在不同的硬件资源或者处理单元上同时执行,多个线程在任何时间点都同时执行。并发:线程在同一个硬件资源上交替执行的过程,所有活动线程在某段时间内同时执行的状态,但是在某个给定的时刻都只有一个线程在执行 。3、 多核技术的好处由于是多个执行内核可以同时进行运算,因此可以显著提升计算能力,而每个内核的主频可以比以前低,因而总体功耗增加不太大。与多cpu相比,多核处理器采用与
6、单cpu相同的硬件机构,用户在提升计算能力的同时无需进行任何硬件上的改变,这对用户来说非常方便。相对于传统的单核cpu,多核cpu具有性能高、功耗低、设计和验证周期短、通信延迟低等诸多优点,同时它还带来了cpu设计方式的变革,提供了一种新的发展模式。相比单核处理器,它有更强的性能优势,并且在推动pc安全性和虚拟技术方面起到关键作用,虚拟技术的发展能够提供更好的保护、更高的资源使用率和更可观的商业计算市场价值。普通消费者也将比以往拥有更多的途径获得更高性能.正是由于多核的这些优点,所以,多核很快被用户接受,并得以普及.4、 多核技术的发展无论是amd还是intel, 目前已经发布的新型处理器多是
7、双核,计算机的发展总是追求系统物理规模的不断减小,以及性能和集成度的不断提高。随着应用的需要,芯片上的处理器数目将不断增多,双核也将走向多核。由于应用的需要,多核技术将与其它先进技术交织,成为处理器的发展方向.由于32位越来越难以满足应用需要,“64位+多核”将是处理器发展的趋势。双核pc时代在2005年4月正式开始,当时英特尔发布了至尊版奔腾840处理器,是一款主频3。2ghz的90纳米芯片,紧随其后的就是走向主流的奔腾d 800系列cpu。而英特尔的第二代双核处理器奔腾d 900系列在2006年年初发布,并且开始将英特尔的制程工艺全面转向65纳米。在这段时期,由于集成了优秀的内存管理器,并
8、且可以运行在与cpu相同的频率,所以amd的90纳米双核athlon 642产品线开始获得广泛的追捧。而此时英特尔处理器仍然需要通过低速的前端总线交换数据,让系统内存与cpu进行沟通。 当前具有代表性的多核cpu产品(1) 第一个商用的多核cpu是2001年ibm推出的双核risc处理器power 4 (2) 2004年ibm又推出后继产品power5,并在双核的基础上引入多线程技术。同时,hp也推出多核cpu产品parisc8800 sun也发布双核产品ultrasparc iv。 (3) 2005年,多核cpu得到全面发展,amd迅速推出面向服务器、支持x86指令集的双核心opteron处
9、理器。 而intel则推出面向桌面系统的双核cpu pentium d及pentium extreme edition。另外,ibm在超级计算机系统bluegenel中使用的cpu也是一种双核cpu,与索尼和东芝联合推 出的cell处理器具备多达9个核心。 (4) 2006年1月intel发布了首款双核移动处理器core duo,这一全新的处理器为笔记本性能带来了很大进步.继这次成功之后,intel在2006年夏季同时发布了core 2 duo桌面(conroe)和移动(merom)处理器。 (5) 2008年11月17日,推出64位四核心cpu core i7 ,沿用x8664指令集,并以i
10、ntel nehalem微架构为基础,取代intel core 2系列处理器。(6)20010年,3月17日,英特尔正式发布了采用32nm工艺的新一代nehalem微构架双路服务器处 理器至强六核服务器cpu 5600家族,代号“westmere-ep。5、 多核技术带来的挑战毫无疑问,多核给我们提供了更经济的计算能力。但是,这种能力能否善加利用还要取决于软件。 如果不针对多核进行软件开发,不仅多核提供的强大计算能力得不到利用,相反还有可能不如单核cpu好用。 “从某种程度上说,对于软件开发者而言,cpu主频提升就像是免费的午餐,此前所有的程序很自然地会从主频的提升中受益,而如今多核出现了,这
11、种免费的午餐没有了.我们必须针对多核重新进行软件设计。” 多核程序带来的挑战(1) 程序是否具备扩展性(2) 程序能否更精确(3) 产品是否易于编程和维护(4) 并行开发模式a.打破串行的编程过程“一步一步的模式b。首先要进行分析和拆解c.然后才能进行程序的编写(5) 程序设计并行规划为双核,四核、八核、十六核等更多核芯规模开发(6) 针对多核的开发过程与传统的开发模式的不同需要性能优化工具多核带来的软件困惑(1) 软件怎么利用多核尚未解决a.为了竞争,硬件推进太急躁b.软件还未准备好 (2) 操作系统a。目前尚无一个操作系统支持多核!b.目前多核操作系统实际上是多处理器操作系统,把多核当作多
12、处理器看待,不是为多核定制的.c。虚拟化技术也是一种解决方案,把多核虚拟为单核,但是有性能牺牲. (3) 应用软件a.计算型软件,容易并行,可以支持多核。b。信息处理软件,一般都是串行的,很难利用多核。 6、 多核平台下的并行开发 多核软件开发总体要求(1) 架构方面:提升软件并行性算法级(使用并行算法、使用openmp编程)任务级(流水线、多实例)合理规划资源分配(中断资源分配、处理器分配)(2) 编程方面:选用适当的同步手段控制锁粒度充分认识多核带来的程序并发性提高(同时多任务运行、关中断将不确保安全的同步)(3) 下层支撑平台提供支持:多种类型同步手段(spinlock,读写锁、全局中断
13、锁)快速核间通讯手段(ipi机制)并发任务管理,二级调度任务间的同步性并行设计的方法(1) 数据并行性:有不相关的任务对数据集的不同元素进行相同的操作,我们称这种数据相关表现了.(2) 功能并行性:有不相关的任务对数据集的不同元素进行不同的操作。(3) 流水线:在处理单个问题上不存在并行性,但如果需要处理多个问题,且每个问题可以分为几个阶段,那么就能支持与阶段数相同的并行性。并行程序设计思想目前比较流行的三种:(1) 扩张编译器开发并行化编译器,使其能够发现和表达现有串行语言程序中的并行性,例如intel c+ compiler就有自动并行循环和向量化数据操作的功能.这种把并行化的工作留给编译
14、器的方法虽然降低了编写并行程序的成本,但因为循环和分枝等控制语句的复杂组合,编译器不能识别相当多的可并行代码而错误地编译成了串行版本。(2) 扩展串行编程语言这是当前最为流行的方式,通过增加函数调用或者编译指令来表示低层语言以获取并行程序。用户能够创建和结束并行进程或线程,并提供同步与通信的功能函数等。这方面较为杰出的库有mpi和openmp等;在解释型脚本阵营,parallelpython也吸引了不少粉丝。(3) 创造一个并行语言虽然这是一个疯狂的想法,但事实上近几十年来一直有人在做这样的事情,如hpf(high performance fortran)是fortran90的扩展,用多种方式支持数据并行程序。7、 旧程序如何应对多核环境(1) 精确地评估旧程序是否需要作出修改。 如foxmail、windows优化大师之类的桌面软件原本就只占用极少的cpu资源,那么就不需要针对多核改写.而作为网站服务器端运行的cgi程序基本上都是以多进程或多线程的方式来响应请求的,将可以平滑地充分利用多核系统的性能优势,一般而言也不需要针对多核改写.(2) 就重避轻。 一个应用程序,性能瓶颈通常都只有几个或者一两个甚至这些瓶颈相关的功能还是用户很少使用的。那么为了这些少量需求而对已有程序进行伤筯动骨的改造是不合适的,更不宜以多线程的架构重写整个应用。如果应用程序是使用c/c+/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 窦姣2025年度子女抚养权及赡养费离婚协议
- 二零二五年度农产品批发市场店铺租赁协议
- 二零二五年度研发中心厂房租赁居间协议
- 医疗卫生投资服务创新创业项目商业计划书
- 生态农业区块链应用创新创业项目商业计划书
- 乐器清洁保养套装创新创业项目商业计划书
- 2025年上学期六年级班主任教学反思提升计划
- 2025年中国外墙罩光面漆行业市场发展前景及发展趋势与投资战略研究报告
- 校园运动会开幕式流程总结
- 污泥处理环境保护应急预案范文
- 国家开放大学专科《法理学》(第三版教材)形成性考核试题及答案
- 《中电联团体标准-220kV变电站并联直流电源系统技术规范》
- 消化性溃疡护理业务学习(胃十二指肠溃疡)
- DBS术后病人程控-RJ
- 口服化疗药护理
- 长租公寓计划书
- 2022施工升降机安全生产隐患识别图集
- 哈药集团制药总厂无菌青霉素钠(106车间)新版GMP改造项目哈尔滨市南岗区学府路109号哈药总厂106车间钾转钠楼内哈药集团制药总厂哈
- 建筑工程(一切)险公估作业规范
- 急性脑血管病并发症的预防及处理
- 市场营销实务中职全套教学课件
评论
0/150
提交评论