1 |
1
불규칙한 메모리 접근 패턴을 갖는 애플리케이션에 대한 소프트웨어에 의해 제어되는 캐시 메모리의 동적 데이터 할당 방법에 있어서,
프로파일링을 통해 상기 애플리케이션을 구성하는 배열 요소들에 대한 접근 자취를 획득하고, 상기 획득된 접근 자취를 통해 접근 패턴을 분석하는 단계;
상기 배열 요소들의 접근 빈도를 바탕으로 재사용 인자를 산출하고, 상기 산출된 재사용 인자가 일정한 값 이상인 후보 배열 요소들을 선택하는 단계; 및
상기 후보 배열 요소들을 수명 유사성을 바탕으로 복수 개의 클러스터들로 분류하고, 상기 분류된 클러스터들을 상기 캐시 메모리에 할당하는 단계를 포함하는 것을 특징으로 하는 동적 데이터 할당 방법
|
2 |
2
제1항에 있어서, 상기 후보 배열 요소들을 선택하는 단계는,
각각의 배열 요소에 대한 접근 빈도를 각각의 배열 요소의 용량으로 제산하여 상기 재사용 인자를 산출하고, 상기 산출된 재사용 인자가 2 이상인 값을 상기 후보 배열 요소로 선택하는 단계인 것을 특징으로 하는 동적 데이터 할당 방법
|
3 |
3
제1항 또는 제2항에 있어서, 상기 클러스터들로 분류하는 단계는,
상기 후보 배열 요소들에 대한 마지막 접근 시간 정보를 획득하고, 상기 획득한 시간 정보들 사이의 시간적 근접성을 바탕으로 상기 후보 배열 요소들을 복수 개의 클러스터들로 분류하는 단계인 것을 특징으로 하는 동적 데이터 할당 방법
|
4 |
4
제3항에 있어서, 상기 클러스터들로 분류하는 단계는,
상기 획득한 시간 정보들 사이의 유클리드 거리를 산출하고, 상기 산출된 유클리드 거리가 일정한 값 이하인 후보 배열 요소들을 그룹화하여 상기 후보 배열 요소들을 복수 개의 클러스터들로 분류하는 단계인 것을 특징으로 하는 동적 데이터 할당 방법
|
5 |
5
제1항에 있어서, 상기 캐시 메모리에 할당하는 단계는,
상기 분류된 클러스터들을 2차원 좌표계 형태의 배낭 문제로 정형화하여 상기 캐시 메모리에 할당하게 될 최종 클러스터를 결정하는 단계를 포함하는 것을 특징으로 하는 동적 데이터 할당 방법
|
6 |
6
제5항에 있어서, 상기 최종 클러스터를 결정하는 단계는,
상기 분류된 클러스터들 중에서 상기 캐시 메모리의 용량을 초과하는 클러스터를 상기 최종 클러스터로 결정하지 않는 단계를 포함하는 것을 특징으로 하는 동적 데이터 할당 방법
|
7 |
7
제5항에 있어서, 상기 최종 클러스터를 결정하는 단계는,
상기 분류된 클러스터들 중에서 동일한 시간에 접근되는 적어도 하나의 클러스터의 용량이 상기 캐시 메모리의 용량을 초과하지 않는 경우, 상기 동일한 시간에 접근되는 클러스터들을 상기 최종 클러스터로 결정하는 단계를 포함하는 것을 특징으로 하는 동적 데이터 할당 방법
|
8 |
8
제5항에 있어서, 상기 최종 클러스터들을 결정하는 단계는,
상기 분류된 클러스터들 중에서 인접하는 시간에 모두 접근되는 적어도 하나의 클러스터가 각각의 시간에 대해 동일한 용량을 갖는 경우, 상기 클러스터의 일부를 상기 최종 클러스터로 결정하는 단계를 포함하는 것을 특징으로 하는 동적 데이터 할당 방법
|