Sujay V Kumar
PhD Dissertation submitted to the Faculty of the North Carolina State University in partial fulfillment of the requirements for the degree of
PhD
in
Civil Engineering
Approved
Dr. John Baugh Jr, Chair
Dr. Downey Brill
Dr. Ranji Ranjithan
Dr. Purushothaman Iyer
January 4, 2002
Raleigh, North Carolina
Abstract
Vitri is an object-oriented framework implemented in Java for high-performance distributed computing. Using Vitri, applications can engage in cooperative problem solving by dividing their tasks among heterogeneous clusters of workstations and PCs. Vitri's features include basic support for distributed computing and communication, as well as visual tools for evaluating run-time performance, and modules for heuristic optimization. It balances loads dynamically using a client-side task pool, allows the addition or removal of servers during a run, and provides fault tolerance transparently for servers and networks. Among its more powerful features are modules for heuristic optimization and decision support tools such as modeling to generate alternatives (MGA). Vitri also provides an asynchronous global-parallel genetic algorithm that is particularly suited for coarse-grained tasks executing on processors with large variations in processor speeds. By using dataflow techniques, in which computations are explicitly based on the availability and forwarding of data, the usual end-of-generation synchronization points are removed from the algorithm. The tools in Vitri are applied to a number of different applications from the civil engineering domain. The results indicate the adaptability of Vitri to various problems and its utility as a tool for managing engineering decision support systems.