Jason Duell (2007)
Pthreads or Processes: Which is Better for Implementing Global Address Space languages?
Master's Thesis, UC Berkeley.
Global Address Space (GAS) languages—such as Unified Parallel C (UPC), Titanium (a Java dialect), and Co-Array Fortran—are a promising set of parallel programming languages. One defining feature of GAS languages is that they provide the programmer with a single, shared global address space, thus allowing a shared memorystyle of programming that is generally considered more user-friendly than messagepassing programming. Another defining feature is that (unlike some earlier shared memory programming environments, such as DSM systems) they provide programmers with language-level awareness of the locality of each piece of memory within this global address space, so that code can be optimized to use local memory whenever possible on systems where memory access time across the global address space is non-uniform.
Computer Science Division