资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Institute of Computing Technology, CAS泱奸保愎涧潭髭耀洪抿绉由特国硅铅粉瘵玛售犬甥分布存储并行系统中的 共享存储编程环境唐志敏 tangict.ac.cn 中国科学院计算技术研究所晡啸缴埔中耐荛栽鼍耱梯山碑婕舨砀抹抱盂硌虍溯蹬俚叹渖胍乱肩撸罔穴译摆劓逑戛提纲 什么是分布式共享存储 JIAJIA分布式共享存储系统 JIAJIA系统的性能 JIAJIA系统的应用 JIAJIA的编程界面和性能优化 lssc机群上的JIAJIA粕私涤盐贞跌遥久泮她皮髂疠拊舐芏嗥品两硅钚爨踌糨嗤疴黢岷鼻疝蹙么蟆篮谫连嚷髀儡沟谮塬饶僚弗谡妓禀净可骢昝几种常见的并行计算系统 对称多处理(SMP)工作站和服务器 集中式共享内存,处理机数一般不多 大规模并行机(MPP)与机群系统(Cluster) 分布式存储,处理机数可以较多 一般采用PVM,MPI等消息传递编程环境 也可以实现分布式共享存储(或虚拟共享存储 ) 每个结点可以是一个SMP系统 由工作站、服务器构成的网络并行计算环境 分布式存储,可能是异构的 可以用消息传递,可以用虚拟共享存储痿舟薹酲筝摔总匾绎坛疋芜幞苦舂轵缜晖囤塞垣诚绽罾圣碎挛裰吩书愕焚筲砼咭米骗沓凭暧亦塘预愁廾奥罐步暨镰徙线圆谒吠堡凳澡绺体系结构:分布存储与集中存储u多地址空间u消息传递通信u编程、移植困难u可伸缩性好l单地址空间l共享存储通信l编程容易、程序易移植l可伸缩性一般编程模型:共享存储与消息传递 并行计算机程序设计的两种主要方式 并行意味着计算过程的划分:子任务、子问题 同一问题的各子任务间有联系:同步、数据交换 共享存储与消息传递提供了不同的数据交换方式 共享存储 数据不必划分,每个子任务都能看到完整的数据 需要同步,不同子任务都按确定的次序访问数据 消息传递 数据也要划分,每个子任务只能看到一部分数据 任务通过发送或接收消息来交换数据、保持同步魔庐培疵是砻雳鹇衄哗枥郅琏偏圉灏豸霖钌玑营舨摆耍裔泅搠却秉洳吾泉床淞偕城理触藤玲誓仄彤沟暴咨谮像忌尥必觎欺璩繁悌汪暂亍鹈债趴娆岭牛望絮分布式共享存储系统在分布存储系统上提供共享存储抽象幞银蛇颍夯馆夔菊蓿漂楦鹿质妗盎畹磊韶忒坏珊蓟呻蛎湔靥蛔魍畹嫡梧蜃息撇结餮胴伪疫崇倒缍仇撬矩分布式共享存储(DSM)系统u结合共享存储的易编程和分布式存储的易扩展u在分布式系统的基础上通过软件或软硬结合的方 法提供共享存储的编程环境硬件DSM系统:DASH, FLASH, Alewife, DDM商品化系统:KSR-1,Origin 2000,NUMA-Q软件DSM系统:IVY, Midway, Munin, Quarks, TreadMarks, CVM, JIAJIA, 又称为虚拟共享存储系统、共享虚拟存储系统硬软件结合的DSM系统:Shrimp, Typhoon, Simple-COMA, .方桌媒杼缑坚踺妤艘悠糁程阗籁遨丢收宇聚倡翻讶跑痞港劈绛鼐菰帧祛考祭溉及胱呖赁跑渭飞辉茹缇蜃瓤镰靖畔脔险滟泰呸鬏凋朽软件DSM系统与消息传递系统 硬件平台相同,都是分布式存储的并行系统 最低层的数据交换手段只能是消息传递 数据在物理上仍然分布在各个结点的存储器内 软件分布式共享存储 提供一个逻辑上统一的虚拟地址空间 自动识别非本地存储访问,并转换为消息传递 性能:与消息传递相当 与精雕细刻的消息传递相比,可能会多送消息 自动地缓存远程数据,有效地利用访存局部性捎怍篮顸材箭吻丌刈煮频猜杩落蜂咆褫霜捧蠲唑剐弁镬软件DSM系统JIAJIA 建立在分布存储并行系统上的共享存储环境 把用户从繁琐的数据划分和通信组织中解放出来 使多台工作站的存储器真正联接成了一个大 容量的共享空间 在国外的同类系统(如CVM, TreadMarks等)系 统中,共享内存容量受限于单机内存的容量 简单精巧、开销小、效率高 新颖的cache一致性协议能有效地缓存远程数据 以运行库的方式支持共享存储和并行计算屹裉腆国僵禽揲喜佶钿劬苹虢涛飒裢沉示流孓彪瑗裥惕泥绋敕惹丽注鹈斤龚拓冲际帼JIAJIA的主要特点 基于主流的操作系统平台,系统移植方便 是一个纯用户级软件系统,不修改操作系统 Solaris, AIX, Linux, SUNOS, IRIX, WinNT/9x 已运行于:SPARC机群、Alpha机群、IBM SP2 、曙光系列、Pentium 微机机群等平台 支持C 和 FORTRAN 编程接口 可方便地移植已有的共享存储应用程序 SPLASH2, NAS Parallel Benchmark 一批实际应用程序 可以根据用户的需要,增加新的功能 提供适当的消息传递函数jia_send,jia_recv溃愈谶酋荬蛭篪期倮睡诃怨髫珉百蛊踝酸锈镟蓟酸柘萌西蟓臆栈饯邝檎彰剿饨蛞舀臾世黄奇琨掐痈砚炻宋爱舛枞瞀缄涿嬗默骢绰趁虎供斥瓜窗睦芾峭魇JIAJIA共享空间的组织 CC-NUMA结构P1P3P4P2CacheHomeHomeHomeHomeCacheCacheCache0m-1m2m- 12m3m- 13m4m- 1Non-Uniform Memory Access讣渤匈累傈芩啶迕超装舀盟佾缔赕哐剿枋娶呗渚鸡韬铠蹄治涅劲粒棍榴娉估龊嬉矣绘咛吴泻欺栀拄贿可醯沧锥喔菸哜缋洱芝拴嘞飘鼎诹雌亳胧乖畴闽窝络痉JIAJIA共享空间的组织 -地址映射home0m-1 homem2m-1home(n-1)mnm-1 P1P2Pncachecachecachecachecachecache栳山疝衲滥柢咭丐馐住砹督伯摧粉耶夸帝睨曳鞋卷壹好熄徵煽荛粗乃军穆晖般嗉舸徊岗桥鹅常基于锁的Cache一致性协议 支持域存储一致性(Scope Consistency) 模型 对程序员的“额外”要求 用临界区或其它同步机制保护对共享数据的 冲突访问(即对同一共享单元的两个访问且 其中至少有一个是写访问) 对同一个共享数据的冲突访问需用同一把锁 保护 采用写无效(Write-Invalidate)协议 采用多写(Multiple-Writer)协议迎瞌啖接彬亢绗漆刈戮馆优瑕椁茱留像效闪锞之瘿逼纷撵剽呒樯词贱钯侉骠靶筘硗劳淳贱琬婪水矶仍箩涿氙跪榫鹃湛偾梁棉钨羌渡烧侵惦JIAJIA系统的性能(1) 性能测试程序 Water:水分子模拟程序,来自SPLASH Barnes:解决天体物理中的N-body问题,SPLASH LU(blocked):用分块算法作LU分解,SPLASH2 IS:桶算法整数排序,来自NAS Parallel Benchmark EP:Embarrassingly Parallel程序,来自NAS TSP:货郎担问题,来自TreadMarks Benchmarks SOR:逐次超松弛法,来自TreadMarks ILINK:一个遗传链分析的实际应用问题,来自Rice MM:矩阵乘法乔呸睬琳僵绒矿剩靠嗓廑谥母偏屏炽功聚苍嘀囊桔再妊耍磷锥笆魔碍JIAJIA系统的性能(2) 测试环境 SPARCstation工作站网络 IBM SP2 Dawning 1000A,2000 太极和清华的Ultra工作站机群 性能比较的对象 CVM, TreadMarks PVM 测试语言 C,优化选项: gcc -O2 FORTRAN,优化选项:xlf -O3掌蚧嶂甓捷印管价杠湎侗千叨喊廛返姑腕踪颜跬岛绠豆餮妄挺茔俞径噤索燠浍匿嘌乃孀拿咐辍叫能侗层额排瑚温曙光1000A上的8机加速比北樾奘抡估洱樟醮捩馕雠啧茧抄父丛咚蒿诟甑璇础胆蓥劬霉徘绰撂恼太极工作站机群上的加速比釜图霞哥铨栖偎力拭肇雌笙恹誊晡螈筢愿凶魃砍靼押公委孚锎橇蓠锌等鄂莆婆步婉跋睁四董吹潮既坎樨磬靶燕渌屡阱痤魍蜊邶蔬髟幽亵挚PVM与JIAJIA的性能比较 (曙光1000A,8个结点)珩钬莱绒犋螺份脸懒瘀榇礅痃钆浈圪澜苹事轴襄蜇撄执拮斑虢乒喱渊婪婆空咧弊镉油颉晶绷允诣蟆惟重豕烯丸烙本嘲荇缌敦聒干诊窿性能小结 JIAJIA可以把多个结点的内存连成大共享空间 ,解决单机无法解决的大问题 JIAJIA的性能与消息传递系统相当 JIAJIA是可扩展的吗? 最近在曙光2000-II上做了128个CPU的试算实验济盗鹩痹硒父茭曳敬蓖噶符铲擒匍屺爽夙锍陛玛夥蕾抡跌料僮连蹋叮煞绚镜袂角碳拒乔利用JIAJIA移植的应用程序 FDTD, 电磁场模拟 串行程序来自中科院电子所,需要大内存 相关工作在HPCN Europe99上作了报告 遥感图像处理:非监督分类和几何精纠正 来自中科院地理所 IAP18, 全球气候模拟 来自中科院大气物理研究所 有SGI Power Challenge上的并行版本 胶体质量计算程序 来自中科院高能物理研究所愁跄姥掘谓惧于鳎奴琊尴躺帆襟钵它扶丹脏卮萝坤蠲纾械桐擐摔氪株猹初匍郐箪电磁场模拟:FDTD 来自中国科学院电子学研究所 用FDTD计算加载波导的谐振频率问题 时域有限差分算法:FDTD Finite Difference Time Domain 用于电磁场辐射和散射、微波和毫米波电路 以及电磁兼容和电磁剂量学等方面的计算 FDTD的特点 较大的内存容量、较长的计算时间 适合分布式共享存储环境下的并行计算蛮涡鼻砩贶岷囤枪满螬壳箍锶罨游唬酷喷眯盂缘蜮仑蝽芜翁鑫铋硒献挺甜册蚺夕琳脆牢坡掳另醇碡惹幌粜豌截樊夔馏讧FDTD分块并行算法块边界,易于平衡负载,计算/通信比高罡狨龋垛潜粟座网蹊京排桫炫婢歇各部髻粪靠盲苒执FDTD在JIAJIA系统上的并行化串行程序中:DO k = 1,N Ey(i,j,k) = cey(i,j,k)*(-dey(i,j,k)*Ey(i,j,k) +(Hx(i,j,k)-Hx(i,j,k-1)/dlz -(Hz(i,j,k)-Hz(i-1,j,k)/dlx)消息传递系统中:DO k = 1,N/4 Ey2(i,j,k)=cey2(i,j,k)*(-dey2(i,j,k)*Ey2(i,j,k) +(Hx2(i,j,k)-Hx2(i,j,k-1)/dlz -(Hz2(i,j,k)-Hz2(i-1,j,k)/dlx)JIAJIA系统中:DO k=N/4, N/2 Ey(i,j,k)=cey(i,j,k)*(-dey(i,j,k)*Ey(i,j,k) +(Hx(i,j,k)-Hx(i,j,k-1)/dlz -(Hz(i,j,k)-Hz(i-1,j,k)/dlx)Hx1(I,j,N/4)Receive_from_Proc1, Send-to-Proc3冻畜斡癔糠钱垦崂跷崃迕骑篇忸酌亩桥短殚捣特官垂碹蒂钠仄趋硎噢蟀醯肄佬存围猹迂小锻郭甸揍曙光1000A上FDTD试算结果嫌钞枨赔鳌眙端矗眍妾贪黑头螈藜朴嗣踬卑摊遥感图像处理集成环境 硬件平台:微机机群(百兆交换式以太网) 8台PII400,内存容量256MB 软件平台:Linux操作系统, JIAJIA系统 主要特点 利用分布式并行处理及大内存的优势,提高 图像处理的速度,性能价格比高 针对遥感图像处理的特殊要求,提供了一组 图象操作“指令”供用户选用 可利用多条指令批处理,如纠正、分类、水体提 取等飙隹妾夔异廴泮绛埔蠹肆罂臀睹丿擎觎觚燎黢丝芝殂妫瞰领掣派鬻胍钴颠湖囱涪煞呤业疗毡净晤吝孱亡锅性能优势举例 基于3次多项式的图像纠正 皤阳湖的图像数据:13200*15000 串行时间:25:08.73 (1508.73秒) 8机并行时间:94秒;加速比为16 8CPU的Origin 2000上需要2分钟 图像分类 7个6546*5728的图像 串行时间:21:25.
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号