One way to think about this model is that it has a single “write head” at s and two “read heads” at s1 and s2. At each step, it writes m by reading the input miss rate curves at m1 and m2, then moves the read heads through their input curves according to their relative flows. Fig. 23a shows an example.
Size
Miss Rate
(a) Combining m1 and m2.
Size
Miss Rate
(b) Combining similar pools.
m1 m2 Combined
Figure 23: WhirlTool’s simple model to combine miss rate curves.
This model has several desirable properties. It is commuta- tive and associative, so the order in which pools are combined does not matter. It will correctly recombine similar access patterns into a similar result, so the model is insensitive to arbitrary divisions of single pool into subpools (see Fig. 23b). It also produces small changes when adding a pool that is accessed infrequently.
Acknowledgments We thank Harshad Kasture, Suvinay Subramanian, Po-An Tsai, Xiaosong Ma, and the anonymous reviewers for their helpful feedback. This work was supported in part by NSF grants CCF-1318384 and CAREER-1452994, and by a Sam- sung GRO award.