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.
|Title of host publication||Proceedings of the 7th International Workshop on Java Technologies for Real-Time and Embedded Systems|
|Number of pages||10|
|Publication status||Published - 2009|
|Event||7th International Workshop on Java Technologies for Real-time and Embedded Systems - Madrid, Spain|
Duration: 23 Sep 2009 → 25 Sep 2009
Conference number: 7
|Conference||7th International Workshop on Java Technologies for Real-time and Embedded Systems|
|Period||23/09/2009 → 25/09/2009|