节点文献

EasyPAB:面向并行应用的辅助开发平台

EasyPAB: A Platform for Parallel Applications Development

【作者】 于策

【导师】 孙济洲;

【作者基本信息】 天津大学 , 计算机应用, 2009, 博士

【摘要】 随着多核处理器以及集群(高性能计算集群/高可用集群)系统在各应用领域的普及,并行计算将无处不在。并行程序设计将成为软件工程过程的必要环节,并行应用程序建模与编程将是开发者的必备技能。针对并行计算的普及为软件工程方法所提出的挑战,提出一种业务逻辑与可并行化计算相分离的软件工程方法(PCO:Parallel Computing Offload),基于传统的软件系统分析与设计过程,将业务逻辑中需要且能够并行化的部分分离为独立模块,根据具体并行计算运行环境和并行程序设计语言进行设计与封装,使得设计实现的软件系统能够适应多种类型的并行计算环境。论证了PCO方法的必要性、可行性及实现途径,规定了具体的实施原则,并提出相应的软件体系结构层次参考模型。为辅助设计开发面向不同并行计算环境的应用程序,提出了名为EasyPAB的可扩展并行应用程序辅助开发平台,用于支持PCO软件工程方法中并行计算模块设计。EasyPAB融合了并行程序设计模式、并行结构骨架等原理、方法与技术以简化并行应用的设计与开发,提供统一的用户界面,并根据具体运行期环境自动生成源代码框架,支持消息传递和共享内存编程模型。ParaModel是EasyPAB中的可视化建模系统,定义了一套用于描述并行应用与算法的图形语言符号集,以及相应的基本建模规则与逻辑验证机制,支持开发者在可视化建模环境中使用图形符号描述应用程序或算法。EasyPAB根据开发者所指定的运行期环境将模型解析为源代码框架,为开发者生成与并行计算相关的细节。EasyPAB支持基于设计模式的复用。面向一类实时服务应用提出了主动任务迁移模式(ATM,Active Task Migration pattern),采用多服务器集群的方式提供实时服务,根据服务器中关键资源的消耗情形主动触发任务的迁移和服务器资源的恢复,并设计了相应的任务迁移模型和策略以避免多个服务器同时停止服务。在基于Java的SIP服务器集群中实现了主动任务迁移模式,实际测试结果表明本模式能够有效避免Java虚拟机进行垃圾收集所引发的服务停顿。EasyPAB的系统实现基于Eclipse的插件式体系结构,支持第三方扩展。建模系统ParaModel的实现基于GEF技术。通过实例展示了建模的过程。

【Abstract】 Modeling and programming parallel applications are becoming unavoidable for next generation of software architects and programmers, owing to the popularization of multi-core processors and Clusters for high performance/availability computing, and parallel programming will be essential for software engineering.Aiming at the problem brought by the populuarization of parallel computing, a software engineering method named PCO (Parallel Computing Offload) is introduced to separate the components which are need to be parallelized and parallelizable from businesss logic. During the processs of system analysis and design, these components are to be implemented and encapsulated according to specific parallel hardware platform and programming language. This method is to improve existing software engineering methods and models to meet various parallel environments. The inevitability, feasibility and implementation approaches and principles are discussed, and a software architectutre model is given for reference.As an aid to design and development of various parallel applications running on different parallel computing infrastructure, an extensible framework for development of parallel applications named EasyPAB (Easy Parallel Application Builder) is introduced. EasyPAB can support the components to be parallelized in PCO method, and it combines the principle and technology of parallel design patterns and architectural skeleton to simplify the design and development of parallel applications and supports both message-passing-based and shared-memory-based platforms, by providing a unified user interface for modeling visually while generating different types of code skeletons according to specific runtime environment automatically.The visual modeling system in EasyPAB is named ParaModel. A set of construction blocks and basic rules is designed to describe parallel applications and algorithms in form of graph. EasyPAB will translate graphical models built by the developers into source code skeletons including all the programming details of parallel computing, according to specific parallel environment. EasyPAB supports the reusablitity of code skeletons based on design pattern. A design pattern named ATM (Active Task Migration pattern) is brough out for a kind of real time applications. Clustered application servers are used to provide real time service, and the task migrateon and restorage of crucial resource are triggered actively according to the wastage of crucial resource. The task migration model and strategy are designed to avoid multiple server stop services at the same time. ATM pattern is applied in Java-based SIP application server cluster, and the test results showed that the pattern can effectively avoid the service pause caused by garbage collection of JVM.The implementation of EasyPAB is based on plug-in architecture which is compatible with Eclipse, thus third parties are free to supplement or improve it. ParaModel modeling system is implemented based on GEF technology. The process of modeling is shown by selected applicatorin examples.

  • 【网络出版投稿人】 天津大学
  • 【网络出版年期】2010年 12期
节点文献中: