{"title":"实时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":"{\"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}","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}
An Emprical Evaluation of Memory Management Alternatives for Real-Time Java
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