第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因:

Slides:



Advertisements
Similar presentations
死亡是人生必經的歷程 也是每個人最終都要面對的人生大事. 大多數人很避諱談論死亡,深怕說 出「死亡」會帶來惡運,還有和死 亡相關的禁忌如:醫院和飯店電梯 按鈕都沒有四樓,紅包避諱包和 相關數字,這些都是每個人心 中的禁忌。
Advertisements

社区矫正与和谐社区的建设 —— 以社会工作为切入点 珠勒花 内蒙古农业大学 2014 年 6 月 27 日.
《微型计算机技术 及应用》 ( 第 4 版) —— 戴梅萼 史嘉权. 目标 深刻理解 牢固掌握 灵活应用.
C enter of C omputational C hemistry 并行计算机与并行计算 张鑫 理论与计算化学国际合作研究中心 分子反应动力学国家重点实验室.
中国电子学会 SMT 专业技术资格认证委员会. 彭志聪 广东省电子学会 副理事长兼秘书长 高级工程师 成果曾获 国家科技进步三等奖,广东省科技进步二等奖 国家科委优秀科技成果二等奖,广东省科委一等奖 承担并主持经国家科协批准,中国电子学会在全国开展 的电子表面组装( SMT )专业技术资格社会化认证体系建.
第二章 CPU 制作者:李天和.
Welcome to the world of Computer Organization 计算机组成原理
第 2 章 中央處理單元.
多核结构与程序设计 杨全胜 东南大学成贤学院计算机系.
并行计算机体系结构 东南大学计算机学院 任国林
计算机系统结构 主讲:任国林
第八章 组织文化的整合 ——并购中的文化整合(二) 小组成员:浦若蓉、朱谷一、贾彦彦.
计算机基础知识 制作:卢瑜瑛.
赵永华 中科院计算机网络信息中心 超级计算中心
青岛国金财富投资管理股份有限公司 (青岛蓝海股权交易中心推荐机构会员、交易商会员,会员号:1063)
微型计算机技术及应用 王 健 主讲 授课学时:40学时 大连理工大学计算机系.
小組課業 電腦在教學上的應用 Power Point 導師: 黎耀志先生.
第3讲 教学内容 1.3~ 微型计算机系统——硬件部分 计算机的产生发展 计算机系统组成(硬件结构) 计算机工作原理
计算机组装与维护 电子商务系.
組裝電腦DIY 前言:提供基礎的電腦零件組裝教學,對於個人電 腦零件有基本的認識、並有組裝零件使電腦能運 行的能力、能親手 升級自己想要的零件、及基 本的簡易判斷無法開機的原因;最後並提供實做,親手DIY將電腦組裝起來並安裝作業系統。 對象:對電腦組裝沒概念或一知半解者;想要能自己解決電腦無法開機,或是能自己升級想要的專屬電腦配備;可以當家庭的電腦醫生不想電腦一碰到問題就叫修花錢者;自己是電腦軟體方面的工作者,想要增加自己的競爭實力.
CPU 一、基本知识 二、常见品牌 三、评价指标 四、AMD VS Intel 五、单核与双核 六、多核
電腦作業-CPU介紹 班級:117 座號:07號 姓名:周奕廷.
计算机组成原理 北京理工大学计算机科学工程系 赵清杰 北京理工大学计算机科学工程系.
Strata PC HTE硬件技术工程师 第一章 桌面计算机系统组件.
第11章 计算机系统 计算机系统概述 分类方法、计算机系统性能评测方法 2. 微机系统 3. 他体系结构处理机
第2章:企業組織 張緯良 世新大學資訊管理系.
植物之繁殖方法.
Foundations of Computer Science
计算机组成原理 东南大学计算机学院 任国林
信息技术及其影响.
新世代計算機概論 第3章 電腦的系統單元.
第2章 主机 李渊林 本章要点   CPU 主板 2.3   内存 2.4 机箱和电源.
北京中兴荣投资顾问有限公司简介.
华南理工大学 陈虎 博士 多核处理器技术 华南理工大学 陈虎 博士
CPU的制造 罗曼琳
第一章 计算机基础知识 第一节 计算机概述 一、计算机的基本组成和工作原理 二、有关术语 三、计算机发展简史 四、微型计算机概述
玉溪师范学院 信息技术工程学院.
第2课 CPU 本课要点 具体要求 本章导读.
報告人:王月杏 行動電話 台南市 九十九年度電腦維運相關事宜 報告人:王月杏 行動電話
99年台南市中小學電腦維運 --招標結果暨配發說明
資策會 南區資訊處 教育訓練中心 吳建興 個人電腦組裝 PC DIY 資策會 南區資訊處 教育訓練中心 吳建興
第 2 章 中央處理單元.
一、选购一台计算机 By:查宇
第8章 现代微型计算机 x86系列微处理器 8.2 微型计算机体系结构 8.3 存储管理技术 8.4 多任务管理与I/O管理
第5章 中央處理單元與主記憶體 5-1 中央處理單元-CPU 5-2 主記憶體.
电脑组装与维护实例教程 姚昌顺 杨章静 唐萨 主 编 清华大学出版社.
二、计算机基本硬件介绍及选购 By:查宇
CPU資料處理 醫務管理暨醫療資訊學系 陳以德 副教授: 濟世CS 轉
第二章 CPU 一、CPU的基本概念 二、CPU的发展历程 三、影响CPU性能的因素 四、CPU的接口分类
计算机组装、维修及 实训教程 第2章 中央处理器 2018年11月19日星期一.
GPU分散式演算法設計與單機系統模擬(第二季)
5 Computer Organization (計算機組織).
HP Pro 2000 商用台式机 dx2310 HP Pro 2000 特性对比 机箱 芯片组 CPU 输入/输出插槽 内存 扩展仓 显卡
微机原理及单片机接口技术 电话: Tel:84192 山东大学生物医学工程.
第1章 微型计算机基础知识 【本章重点】微型计算机的组成和各部分的作 用,以及计算机中数的表示方法。
胡維平 國立中正大學化學暨生物化學系 Aug. 30, 2017
High Performance Computing Service in NTUCC
计算机组装、维修及 实训教程 第15章 微机硬件的组装 2018年12月25日星期二.
电脑配置单1 配件名称 型号 价格(元) CPU AMD双核速龙4000+(三年原盒) 510 散热器 盒装自带 -- 主板
计算机系统结构 第一章 基本概念 第二章 指令系统 第三章 存储系统 第四章 输入输出系统** 第五章 标量处理机 第六章 向量处理机
計算機概論 第3章 計算機組織與結構概觀.
认识计算机系统.
计算机的产生和发展 王 永 辉 泾川电大工作站.
主流双核微处理器 技术分析及性能对比 陈丰 李宏量 孙瑜杰 计算机体系结构课程论文课堂报告.
靜宜大學專用 PowerPoint 檔案 數位教材
高级操作系统 Advanced Operating System
微机原理与接口技术 课程性质:专业技术必修课程 课程的特点:偏重硬件,软硬件结合 先修课程:导论、数字逻辑、组成原理、汇编语言等
参赛流程指引 (如何下载平台及报名参赛).
县级支中心 乡镇基层服务点的建设 朱 庆 华.
第三章 计算机体系结构.
Presentation transcript:

第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因: 第一章 多核概述 使用多核了吗? 摩尔定律——芯片的晶体管数量每一年半左右增长一倍。 处理器性能不断提高主要基于两个原因: 半导体工艺的逐渐进步 ; 处理器体系结构的不断发展 。 处理器性能提高的途径: 工艺和电路技术的发展使得处理器性能提高; 体系结构的发展使得处理器性能提高; 编译技术的发展使得处理器性能提高。

第一章 多核概述 多核的认识 多核程序设计开发工作由“先进”到“常规普及” 第一章 多核概述 多核的认识 多核即在一个单芯片上面集成两个甚至更多个处理器内核,其中每个内核都有自己的逻辑单元、控制单元、中断控制器、运算单元,一级cache、二级cache共享或独有,其部件的完整性和单核处理器内核相比完全一致。 双核”的概念最早是由IBM、HP、Sun等支持RISC架构的高端服务器厂商提出的,主要运用于服务器上。 多核程序设计开发工作由“先进”到“常规普及” 目前市场上的服务器、工作站、PC台式机、笔记本中的CPU都是多核(双、四),intel实验室80核; CPU主频很难提高,主要通过多核来提高计算机性能,如果我们不能很好的利用多核,那么就很难提高我们程序的性能; 为什么不能提高主频: CPU的功耗增加; 节能绿色环保的理念。

第一章 多核概述 80核处理器: 2007-02-11 核心面积275平方毫米 主频3.16GHz 电压0.95V 数据带宽1.62Tb/s 第一章 多核概述 80核处理器: 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的大约一半

第一章 多核概述 本课程主要讲解: 多核体系结构的基础知识; 并行程序基本概念以及调试和优化技术; 多线程程序设计基础知识; 第一章 多核概述 本课程主要讲解: 多核体系结构的基础知识; 并行程序基本概念以及调试和优化技术; 多线程程序设计基础知识; 多线程编程及调试; OpenMP多线程编程以及性能优化; 一些常见的并行程序设计问题的解决; MPI编程及性能优化; Intel多核软件工具的介绍。

第一章 多核概述 单核与多核? 多核不是计算机速度更快了,而是它更能干了; 第一章 多核概述 单核与多核? 多核不是计算机速度更快了,而是它更能干了; 单核内的多线程技术是串行的,即并发的,多个线程交替执行,在同一时刻只能有一个线程执行;多核内的多线程是并行的,即并行性,多个线程同时执行,同一时刻可以有多个线程执行; 并行(parallel):活动线程在不同的硬件资源或者处理单元上同时执行,多个线程在任何时间点都同时执行; 并发(concurrent):线程在同一个硬件资源上交替执行的过程,所有活动线程在某段时间内同时执行的状态,但是在某个给定的时刻都只有一个线程在执行 。

第一章 多核概述 单核平台的多线程和多核平台的多线程有什么不同? 多核与多处理器(多CPU)的区别: 第一章 多核概述 单核平台的多线程和多核平台的多线程有什么不同? 单核平台上的多线程为了竞争CPU资源需要挂起,多核平台就不需要这样了,多核提供了一种优化应用程序的渠道,那就是通过仔细分配加载到各线程上的工作负载就能够得到性能上的提升。并且还可以对应用程序代码加以优化,使其能够更加充分的使用多个处理器资源,进而达到提升应用程序性能的目的; 单核与多核采用相同的线程优先级会导致不同的程序行为. 多核与多处理器(多CPU)的区别: 多核是指一个处理器芯片有多个处理器核心,他们之间通过CPU内部总线进行通讯; 多处理器是指简单的多个处理器芯片工作在同一个系统上,多个处理器之间的通讯是通过主板上的总线进行的。

第一章 多核概述 多核技术是处理器发展的必然趋势: 半导体工艺技术的飞速进步 Pollack规则 能耗 设计成本

第一章 多核概述 半导体工艺技术的飞速进步 通用微处理器的主频已经突破了3GHz 数据宽度也达到64位 45nm工艺的微处理器已经批量生产 第一章 多核概述 半导体工艺技术的飞速进步 通用微处理器的主频已经突破了3GHz 数据宽度也达到64位 45nm工艺的微处理器已经批量生产 32nm工艺以下的微处理器也已问世 芯片上集成的晶体管数目已经超过10亿个

第一章 多核概述 Pollack规则: 英特尔微处理器实验室主任Fred Pollack :从386起,英特尔每一新架构需要两到三倍的晶片面积,而性能只提升1.4到1.7倍。 简言之,性能的提升与复杂性的平方根成比例。 两代处理器,性能每提升一倍,复杂性便增加4倍。 如一个处理器的硬件逻辑提高一倍,至多能提高性能40%。采用两个简单处理器构成一个相同硬件规模的双核处理器,可获得70%~80%的性能提升。

第一章 多核概述 能耗: 工艺技术的发展和芯片复杂性的增加,芯片的发热现象日益突出。 单核高频率的处理器功耗太大,发热量太大 第一章 多核概述 能耗: 工艺技术的发展和芯片复杂性的增加,芯片的发热现象日益突出。 单核高频率的处理器功耗太大,发热量太大 多核可以提高性能,且能较好解决功耗问题 多核处理器可以采用降低功耗的技术:如可以关闭一些处理器

第一章 多核概述

第一章 多核概述 设计成本: 处理器结构复杂性的不断提高,人力成本的不断攀升,设计成本随时间呈线性甚至超线性的增长 第一章 多核概述 设计成本: 处理器结构复杂性的不断提高,人力成本的不断攀升,设计成本随时间呈线性甚至超线性的增长 研发高频率处理器的成本越来越高 Intel发布3.8GHz的产品,宣布停止4GHz的产品计划。 AMD频率超过2GHz以后无法大幅度提升

第一章 多核概述 多核对不同领域软件开发的影响: 传统的科学计算: 服务器软件: 桌面软件: 原有软件大都是并行的 第一章 多核概述 多核对不同领域软件开发的影响: 传统的科学计算: 原有软件大都是并行的 多核提供了更高性能的执行平台 需要做的是针对多核进行优化,多核应用不存在困难 服务器软件: 业务特征是并发的,应用具有天然的并发性 多核提供了一个高性能计算平台, 面临挑战不大 桌面软件: 原有大部分程序是串行的 需要很好的并行编程模型和开发环境,挑战很大

第一章 多核概述 超线程技术(Hyper-Threading,HT) 第一章 多核概述 超线程技术(Hyper-Threading,HT) Intel公司所实现的同时多线程技术,同时多线程技术(Simultaneous Multi-Threading, SMT)是通过复制处理器体系结构状态信息来创建逻辑处理器或者称为线程; 只有一个实际的物理处理器,但是从软件的角度来看,存在多个逻辑处理器。超线程技术是通过延迟隐藏的方法提高了处理器的性能,从本质上讲,就是多个线程共享一个执行核,因此,超线程技术中的线程执行并不是真正意义上的并行; 采用超线程技术所获得的性能提升将会随着应用程序以及硬件平台的不同而参差不齐,超线程技术评为失败的技术。

1.1 微处理器发展史 1945年,世界上第一台全自动电子数字计算机ENIAC 计算机的发展按照硬件工艺可以分为: 采用电子管,作为基本原件,每秒可进行5000次加减乘除占地172平米,重30吨,耗电150千瓦 计算机的发展按照硬件工艺可以分为: 第一代(1946~1958):电子管数字计算机; 第二代(1958~1964):晶体管数字计算机; 第三代(1964~1971):集成电路数字计算机; 第四代(1971年以后):大规模集成电路数字计算机

1.1 微处理器发展史 微处理器发展大体经历以下几个过程: 第一代微处理器(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处理器多核技术的发展,人们也在进行并行化的探索,又出现了并行计算机体系结构

并行计算机 由一组处理单元组成,这组处理单元通过相互之间的通信与协作,以更快的速度共同完成一项大规模的计算任务。 两个最主要的组成部分 60年代初期,晶体管以及磁芯存储器的出现,处理单元变得越来越小,存储器也更加小巧和廉价。出现规模不大的共享存储多处理器系统,即大型主机(Mainframe); 60 年代末期,同一个处理器开始设置多个功能相同的功能单元,流水线技术也出现了,在处理器内部的应用大大提高了并行计算机系统的性能。 两个最主要的组成部分 计算节点 节点间的通信与协作机制

并行计算机 Flynn分类法: 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, MIMD) ——指令流:机器执行的指令序列;数据流:指令流调用的数据序列,包括输入数据和中间结果。

并行计算机 Flynn分类法:

并行计算机 单指令流单数据流 ——传统的串行计算机,硬件不支持并行,指令串行执行,在某个时钟周期内,CPU只能处理一个数据流,早期的计算机是这样的平台。 单指令流多数据流采用一个指令流同时处理多个数据流。此类机器在数字信号处理、图像处理以及多媒体信息处理等许多领域应用都非常有效。 多指令流单数据流采用多个指令流同时对一个数据流进行处理。多个指令流处理多个数据流才是更加有效的处理方式,因此,多指令流单数据流并行计算机一般只是作为一种理论模型出现,而并没有投入到实际应用当中。 多指令流多数据流能够同时执行多个指令流,这些指令流分别对不同的数据流进行操作。多指令流多数据流是目前最流行的并行计算平台。

1.2 并行计算机结构分类 分布式存储器的SIMD处理机 向量超级计算机(共享式存储器SIMD) 对称多处理器(SMP) 含有多个同样结构的处理单元(PE),通过寻径网络以一定方式互相连接。每个PE有各自的本地存储器(LM) 向量超级计算机(共享式存储器SIMD) 集中设置存储器,共享的多个并行存储器通过对准网络与各处理单元PE相连。在处理单元数目不太大的情况下很理想 对称多处理器(SMP) SMP是指在一个计算机上汇集了一组处理器,各处理器之间共享内存子系统以及总线结构 并行向量处理机(PVP) 在并行向量处理机中有少量专门定制的向量处理器。每个向量处理器有很高的处理能力,并行向量处理机通过向量处理和多个向量处理器并行处理两条途径来提高处理能力 集群计算机 是一种并行或分布式处理系统,有很多连接在一起的独立计算机组成,像一个单独集成的计算机资源一样协同工作

1.3 片上多核处理器 多核处理器始于IBM(2001) 片上多处理器的概念: 按计算内核的对等与否,CMP可分为同构多核和异构多核 双核RISC处理器Power 4,将两个64位Power PC处理器内核集成在同一颗芯片上,就成为了首款采用多核设计的服务器处理器 片上多处理器的概念: 片上多核处理器(Chip Multi-Processor,CMP)就是将多个计算内核集成在一个处理器芯片中,从而提高计算能力。 按计算内核的对等与否,CMP可分为同构多核和异构多核 同构内核:计算内核相同,地位对等 ; 异构内核 :计算内核不同,地位不对等 。

1.3 片上多核处理器 CPU核心数据共享与同步主要有两种机制: 给程序开发者带来的挑战、机遇 总线共享Cache结构:每个CPU内核拥有共享的二级或三级Cache,用于保存比较常用的数据,并通过连接核心的总线进行通信; 基于片上互连的结构:每个CPU核心具有独立的处理单元和Cache,各个CPU核心通过交叉开关或片上网络等方式连接在一起。 给程序开发者带来的挑战、机遇

1.3 处理器结构

1.3 处理器结构

1.3 处理器结构

1.3 处理器结构

1.3 处理器结构

固件对多核的支持 固件 是一种嵌入到硬件设备中的软件。它通常烧写在flash等介质中,可以被当作一个二进制映像文件由用户从硬件设备中调用; 是在集成电路只读存储器中的计算机程序,是可擦写可编程芯片,其上的程序可以通过专门的外部硬件进行修改,但是不能被一般的应用程序改动。

操作系统对多核的支持 进程的分配、调度 进程的分配将进程分配到合理的物理内核上,不同内核在共享性和历史运行情况下都是不同的,有的物理内核能够共享二级缓存、有的不共享,如果将有数据共享的进程分配给有共享二级缓存的核上,将会大大提升性能; 进程调度涉及到很多问题,例如负载均衡、实时性、cache一致性等等。 在多核情况下,是有很多核可以被使用,如果系统中有多个进程需要分配,则可以将它们均匀的分配到各个核,或是一起分配到一个核,或者按照一定的算法进行分配。

操作系统对多核的支持 多核调度算法: 对任务分配进行优化 对任务的共享数据优化 对任务的负载均衡优化 是同一应用程序的任务尽量在一个核上执行,以便达到共享数据的任务能够尽量在一个核上进行,而共享数据量少或没有的任务尽量在不同核上进行。这样做的目的可以显著的降低cache的缺失率,进而在很大程度上提高了系统的整体性能 对任务的共享数据优化 由于CMP体系结构共享二级缓存,可以考虑改变任务在内存中的数据分布,使任务在执行时尽量增加二级缓存的命中率 对任务的负载均衡优化 当任务在调度时,出现了负载不均衡,考虑将较忙处理器中与其他任务最不相关的任务迁移,已达到数据的冲突量减小

操作系统对多核的支持 虽然多核近两年才兴起,但是操作系统对多核的支持并不难解决,传统的通用的操作系统都是支持多任务执行的,对单核处理器是通过分时处理的,即把CPU的运算时间划分成长短基本相同的时间片,轮流分配给各个任务,来实现多任务的,由于轮换的比较快,所以人们感觉不到轮换。

思考题 1、多核平台下,程序设计采用多线程的好处?为什么? 2、单核平台下,程序设计会在什么情况下采用多线程? 3、你希望通过本课程的学习获得什么收获?