Check out the new USENIX Web site. next up previous contents
Next: Requirements of a Strategy Up: Strategies Previous: Static Strategies

Dynamic Strategies

Dynamic distribution strategies can be used for dynamic load-balancing. Here the traversal pattern of the per-thread iterators is decided dynamically. An example is the Grab strategy. Here all the threads in the rope operate over the original iterator space; the iterator traversal is monitor-based; only one thread can be doing an iterator operation at any time; and this operation affects any subsequent iterator operation by any other thread. Traversal of the iteration space is determined by the work load on the threads and the processors on which they execute and may be different between runs of the same program.

Figure 5 shows an example of the sequential traversal and parallel traversal in Block, Cyclic, and Grab strategies.

  
Figure 5: Sequential iterators and the corresponding per-thread parallel iterators with 3 threads for Block, Cyclic, and Grab Strategies: For each of Begin and End sequential iterators there are 3 per-thread iterators. Their traversal pattern depends on the strategy used.



Sundaresan Neelakantan
Thu May 15 16:11:49 PDT 1997