Reusable Libraries Software Engineering for Parallel Computing

Given the high cost of developing parallel software, there is a high premium on being able to reuse parallel software modules. Yet, by the nature of parallel computing, writing reusable parallel modules is more difficult. In the traditional SPMD style, one can write reusable libraries in the form of subroutines, but these are not adequate for performance (because they cannot overlap idle time with useful computations across modules, for example. See 95-07), nor multi-context reuse. Data driven paradigms, such as Charm++ (data driven objects) or user-level multi-threading are better in this regard, and are the approaches we are pursuing. Within this context, several issues still need to be researched to enable development of truly reusable components. These include: distributed data exchange, name-space collisions, interoperability among multiple paradigms, etc. We are actively engaged in studying these issues and developing techniques that address them. We believe that our parallel object system (Charm++), and the interoperable runtime system (Converse) provide a strong foundation for this research.
 

Papers
  • 95-07    L.V. Kale and A. Gursoy,  Modularity, Reuse, and Efficiency with Message-Driven Libraries,  The Proceedings of the Seventh SIAM Conference on Parallel Processing for Scientigic Computing, San Fransisco, 1995

This page maintained by L. V. Kale. Back to the PPL Research Page