版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一斡改进的OpenMP Guided调0 I4 I5 . CaAfF4.1訂5M Wi.* hAIr* 号bnfl舄.cw 編Xf* 4 Nit f A 2,bflrrMwH*4WA . ItiMRi.!sr rs十啊,n 他细1a acAtMtsraAMKa U9Mfz 岭/”良, * fl KV*Hr NRB e a arR #Wy J*丨舁航*ll*L N LtfaW*XWMrw.MfBKXA 4 HxitnwiiBte tniiN ti. ean m s t;啊厲H) ) 4ny4XAf ear .! A WHAAV4Vat #*-r I9-maiflt. CtMBit尺0 MH】Wr
2、wIMA斤Ml a*9MW. OAftMIt W I R . R 您wi 4、Hniivm , *”. tM9M0arrAM y u,WAAfUIHIIItMCgr v矶鼻 v K4AM-9A4A f.! .8M tlAS * * fW b ! * * atfc dl taai H.- .叶仕 * *-4 e*o Ul H rnMlWWr 4 w mmw “ m &t t.Ae INVE .UT4 I r yikhH:Ur叶11-* 餌VMMWlf wn *K*題着*Ail l| q 1 hMH*NV4* f h AIJ -r - hi*即 4 JLMUhMn-IBB-UBift Li
3、 !* Vl * qiA4 IM4 Ui| n Fit P N N3I J(IM. Cft A 理 Hft* * ? 41!. i.-rf IK- I I.丄,.鼻即 iu. nnii4tanhf.4 宁 W电起H4I II建詡歼山 If ffl】皐片阳片矗 1 、鼻 晋HCI M m W *V If FII1 F R4 沖. i I- * KplfediB A h:-taL4M 阳 H 曾希 亠科第齐轉轉 H d 4 g| fM|i Kflrt t勺 iMIAlifiH!:!. ITltFH 1 Wil 144 * fl Hfi 増 crflipH4-SHkr.il:*vw n :* 4 H
4、 W *鬥 Mil啊叶 备牛“h M. f lift II-11A* A tipr ”詩HP!耳爲*-W3 H4 JtB IlH*i. ktlA f-1* ik-fiichl 賣和 w IU0*1*旳 Pl|UrH|卯和“百耳屮序(AH lAi rrIKM.i I 1 MN. mm* tw N 2 It!A-I JI 屮 fl v t ,-* 4t * V rfit k 4h H t SrVJfl 卜用 IE AJ taTKn: tw = E HflKABi J1 H _kTTiTT: i ”i *ff-rfe-*i L1 HL Fwre 111 * l4种改进的 O严 nMP Guided
5、调度策略研究表 4 AdjointCon片上的测试结果 单位:秒果(单位:秒) 涮度策略118 2dynamic10 178 182 21471 910 6 14 8蒯度策略8s talk0iv.1028 4 4528矗2线程数 315A9 394.2394.14 23 6l7n657n6 37n765 4 14 l 3914l4 514l 4 8i50 目 l ed1 0gu i ded 5828 人 328 人 l 28 人 327942894.2l94.160 guideVl1 0 guideVl,501 Wguided 10 iw guided5 0 mw g,uide &10
6、 mw gufle & 5010 4 116115 16 1 6 28574 28573 1 4 3 1 91 4 31 0 9 5 5 7 9 5 7 3 7 1 8 0 7 1 89 表 5 Matrix Mu1tip1 icatio n在曙光机上的测试结 果(单位:秒)表 8 Adjoint Con vo1utio n 在 IEM刀片上的测试 结果(单位:秒州艘策略 6 5 5 552 3 3 8 3 7 4 1 4 7 4 9 7 4 9 4 3 3 3 3 3 3 5 3 8 4 9 4 9 8 4 5 4331 3436324949sta1k10 1 1 5 4 2 91
7、5 4 8 0 1 5 4 4 0 1 5 4 4 9 1 5 4 4 2 1 5 4 6 9 1 5 3 9 2 1 5 4 2 9 2 1 58 67矗 98 7 721 7矗 0011矗 05 11矗 36 7 73 7 7 7 54蒯 度策略 1160 s1a1ifJ ic.10 153152152 152 152 2 7 8 7 880 7 9 79 7 7 7 47 4 3 565 55 3 5 6 55 5 55 4 5 4 线程数4 线程数3 8 5 9 95 5 95 3 55 3 9 85 9 38 6 4 7 5 675 6 64 6 80 23 8 5 73 8 4 9
8、3 8 4 96 78 06 8 0 0 3 8 943 9 0 45 3 76 53 7 4 547 37 4 7 4 94 4 42 4 3 5 5 4 4 4 3 4 6 4 6 dv1mm, fM1amic0 fM1am ic 5 0 dynamic.50 guided 10 guided 50 1*w_g,uided 10 gnideV1.10 gnideV1.50 1 圻 137 i 矶_ guided,10 t 矶_ guideV1 50 1W_ guide & 5 06 3在旧 M刀片上的测试结果 表 9 Matrix Mu1tip1icati on 在 1EM刀片上的
9、测试 结果(单位:秒) 刘于每一个循环结构,我们均采用 和曙光服 务器相同的调度策略进行了测试测试过程中,采用了 1 至 4个线程,测试结果分别如表 6表 9 所示。表 6 Mande1brot 州发策略 112 03 8 sta1k:,10 dvnamif 1 0 1 2 0 3 5 1 2 0 4 0 1 2 0 3 7120 33 120 37 120 34 120 36 线程数 2 6 00 0 5 9 9 94 9 9 9 6 0 7 2 6 0 1 2 6 0 7 2 6 0 7 6 6 0 7 2 3 4 0 5 3 4 0 5 7 4 0 5 8 4 0 5 7 4 0 6 2
10、 4 0 5 3 4 0 53 4 0 8 9 4 3 0 4 9 30 ”30 3 6 Set 在 IEM刀片上的测试结果 单位:秒)dvtmmiV:50 3 0 撕 3 0粥 3 1 12 州艘策略 12087 sta1ic,10 dvtmmiV.10dvtmmiV.50 2103】207972079220794207 94 208 58 20865 2 线程数 3169 35 7027 69 36 6 9 4 2 1 4 9 5 4 1 4 9 4 4 1 1 3 6 6 1 1 3 74 4 1 3 3 3 3 5 2 6 3 5 2 0 4 5 2 0 4 gnided.10 gni
11、ded.50 1512】1 0 5 2 3 1 0 4.0 4 1 0 4 0 5 1 5 n96 15n 9 2 3 3 2 4 1 3 32 3 t矶 _gui(1e &10 t 矶guide & 50 3 0 4 9 3 1 0 76.4 实验结果分析 从表 2表 9 可以看 m,不同的凋度策略和chunksize参数在曙光服务器和 IEM刀片上对性 能的影响基本相同对于四个测试程序,默认的 gnidefL10 1fn771fn969 2 4 69 2 5 3 guided,50 nen guide &10 nen guided,50一种改进的 O严 nMP Gu
12、ided 调度策略研究 static调度性能都 是最差的。对于dynamic、guided和 new guided 凋度,chunksize参数对调 度性能的影响比较小。 MS 程序是一个不规则的循 环结构。从表 2和表 6 可以看出dynamic调度和(static,1 0)进行一次凋度的开销往往并不相同,编译器在为 线程分配迭代块时,一股首 先锁住所有线程共享的任务队列,然后在临界区(criticalsecti on)计算需要分配的迭代块大小,并更新任务队列,最 后解锁dynami c调度采用的是 OpenMP制导订调度可以获得较好的性能,其次是 newguided调度策略如图 3 所示,
13、 MS 程序的迭代可以分 为前面、中间和后 面三个部分。其中,在前面部 分和后面部分的迭代中,每次迭代的计算量都很 小,而中间部分的迭代的计算量都特别大对于 这样的循环结构,guided和 默认的 static调度都 会导致获得中问那部分迭代的线程 T作量非常 句中的 chunksize参数来直接指定迭代块大小,而guided凋度则需要在每次调度时计算迭代块 大小。也就是说dynamic调度对应的临界区代 码 量少于 guided调度的临界区代码量。例如在OMPi 编译中,dynamic调度对应的临界区代码为 2 行,而 guided调度对应的临界区代码为 8 行凶此,执行一次 dynamic
14、调度的开销要少于执行一次 guided调度的开销。但是,guided调度每次 分配的迭代块多于 dynamic,斟此,对于同一个程序,采用 guided 策略的调度次数要少于策略 对于表 1中 的例子,采用dynamic策略需要进行 20 次调度,而采用 guided策 略只需要 10 次调度。 如果综合考虑一次调度的额外开销和调度次数,dynamic 凋度和 guided 的总额外开销近乎相似。从表 3、表 5、表 7、表 9中的测试结果可以看出, 对递增结构的 CP程序和规则的 MM 程序采用dynamic、guided和 new guided调度时的性能差不多。大,而其它线程的 1 作量
15、非常小,从而导致严重 的负载不半衡。dynamic调度和 (static,1 0)调度会将计算量大的迭代和计算量小的迭代均匀 地分配 给各个线程,凶此可以获得较好的调度性 能。这两个凋度策略的区别在于(st atic,10)在进入循环前就将所有迭代分配完毕,而 dynamic调度则是在一个线程执行完当前迭代块后冉给 它分配下一个迭代块。 论文8的研 究指出:如果计算负载是随迭 代变量增大而减小的,则应避免使用指数调度,凶为它的前几个子块大小都很大,可能导致负载不均衡。”从表 8的测试结果可以看 m,递减结构的 AC 程序采用(static,10)、dynamic 和 ne w guided 调
16、度时能够获得最佳性能,而采用guided调度策略时性能较差。这一点与论文8】 的结论一致、对于递减循环结构,计算负载随着 迭 代变量增大而减小,而 guided策略划分的迭代 块大小也是由大变小,且呈 指数下降凶此,对 于递减循环结构采用 guided 调度会导致前面的 迭代块计 算量非常大,而后面的迭代块计算量非 常小,从而引起负载不半衡、在曙光服务 器上.当线程数大于 3时,随着线程数的增加,AC 程 序的执行时间没有继续减 少、这是丨_【于 AC 程序 访问存储单元时具有一定的不规则性,当线程进 一 步增多时,存储访问的局部件被破坏了 论文8采用调度次数来衡量凶调度产 生的额外开销,认为
17、对递增结构的循环,应避免使 综合表 2表 9 的测试结果可以看出,在 OpenMP 程序中采用 dynamic策略和(static,10)策略的调度性能比较好。new guided策略刘 guided策略 进行了改进,调度性能介于 guided和dynamic之间、由于 static调度在编译期就决定了各个处理器的迭代块大小,凶此无法根据程序运 行时 处理器的负载动态调整此外,当调度非规 则循环结构或者处理器件能不一致时,static 调度很容易 m 现负载不半衡。如在表 3、表 4、表 5 中,(static,l 0)策略的调度性能就比 dynamic和 guided策略的凋度性能差。综合前
18、面的分析, 我们可以认为,在大部分的情况下dynamic 策略都能获得最好的调度性能。7 总结及以后的工作随着多核处理器的问世,多 线程程序设计已 经成为一个不可回避的问题。在采用 OpenMP编用静态调度策略和分块大小较大的动态凋度策 略、”但是,在实际的编译器中,不同调度策略一种改进的 O严 nMP Guided 调度策略研究 程时,调度策略和参数的 选择列于一个OpenMP 程序的性能具有一定的影响,但选择恰当的调度策略和参数往往跟具体的运行环境和循环结构有关。现有的研究 I作(如文献1和8)都表明, 对于递减型的循环结构,采用 guided调度策略 时存在严重的负载不均衡问题。本文借鉴
19、论文7】的 ix闶度策略,对循环结构的前5 0%的迭代采用static阅度, 后面50%的迭代采用guided调度, 从而改进了OpenMP标准所指定的 guided调度策略。此外,针对不同的循环结构,我们在不同的 多核处理器上对不同的调度策略进行测试和 分析。本文的进一步 I 作可以研究 d 调度策略在机 群 OpenMP系统中的应 用、 9 876 Clusters Proceedings on of the 2001 IEEE International Confere nce Cluster Cmnputing,2001 Shih,Chao T ungTseng on Wen Chun
20、g Shian Shyong Sch eduling Proceedings Parallel and Yang,P ing I ParallelPC Chen, LoopAHyhrid Sch eme of HeterogeneousInternational ClustersontheSixthConference Distribute d Computing Applications and Technologi es.2 0 0 5 Chao TungYang.Shun Chyi 017 Ch ang AParallel Loop PC and Self Scheduli ng Cln
21、sters Extremelyof Heterogeneous Science Jo/iTnal Inforrnaton Engineering,2004,20 (2),pp:263 273 Shaineem Akhter.Jason Roberts多核程 J设计技术 pp:李宝峰等译北 京电子 T 业出版社,2007 1 4 7 -1 5 1 VVDimakopoulos.E Leontiadis and GTzounlas.A portabl e C compiler for OpenMP V 2 0 of the 5th Eur opeanIn:Proceedings Workshop on OpenM P.Aachen. Germany,2003,pp:5 1 110赖建新胡长军等 OpenMP任务调度开销及负载均 衡分析计算机 T程.200
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖方支付合同范例
- 政府合同范例9篇
- 展览展示租赁合同
- 樱桃基地销售合同模板
- 银行贷款合同范本
- 借用原材料合同范例
- 水泥 沙子购销合同范例
- 林业生物安全研究守则
- 搭建围墙护栏合同范例
- 水利水电项目管理合同范例
- CTD格式申报对药品研发和审评的影响
- Q∕GDW 12176-2021 反窃电监测终端技术规范
- 8 煤矿安全监测监控系统PPT课件
- 压力容器壁厚计算
- 新产品试制流程管理办法
- 通用横版企业报价单模板
- Excel 会计记账模板-录入凭证自动生成财务报表(超实用)
- 从高考“函数与导数”压轴题看数学学科核心素养
- 装修公司员工劳动合同
- 数控技术毕业论文幻灯片 数控立式铣床工作PPT学习教案
- 机械专业个人职业生涯规划书范文3篇
评论
0/150
提交评论