| Coyote Project |
 |
 |
| Nerina Bermudo & Xavier Vera & WCET group |
| Notice |
|
This project is finished. The
web pages provide documentation but are not maintained. Some of them
might not be up-to-date. Software for downloading is provided as is
(see the license): it is neither maintained nor
supported, and we assume no responsibility of any sort for any
consequences that might arise from its use.
Questions might be answered by
Xavier Vera, but he is not
affiliated with us anymore and there are no guarantees that he will answer.
|
Objective
Data caches are a key component of current microprocessors
in order to reduce the memory latency. The effectiveness of a cache memory
depends not only on the hardware structure, but also on the code generated
by the compiler. Common compiler techniques require some knowledge of
the behavior of the program in order to be applied. Unfortunately, so
far this information can not be obtained in a fast and accurate way at
the same time. We present a tool that fills this gap. It allows analyzing
the cache memory behavior accurately in few seconds.
|
| Description of the Coyote Project |
|
Cache Miss Equations
(CMEs) is a method, developed at
Princeton University by
Somnath Gosh, which accurately describes the cache
behavior. Unfortunately, a direct solution of the CMEs is computationally
intractable. Even though the computation cost of generating CMEs is a linear
function of the number of references, to solve them is a NP-Hard problem
and thus trying to study a whole program may be infeasible.
We have followed the ideas presented by Vera et al at the Computer Architecture Department (DAC) at
Universitat Politècnica de Catalunya in the following papers:
-
"A Fast and Accurate Approach to Analyze Cache Memory Behavior", Xavier
Vera, Josep Llosa, Antonio Gonzalez, Nerina
Bermudo, in proceedings of European Conference on Parallel Computing
2000 (Europar00) (extended version)
-
"A Fast Implementation of Cache Miss Equations",
Xavier Vera, Josep
Llosa, Antonio Gonzalez, Carlos Ciuraneta, in proceedings of 8th International Workshop on
Compilers for Parallel Computers 2000 (CPC00) (download)
-
"Optimizing Cache Miss Equations Polyhedra",
Nerina Bermudo,
Xavier Vera,
Antonio Gonzalez,
Josep Llosa, in proceedings of 4th Workshop on Interaction
between Compilers and Computer Architecture (Interact4), 2000
(download)
-
"An Efficient Solver for Cache Miss Equations",
Nerina Bermudo,
Xavier Vera,
Antonio Gonzalez, Josep Llosa, in
proceedings of IEEE International Symposium on
Performance Analysis of Systems and Software 2000 (extended version)
The implementation consists of 20,000 lines of C++ code. A basic
infrastructure provides a hierarchy of C++ classes, which can
be used by the developers for analyzing the input program.
|
| The Tool Suite |
| The software is divided
in different modules:
Then, we have the
different applications. We do not plan only to compute miss ratios for
perfectly nested loops. Check out our
ongoing projects!
Before summer 2002,
we plan to distribute:
Add-ons (this software is not maintained and
is provided only for convenience purposes):
|
|
This page was last updated Sept. 25th,
2006 |
|