Work Sharing and Domain Decomposition

Tarek El‐Ghazawi, William Carlson, Thomas Sterling, Katherine Yelick · 2005

Work sharing is simply to make each thread able to understand its responsibilities during a parallel program. Domain decomposition typically refers to partitioning the data across the threads in a manner consistent with the duties of each thread. Coming up with effective work sharing and domain decomposition strategies requires self-awareness, i.e. each thread should be able to identify itself, e.g. using MYTHREAD, and awareness of what other threads are there to help, e.g. using THREADS. More convenient constructs to use are also available in UPC, such as upc_forall(). UPC is a locality-aware programming paradigm. Data decomposition is mainly done as a part of the declarations, and workload sharing can be easily planned in such a way that exploits data locality.

Read the paper · More papers on PaperTik