정의
2.5
교체-
재사용 시간 예측 값(Replacement-Reuse Time
Prediction Value) :
캐시A
의 희생 블록의 교체-
재사용 시간 예측 값은다음과 같다
.
×
□
는 희생 블록이 캐시에 적중한
MRU
위치로 부터의 거리를 의 미하여,
는 사건 측정 시간을 의미한다.
는 캐시A
에서 일어난 블록 교체의 수이다.
이상의 제안된 방법은 보조 태그 디렉토리를 사용하여 희생 블록의 교 체
-
재사용 시간을 추측한다.
비록 보조 태그 디렉토리라는 추가 구조가 필요하긴 하지만,
모든 캐시set
에 설치하지 않고 일부분의set
에만 보조 태그 디렉토리를 설치하는set
표본(set sampling)
방식을 사용하여 하드웨 어 비용을 줄였다[QP06].
표본화된 보조 태그 디렉토리는 큰 캐시 사이즈 와 얻을 수 있는 성능향상에 비하면 큰 비용(overhead)
이 아니라고 할 수 있다.
희생 블록이 전달될 캐시
B
의 생존 시간에 비해 작거나 같은 경우,
캐시A
의 희생 블록이 캐시B
에 전달되었을 때 재사용이 일어난다고 예측한 다.
이 재사용 조건을 캐시A
에서 희생된 블록의 교체-
재사용 시간 예측 값과 캐시B
의 평균 캐시 생존 시간 예측 값으로 표현 하면 다음과 같다.
≤
×
≤ ×
×
이상의 식에서처럼 를 기준으로 정리하면 다음과 같은 실제적 인 재사용 조건을 구할 수 있다
.
정의
2.6
실제적인 재사용 조건(Reuse Condition) :
캐시A
의 희생 블록 과 희생 블록 전달 상대인 캐시B
가 있을 때,
캐시A
의 희생 블록이 캐 시B
로 전달 됐을 경우 재사용 조건은 다음과 같다.
≤ ×
×
□
결국 캐시
A
의 희생 블록이 발생했을 때,
그 희생 블록의 보조 태그 디 렉토리에서의 거리값을 알고 있다면,
오른쪽의 ×
×
값과 어떤 것이 더 작은지 여부를 비교하여
,
캐시B
로 전달 됐을 경우의 재사용 여부를 추측할 수 있다.
이 값은 희생 블록의 보조 태그 디렉토리 거리값에 대해 희생 블록을 전달할지 여부를 결정하는 문턱 값 역할을 하기 때문에 다음과 같이 문턱 거리로 정의한다
.
정의
2.7
문턱 거리(Threshold Distance) :
캐시A
에서B
로의 문턱거리 는 다음과 같이 정의한다.
→ ×
×
□
위 문턱 거리 식에서 볼 수 있듯이 문턱 거리는 반사적
(Reflexive)
이지 않다.
→ 는 → 와 다르다.
따라서 가능한 캐시 순서쌍 마다 문턱 거리가 존재하며 개의 캐시 조각이 있을 경우 개의 문턱 거리 값들이 존재한다.
예를 들면 캐시 조각A, B, C
가 있을 경우,
다음과 같은6
개의 문턱 거리 값들 이 존재한다.
→
→
→
→
→
→
정의된 값을 사용하여 다시 실제적인 재사용 조건을 정의하면 다음과 같다
.
정의
2.8
실제적인 재사용 조건2 (Reuse Condition2) :
캐시A
의 희생 블록과 희생 블록 전달 상대인 캐시
B
가 있을 때,
캐시A
의 희생 블록이 캐시B
로 전달 됐을 경우 재사용 조건은 다음과 같다.
≤ →
□
희생 블록을 다른 캐시 조각으로 전달할지의 여부는 희생 블록이 발생 하자마자 결정해야 한다
.
그에 따라 희생 블록의 보조 태그 디렉토리에서 의 거리인 와 값이 준비되어 있어야 비교할 수 있다.
희생 블록의 보조 태그 디렉토리에서의 거리인 는 희 생 블록마다 차이가 크기 때문에 각각의 희생 블록마다 어딘가에 저장장 소를 만들어 저장해야 필요할 때 꺼내 사용할 수 있다
.
그렇기 때문에 희 생 블록이 보조 태그 디렉토리에서 캐시 적중이 일어날 때,
그 값을 저장 해 두었다가 희생 블록이 생겼을 경우 이를 사용한다.
그 구조는 다음 장 에서 설명한다.
반면
,
값의 정의를 보면 알 수 있듯이값은 캐시
A
와 캐시B
의 전체적인 통계값을 사용하기 때문에,
각 희생 블록의 특성이 아니라 캐시A
와 캐시B
의 전체 활동 특 성에 의해 결정된다.
그렇기 때문에 값은 갑자기 크게 바뀌지 않는다.
따라서 일정 시간 간격(interval)
마다 이 값을 계산해서 가 지고 있어도 무리가 없다.
이 값은 일정 시간 간격(interval)
동안 모은 캐 시 적중,
캐시 적중 실패,
캐시 블록 교체 정보를 이용하여 계산하며 다음 시간 간격 동안 사용한다.
종합해 보면
,
본 논문이 제안하는 희생 블록 조절 기법은 다음과 같다.
시간 간격마다 캐시 적중
,
캐시 적중 실패,
캐시 블록 교체 정보를 이용하 여 를 새로 계산한다.
캐시 적중에 실패하고 보조 태그 디렉토리에 적중했을 경우,
적중한 블록의 거리값을 저장소에 저장한다.
희생 블록이 생길 때마다 그 희생블록의 보조 태그 디렉토리에서의 거리 값인 을 저장소에서 읽어온 후 미리 계산된와 비교한다