1 |
1
제2 메모리에서 제1 메모리로 페이지를 프리페칭(prefetching)하는 장치에 있어서,응용 프로그램에 의해 액세스되는 페이지들을 상기 응용 프로그램의 데이터 액세스 패턴별로 그룹화하여 클러스터(cluster)를 생성하는 클러스터 생성부;상기 응용 프로그램으로부터 요청된 페이지가 상기 제1 메모리에 존재하지 않는 경우, 상기 요청된 페이지 및 상기 요청된 페이지가 속한 클러스터가 프리페칭 조건을 만족하면, 상기 요청된 페이지가 속한 클러스터의 모든 페이지를 상기 제2 메모리에서 상기 제1 메모리로 프리페칭 하는 프리페칭부; 및상기 프리페칭된 클러스터들 중 상기 프리페칭 이후의 페이지 요청에 히트되지 못하고 페이지 미스(page miss)가 발생하면, 상기 페이지 미스가 발생한 클러스터의 페이지와 실제 요청된 페이지를 교환하여 상기 응용 프로그램의 데이터 액세스 패턴을 학습하는 액세스 패턴 학습부를 포함하되,상기 제1 메모리는 상기 제2 메모리보다 작은 공간, 빠른 읽기 및 빠른 쓰기 속도를 가지며,상기 액세스 패턴 학습부는클러스터의 히트 레이트(hit rate)를 의미하는 프리페치 뎁스(prefetch depth)와 페이지 미스가 발생한 클러스터의 정보가 저장된 큐(queue)를 이용하여 상기 페이지 미스가 발생한 클러스터와 상기 실제 요청된 페이지가 속한 클러스터간 근접도(cluster closeness)를 계산하고, 상기 계산된 클러스터간 근접도에 기초하여 페이지의 교환 여부를 결정하며,상기 프리페치 뎁스는LRU(Least Recently Used) 정책에 기반하여 클러스터에 속한 페이지들의 최종 접근 시간과 접근 횟수로 계산된 페이지 점수와, 클러스터의 성공 회수 및 최종 접근 시간을 이용하여 계산되며,상기 프리페치 뎁스는아래의 수학식을 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 장치
|
2 |
2
제1 항에 있어서,상기 제1 메모리에 상기 프리페칭되는 페이지를 저장할 공간이 미리 정해진 기준 값 미만인 경우,상기 프리페칭된 클러스터의 페이지들 중 방출 점수(eviction score)가 하위에서 미리 정해진 비율에 해당하는 페이지들을 상기 제2 메모리로 방출시키는 페이지 방출부를 더 포함하되,상기 방출 점수는페이지의 최종 접근 시간 및 접근 횟수를 이용하여 계산되는 페이지 점수 및 상기 프리페치 뎁스를 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 장치
|
3 |
3
저장소에서 메인 메모리로 페이지를 프리페칭(prefetching)하는 장치에 있어서,응용 프로그램에 의해 액세스되는 페이지들을 상기 응용 프로그램의 데이터 액세스 패턴별로 그룹화하여 클러스터(cluster)를 생성하는 클러스터 생성부;상기 응용 프로그램으로부터 요청된 페이지가 상기 메인 메모리에 존재하지 않는 경우, 상기 요청된 페이지 및 상기 요청된 페이지가 속한 클러스터가 프리페칭 조건을 만족하면 상기 요청된 페이지가 속한 클러스터의 모든 페이지를 상기 저장소에서 상기 메인 메모리로 프리페칭 하는 프리페칭부; 및상기 프리페칭된 클러스터들 중 상기 프리페칭 이후의 페이지 요청에 히트되지 못하고 페이지 미스(page miss)가 발생하면, 상기 페이지 미스가 발생한 클러스터의 페이지와 실제 요청된 페이지를 교환하여 상기 응용 프로그램의 데이터 액세스 패턴을 학습하는 액세스 패턴 학습부를 포함하되,상기 메인 메모리는 상기 저장소보다 작은 공간, 빠른 읽기 및 빠른 쓰기 속도를 가지며,상기 액세스 패턴 학습부는클러스터의 히트 레이트(hit rate)를 의미하는 프리페치 뎁스(prefetch depth)와 페이지 미스가 발생한 클러스터의 정보가 저장된 큐(queue)를 이용하여 상기 페이지 미스가 발생한 클러스터와 상기 실제 요청된 페이지가 속한 클러스터간 근접도(cluster closeness)를 계산하고, 상기 계산된 클러스터간 근접도에 기초하여 페이지의 교환 여부를 결정하며,상기 프리페치 뎁스는LRU(Least Recently Used) 정책에 기반하여 클러스터에 속한 페이지들의 최종 접근 시간과 접근 횟수로 계산된 페이지 점수와, 클러스터의 성공 회수 및 최종 접근 시간을 이용하여 계산되며,상기 프리페치 뎁스는아래의 수학식을 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 장치
|
4 |
4
제3 항에 있어서,상기 메인 메모리에 상기 프리페칭되는 페이지를 저장할 공간이 미리 정해진 기준 값 미만인 경우,상기 프리페칭된 클러스터의 페이지들 중 방출 점수(eviction score)가 하위에서 미리 정해진 비율에 해당하는 페이지들을 상기 저장소로 방출시키는 페이지 방출부를 더 포함하되,상기 방출 점수는페이지의 최종 접근 시간 및 접근 횟수를 이용하여 계산되는 페이지 점수 및 상기 프리페치 뎁스를 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 장치
|
5 |
5
제1 항 또는 제3 항에 있어서,상기 프리페칭 조건은상기 요청된 페이지의 프리페치 뎁스가 상기 요청된 페이지가 속한 클러스터의 평균 프리페치 뎁스보다 큰 것을 특징으로 하는 페이지 프리페칭 장치
|
6 |
6
삭제
|
7 |
7
삭제
|
8 |
8
제1 항 또는 제3 항에 있어서,상기 클러스터간 근접도는상기 페이지 미스가 발생한 클러스터(이하 ‘제1 클러스터’라 칭함)와 상기 실제 요청된 페이지가 속한 클러스터(이하 ‘제2 클러스터’라 칭함)의 프리페치 뎁스 및 상기 큐 내에서 상기 제1 클러스터와 제2 클러스터간 상호 거리를 이용하여 계산되며,상기 액세스 패턴 학습부는상기 계산된 클러스터간 근접도가 중간 거리(median distance)와 프리페칭에 실패한 클러스터의 평균 프리페치 뎁스에 의해 계산되는 학습 프로파일의 값 보다 작으면 상기 페이지 교환을 수행하는 것을 특징으로 하는 페이지 프리페칭 장치
|
9 |
9
제8 항에 있어서,상기 클러스터간 근접도 cc(C1, C2)는 아래의 수학식을 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 장치
|
10 |
10
제1 항 또는 제3 항에 있어서,상기 액세스 패턴 학습부는상기 페이지 미스가 발생한 클러스터에 속한 페이지들 중 페이지 점수가 가장 낮은 페이지를 선택하여 상기 실제 요청된 페이지와 교환하되,상기 페이지 점수는 페이지의 최종 접근 시간 및 접근 횟수를 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 장치
|
11 |
11
프리페칭 장치가 제2 메모리에서 제1 메모리로 페이지를 프리페칭(prefetching)하는 방법에 있어서,(a) 응용 프로그램에 의해 액세스되는 페이지들을 상기 응용 프로그램의 데이터 액세스 패턴별로 그룹화하여 클러스터(cluster)를 생성하는 단계;(b) 상기 응용 프로그램으로부터 요청된 페이지가 상기 제1 메모리에 존재하지 않는 경우, 상기 요청된 페이지 및 상기 요청된 페이지가 속한 클러스터가 프리페칭 조건을 만족하면 상기 요청된 페이지가 속한 클러스터의 모든 페이지를 상기 제2 메모리에서 상기 제1 메모리로 프리페칭 하는 단계; 및(c) 상기 프리페칭된 클러스터들 중 상기 프리페칭 이후의 페이지 요청에 히트되지 못하고 페이지 미스(page miss)가 발생하면, 상기 페이지 미스가 발생한 클러스터의 페이지와 실제 요청된 페이지를 교환하여 상기 응용 프로그램의 데이터 액세스 패턴을 학습하는 단계를 포함하되,상기 제1 메모리는 상기 제2 메모리보다 작은 공간, 빠른 읽기 및 빠른 쓰기 속도를 가지며,상기 (c) 단계는클러스터의 히트 레이트(hit rate)를 의미하는 프리페치 뎁스(prefetch depth)와 페이지 미스가 발생한 클러스터의 정보가 저장된 큐(queue)를 이용하여 상기 페이지 미스가 발생한 클러스터와 상기 실제 요청된 페이지가 속한 클러스터간 근접도(cluster closeness)를 계산하고, 상기 계산된 클러스터간 근접도에 기초하여 페이지의 교환 여부를 결정하며,상기 프리페치 뎁스는LRU(Least Recently Used) 정책에 기반하여 클러스터에 속한 페이지들의 최종 접근 시간과 접근 횟수로 계산된 페이지 점수와, 클러스터의 성공 회수 및 최종 접근 시간을 이용하여 계산되며,상기 프리페치 뎁스는아래의 수학식을 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 방법
|
12 |
12
제11 항에 있어서,상기 제1 메모리에 상기 프리페칭되는 페이지를 저장할 공간이 미리 정해진 기준 값 미만인 경우,상기 프리페칭된 클러스터의 페이지들 중 방출 점수(eviction score)가 하위에서 미리 정해진 비율에 해당하는 페이지들을 상기 제2 메모리로 방출시키는 단계를 더 포함하되,상기 방출 점수는페이지의 최종 접근 시간 및 접근 횟수를 이용하여 계산되는 페이지 점수 및 상기 프리페치 뎁스를 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 방법
|
13 |
13
프리페칭 장치가 저장소에서 메인 메모리로 페이지를 프리페칭(prefetching)하는 방법에 있어서,(a) 응용 프로그램에 의해 액세스되는 페이지들을 상기 응용 프로그램의 데이터 액세스 패턴별로 그룹화하여 클러스터(cluster)를 생성하는 단계;(b) 상기 응용 프로그램으로부터 요청된 페이지가 상기 메인 메모리에 존재하지 않는 경우, 상기 요청된 페이지 및 상기 요청된 페이지가 속한 클러스터가 프리페칭 조건을 만족하면 상기 요청된 페이지가 속한 클러스터의 모든 페이지를 상기 저장소에서 상기 메인 메모리로 프리페칭 하는 단계; 및(c) 상기 프리페칭된 클러스터들 중 상기 프리페칭 이후의 페이지 요청에 히트되지 못하고 페이지 미스(page miss)가 발생하면, 상기 페이지 미스가 발생한 클러스터의 페이지와 실제 요청된 페이지를 교환하여 상기 응용 프로그램의 데이터 액세스 패턴을 학습하는 단계를 포함하되,상기 메인 메모리는 상기 저장소보다 작은 공간, 빠른 읽기 및 빠른 쓰기 속도를 가지며,상기 (c) 단계는클러스터의 히트 레이트(hit rate)를 의미하는 프리페치 뎁스(prefetch depth)와 페이지 미스가 발생한 클러스터의 정보가 저장된 큐(queue)를 이용하여 상기 페이지 미스가 발생한 클러스터와 상기 실제 요청된 페이지가 속한 클러스터간 근접도(cluster closeness)를 계산하고, 상기 계산된 클러스터간 근접도에 기초하여 페이지의 교환 여부를 결정하며,상기 프리페치 뎁스는LRU(Least Recently Used) 정책에 기반하여 클러스터에 속한 페이지들의 최종 접근 시간과 접근 횟수로 계산된 페이지 점수와, 클러스터의 성공 회수 및 최종 접근 시간을 이용하여 계산되며,상기 프리페치 뎁스는아래의 수학식을 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 방법
|
14 |
14
제13 항에 있어서,상기 메인 메모리에 상기 프리페칭되는 페이지를 저장할 공간이 미리 정해진 기준 값 미만인 경우,상기 프리페칭된 클러스터의 페이지들 중 방출 점수(eviction score)가 하위에서 미리 정해진 비율에 해당하는 페이지들을 상기 저장소로 방출시키는 단계를 더 포함하되,상기 방출 점수는페이지의 최종 접근 시간 및 접근 횟수를 이용하여 계산되는 페이지 점수 및 상기 프리페치 뎁스를 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 방법
|
15 |
15
제11 항 또는 제13 항에 있어서,상기 프리페칭 조건은상기 요청된 페이지의 프리페치 뎁스가 상기 요청된 페이지가 속한 클러스터의 평균 프리페치 뎁스보다 큰 것을 특징으로 하는 페이지 프리페칭 방법
|
16 |
16
삭제
|
17 |
17
제11 항 또는 제13 항에 있어서,상기 클러스터간 근접도는상기 페이지 미스가 발생한 클러스터(이하 ‘제1 클러스터’라 칭함)와 상기 실제 요청된 페이지가 속한 클러스터(이하 ‘제2 클러스터’라 칭함)의 프리페치 뎁스 및 상기 큐 내에서 상기 제1 클러스터와 제2 클러스터간 상호 거리를 이용하여 계산되며,상기 (c) 단계는상기 계산된 클러스터간 근접도가 중간 거리(median distance)와 프리페칭에 실패한 클러스터의 평균 프리페치 뎁스에 의해 계산되는 학습 프로파일의 값 보다 작으면 상기 페이지 교환을 수행하는 것을 특징으로 하는 페이지 프리페칭 방법
|
18 |
18
제11 항 또는 제13 항에 있어서,상기 (c) 단계는상기 페이지 미스가 발생한 클러스터에 속한 페이지들 중 페이지 점수가 가장 낮은 페이지를 선택하여 상기 실제 요청된 페이지와 교환하되,상기 페이지 점수는 페이지의 최종 접근 시간 및 접근 횟수를 이용하여 계산되는 것을 특징으로 하는 페이지 프리페칭 방법
|
19 |
19
제11 항 또는 제13 항에 따른 방법을 수행하기 위한 일련의 명령을 포함하는 컴퓨터 판독가능 기록 매체에 저장된 컴퓨터 프로그램
|