Skip to Main Content
UPC: DISTRIBUTED SHARED MEMORY PROGRAMMING
book

UPC: DISTRIBUTED SHARED MEMORY PROGRAMMING

by Tarek El-Ghazawi, William Carlson, Thomas Sterling, Katherine Yelick
July 2003
Intermediate to advanced content levelIntermediate to advanced
260 pages
5h 57m
English
Wiley-Interscience
Content preview from UPC: DISTRIBUTED SHARED MEMORY PROGRAMMING

CHAPTER 4

Work Sharing and Domain Decomposition

In this chapter we consider the distribution of workload across a number of UPC SPMD threads by decomposing the data across the threads that are executing. Distributing work across a number of threads (or processes) in a parallel application requires that each thread have the ability to identity itself through an id value and to recognize the other threads, possibly remote, available to cooperate on performing the application task. This self-identification and recognition of the other cooperating threads allows a division of labor by identifying the partition of the data that will be manipulated by each thread. In UPC, variable declarations establish the affinity of data and threads, providing locality information and control to programmers for decomposing their workload more intelligently. UPC programmers can take advantage of this knowledge by assigning each thread to apply its work, as appropriate, on the data that has affinity to that thread. In this way, the majority of the accesses can become thread local. On machines with physically distributed memory, it is expected that compilers will attempt to co-locate each thread and the data that has affinity to it onto the same physical node, thereby reducing remote accesses and improving execution time. Moreover, as in other parallel programming paradigms, UPC offers the ability for each thread to identify itself and the rest of threads available to help through the special constants ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Stack Frames: A Look From Inside

Stack Frames: A Look From Inside

Giuseppe Di Cataldo
Scalable Shared-Memory Multiprocessing

Scalable Shared-Memory Multiprocessing

Daniel E. Lenoski, Wolf-Dietrich Weber

Publisher Resources

ISBN: 9780471220480Purchase book