{"title":"Compressing address trace data for cache simulations","authors":"A. Fox, T. Grun","doi":"10.1109/DCC.1997.582096","DOIUrl":null,"url":null,"abstract":"Summary form only given. Our new approach of storing address traces, the RPS format (recovered program structure), is based on two ideas: first, the structure of the underlying program is reconstructed from the address trace, and second, the output is decomposed in multiple files such that gzip can take advantage of repeated input patterns. In the first step, the control flow of the program is determined by identifying the basic blocks, i.e., the straight segments of code with no jumps in and out. Then, the invocation sequence of basic blocks is written to a file, which can be compressed by a factor of more than 35, since gzip can easily detect patterns in it. The basic block data contains information on the length of a basic block and on the position of load and store instructions among all instructions. Their addresses are stored in separate files. In the second step, the load and store references are partitioned in global, local and unassigned variable classes. Global variables have the same value for all invocations of a basic block, local variables can be represented as base + offset, where offset is a constant and base only changes between invocations of a basic block. All other variables are \"unassigned\" and their addresses are stored in separate files as a difference to the previous value.","PeriodicalId":403990,"journal":{"name":"Proceedings DCC '97. Data Compression Conference","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1997-03-25","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"3","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings DCC '97. Data Compression Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/DCC.1997.582096","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 3
Abstract
Summary form only given. Our new approach of storing address traces, the RPS format (recovered program structure), is based on two ideas: first, the structure of the underlying program is reconstructed from the address trace, and second, the output is decomposed in multiple files such that gzip can take advantage of repeated input patterns. In the first step, the control flow of the program is determined by identifying the basic blocks, i.e., the straight segments of code with no jumps in and out. Then, the invocation sequence of basic blocks is written to a file, which can be compressed by a factor of more than 35, since gzip can easily detect patterns in it. The basic block data contains information on the length of a basic block and on the position of load and store instructions among all instructions. Their addresses are stored in separate files. In the second step, the load and store references are partitioned in global, local and unassigned variable classes. Global variables have the same value for all invocations of a basic block, local variables can be represented as base + offset, where offset is a constant and base only changes between invocations of a basic block. All other variables are "unassigned" and their addresses are stored in separate files as a difference to the previous value.