Анализ неуспешных обращений к кэшу: различия между версиями

Перейти к навигации Перейти к поиску
Строка 72: Строка 72:
(9) <math>p_a \le (1 / B) (1 + (B - 1) (r \alpha)^a + r \alpha + a r)</math> для <math>r \le \frac{1}{\alpha}</math>,
(9) <math>p_a \le (1 / B) (1 + (B - 1) (r \alpha)^a + r \alpha + a r)</math> для <math>r \le \frac{1}{\alpha}</math>,


Член 1/B отражает принудительный промах или промах по первой ссылке, которые должны иметь место, чтобы прочитать блок данных из последовательности. Остальные члены приходятся на конфликтные промахи, которые имеют место, когда блок данных удаляется из кэша до того, как все его элементы были прочитаны. Число конфликтных промахов можно уменьшить, ограничив количество последовательностей. По мере приближения r к нулю вероятность неудачного обращения к кэшу приближается к 1/B. В общем случае неравенство (4) утверждает, что число неудачных обращений равно O(N/B), если r < 1/(2/!) и (B - l)(r/S)a = O(1). Оба эти условия выполняются, если к < т/тах(В11а,2Р). Таким образом, имеет место O(N/B) неудачных обращений к кэшу при условии k = O(m/B1/a).
(10) <math>p_a \le (1 / B) (1 + (B - 1) (r \beta)^a + r \beta)</math> для <math>r \le \frac{1}{2 \beta}</math>,


(11) <math>p_a \ge (1 / B) (1 + (B - 1) (r \alpha)^a (1 - \frac{1}{s})^k)</math>.


Анализ показывает, что для кэша с прямым отображением, где a = 1, верхняя граница выше нижней в r + 1 раз. Для a > 2 верхняя и нижняя границы близки, если (1 - 1/s)k & и (a + a)r <$; 1, оба эти условия выполняются, если k <$; s.
 
Член 1/B отражает принудительный промах или промах по первой ссылке, которые должны иметь место, чтобы прочитать блок данных из последовательности. Остальные члены приходятся на ''конфликтные промахи'', которые имеют место, когда блок данных удаляется из кэша до того, как все его элементы были прочитаны. Число конфликтных промахов можно уменьшить, ограничив количество последовательностей. По мере приближения r к нулю вероятность неудачного обращения к кэшу приближается к 1/B. В общем случае неравенство (4) утверждает, что число неудачных обращений равно O(N/B), если <math>r \le 1/(2 \beta)</math> и <math>(B - 1)(r \beta)^a = O(1)</math>. Оба эти условия выполняются, если <math>k \le m / max(B^{1/a}, 2 \beta)</math>. Таким образом, имеет место O(N/B) неудачных обращений к кэшу при условии <math>k = O(m/B^{1/a})</math>.
 
 
Анализ показывает, что для кэша с прямым отображением, где a = 1, верхняя граница выше нижней в r + 1 раз. Для <math> a \ge 2</math> верхняя и нижняя границы близки, если (1 - 1/s)k & и (a + a)r <$; 1, оба эти условия выполняются, если k <$; s.




4551

правка

Навигация