多核多线程ppt总结.doc

  1. 1、本文档共21页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多核多线程ppt总结

1.CPU核心数据共享与同步的通信机制: 总线共享Cache结构:每个CPU内核拥有共享的二级或三级Cache,用于保存比较常用的数据,并通过连接核心的总线进行通信。 基于片上互连的结构:每个CPU核心具有独立的处理单元和Cache,各个CPU核心通过交叉开关或片上网络等方式连接在一起。 给程序开发者带来的挑战 2. 并行和并发 如果某个系统支持两个或多个动作(Action)同时存在,那么这个系统就是一个并发系统 如果某个系统支持两个或多个动作同时执行,那么这个系统就是一个并行系统 并发程序可同时拥有两个或多个线程。如果程序能够并行执行,则一定是运行在多核处理器上,每个线程都将分配到一个独立的处理器核上。 “并行”概念是“并发”概念的一个子集 3. 并行计算的目的、目标 并行计算技术的主要目的: 加速求解问题的速度 例如,给定某应用,在单处理器上,串行执行需要2 周,这个速度对一般的应用而言,是无法忍受的。于是,可以借助并行计算,使用100 台处理器,加速50 倍,将执行时间缩短为6.72 个小时。 提高求解问题的规模 例如,在单处理器上,受内存资源2GB的限制,只能计算10 万个网格,但是,当前数值模拟要求计算千万个网格。于是,也可以借助并行计算,使用100 个处理器,将问题求解规模线性地扩大100 倍。 并行计算的主要目标: 在并行机上,解决具有重大挑战性计算任务的科学、工程及商业计算问题,满足不断增长的应用问题对速度和内存资源的需求。 4. 并行计算的主要研究内容大致可分为四个方面: 并行机的高性能特征抽取 充分理解和抽取当前并行机体系结构的高性能特征,提出实用的并行计算模型和并行性能评价方法,指导并行算法的设计和并行程序的实现。 并行算法设计与分析 设计高效率的并行算法,将应用问题分解为可并行计算的多个子任务,并具体分析这些算法的可行性和效果。 并行实现技术 主要包含并行程序设计和并行性能优化。 并行应用 这是并行计算研究的最终目的。通过验证和确认并行程序的正确性和效率,进一步将程序发展为并行应用软件,应用于求解实际问题。同时,结合实际应用出现的各种问题,不断地改进并行算法和并行程序。 5. 并行程序执行时间 对各个进程,墙上时间可进一步分解为计算CPU时间、通信CPU时间、同步开销时间、同步导致的进程空闲时间 计算CPU时间:进程指令执行所花费的CPU时间,包括程序本身的指令执行占用的时间(用户时间)和系统指令花费的时间; 通信CPU时间:进程通信花费的CPU时间; 同步开销时间:进程同步花费的时间; 进程空闲时间:进程空闲时间是指并行程序执行过程中,进程所有空闲时间总和(如进程阻塞式等待其他进程的消息时。此时CPU通常是空闲的,或者处于等待状态) 6. 并行程序性能优化 最主要的是选择好的并行算法和通信模式 减少通信量、提高通信粒度 提高通信粒度的有效方法就是减少通信次数,尽可能将可以一次传递的数据合并起来一起传递 全局通信尽量利用高效集合通信算法 对于标准的集合通信,如广播、规约、数据散发与收集等,尽量调用MPI标准库函数 挖掘算法的并行度,减少CPU空闲等待 具有数据相关性的计算过程会导致并行运行的部分进程空闲等待.在这种情况下,可以考虑改变算法来消除数据相关性 负载平衡 必要时使用动态负载平衡技术,即根据各进程计算完成的情况动态地分配或调整各进程的计算任务。动态调整负载时要考虑负载调整的开销及由于负载不平衡而引起的空闲等待对性能的影响,寻找最优负载调整方案。 通信、计算的重叠 让通信和计算重叠进行,利用计算时间来屏蔽通信时间。实现方法一般基于非阻塞通信,先发出非阻塞的消息接受或发送命令,然后处理与收发数据无关的计算任务,完成计算后再等待消息收发的完成。 通过引入重复计算来减少通信,即以计算换通信 由于当前大部分并行计算机的计算速度远远大于通信速度,并且在一些情况下,当一个进程计算时,别的进程往往处于空闲等待状态,因而适当引入重复计算可以提高程序的总体性能。 7. 顺序程序的特性 顺序性:处理机严格按照指令次序依次执行,即仅当一条指令执行完后才开始执行下一条指令; 封闭性:程序在执行过程中独占系统中的全部资源,该程序的运行环境只与其自身动作有关,不受其它程序及外界因素影响; 可再现性:程序的执行结果与执行速度无关,而只与初始条件有关,给定相同的初始条件,程序的任意多次执行一定得到相同的执行结果. 并发程序特性 交叉性:程序并发执行对应某一种交叉,不同的交叉可能导致不同的计算结果,操作系统应当保证只产生导致正确结果的交叉,去除那些可能导致不正确结果的交叉; 非封闭性:一个进程的运行环境可能被其它进程所改变,从而相互影响; 不可再现性:由于交叉的随机

文档评论(0)

xy88118 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档