{"title":"An Emprical Evaluation of Memory Management Alternatives for Real-Time Java","authors":"F. Pizlo, J. Vitek","doi":"10.1109/RTSS.2006.9","DOIUrl":null,"url":null,"abstract":"Memory management is a critical issue for correctness and performance of hard-real time systems. Java environments usually incorporate high-throughput garbage collection algorithms, but these algorithms can induce pause times in excess of 100 milliseconds. This is not acceptable for a real-time system. Two approaches for remedying this problem are being investigated. The pause times can be bounded with a real-time garbage collector; or a means to program around the collector entirely can be provided, as is done in the real-time specification for Java with its scoped memory interface. This paper presents the first side-by-side empirical evaluation of the impact of memory management regimes on realistic realtime applications. We present usability arguments as well as a detailed performance comparison of scoped memory and real-time garbage collection. Experience with medium sized systems suggests that while programming with scoped memory is error prone, it provides substantially better throughput. We have observed a throughput reduction of up to 37% and, in the worst-case, an 80% latency penalty for real-time garbage collection","PeriodicalId":353932,"journal":{"name":"2006 27th IEEE International Real-Time Systems Symposium (RTSS'06)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2006-12-05","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"31","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2006 27th IEEE International Real-Time Systems Symposium (RTSS'06)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/RTSS.2006.9","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 31
Abstract
Memory management is a critical issue for correctness and performance of hard-real time systems. Java environments usually incorporate high-throughput garbage collection algorithms, but these algorithms can induce pause times in excess of 100 milliseconds. This is not acceptable for a real-time system. Two approaches for remedying this problem are being investigated. The pause times can be bounded with a real-time garbage collector; or a means to program around the collector entirely can be provided, as is done in the real-time specification for Java with its scoped memory interface. This paper presents the first side-by-side empirical evaluation of the impact of memory management regimes on realistic realtime applications. We present usability arguments as well as a detailed performance comparison of scoped memory and real-time garbage collection. Experience with medium sized systems suggests that while programming with scoped memory is error prone, it provides substantially better throughput. We have observed a throughput reduction of up to 37% and, in the worst-case, an 80% latency penalty for real-time garbage collection