Automatic Generation of High-Performance Trace Compressors
- 31 March 2005
- proceedings article
- Published by Institute of Electrical and Electronics Engineers (IEEE)
- Vol. 17, 229-240
- https://doi.org/10.1109/cgo.2005.6
Abstract
Program execution traces are frequently used in industry and academia. Yet, most trace-compression algorithms have to be re-implemented every time the trace format is changed, which takes time, is error prone, and often results in inefficient solutions. This paper describes and evaluates TCgen, a tool that automatically generates portable, customized, high-performance trace compressors. All the user has to do is provide a description of the trace format and select one or more predictors to compress the fields in the trace records. TCgen translates this specification into C source code and optimizes it for the specified trace format and predictor algorithms. On average, the generated code is faster and compresses better than the six other compression algorithms we have tested. For example, a comparison with SBC, one of the best trace-compression algorithms in the current literature, shows that TCgen's synthesized code compresses SPECcpu2000 address traces 23% more, decompresses them 24% faster, and compresses them 1029% faster.Keywords
This publication has 28 references indexed in Scilit:
- VPC3Published by Association for Computing Machinery (ACM) ,2004
- Locality-based online trace compressionIEEE Transactions on Computers, 2004
- Stream-Based Trace CompressionIEEE Computer Architecture Letters, 2003
- Timestamped whole program path representation and its applicationsPublished by Association for Computing Machinery (ACM) ,2001
- Address trace compression through loop detection and reductionPublished by Association for Computing Machinery (ACM) ,1999
- Compression and Explanation using Hierarchical GrammarsThe Computer Journal, 1997
- SmartFilesPublished by Association for Computing Machinery (ACM) ,1995
- ATOMPublished by Association for Computing Machinery (ACM) ,1994
- Abstract execution: A technique for efficiently tracing programsSoftware: Practice and Experience, 1990
- A Program Generator Package For Management Of Data Files---The Input LanguagePublished by Association for Computing Machinery (ACM) ,1978