- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
76 计算机技术与应用进展·2006
一个可视化并行程序开发平台的实现+
王恩柱刘晓平
合肥工业大学计算机与信息学院VCC研究室合肥230009
摘要:从方便用户进行并行程序设计的角度出发,开发了一个基于图形的可视化并行程序开发平
台。该平台主要由三层构成,在应用层用户通过图形的方式确定各进程间的通信关系;在进程层使用平
台提供的图标完成相应的程序设计;最后,在代码层通过代码产生器生成并行程序。图形方式隐藏了并
行机制,降低了并行程序设计的难度。
关键词:可视化并行程序设计并行计算
口
随着科学技术的发展,人们逐渐认识到单机性能刁;能满足大规模科学与工程计算问题的计算要求,高
性能计算机是实现高性能计算,解决挑战性计算问题的唯一途径。高性能并行计算机的研制和应用水平的
提高,一直是各国家共同追逐的目标,已经成为衡量一个国家科技、经济和国防综合实力的重要标志”】。
但是,并行计算的发展却存在着一定程度上的不平衡,这表现在:并行计算软件的发展落后于并行计
算体系结构的发展,并行计算的运用落后于并行计算技术的发展。并行程序设计涉及到任务的划分、处理
机的分配与映射、处理机间的通信与同步等问题,与串行程序设计相比要复杂得多,这是造成并行计算发
展不平衡的一个重要原因。当前主要的消息传递软件系统有: MPI【2J、PVM[”等。这些并行软件主要解决
系统核心运转以及组织各部分有效工作的底层问题,尽管考虑了应用程序的接口,但易用性仍然不够。因
此,研究简单易用、功能强大的并行程序设计环境是当前并行计算的一个重要研究方向,也是使并行计算
便于推广的重要手段。
对于中、低端高性能计算用户的计算量通常没有高端用户那么大,因此,他们并不单一地追求程序的
运行效率。由于没有对并行机理和多机通信方式进行深入的理解,他们更加关注于并行用户环境的易用性
和编程过程的简单性…。并行用户环境是并行计算机用户的工作平台,它直接影响到高性能计算机的应用和
推广。因而开发出简单易用、界面友好的并行程序设计环境必将促进并行计算的普及和推广”】。
2平台功能及特点
2.1平台功能描述
整个平台通过抽象出的图形和图标对用户隐藏了并行机制,用户通过该环境的图形界面方式完成并行
程序的本地编辑、远程提交,然后在服务器端的高性能计算机或集群系统进行编译和运行,服务器在计算
完毕之后把结果反馈给客户端,整个过程对用户完全透明。平台对用户来说完成的是图形、图标及串行代
码的编辑.通过代码产生器自动产生基于MPI的并行C代码,通过该平台提供的远程提交模块实现与远程
肥工业大学研究生教育创新实践基地项目。
授,博导,研究方向为建模、仿真与协同计算。
高性能计算机进行交互。
2.2平台特点
(1)图形隐藏并行机制:实现控件和源代码绑定在一起,由图形隐藏底层消息传递系统(MPI)的实现细节,
这样不要求用户对消息通信的方方面面都了解。使用直观的图形界面帮助用户设计并行程序。
(2)逐步求精的编程过程:所实现的编程环境具有层次式设计思想,从上到下分为三层,应用层,进程层,
代码层,环境中的三层设计结构是一个逐步求精的过程,它们互相补充,共同完成并行程序的设计和开发。
(3)图形和图标的抽象:在应用层用图形从功能和逻辑上来表达并行机制,在进程层用抽象出的图标来表达
程序结构,通过这些图标可以构造一段程序。
(4)并行代码的自动产生:用户通过三个层次的编辑和串行代码的编写,自动产生基于MPI的C代码。
3平台构架及实现
平台采用面向对象的思想进行分析、设计和开发,按照功能模块可以分为两个部分:并行程序编辑模
块和远程提交计算模块,而并行程序编辑模块又由以下几部分组成:应用层编辑器、进程编辑器和代码产
生器。并行程序编辑模块采用层次式设计思想,从上到下分为三层:应用层、进程层和代码层。环境中的
三层设计结构是~个逐步求精、细化的过程,它们互相补充,共同实现并行程序的设计、开发和最终代码的
产生。
3.1应用层编辑器
(11应用层功能
应用层是平台并行程序编辑模块的最高一层,进程、通信端口和通信信道都是在这一层完成定义,因
此
文档评论(0)