Solving irregularly structured problems based on distributed object model
This paper presents a distributed object model called MOIDE (multi-threading objectoriented infrastructure on distributed environment) for solving irregularly structured problems. The model creates an adaptive computing infrastructure for developing and executing irregular applications on distributed systems. The infrastructure allows dynamic reconfiguration to match the evolution of irregular computation and available system resources. A unified communication mechanism is built to integrate
... ferent communication paths on heterogeneous systems to support efficient communication. Autonomous load scheduling approach is proposed for dynamic load balancing. A runtime system is developed to implement MOIDE-based computing. Applications including N -body problem, ray tracing, and conjugate gradient are developed to demonstrate the advantages of the model. such as astrophysics, fluid dynamics, sparse matrix computation, system modeling and simulation, computer graphics, etc. can be classified as irregularly structured problems. Irregularly structured problems possess different irregularities. In general, the irregular and dynamically evolving data distribution in these problems results in nonpredetermined computation pattern and workload. The high data-dependency in some of the problems even complicates the task decomposition in parallel and distributed computing. The irregular data distribution and computation also produce irregular communication pattern, especially on distributed systems. The irregular communication produces high overhead that severely impairs the performance of computation. These irregularities need different approaches to tackle, such as special data structure, dynamic task decomposition and load balancing, and efficient communication mechanism. With the rapid advance of high-performance computers and networking technologies, distributed systems have been providing cost-effective environment for the parallel and distributed computing of large-scale applications. As a powerful methodology, distributed object computing integrates the object-oriented technique with networking [15, 29] . Flexible computing infrastructure can be built based on distributed objects to support efficient computing for irregularly structured problems. Various methods can be designed and integrated on the object-based infrastructure to resolve the irregularities in different applications. The methods include runtime system reconfiguration, dynamic task scheduling, efficient intra-and inter-object communication mechanism. The polymorphism of distributed objects allows the infrastructure adaptive to irregular computation pattern and distributed system architecture. This paper presents a distributed object model called MOIDE (multi-threading object-oriented infrastructure on distributed environment) for solving irregularly structured problems. The MOIDE model creates an adaptive computing infrastructure called hierarchical collaborative system (HiCS) by distributed objects and multithreads for developing and executing applications on distributed heterogeneous systems. The MOIDE also provides a uniform programming model that is independent of particular system architecture for developing applications. In the past, the researches on irregularly structured problems concentrated on designing the algorithms for specific problems. Differently, our MOIDE model aims to establish a generic computing infrastructure for solving irregularly structured problems efficiently on any distributed system. Based on the model, varied mechanisms and approaches can be developed and integrated for different applications. Dynamic reconfiguration can be performed on the HiCS at runtime in response to the evolution of computation pattern and available system resources to enhance the computing capability of the infrastructure. A unified communication mechanism is built to seamlessly integrate the local data sharing and remote messaging (i.e., the remote method invocation between distributed objects) to implement efficient communication on heterogeneous systems. Autonomous load scheduling is proposed as an approach for the dynamic load balancing in irregular computation.