PARED runs on distributed memory parallel computers such as the IBM SP-2 and networks of workstations. Our design supports dynamically changing environment; elements and vertices (and the associated equations and unknowns) migrate between processors to balance the workload and references to remote elements and vertices are updated as new elements or vertices are created, deleted or moved to a new processor. Because of the flexible design used in PARED, at any time a numerical computation can be suspended and work reassigned to processors. Thus, PARED can easily react to variations in the underlying network topology and processor load. The complexity of this approach is hidden by the use of a global object space where remote object communication is facilitated by the use of proxies. Cached proxies are also used to reduce latency and communication overhead.
Adaptivity offers the potential to provide large increases in performance for problems with dissimilar physical scales by focusing the available computing power on the regions of high activity. Adaptation produces load imbalances among processors thereby creating the need for repartitioning the work load. Since adaptivity significantly increases the complexity of algorithms and software, new design techniques based on object-oriented technology are needed to cope with the complexity that arises.
PARED has been applied to the solution of a variety of problems including the Navier-Stokes equation in two and three dimensions.
To see a 16 MB movie (that requires mpeg_play) showing the shedding of vortices behind a cylinder with Reynolds number of 250 on eight processors for 15,000 time steps or 30 seconds of real time, CLICK HERE.
Note that a) the mesh is refined and coarsened to follow the turbulence, b) the adapted mesh is repartitioned to maintain a balanced workload, c) the interprocessor communication cost is very modest, and d) the amount of data moving between processors as the computation evolves is small.