Programming Shared Memory Multiprocessors with Deterministic Message-Passing Concurrency: Compiling SHIM to Pthreads
- Resource Type
- Conference
- Authors
- Edwards, Stephen A.; Vasudevan, Nalini; Tardieu, Olivier
- Source
- 2008 Design, Automation and Test in Europe Design, Automation and Test in Europe, 2008. DATE '08. :1498-1503 Mar, 2008
- Subject
- Computing and Processing
Communication, Networking and Broadcast Technologies
Components, Circuits, Devices and Systems
Concurrent computing
Processor scheduling
Decoding
Multicore processing
Computer languages
Testing
Programming profession
Health information management
Computer science
Computer architecture
- Language
- ISSN
- 1530-1591
1558-1101
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.3x speedups on a four-core processor.