Vitri: A Framework for Environmental Decision Support on Heterogeneous Computer Networks
Sunil Kumar, T. A. Doby, John W. Baugh, E. Downey Brill, S. Ranji Ranjithan · 2001
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 dating a run, and provides fault tolerance transparently for servers and networks. Among its more powerful features are modules for heuristic optimization, including 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. Results are presented for illustrative applications in water distribution network design and air quality management.