多核技术导论.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 进程是程序在计算机上的一次执行活动。 程序是死的(静态的),进程是活的(动态的)。 进程是系统进行资源分配的基本单位。 引入进程的目的:为了使多个程序并发执行,来改善资源利用率及提高系统的吞吐量。 引入线程的目的:为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。 * 进程是程序在计算机上的一次执行活动。 程序是死的(静态的),进程是活的(动态的)。 进程是系统进行资源分配的基本单位。 引入进程的目的:为了使多个程序并发执行,来改善资源利用率及提高系统的吞吐量。 引入线程的目的:为了减少程序并发执行时所付出的时空开销,使操作系统具有更好的并发性。 * 就绪:线程等待可用的处理器 运行:线程正在被执行 阻塞:线程正在等待某个事件的发生 终止:线程从起始函数中返回或者调用终止函数。 * * * * * * * 并行化分两大类: 数据并行 多个线程对不同的数据项执行相同的操作。 任务并行 各线程对不同的数据项执行不同的操作。 * 在计算领域,决定哪种分解形式更高效取决于系统的限制。 * * * * 当分解一个问题时,关键不是任务应该做什么事情,而是数据在不同任务中怎样传递。 数据流分解:将问题按数据在任务中传递的方式来分解。 数据流分解的关键: 一个线程的输出作为另一个线程的输入 消除开始和结束的延迟 * 如果两个子任务能同时运行,则会被程序员按此调度。并行运行任务通常需要对每个函数做小量修改来避免冲突,并指出这些任务已经不再连续。 任务级并行编程模式的特点:线程间没有依赖性,或线程间的依赖性可从每一个线程中移除。 * 如果两个子任务能同时运行,则会被程序员按此调度。并行运行任务通常需要对每个函数做小量修改来避免冲突,并指出这些任务已经不再连续。 任务级并行编程模式的特点:线程间没有依赖性,或线程间的依赖性可从每一个线程中移除。 * * 其它想进入该关键代码段的线程必须等待直到第一个线程释放信号量。 * 产生死锁的四个必要条件: 1)互斥条件:一个资源每次只能被一个进程使用。 2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 4)环路等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 * 产生死锁的四个必要条件: 1)互斥条件:一个资源每次只能被一个进程使用。 2)请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。 3)不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。 4)环路等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。 ? * * * 4.2 分治模式 分治模式:将一个原问题的求解分解为多个子问题的求解,然后将多个子问题的解通过一定的计算方法合并为原问题的解。 例如: 整数求和问题 排序问题 4.2 分治模式 子问题求解时负载平衡问题 通常解决办法是将子问题数量增大,然后通过一定的任务调度方法使之负载均衡。 子问题的解的合并可能引起的串行化问题 解的合并时间少,不会对加速比产生大的影响。 解的合并时间长,最好将解的合并时间过程进行并行化计算。 4.3 流水线模式 Laundry(洗衣) Example Ann, Brian, Cathy, Dave each have one load of clothes to wash, dry, and fold Washer takes 30 minutes Dryer takes 40 minutes Folder takes 20 minutes A B C D Sequential laundry takes 6 hours for 4 loads If they learned pipelining, how long would laundry take? A B C D 30 40 20 30 40 20 30 40 20 30 40 20 6 PM 7 8 9 10 11 Midnight T a s k O r d e r Time Pipelined laundry takes 3.5 hours for 4 loads A B C D 6 PM 7 8 9 10 11 Midnight T a s k O r d e r Time 30 40 40 40 40 20 4.3 流水线模式 将一个计算过程分解成多个阶段,不同阶段之间的数据有依赖 浏览器,浏览一个网页文件过程 生成一组线程,每个线程执行不同的阶段任务,这些线程同时工作。数据在各线程间流动。 获取网页文件数据 处理网页文件数据 显示网页文件数据 获取网页文件数据 处理网页文件数据 显示网页文件数

文档评论(0)

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

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

1亿VIP精品文档

相关文档