| Core semantics of multithreaded Java |
| Full text |
Pdf
(816 KB)
|
| Source
|
Java Grande Conference
archive
Proceedings of the 2001 joint ACM-ISCOPE conference on Java Grande
table of contents
Palo Alto, California, United States
Pages: 29 - 38
Year of Publication: 2001
ISBN:1-58113-359-6
|
|
Authors
|
|
Jeremy Manson
|
Institute for Advanced Computer Science and Dept. of Computer Science, Univ. of Maryland, College Park
|
|
William Pugh
|
Institute for Advanced Computer Science and Dept. of Computer Science, Univ. of Maryland, College Park
|
|
| Sponsor |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 10, Downloads (12 Months): 40, Citation Count: 6
|
|
|
ABSTRACT
Java has integrated multithreading to a far greater extent than most programming languages. It is also one of the only languages that specifies and requires safety guarantees for improperly synchronized programs. It turns out that understanding these issues is far more subtle and difficult than was previously thought. The existing specification makes guarantees that prohibit standard and proposed compiler optimizations; it also omits guarantees that are necessary for safe execution of much existing code. Some guarantees that are made (e.g., type safety) raise tricky implementation issues when running unsynchronized code on SMPs with weak memory models.
This paper reviews those issues. It proposes a new core semantics for Java that allows for aggressive compiler optimization and addresses the safety and multithreading issues. Due to space constraints, certain side issues are addressed only in the full version of the semantics [8].
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
|
G. Gao and V. Sarkar. Location consistency - a new memory model and cache consistency protocol. Technical Report 16, CAPSL, Univ. of Deleware, Feb. 1998.
|
 |
3
|
Kourosh Gharachorloo , Daniel Lenoski , James Laudon , Phillip Gibbons , Anoop Gupta , John Hennessy, Memory consistency and event ordering in scalable shared-memory multiprocessors, Proceedings of the 17th annual international symposium on Computer Architecture, p.15-26, May 28-31, 1990, Seattle, Washington, United States
|
| |
4
|
|
| |
5
|
The Java memory model. Mailing list and web page. http://www.cs.umd.edu/~pugh/java/memoryModel.
|
| |
6
|
|
 |
7
|
Jan-Willem Maessen , Xiaowei Shen, Improving the Java memory model using CRF, Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, p.1-12, October 2000, Minneapolis, Minnesota, United States
|
| |
8
|
J. Manson and W. Pugh. Semantics of multithreaded java. Technical Report CS-TR-4215, Dept. of Computer Science, University of Maryland, College Park, Mar. 2001.
|
 |
9
|
|
| |
10
|
W. Pugh. The double checked locking is broken declaration. http://www.cs.umd.edu/ users/ pugh/java/ memoryModel/ DoubleCheckedLocking.html, July 2000.
|
| |
11
|
W. Pugh. The Java memory model is fatally flawed. Concurrency: Practice and Experience, 12(1):1-11, 2000.
|
CITED BY 6
|
|
|
|
|
Yue Yang , Ganesh Gopalakrishnan , Gary Lindstrom, Specifying Java thread semantics using a uniform memory model, Proceedings of the 2002 joint ACM-ISCOPE conference on Java Grande, p.192-201, November 03-05, 2002, Seattle, Washington, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|