| Guava: a dialect of Java without data races |
| Full text |
Pdf
(328 KB)
|
| Source
|
Conference on Object Oriented Programming Systems Languages and Applications
archive
Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
table of contents
Minneapolis, Minnesota, United States
Pages: 382 - 400
Year of Publication: 2000
ISBN:1-58113-200-X
Also published in ...
|
|
Authors
|
|
David F. Bacon
|
IBM Watson Research Center, P.O. Box 704, Yorktown Heights, NY
|
|
Robert E. Strom
|
IBM Watson Research Center, P.O. Box 704, Yorktown Heights, NY
|
|
Ashis Tarafdar
|
Dept. of Computer Sciences, University of Texas at Austin, Austin, Texas
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 4, Downloads (12 Months): 48, Citation Count: 26
|
|
|
ABSTRACT
We introduce Guava, a dialect of Java whose rules statically guarantee that parallel threads access shared data only through synchronized methods. Our dialect distinguishes three categories of classes: (1) monitors, which may be referenced from multiple threads, but whose methods are accessed serially; (2) values, which cannot be referenced and therefore are never shared; and (3) objects, which can have multiple references but only from within one thread, and therefore do not need to be synchronized. Guava circumvents the problems associated with today's Java memory model, which must define behavior when concurrent threads access shared memory without synchronization.We present an overview of the syntax and the semantic rules of Guava. We discuss how implementations of Guava can exploit these rules to re-enable compiler optimizations inhibited by standard Java. We discuss how compilers for certain multiprocessor architectures can automatically generate certain programming idioms, such as double-check reads, as optimizations of serialized monitors.
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
|
ALPHA ARCHITECTURE COMMITTEE. Alpha Architecture Reference Manual, third ed. Digital Press, 1998.
|
 |
2
|
|
| |
3
|
BRINCH HANSEN, P. The programming language Concurrent Pascal. IEEE Trans. Softw. Eng. SE-1, 2 (June 1975), 199-207.
|
| |
4
|
BRINCH HANSEN, P. The Solo operating system. Software - Practice and Experience 6, 2 (Apr.-June 1976), 141-200.
|
 |
5
|
|
| |
6
|
CARDELLI, L., DONAHUE, J., GLASSMAN, L., JORDAN, M., KALSOW, B., AND NELSON, G. Modula-3 report. Tech. Rep. ORC-1, Olivetti Research Center, 1988.
|
| |
7
|
|
| |
8
|
DETLEFS, D. L., LEINO, K. R. M., NELSON, G., AND SAXE, J. B. Extended static checking. Tech. Rep. 159, Compaq Systems Research Center, http://www.resem'ch.digital.com/SRC, 1998.
|
| |
9
|
|
| |
10
|
|
 |
11
|
|
| |
12
|
|
 |
13
|
|
| |
14
|
|
 |
15
|
John Hogg, Islands: aliasing protection in object-oriented languages, Conference proceedings on Object-oriented programming systems, languages, and applications, p.271-285, October 06-11, 1991, Phoenix, Arizona, United States
|
| |
16
|
HOLT, R. C. Concurrent Euclid, the Unix System, and Tunis. Addison-Wesley, Reading, Mass., 1983.
|
| |
17
|
|
 |
18
|
|
 |
19
|
|
| |
20
|
MAY, C., SILHA, E., SIMPSON, R., AND WARREN, H., Eds. The PowerPC Architecture. Morgan Kaufmann, 1994.
|
 |
21
|
|
 |
22
|
|
| |
23
|
|
| |
24
|
Robert E. Strom , David F. Bacon , Arthur P. Goldberg , Andy Lowry , Daniel M. Yellin , Shaula Alexander Yemini, Hermes: a language for distributed computing, Prentice-Hall, Inc., Upper Saddle River, NJ, 1991
|
| |
25
|
|
| |
26
|
WroTH, N. Design and implementation of Modula. Software - Practice and Experience 7, 1 (Jan.-Feb. 1977), 67-s4.
|
| |
27
|
WroTH, N. Modula: a language for modular multiprogramming. Software - Practice and Experience 7, 1 (Jam-Feb. 1977), 3-35.
|
CITED BY 26
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Manuel Fähndrich , Mark Aiken , Chris Hawblitzel , Orion Hodson , Galen Hunt , James R. Larus , Steven Levi, Language support for fast and reliable message-based communication in singularity OS, ACM SIGOPS Operating Systems Review, v.40 n.4, October 2006
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|