|
|
|
By |
|
Elizabeth S. Sorenson |
|
J. Kelly Flanagan |
|
Brigham Young University |
|
|
|
|
Popular method for evaluating caches |
|
The larger the cache, the longer the trace
needed |
|
Long traces require large storage |
|
One solution: Synthetic Traces |
|
|
|
|
Small storage requirements |
|
Extract limited number of parameters from a real
trace |
|
Can create an arbitrarily long trace |
|
Can create traces for future workloads and
systems |
|
Tend to be inaccurate |
|
|
|
|
Independent Reference Model |
|
Stack Model |
|
Partial Markov Model |
|
Distance Model |
|
Distance-Strings Model |
|
|
|
|
|
Locality Surfaces |
|
Programs tend to use a small portion of memory
most of the time |
|
Principle that caches are based on |
|
Cache simulation results (miss rate) |
|
Use configurations typical of level one caches |
|
Size: 32 Kbyte to 64 Kbyte |
|
1-way associative to 8-way associative |
|
|
|
|
|
|
Good way to visualize locality |
|
Incorporates both temporal and spatial locality |
|
Useful for qualitatively predicting cache
performance |
|
|
|
|
|
|
Twolf from SPECint2000 benchmark suite |
|
Collected using the BACH method |
|
Pentium III, Redhat Linux 6.2 |
|
Separate instruction fetches and data reads and
writes |
|
|
|
|
|
|
|
|
Determine the frequency of any given memory
address occurring in original trace |
|
Use the frequencies as probabilities |
|
Generate references based on these probabilities |
|
|
|
|
|
|
|
|
|
|
Maintain an LRU stack of references seen |
|
Record frequency of accessing references x deep
in stack |
|
Use these frequencies to generate references |
|
When generating a reference not in the stack,
use a random reference |
|
|
|
|
|
|
|
|
|
|
Assumes all references either random or
sequential |
|
Determines probabilities of changing states vs.
staying the same |
|
|
|
|
|
|
|
|
Determine frequency of any stride occurring
between successive entries in trace |
|
When generating references, generate a stride
from the stored distribution and add it to previous reference |
|
|
|
|
|
|
|
|
|
|
Again uses frequencies of strides occurring,
except uses strides between the start of bursts of sequential references |
|
Also uses the frequencies of the lengths of
sequential bursts |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
None of these models adequately replicate all
aspects of locality |
|
IMR and SM do approximate the effective working
set size to some degree |
|
IRM, SM, and DM mostly successful at the aspects
of locality they intended to produce |
|
|
|
|
This is only the first step in the process |
|
We will evaluate in a similar fashion some more
recent models |
|
GOAL: a synthetic trace generation model based
on the locality surface |
|