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