Programming Shared Memory Multiprocessors with Deterministic
Message-Passing Concurrency: Compiling SHIM to Pthreads

Edwards, Stephen A.; Vasudevan, Nalini; Tardieu, Olivier

Multicore shared-memory architectures are becoming prevalent and bring many programming challenges. Among the biggest are data races: accesses to shared resources that make a program's behavior depend on scheduling decisions beyond its control. To eliminate such races, the SHIM concurrent programming language adopts deterministic message passing as it sole communication mechanism. We demonstrate such language restrictions are practical by presenting a SHIM to C-plus-Pthreads compiler that can produce efficient code for shared-memory multiprocessors. We present a parallel JPEG decoder and FFT exhibiting 3.05 and 3.3times speedups on a four-core processor.



  • thumnail for edwards2008programming.pdf edwards2008programming.pdf application/pdf 116 KB Download File

Also Published In

DATE 08: Design, Automation, & Test in Europe: ICM, Munich, Germany, March 10-14, 2008

More About This Work

Academic Units
Computer Science
Published Here
September 20, 2011