Skip to Main Content
Large tree structured optimization problems can be solved efficiently with decomposition methods. We present a parallel and distributed Java implementation and compare a synchronous version with an asynchronous one. We describe a Java distributed active tree middleware on top of which the algorithm has been implemented. In the algorithmic layer, active tree node objects perform loop iterations and interact via coordination objects provided by the coordination layer which has been implemented on top of Java remote method invocation. The programming model allows for an object oriented, data parallel, shared memory formulation of parallel and distributed algorithms operating on tree structures, and is extensible to other structures as well. We discuss our implementation strategy and experimental results obtained on a Beowulf SMP-cluster and on a network of workstations. The optimization algorithm is part of a high performance decision support tool for asset and liability management.