Data caching, garbage collection, and the Java memory model

Wolfgang Puffitsch

Research output: Chapter in Book/Report/Conference proceedingArticle in proceedingsResearchpeer-review

Abstract

Multiprocessors often feature weaker memory models than sequential consistency. Relaxed memory models can be implemented more efficiently and allow more optimizations. The Java memory model is a relaxed memory model that is a natural choice for a Java processor. In this paper, we show that a data cache that obeys the restrictions of the Java memory model can be implemented efficiently. The proposed implementation requires only local actions to ensure data consistency and is therefore timing analysis friendly.

Furthermore, we investigate the impact of the proposed data cache design on the correctness of real-time garbage collection. Relaxed memory models must to be taken into account when initializing and moving objects during heap compaction. Also, write barriers and the start of a garbage collection cycle require careful design under the Java memory model.

Original languageEnglish
Title of host publicationProceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems
Number of pages10
Publication date2009
Pages90-99
ISBN (Print)978-1-60558-732-5
DOIs
Publication statusPublished - 2009
Externally publishedYes
Event7th International Workshop on Java Technologies for Real-time and Embedded Systems - Madrid, Spain
Duration: 23 Sep 200925 Sep 2009
Conference number: 7

Conference

Conference7th International Workshop on Java Technologies for Real-time and Embedded Systems
Number7
CountrySpain
CityMadrid
Period23/09/200925/09/2009

Cite this

Puffitsch, W. (2009). Data caching, garbage collection, and the Java memory model. In Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems (pp. 90-99) https://doi.org/10.1145/1620405.1620419