{"title":"Efficient incremental checkpointing of Java programs","authors":"J. Lawall, Gilles Muller","doi":"10.1109/ICDSN.2000.857515","DOIUrl":null,"url":null,"abstract":"We investigate the optimization of language-level checkpointing of Java programs. First, we describe how to systematically associate incremental checkpoints with Java classes. While being safe, the genericness of this solution induces substantial execution overhead. Second, to solve the dilemma of genericness versus performance, we use automatic program specialization to transform the generic checkpointing methods into highly optimized ones. Specialization exploits two kinds of information: structural properties about the program classes; knowledge of unmodified data structures in specific program phases. The latter information allows us to generate phase-specific checkpointing methods. We evaluate our approach on two benchmarks, a realistic application which consists of a program analysis engine, and a synthetic program which can serve as a metric. Specialization gives a speedup proportional to the complexity of the object structure and the modification pattern. Measured speedups for the program analysis engine are up to 1.5, and for the synthetic program are up to 15.","PeriodicalId":127372,"journal":{"name":"Proceeding International Conference on Dependable Systems and Networks. DSN 2000","volume":"41 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2000-06-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"43","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceeding International Conference on Dependable Systems and Networks. DSN 2000","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICDSN.2000.857515","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 43
Abstract
We investigate the optimization of language-level checkpointing of Java programs. First, we describe how to systematically associate incremental checkpoints with Java classes. While being safe, the genericness of this solution induces substantial execution overhead. Second, to solve the dilemma of genericness versus performance, we use automatic program specialization to transform the generic checkpointing methods into highly optimized ones. Specialization exploits two kinds of information: structural properties about the program classes; knowledge of unmodified data structures in specific program phases. The latter information allows us to generate phase-specific checkpointing methods. We evaluate our approach on two benchmarks, a realistic application which consists of a program analysis engine, and a synthetic program which can serve as a metric. Specialization gives a speedup proportional to the complexity of the object structure and the modification pattern. Measured speedups for the program analysis engine are up to 1.5, and for the synthetic program are up to 15.