Off-campus UNL users: To download campus access dissertations, please use the following link to log into our proxy server with your NU ID and password. When you are done browsing please remember to return to this page and log out.

Non-UNL users: Please talk to your librarian about requesting this dissertation through interlibrary loan.

Distributed systems middleware: A framework for parallel and distributed computing on heterogeneous systems

Jameela Al-Jaroodi, University of Nebraska - Lincoln


Distributed heterogeneous systems and large clusters provide a great opportunity and, at the same time, pose a great challenge for high performance parallel and distributed applications. While these systems posses a vast reservoir of resources by virtue of scales and diversity, it is this very diversity and heterogeneity (in architectures, configurations and operating environments) that can severely restrict the efficient and simultaneous utilization of the available resources. In this dissertation, we investigate a variety of issues in this area and provide a framework for a multi-layered middleware approach, called Delmon, to facilitate efficient utilization of the rich resources existing in such heterogeneous and distributed environments. Middleware solutions provide the missing links between the vast resources and the application domain in a way that simplifies development, provides robust and reliable access to resources, and helps optimize resource utilization. ^ My research work on Delmon, a distributed systems middleware framework, comprises several stages: (1) Studying the current parallel programming models (which include the message-passing model, the distributed shared memory/object model, distributed/parallel multithreading, and seamless parallelization) and identifying the general requirements of each model. (2) Separating the programming model requirements from the general run-time support requirements and identifying the general middleware functions necessary to support heterogeneous systems. (3) Based on the first two steps, designing the general framework for the three-layer Delmon (which includes a layer for parallel/distributed tools and programming models, a layer for the run-time environment, and a layer for the resource-dependant services). (4) Designing the self-organized agent-based run-time environment. (5) Designing the object-passing model and implementing the prototype in Java (the Java Object-Passing Interface (JOPI)) then experimentally evaluating its performance. (6) Extending an analytical performance model to evaluate the performance of parallel applications on heterogeneous systems. ^ Delmon provides a well-defined software architecture for developing parallel and distributed tools, programming models, and applications. It provides the critical link between the vast resources and the application domain, while reducing the complexity of the middleware itself. Delmon simplifies development, provides robust and uniform access to resources, helps optimize resource utilization, and facilitates the generation of stable distributed software. From a software engineering point-of-view, such a layered middleware approach and the separation of concerns improve the development and management of parallel and distributed tools and programming models in many ways. The quantitative and qualitative evaluation of Delmon using analytical and experimental methods demonstrates the benefits and good performance of the framework and its prototype implementation. ^

Subject Area

Computer Science

Recommended Citation

Al-Jaroodi, Jameela, "Distributed systems middleware: A framework for parallel and distributed computing on heterogeneous systems" (2004). ETD collection for University of Nebraska - Lincoln. AAI3147130.