|
ABSTRACT
Transactional Coherence and Consistency (TCC) offers a way to simplify parallel programming by executing all code within transactions. In TCC systems, transactions serve as the fundamental unit of parallel work, communication and coherence. As each transaction completes, it writes all of its newly produced state to shared memory atomically, while restarting other processors that have speculatively read stale data. With this mechanism, a TCC-based system automatically handles data synchronization correctly, without programmer intervention. To gain the benefits of TCC, programs must be decomposed into transactions. We describe two basic programming language constructs for decomposing programs into transactions, a loop conversion syntax and a general transaction-forking mechanism. With these constructs, writing correct parallel programs requires only small, incremental changes to correct sequential programs. The performance of these programs may then easily be optimized, based on feedback from real program execution, using a few simple techniques.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
|
 |
2
|
Vikas Agarwal , M. S. Hrishikesh , Stephen W. Keckler , Doug Burger, Clock rate versus IPC: the end of the road for conventional microarchitectures, Proceedings of the 27th annual international symposium on Computer architecture, p.248-259, June 2000, Vancouver, British Columbia, Canada
|
| |
3
|
|
| |
4
|
|
| |
5
|
Broadcom Corp., "The Broadcom BCM-1250 Multiprocessor," Presentation at 2002 Embedded Processor Forum, April 2002.
|
| |
6
|
Byte Magazine, jBYTEmark Benchmark, http://www.byte.com, CMP Media LLC, 1999.
|
 |
7
|
|
 |
8
|
Michel Dubois , Jin Chin Wang , Luiz A. Barroso , Kangwoo Lee , Yung-Syau Chen, Delayed consistency and its effects on the miss rate of parallel programs, Proceedings of the 1991 ACM/IEEE conference on Supercomputing, p.197-206, November 18-22, 1991, Albuquerque, New Mexico, United States
[doi> 10.1145/125826.125941]
|
| |
9
|
|
| |
10
|
|
| |
11
|
Lance Hammond , Benedict A. Hubbert , Michael Siu , Manohar K. Prabhu , Michael Chen , Kunle Olukotun, The Stanford Hydra CMP, IEEE Micro, v.20 n.2, p.71-84, March 2000
[doi> 10.1109/40.848474]
|
 |
12
|
Lance Hammond , Vicky Wong , Mike Chen , Brian D. Carlstrom , John D. Davis , Ben Hertzberg , Manohar K. Prabhu , Honggo Wijaya , Christos Kozyrakis , Kunle Olukotun, Transactional Memory Coherence and Consistency, Proceedings of the 31st annual international symposium on Computer architecture, p.102, June 19-23, 2004, München, Germany
|
 |
13
|
Tim Harris , Keir Fraser, Language support for lightweight transactions, Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications, October 26-30, 2003, Anaheim, California, USA
|
 |
14
|
Maurice Herlihy , Victor Luchangco , Mark Moir , William N. Scherer, III, Software transactional memory for dynamic-sized data structures, Proceedings of the twenty-second annual symposium on Principles of distributed computing, p.92-101, July 13-16, 2003, Boston, Massachusetts
[doi> 10.1145/872035.872048]
|
 |
15
|
|
| |
16
|
IBM Corporation, Encina Transactional-C Programmer's Guide and Reference for AIX, SC23-2465-02, 1994.
|
| |
17
|
Java Grande Forum, Java Grande Benchmark Suite, http://www.epcc.ed.ac.uk/javagrande/, 2000.
|
| |
18
|
R. Kalla, B. Sinharoy, and J. Tendler, "Simultaneous Multi-threading Implementation in POWER5," Conference Record of Hot Chips 15 Symposium, Palo Alto, CA, August 2003.
|
| |
19
|
P. Keleher, A. L. Cox, and W. Zwaenepoel, "Lazy Release Consistency for Software Distributed Shared Memory," Proceedings of the Fifth International Symposium on High-Performance Computer Architecture, pp. 279--283, Orlando, FL, 1999.
|
 |
20
|
|
 |
21
|
Leonidas I. Kontothanassis , Michael L. Scott , Ricardo Bianchini, Lazy release consistency for hardware-coherent multiprocessors, Proceedings of the 1995 ACM/IEEE conference on Supercomputing (CDROM), p.61-es, December 04-08, 1995, San Diego, California, United States
[doi> 10.1145/224170.224398]
|
| |
22
|
|
 |
23
|
|
| |
24
|
Chunho Lee , Miodrag Potkonjak , William H. Mangione-Smith, MediaBench: a tool for evaluating and synthesizing multimedia and communicatons systems, Proceedings of the 30th annual ACM/IEEE international symposium on Microarchitecture, p.330-335, December 01-03, 1997, Research Triangle Park, North Carolina, United States
|
| |
25
|
|
 |
26
|
|
 |
27
|
|
 |
28
|
|
 |
29
|
|
 |
30
|
|
| |
31
|
R. Raman, "UltraSparc Gemini: Dual CPU Processor," Conference Record of Hot Chips 15 Symposium, Palo Alto, CA, August 2003.
|
 |
32
|
|
 |
33
|
|
| |
34
|
Standard Performance Evaluation Corporation, SPECjbb2000 v1.01, http://www.spec.org/jbb2000/, Warrenton, VA, 2000.
|
| |
35
|
Standard Performance Evaluation Corporation, SPEC*, http://www.specbench.org/, Warrenton, VA, 1995-2000.
|
| |
36
|
|
| |
37
|
|
| |
38
|
T. Wilkinson, Kaffe Virtual Machine, http://kaffe.org, 1997-2002.
|
CITED BY 37
|
|
Hassan Chafi , Chi Cao Minh , Austen McDonald , Brian D. Carlstrom , JaeWoong Chung , Lance Hammond , Christos Kozyrakis , Kunle Olukotun, TAPE: a transactional application profiling environment, Proceedings of the 19th annual international conference on Supercomputing, June 20-22, 2005, Cambridge, Massachusetts
|
|
|
Lance Hammond , Brian D. Carlstrom , Vicky Wong , Michael Chen , Christos Kozyrakis , Kunle Olukotun, Transactional Coherence and Consistency: Simplifying Parallel Hardware and Software, IEEE Micro, v.24 n.6, p.92-103, November 2004
|
|
|
Tim Harris , Simon Marlow , Simon Peyton-Jones , Maurice Herlihy, Composable memory transactions, Proceedings of the tenth ACM SIGPLAN symposium on Principles and practice of parallel programming, June 15-17, 2005, Chicago, IL, USA
|
|
|
|
|
|
Julia Chen , Philo Juang , Kevin Ko , Gilberto Contreras , David Penry , Ram Rangan , Adam Stoler , Li-Shiuan Peh , Margaret Martonosi, Hardware-modulated parallelism in chip multiprocessors, ACM SIGARCH Computer Architecture News, v.33 n.4, November 2005
|
|
|
Bratin Saha , Ali-Reza Adl-Tabatabai , Richard L. Hudson , Chi Cao Minh , Benjamin Hertzberg, McRT-STM: a high performance software transactional memory system for a multi-core runtime, Proceedings of the eleventh ACM SIGPLAN symposium on Principles and practice of parallel programming, March 29-31, 2006, New York, New York, USA
|
|
|
|
|
|
|
|
|
Weihaw Chuang , Satish Narayanasamy , Ganesh Venkatesh , Jack Sampson , Michael Van Biesbrouck , Gilles Pokam , Brad Calder , Osvaldo Colavin, Unbounded page-based transactional memory, ACM SIGPLAN Notices, v.41 n.11, November 2006
|
|
|
|
|
|
|
|
|
|
|
|
Brian D. Carlstrom , Austen McDonald , Hassan Chafi , JaeWoong Chung , Chi Cao Minh , Christos Kozyrakis , Kunle Olukotun, The Atomos transactional programming language, ACM SIGPLAN Notices, v.41 n.6, June 2006
|
|
|
|
|
|
Brian D. Carlstrom , JaeWoong Chung , Hassan Chafi , Austen McDonald , Chi Cao Minh , Lance Hammond , Christos Kozyrakis , Kunle Olukotun, Executing Java programs with transactional memory, Science of Computer Programming, v.63 n.2, p.111-129, 1 December 2006
|
|
|
|
|
|
Sewook Wee , Jared Casper , Njuguna Njoroge , Yuriy Tesylar , Daxia Ge , Christos Kozyrakis , Kunle Olukotun, A practical FPGA-based framework for novel CMP research, Proceedings of the 2007 ACM/SIGDA 15th international symposium on Field programmable gate arrays, February 18-20, 2007, Monterey, California, USA
|
|
|
Tatiana Shpeisman , Vijay Menon , Ali-Reza Adl-Tabatabai , Steven Balensiefer , Dan Grossman , Richard L. Hudson , Katherine F. Moore , Bratin Saha, Enforcing isolation and ordering in STM, ACM SIGPLAN Notices, v.42 n.6, June 2007
|
|
|
|
|
|
Njuguna Njoroge , Jared Casper , Sewook Wee , Yuriy Teslyar , Daxia Ge , Christos Kozyrakis , Kunle Olukotun, ATLAS: a chip-multiprocessor with transactional memory support, Proceedings of the conference on Design, automation and test in Europe, April 16-20, 2007, Nice, France
|
|
|
Chaiyasit Manovit , Sudheendra Hangal , Hassan Chafi , Austen McDonald , Christos Kozyrakis , Kunle Olukotun, Testing implementations of transactional memory, Proceedings of the 15th international conference on Parallel architectures and compilation techniques, September 16-20, 2006, Seattle, Washington, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Cesare Ferri , Amber Viescas , Tali Moreshet , R. Iris Bahar , Maurice Herlihy, Energy efficient synchronization techniques for embedded architectures, Proceedings of the 18th ACM Great Lakes symposium on VLSI, May 04-06, 2008, Orlando, Florida, USA
|
|
|
|
|
|
|
|
|
|
|
|
John Wawrzynek , David Patterson , Mark Oskin , Shih-Lien Lu , Christoforos Kozyrakis , James C. Hoe , Derek Chiou , Krste Asanovic, RAMP: Research Accelerator for Multiple Processors, IEEE Micro, v.27 n.2, p.46-57, March 2007
|
|
|
Christos D. Antonopoulos , Filip Blagojevic , Andrey N. Chernikov , Nikos P. Chrisochoides , Dimitrios S. Nikolopoulos, A multigrain Delaunay mesh generation method for multicore SMT-based architectures, Journal of Parallel and Distributed Computing, v.69 n.7, p.589-600, July, 2009
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
REVIEW
"Pierre N. Radulescu-Banu : Reviewer"
Existing parallel programming approaches require the programmer to manage concurrency directly, by creating and synchronizing parallel threads. Transactional coherence and consistency (TCC) offers a way to simplify parallel programming by executin
more...
|