Font Size: a A A

Parallel architectural skeletons: Re-usable building blocks for parallel applications

Posted on:2002-10-29Degree:Ph.DType:Dissertation
University:University of Waterloo (Canada)Candidate:Goswami, DhrubajyotiFull Text:PDF
GTID:1468390011493574Subject:Computer Science
Abstract/Summary:
In the context of object-oriented software design, the concept of design patterns is well studied and frequently applied. Similar ideas are being explored in other areas of computing as well. Over the past several years, researchers have been experimenting with the feasibility of employing design-pattern concepts in the parallel computing domain. Starting with the late 80s, several pattern-based systems have been built and several parallel programming models based on patterns have been formulated. As an important distinction with object-oriented patterns, most researchers here aim to use patterns not only at the design level, but also at the implementation level.; Though the idea of design- and implementation-level parallel patterns hold significant promise, most of the current pattern-based approaches to parallel programming suffer severe limitations, some of which include: lack of flexibility, limited to zero extensibility, ad hoc pattern sets, and language-related limitations.; In contrast to the previous approaches, this research proposes a generic, pattern-based model for fast and reliable development of parallel applications. The model is generic because it can be described in a manner independent of patterns and applications. The model is based on the message-passing paradigm, which makes it particularly suited for a network of workstations and PCs. The term parallel architectural skeleton is used to represent the generic set of attributes associated with a pattern. An architectural skeleton contains the necessary ingredients for constructing application-specific virtual architectures. Together with the complementary communication-synchronization protocols, a user can develop applications on these architectures.; The generic nature of the Parallel Architectural Skeleton Model (PASM) enhances usability. In addition, the model combines the flexibility of a low-level MPI-like message-passing parallel programming environment together with the benefits of high-level parallel patterns. This approach provides the necessary flexibility to the user in application development. Hierarchical pattern composition is an inherent characteristic of the model, which in turn facilitates hierarchical refinement.; PASM is an ideal candidate for an object-oriented style of design and implementation. An object-oriented and library-based implementation of the model, using MPI as the underlying communication-synchronization library, is completed with out necessitating any language extension. The object-oriented and library-based implementation, together with the generic model, facilitates extensibility. That is, new patterns can be added to the system by an experienced user without requiring modifications to the existing repertoire.; A thin implementation layer over the standard message-passing interface, MPI, has resulted in negligible performance degradation. Moreover, from the software engineering perspective, desired software qualities such as separation of concerns and software reusability are some of the basic features of the approach. Other software engineering related benefits emanate from the aforementioned unique features of PASM, i.e., genericness, inherent support for hierarchical design and development, low-level flexibility, and an extensible repertoire of parallel architectural skeletons.
Keywords/Search Tags:Parallel, Architectural skeleton, Patterns, PASM, Software, Generic, Object-oriented, Applications
Related items