ps2放入虎放入猪买老虎买猪vs1.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ps2放入虎放入猪买老虎买猪vs1

多核结构与程序设计 Southeast University 东 南 大 学 / / 多核结构与程序设计 Southeast University 东 南 大 学 * 东南大学成贤学院计算机系 多核结构与程序设计复习 杨全胜 / 2012年 复习 要掌握的概念 并发与并行计算的概念及区别 指令级并行、数据级并行和线程级并行。各自举例,多核系统并行更主要的是应用哪一级并行? SMT和CMP的异同点 层次性存储结构和Cache映射策略 分布式存储、共享式存储和分布式共享存储的概念、优点和缺点。 开发并行软件的步骤、问题分解的方法、同步的类型 * 复习 要掌握的概念 负载均衡的概念,如何获得负载均衡? 进程、线程的概念、状态和状态转换图 临界区的概念,多个线程进入临界区的限制,可以使多个线程操作临界区的时候满足这些限制的方法。 死锁的概念。产生死锁的的原因和必要条件,预防死锁的办法 OpenMP编程中的并行、同步、归约、调度等问题。 * 复习 有一只铁笼子,每次只能放入一只动物,猎手向笼中放入老虎,农民向笼中放入猪,动物园等待取笼中的老虎,饭店等待取笼中的猪,试用P、V操作写出能同步执行的程序。 * 猎手进程??? 农民进程??? 动物园进程????? 饭店进程 ?? P(s)??????? P(s)??????? P(s1)????????? P(s2) ?? 放入虎???? 放入猪?????? 买老虎???????? 买猪 ?? V(s1)?????? V(s2)?????? V(s)?????????? V(s) 其中S初值=1,S1=S2=0? 复习 分析程序 * 设有两个优先级相同的进程P1和P2如下(不考虑时间片轮转),S1和S2初值均为0,求:P1,P2并发执行结束后,x,y,z分别是多少?要给出分析过程。 ?????????? 进程P1????????????????? 进程P2 ?????????? y:=4;????????????????????? x:=1; ?????????? P(s1);??????????????????? V(s1); ?????????? z:=x+2;????????????????? x:=x+1; ?????????? V(s2);???????????????????? P(s2) ?????????? y:=z-y;????????????????? z:=z+y+x; 最后结果是:x=2,y=0,z=6. 复习 请用OpenMP编写并行程序,在一个有200000个正整数的数组中查找数60,给出它在数组中的位置(假设该数组中只有一个60) 要求用同步的方法 为减少开销,要求不用同步的方法(提示:假设核数不大于10,用omp_get_num_procs()函数来获得核数,根据核数决定线程数。) * 复习 1)用同步的方法 * int a[200000]={…}; static long num_steps=200000; int location =0; int find(int x) { If(a[x] == 60) return(x+1); } return(0); } void main() { int i; #pragma omp parallel for reduction(+:sum) for (i=0; i 200000; i++){ location += find(i); } location--; } 复习 答 * int a[200000]={…}; int found = 0, lfound[10]={-1,-1,-1,-1,-1,-1,-1,-1,-1,-1}; int Ncore = omp_get_num_procs (); int nstep=200000/Ncore; 复习 * #pragma omp parallel for for (k=0;kNcore;k++){ for(j=k*nstep; j (k+1)*nstep;j++) { if(a[j]==60){ lfound[k]= j ; } } for (i=0;iNcore;i++) if(lfound[i]!=-1) found=lfound[k] return found; 复习 数值积分法和蒙托卡罗法计算π值。(自看) * 解:因为P1、P2是并发进程,所以P1和P2调度顺序不确定。假设P1先执行,当P1执行到P(s1

文档评论(0)

zhaoxiaoj + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档