Font Size: a A A

EasyPAB: A Platform For Parallel Applications Development

Posted on:2010-11-28Degree:DoctorType:Dissertation
Country:ChinaCandidate:C YuFull Text:PDF
GTID:1118360302995105Subject:Computer applications
Abstract/Summary:PDF Full Text Request
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.
Keywords/Search Tags:Parallel Programming, Design Pattern, Visual Modeling, Source Code Skeleton, Active Task Migration
PDF Full Text Request
Related items