next up previous
Next: Serial and Distributed Up: Functional Design of Previous: Impacts Module

Parallel/Distributed Design

 

The parallel version of LUCAS (pLUCAS) uses the same model as the serial version, but is designed to run on a network of high-end workstations via the Parallel Virtual Machine (PVM) software package [22]. This implementation takes a very coarse-grained approach to parallelism. For accuracy purposes, the stochastic simulation of LUCAS requires multiple independent replicates which can easily be run independently on separate machines. The difficulty arises in managing the interprocessor communication, the scheduling of tasks and the handling of data.

  
Figure 6: Relationship between master and servant tasks in pLUCAS

To simplify the problem, centralized task management is used by pLUCAS (see Figure 6). One taskgif on the virtual machine is known as the master while all other tasks are servants. The servant tasks are almost identical to the serial version of LUCAS with only a few minor modifications. Each servant accesses its own copy of the GIS on its local disk because of the intense I/O required. The master, on the other hand, handles all task management and works directly with the permanent GIS. The master manages a FIFO job queue which consists of all of the independent replicates of one or multiple simulations. In the serial version of LUCAS, the statistics for the original maps are collected at the beginning of each run, but the parallel version has a single job dedicated to that purpose as shown in Figure 6. Two other queues are maintained to manage available processors: the run queue and the idle queue. When a servant is available, i.e., at the head of the idle queue, it is assigned the next task on the job queue. This continues until all tasks have been dispatched. When a task has completed, the host is moved from the run queue to the idle queue. After all tasks have completed, the data from the servants are shipped back to the master to be reassembled and installed in the permanent GIS.

The pLUCAS master task uses the Park and Miller generator mentioned in Section 3.3.3 to create random number seeds which insure that the sequences generated by the servant tasks' R250 random number generators are independent [6]. These seeds are passed to the servant tasks as they are spawned.


next up previous
Next: Serial and Distributed Up: Functional Design of Previous: Impacts Module



Michael W. Berry (berry@cs.utk.edu)
Wed Aug 16 10:48:40 EDT 1995