Transparent Result Caching

Amin Vahdat and Thomas Anderson

EECS Department
University of California, Berkeley
Technical Report No. UCB/CSD-97-974
1997

http://www2.eecs.berkeley.edu/Pubs/TechRpts/1997/CSD-97-974.pdf

The goal of this work is to develop a general framework for transparently managing the interactions and dependencies among input files, development tools, and output files. By unobtrusively monitoring the execution of unmodified programs, we are able to track process lineage -- each process's parent, children, input files, and output files, and file dependency -- for each file, the sequence of operations and the set of input files used to create the file. We use this information to implement Transparent Result Caching (TREC) and describe how TREC is used to build a number of useful user utilities. Unmake allows users to query TREC for file lineage information, including the full sequence of programs executed to create a particular output file. Transparent Make uses TREC to automatically generate dependency information by observing program execution, freeing end users from the need to explicitly specify dependency information (i.e., Makefiles can be replaced by shell scripts). Dynamic Web Object Caching allows for the caching of certain dynamically generated web pages, improving server performance and client latency.


BibTeX citation:

@techreport{Vahdat:CSD-97-974,
    Author = {Vahdat, Amin and Anderson, Thomas},
    Title = {Transparent Result Caching},
    Institution = {EECS Department, University of California, Berkeley},
    Year = {1997},
    URL = {http://www2.eecs.berkeley.edu/Pubs/TechRpts/1997/5339.html},
    Number = {UCB/CSD-97-974},
    Abstract = {The goal of this work is to develop a general framework for transparently managing the interactions and dependencies among input files, development tools, and output files. By unobtrusively monitoring the execution of unmodified programs, we are able to track process lineage -- each process's parent, children, input files, and output files, and file dependency -- for each file, the sequence of operations and the set of input files used to create the file. We use this information to implement Transparent Result Caching (TREC) and describe how TREC is used to build a number of useful user utilities. Unmake allows users to query TREC for file lineage information, including the full sequence of programs executed to create a particular output file. Transparent Make uses TREC to automatically generate dependency information by observing program execution, freeing end users from the need to explicitly specify dependency information (i.e., Makefiles can be replaced by shell scripts). Dynamic Web Object Caching allows for the caching of certain dynamically generated web pages, improving server performance and client latency.}
}

EndNote citation:

%0 Report
%A Vahdat, Amin
%A Anderson, Thomas
%T Transparent Result Caching
%I EECS Department, University of California, Berkeley
%D 1997
%@ UCB/CSD-97-974
%U http://www2.eecs.berkeley.edu/Pubs/TechRpts/1997/5339.html
%F Vahdat:CSD-97-974