KR20220141529A - 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법 - Google Patents

스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법 Download PDF

Info

Publication number
KR20220141529A
KR20220141529A KR1020210047747A KR20210047747A KR20220141529A KR 20220141529 A KR20220141529 A KR 20220141529A KR 1020210047747 A KR1020210047747 A KR 1020210047747A KR 20210047747 A KR20210047747 A KR 20210047747A KR 20220141529 A KR20220141529 A KR 20220141529A
Authority
KR
South Korea
Prior art keywords
accessed object
unique
currently accessed
index value
distance
Prior art date
Application number
KR1020210047747A
Other languages
English (en)
Other versions
KR102491352B1 (ko
Inventor
박동철
하현지
심다은
이혜인
Original Assignee
숙명여자대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 숙명여자대학교산학협력단 filed Critical 숙명여자대학교산학협력단
Priority to KR1020210047747A priority Critical patent/KR102491352B1/ko
Publication of KR20220141529A publication Critical patent/KR20220141529A/ko
Application granted granted Critical
Publication of KR102491352B1 publication Critical patent/KR102491352B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0864Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using pseudo-associative means, e.g. set-associative or hashing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0866Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches for peripheral storage systems, e.g. disk cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/10Address translation
    • G06F12/1009Address translation using page tables, e.g. page table structures
    • G06F12/1018Address translation using page tables, e.g. page table structures involving hashing techniques, e.g. inverted page tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/60Details of cache memory
    • G06F2212/608Details relating to cache mapping
    • G06F2212/6082Way prediction in set-associative cache

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

스택 거리를 효율적으로 추정하는 전자장치가 개시된다. 본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치는 액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 저장부 및 상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하고, 상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
Figure pat00043
: Inter-reference distance)를 획득하고, 상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure pat00044
: unique reference count)를 획득하고, 상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 프로세서를 포함할 수 있다.

Description

스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법{ELECTRONIC DEVICE FOR EFFICIENTLY ESTIMATING STACK DISTANCE AND OPERATION METHOD OF THE SAME}
본 발명은 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법에 대한 것으로, 보다 상세하게는 스택 거리 추정을 통해 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법에 대한 것이다.
잠정 구역성(temporal locality)이란 최초 참조된 기억 장소가 가까운 미래에도 계속 참조될 가능성이 높음을 의미한다. 잠정 구역성을 판단하기 위하여는 최신성(recency)이 가장 중요한 팩터(factor)에 해당한다. 최신성을 판단하기 위해서는 스택 거리(stack distance)를 활용할 수 있다.
일반적으로, 스택 거리는 입력되는 워크로드 데이터 마다 계산해야 하므로 복잡성이 크다. 스택 거리의 복잡성을 개선하기 위한 방법으로, Almasi 등은 홀-베이스 알고리즘(hole-based algorithm)이라는 새로운 스택 거리 산출 방식을 제안한 바 있다. 본 방식은 스택 거리를 보다 효율적으로 계산하기 위해 인터벌 트리(균형 이진 트리)를 채택한 바 있다.
본 발명의 배경이 되는 기술의 일 예로, 일본 등록특허공보 제2000-330827호(2000. 11. 30.)는 캐쉬 내의 중복 페이지수를 확률적 방식으로 근사하여 계산함으로써 캐시 실수율의 효율을 높이는 방법을 개시한다.
상술한 홀-베이스 알고리즘과 같은 기존의 스택 거리 계산 방법들은 스택 거리 계산의 복잡도를 어느 정도 개선하였으나, 예를 들어 더 큰 복잡도를 가지는 핫/콜드 데이터 구분 과정에 스택 거리 계산을 이용할 수 있을 정도의 개선을 실현하지는 못했다.
본 발명은 상술한 문제점을 해결하기 위해 안출된 것으로, 본 발명은 스택 거리의 추정치를 획득함으로써, 스택 거리 계산 과정의 복잡도를 현저하게 경감할 수 있는 방법을 제공하는 것을 목적으로 한다.
본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치는 액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 저장부 및 상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하고, 상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
Figure pat00001
: Inter-reference distance)를 획득하고, 상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure pat00002
: unique reference count)를 획득하고, 상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 프로세서를 포함할 수 있다.
본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정, 상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정, 상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
Figure pat00003
: Inter-reference distance)를 획득하는 과정, 상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
Figure pat00004
: unique reference count)를 획득하는 과정 및 상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정을 포함할 수 있다.
본 발명의 다양한 실시 예에 따르면, 스택 거리의 추정치를 획득함으로써, 스택 거리 계산 과정의 복잡도를 현저하게 경감할 수 있는 방법을 제공하는 것을 목적으로 한다.
도 1은 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치에 대한 도면이다.
도 2는 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대한 흐름도이다.
도 3은 본 발명의 일 실시 예에 따른 워크로드 데이터의 특성을 도시한다.
도 4는 본 발명의 일 실시 예에 따른 성능 비교 데이터를 도시한다.
도 5는 본 발명의 다른 실시 예에 따른 성능 비교 데이터를 도시한다.
도 6는 본 발명의 또 다른 실시 예에 따른 성능 비교 데이터를 도시한다.
도 7은 본 발명의 또 다른 실시 예에 따른 성능 비교 데이터를 도시한다.
도 8은 본 발명의 일 실시 예에 따른 전자장치의 세부 구성도이다.
도 9는 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법에 대한 흐름도이다.
이하 첨부된 도면을 참조하여 본 발명의 바람직한 실시 예에 대한 동작원리를 상세히 설명한다. 또한, 발명에 대한 실시 예를 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 하기에서 사용되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로써, 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 사용된 용어들의 정의는 본 명세서 전반에 걸친 내용 및 이에 상응한 기능을 토대로 해석되어야 할 것이다.
도 1은 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치에 대한 도면이다.
도 1을 참조하면, 스택 거리(stack distance)를 효율적으로 추정하는 전자장치(100)는 저장부(110) 및 프로세서(120)를 포함할 수 있다.
여기서, 전자장치(100)는 SSD(Solid State Drive)와 같은 다양한 데이터 저장장치나, 서버, PC, 태블릿 PC, 스마트폰 등 다양한 전자기기일 수 있다.
스택 거리는 동일한 두 개의 오브젝트 사이에 나타나는 여러 개의 오브젝트 중 유니크(unique)한 오브젝트의 개수로 정의될 수 있다. 예를 들어, 오브젝트의 나열 'a b c c c d e e e a b'를 가정할 때, 동일한 'a' 오브젝트 사이에 나타나는 오브젝트 'b c c c d e e e'에서 유니크한 오브젝트는 'b c d e'다. 따라서, 상기 오브젝트 나열의 스택 거리는 4(SD(a)=4)로 정의될 수 있다.
스택 거리는 출현되는(또는 access 되는) 모든 오브젝트들의 히스토리를 저장하고 있어야만 계산 가능하기 때문에 메모리 사용량이 크고, 특히 캐시 메커니즘의 경우 모든 오브젝트 각각에 대해서 SD를 구해야 하므로 계산 복잡도 (computational complexity)가 매우 높다.
이에 따라, 본 발명에서는 스택 거리의 추정치를 효율적으로 계산하는 방법을 제공함으로써 일반적인 스택 거리 계산의 복잡도를 개선하고자 한다.
저장부(110)는 해시 테이블을 저장할 수 있다. 해시 테이블은 레코드를 한 개 이상 보관하는 버킷들의 집합이다. 해시 테이블은 데이터가 저장되는 버킷들의 배열로 만들어지며, 한 버킷은 하나 이상의 레코드를 수용할 수 있다. 이하에서, 해시 테이블에 저장되는 정보는 해시 테이블에 포함된 적어도 하나의 버킷에 저장되는 것으로 해석될 수 있을 것이다.
저장부(110)는 해시 테이블에 포함된 적어도 하나의 버킷에 액세스 되는 오브젝트(또는 워크로드 데이터)에 대한 정보를 저장할 수 있다. 여기서, 오브젝트는 LBA(Logical Block Address)일 수 있다.
구체적으로, 저장부(110)는 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록할 수 있다.
여기서, 액세스되는 오브젝트에 대한 인덱스 값은 액세스되는 오브젝트의 현재 인덱스 값으로 업데이트 되기 때문에 액세스되는 오브젝트에 대한 이전 인덱스 값으로 정의될 수도 있다.
또한, 액세스되는 오브젝트에 대한 고유 인덱스 값은 액세스되는 오브젝트의 현재 고유 카운트 값으로 업데이트 되기 때문에 액세스되는 오브젝트에 대한 이전 인덱스 값으로 정의될 수도 있다.
일 예로, 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷은 이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록할 수 있다. 이를 위해, 해시 테이블에 포함된 적어도 하나의 버킷 각각은 이전 인덱스, 이전 고유 인덱스 및 레퍼런스 파트를 포함할 수 있다. 이 경우, 이전 인덱스는 이전 인덱스 값을, 이전 고유 인덱스는 고유 인덱스 값을, 레퍼런스 파트는 액세스되는 오브젝트의 값을 기록할 수 있다.
프로세서(120)는 전자장치(100)를 전반적으로 제어할 수 있다. 특히, 프로세서(120)는 입력되는 오브젝트에 대한 스택 거리를 추정할 수 있다.
예를 들어, 프로세서(120)는 상술한 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득할 수 있다.
이 경우, 프로세서(120)는 현재 액세스되는 오브젝트가 해시 테이블에 포함된 버킷의 레퍼런스에 포함되었는지 확인할 수 있다.
현재 액세스되는 오브젝트가 해시 테이블에 포함된 버킷의 레퍼런스에 포함된 경우, 프로세서(120)는 현재 액세스되는 오브젝트의 이전 인덱스 값은 해시 테이블에 포함된 상기 버킷에 기록된 이전 인덱스로부터 획득할 수 있다. 또한, 프로세서(120)는 현재 액세스되는 오브젝트의 이전 고유 카운트 값은 해시 테이블에 포함된 상기 버킷에 기록된 이전 고유 인덱스로부터 획득할 수 있다.
현재 액세스되는 오브젝트가 해시 테이블에 포함된 버킷의 레퍼런스에 포함되지 않은 경우 즉, 현재 액세스 되는 오브젝트가 해시 테이블에 기록되지 않은 경우, 프로세서(120)는 현재 액세스되는 오브젝트의 추정 스택 거리를 0으로 설정 또는 리턴 할 수 있다. 이 경우, 프로세서(120)는 고유 카운트 값을 증가시킬 수 있다.
프로세서(120)는 현재 액세스 되는 오브젝트가 해시 테이블에 기록된 경우, 해시 테이블에 기초하여 상호 참조 거리(
Figure pat00005
: Inter-reference distance)를 획득하는 과정 및 고유 참조 카운트(
Figure pat00006
: unique reference count)를 획득하는 과정을 수행할 수 있다.
먼저, 프로세서(120)는 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득할 수 있다. 여기서, 상호 참조 거리는 현재 액세스되는 오브젝트의 현재 액세스 시점과 현재 액세스되는 오브젝트의 이전 액세스 시점 간에 포함된 모든 액세스된 오브젝트에 대한 카운팅 값으로 정의될 수 있다.
일 예로, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
Figure pat00007
: Inter-reference distance)를 획득할 수 있다. 여기서, 상기 현재 인덱스 값은 글로벌 인덱스일 수 있다. 프로세서(120) 오브젝트가 액세스 되는 때마다 글로벌 인덱스의 카운트 값을 1씩 증가시키고 이를 해시 테이블의 이전 인덱스에 저장할 수 있다.
프로세서(120)는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값의 차이 값을 상호 참조 거리로 획득할 수 있다.
또한, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득할 수 있다.
여기서, 프로세서(120)는 고유한 오브젝트(기존에 나타나지 않은 오브젝트)가 액세스 될 때마다 현재 고유 카운트 값(글로벌 고유 카운트)을 1씩 증가시킬 수 있다. 프로세서(120)는 고유한 오브젝트가 액세스되는 때의 글로벌 고유 카운트를 해시 테이블의 이전 고유 인덱스에 저장할 수 있다.
프로세서(120)는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값의 차이 값을 고유 참조 카운트로 획득할 수 있다.
한편, 프로세서(120)는 획득된 상호 참조 거리 및 획득된 고유 참조 카운트에 기초하여 추정 스택 거리를 획득할 수 있다.
구체적으로, 프로세서(120)는 다음의 수학식에 기초하여 추정 스택 거리를 획득할 수 있다.
Figure pat00008
여기서,
Figure pat00009
는 상기 추정 스택 거리,
Figure pat00010
는 상기 상호 참조 거리,
Figure pat00011
는 상기 고유 참조 카운트이다.
상기 수학식 1에 따르면, 추정 스택 거리는 상호 참조 거리 및 고유 참조 카운트의 평균이라는 간단한 연산으로 산출될 수 있어 기존 스택 거리 연산에 비해 복잡도가 크게 낮아질 수 있다. 여기서, 상호 참조 거리 및 고유 참조 카운트는 해시 테이블에서 빠르게 참조 가능하여 연산 속도가 더 크게 향상될 수 있다.
프로세서(120)는 상술한 과정에 따라 추정 스택 거리를 리턴할 수 있다. 이 경우, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 인덱스 값을 현재 인덱스 값으로 업데이트 할 수 있다. 또한, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 고유 인덱스 값을 현재 고유 카운트 값으로 업데이트할 수 있다.
도 2는 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대한 흐름도이다.
이하 도 2에 대한 설명에서 상술한 도 1에 대한 설명과 중복되는 내용은 설명의 편의를 위해 상세한 설명을 생략한다.
도 2를 참조하면, 프로세서(120)는 오브젝트가 액세스하면(S201), 후술하는 해당 오브젝트에 대한 스택 거리 추정과정을 수행한다.
프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록되었는지를 판단할 수 있다(S202).
프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록되지 않은 경우(S202-아니오), 추정 스택 거리를 0으로 리턴 할 수 있다(S203). 또한, 프로세서(120)는 현재 고유 카운트 값을 1 만큼 증가시킬 수 있다(S204). 이는 프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록되지 않은 고유한 오브젝트로 판단할 수 있기 때문이다.
프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록된 경우(S202-예), 액세스된 오브젝트에 대한 상호 참조 거리를 획득할 수 있다(S205). 일 예로, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값의 차이 값을 상호 참조 거리로 획득할 수 있다.
또한, 프로세서(120)는 액세스된 오브젝트가 해시 테이블에 기록된 경우(S202-예), 액세스된 오브젝트에 대한 고유 참조 카운트를 획득할 수 있다(S206). 일 예로, 프로세서(120)는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값의 차이 값을 고유 참조 카운트로 획득할 수 있다.
프로세서(120)는 획득된 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득할 수 있다(S207). 여기서, 추정 스택 거리는 상호 참조 거리 및 고유 참조 카운트의 평균으로 정의될 수 있다(상술한 수학식 1 참조).
프로세서(120)는 상술한 과정에 따라 추정 스택 거리를 리턴 할 수 있다. 이 경우, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 인덱스 값을 현재 인덱스 값으로 업데이트 할 수 있다(S208). 또한, 프로세서(120)는 적어도 하나의 테이블에 기록된 이전 고유 인덱스 값을 현재 고유 카운트 값으로 업데이트할 수 있다(S209).
상술한 추정 스택 거리는 상호 참조 거리 및 고유 참조 카운트의 평균이라는 간단한 연산으로 산출될 수 있다. 이에 따라, 본 발명의 일 실시 예에 따른 스택 거리 추정과정은 기존 스택 거리 연산에 비해 복잡도가 크게 낮아질 수 있다. 여기서, 상호 참조 거리 및 고유 참조 카운트는 해시 테이블에서 빠르게 참조 가능하여 연산 속도가 더 크게 향상될 수 있다.
이상에서 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대하여 상세히 설명하였다. 이하, 도 3 내지 도 7을 참조하여, 기존 스택 거리 계산방법과 본 발명의 일 실시 예에 따른 스택 거리 추정방법에 대한 성능을 비교해 본다.
도 3은 본 발명의 일 실시 예에 따른 워크로드 데이터의 특성을 도시한다.
도 3의 표는 4가지 트레이스(워크로드 데이터의 집합)의 특성을 포함한다.
도 3을 참조하면, 본 발명의 일 실시 예에 따른 스택 거리 추정방법의 입력으로는 금융회사에서 발생하는 온라인 트랜잭션 관련 트레이스를 수집한 파이낸셜 트레이스(Financial trace), 마이크로소프트 캠브리지 연구소의 프린터 서버에서 수집된 MSR 프로젝트 트레이스(MSRproj trace), 마이크로소프트 캠브리지 연구소의 프로젝트 서버에서 수집된 MSR 프린터 트레이스(MSprn trace) 및 국립 타이완 대학교(NATIONAL TAIWAN UNIVERSITY)에서 수집된 디스틸드 트레이스(distilled trace)를 사용하였다.
상술한 각 트레이스 마다 900만 번의 실험을 수행하였다. 즉, 상술한 각 트레이스 마다, 본 발명의 일 실시 예에 따른 스택 거리 추정방법과 기존의 스택 거리 계산방법(예로 들면, ONM기법; 미국 일리노이대학교의 논문)을 각각 적용하여 그 결과를 도출하였다. 그 결과는 다음의 도 4 내지 도 7과 같다.
도 4는 파이낸셜 트레이스에 대한 실험이고, 도 5는 MSR 프로젝트 트레이스에 대한 실험이고, 도 6은 MSR 프린터 트레이스에 대한 실험이고, 도 7은 디스틸드 트레이스에 대한 실험이다.
도 4 내지 도 7을 참조하면, 본 발명의 일 실시 예에 따른 스택 거리 추정방법은 기존의 스택 거리 계산방법보다 복잡도는 현저히 낮으면서도, 스택 거리 추정 결과는 실제 스택 거리 계산 값과 동일하거나 근사하다. 즉, 본 발명의 일 실시 예에 따른 스택 거리 추정방법은 매우 우수한 성능을 발휘함을 알 수 있다.
도 8은 본 발명의 일 실시 예에 따른 전자장치의 세부 구성도이다.
도 8을 참조하면, 전자장치(800)는 통신부(810), 저장부(820) 및 프로세서(830)를 포함한다.
통신부(810)는 통신을 수행한다. 통신부(810)는 BT(BlueTooth), WI-FI(Wireless Fidelity), ZigBee, IR(Infrared), NFC(Near Field Communication) 등과 같은 다양한 통신 방식을 통해 외부 전자기기와 통신을 수행할 수 있다.
저장부(820)는 전자장치(800)를 구동시키기 위한 O/S(Operating System) 소프트웨어 모듈, 디스플레이 영역에서 제공되는 다양한 UI 화면을 구성하기 위한 데이터 등을 저장할 수 있다.
일 예로, 저장부(820)는 해시 테이블을 저장할 수 있다. 저장부(820)는 해시 테이블에 포함된 적어도 하나의 버킷에 액세스 되는 오브젝트(또는 워크로드 데이터)에 대한 정보를 저장할 수 있다. 여기서, 오브젝트는 LBA(Logical Block Address)일 수 있다. 구체적으로, 저장부(820)는 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록할 수 있다.
프로세서(830)는 저장부(820)에 저장된 각종 프로그램을 이용하여 전자장치(800)의 동작을 전반적으로 제어한다.
구체적으로, 프로세서(830)는 RAM(831), ROM(832), 메인 CPU(833), 그래픽 처리부(834), 제1 내지 n 인터페이스(835-1 ~ 835-n) 및 버스(836)를 포함한다.
여기서, RAM(831), ROM(832), 메인 CPU(833), 그래픽 처리부(834), 제1 내지 n 인터페이스(835-1 ~ 835-n) 등은 버스(836)를 통해 서로 연결될 수 있다.
제1 내지 n 인터페이스(835-1 내지 835-n)는 상술한 각종 구성요소들과 연결된다. 인터페이스들 중 하나는 네트워크를 통해 외부 장치와 연결되는 네트워크 인터페이스가 될 수도 있다.
ROM(832)에는 시스템 부팅을 위한 명령어 세트 등이 저장된다. 턴온 명령이 입력되어 전원이 공급되면, 메인 CPU(833)는 ROM(832)에 저장된 명령어에 따라 저장부(820)에 저장된 O/S를 RAM(831)에 복사하고, O/S를 실행시켜 시스템을 부팅시킨다.
부팅이 완료되면, 메인 CPU(833)는 저장된 각종 어플리케이션 프로그램을 RAM(831)에 복사하고, RAM(831)에 복사된 어플리케이션 프로그램을 실행시켜 각종 동작을 수행한다.
메인 CPU(833)는 저장부(830)에 액세스하여, 저장부(830)에 저장된 O/S를 이용하여 부팅을 수행한다. 그리고, 메인 CPU(833)는 저장부(830)에 저장된 각종 프로그램, 컨텐트, 데이터 등을 이용하여 다양한 동작을 수행한다.
그래픽 처리부(834)는 연산부 및 렌더링부를 이용하여 아이콘, 이미지, 텍스트 등과 같은 다양한 객체를 포함하는 화면을 생성한다.
일 예로, 프로세서(830)는 입력되는 오브젝트에 대한 스택 거리를 추정할 수 있다. 예를 들어, 프로세서(830)는 상술한 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득할 수 있다. 여기서, 프로세서(830)는 현재 액세스 되는 오브젝트가 해시 테이블에 기록된 경우, 해시 테이블에 기초하여 상호 참조 거리를 획득하는 과정 및 고유 참조 카운트를 획득하는 과정을 수행할 수 있다. 프로세서(830)는 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득할 수 있다.
한편, 상술한 수학식 1에 따르면, 본 발명의 일 실시 예에 따른 스택 거리의 추정 값
Figure pat00012
Figure pat00013
가 과도하게 큰 경우나,
Figure pat00014
가 과도하게 작은 경우 과도하게 큰 값이 출력될 수 있다. 이하에서는, 스택 거리의 추정 값
Figure pat00015
가 과도하게 큰 값으로 출력되는 경우 이를 부드럽게 하는 방안을 추가적으로 설명한다.
일 예로, 아주 오래 전에 액세스된 적이 있던 오브젝트가 액세스되는 경우,
Figure pat00016
가 과도하게 크게 계산될 수 있다. 또는, 현재 액세스되는 오브젝트의 이전 액세스 전에 고유한 오브젝트들이 반복적으로 액세스된 경우,
Figure pat00017
가 과도하게 작게 계산될 수 있다. 다만, 이러한 상황은 매우 드물 것이다.
스택 거리의 추정 값
Figure pat00018
가 과도하게 큰 값으로 출력되는 경우를 스무스(smooth)하게 만드는 방법의 일 예로, 프로세서(120)는 획득된
Figure pat00019
가 평균
Figure pat00020
보다 기정의된 배수 이상(예를 들면, 5배)으로 과도하게 큰 경우,
Figure pat00021
를 기정의된 비율로 감할 수 있다. 여기서, 기정의된 비율은 1/2일 수 있다.
다만, 상술한 과도한 크기의
Figure pat00022
가 기정의된 횟수(예를 들면, 5회)로 연속적으로 출력되는 경우, 프로세서(120)는 과도한 크기의
Figure pat00023
에 대한 스무딩 없이, 상기
Figure pat00024
를 그대로 리턴할 수 있다.
도 9는 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법에 대한 흐름도이다.
도 9를 참조하면, 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정(S910), 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정(S920), 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득하는 과정(S930), 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득하는 과정(S940) 및 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정(S950)을 포함할 수 있다.
상술한 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 현재 액세스 되는 오브젝트가 해시 테이블에 기록된 경우, 해시 테이블에 기초하여 상호 참조 거리를 획득하는 과정 및 고유 참조 카운트를 획득하는 과정을 포함할 수 있다.
이 경우, 상술한 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 현재 액세스 되는 오브젝트가 해시 테이블에 기록되지 않은 경우, 고유 카운트 값을 증가시키는 과정을 포함할 수 있다.
상술한 본 발명의 일 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 현재 액세스 되는 오브젝트가 해시 테이블에 기록되지 않은 경우, 추정 스택 거리를 0으로 설정하는 과정을 더 포함할 수 있다.
상술한 상호 참조 거리는 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값의 차이 값일 수 있다.
상술한 고유 참조 카운트는 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값의 차이 값일 수 있다.
상술한 추정 스택 거리는 다음의 수학식에 기초하여 획득될 수 있다.
Figure pat00025
여기서,
Figure pat00026
는 상기 추정 스택 거리,
Figure pat00027
는 상기 상호 참조 거리,
Figure pat00028
는 상기 고유 참조 카운트다.
상술한 본 발명의 일 실시 예에서, 적어도 하나의 해시 테이블에 포함된 이전 인덱스 값은 현재 인덱스 값으로 업데이트 되고, 적어도 하나의 해시 테이블에 포함된 이전 고유 인덱스 값은 현재 고유 카운트 값으로 업데이트 될 수 있다.
상술한 본 발명의 일 실시 예에서, 액세스되는 오브젝트는 LBA일 수 있다.
또한, 상술한 본 발명의 일 실시 예에서, 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷은 이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록할 수 있다.
한편, 상술한 본 발명의 다양한 실시 예에 따른 스택 거리를 효율적으로 추정하는 전자장치의 동작방법은 컴퓨터로 실행 가능한 프로그램 코드로 구현되어 다양한 비 일시적 판독 가능 매체(non-transitory computer readable medium)에 저장된 상태로 프로세서에 의해 실행되도록 각 서버 또는 기기들에 제공될 수 있다.
일 예로, 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정, 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정, 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득하는 과정, 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득하는 과정 및 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정을 수행하는 프로그램이 저장된 비일시적 판독 가능 매체(non-transitory computer readable medium)가 제공될 수 있다.
일 예로, 전자장치의 프로세서에 의해 실행되는 경우 상기 전자장치의 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 상기 동작은 액세스되는 오브젝트에 대한 인덱스 값, 액세스되는 오브젝트에 대한 고유 인덱스 값 및 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정, 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정, 현재 액세스되는 오브젝트의 현재 인덱스 값 및 현재 액세스되는 오브젝트의 이전 인덱스 값에 기초하여, 현재 액세스되는 오브젝트에 대한 상호 참조 거리를 획득하는 과정, 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 현재 액세스되는 오브젝트의 이전 고유 카운트 값에 기초하여, 고유 참조 카운트를 획득하는 과정 및 상호 참조 거리 및 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정을 포함할 수 있다.
비 일시적 판독 가능 매체란 레지스터, 캐쉬, 메모리 등과 같이 짧은 순간 동안 데이터를 저장하는 매체가 아니라 반영구적으로 데이터를 저장하며, 기기에 의해 판독(reading)이 가능한 매체를 의미한다. 구체적으로는, 상술한 다양한 어플리케이션 또는 프로그램들은 CD, DVD, 하드 디스크, 블루레이 디스크, USB, 메모리카드, ROM 등과 같은 비일시적 판독 가능 매체에 저장되어 제공될 수 있다.
이상으로, 본 발명의 실시 예들이 도시되고 설명되었지만, 당업자는 첨부된 청구항들 및 그에 동등한 것들에 의해 정의되는 바와 같은 본 실시 예의 사상 및 범위를 벗어나지 않고 형태 및 세부 사항들에 있어 다양한 변경이 이루어질 수 있음을 이해할 것이다.
전자장치: 100, 800
저장부: 110, 820
프로세서: 120, 830
통신부: 810

Claims (21)

  1. 스택 거리를 효율적으로 추정하는 전자장치에 있어서,
    액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 저장부; 및
    상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하고,
    상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
    Figure pat00029
    : Inter-reference distance)를 획득하고,
    상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
    Figure pat00030
    : unique reference count)를 획득하고,
    상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 프로세서;를 포함하는, 스택 거리를 효율적으로 추정하는 전자장치.
  2. 제1항에 있어서,
    상기 프로세서는,
    상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록된 경우, 상기 해시 테이블에 기초하여 상기 상호 참조 거리를 획득하는 과정 및 상기 고유 참조 카운트를 획득하는 과정을 수행하는, 스택 거리를 효율적으로 추정하는 전자장치.
  3. 제1항 또는 제2항에 있어서,
    상기 프로세서는,
    상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 고유 카운트 값을 증가시키는, 스택 거리를 효율적으로 추정하는 전자장치.
  4. 제3항에 있어서,
    상기 프로세서는,
    상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 추정 스택 거리를 0으로 설정하는, 스택 거리를 효율적으로 추정하는 전자장치.
  5. 제1항에 있어서,
    상기 상호 참조 거리는,
    상기 현재 액세스되는 오브젝트의 상기 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치.
  6. 제1항에 있어서,
    상기 고유 참조 카운트는,
    상기 현재 액세스되는 오브젝트의 상기 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치.
  7. 제1항에 있어서,
    상기 추정 스택 거리는 다음의 수학식에 기초하여 획득되는, 스택 거리를 효율적으로 추정하는 전자장치.
    Figure pat00031

    여기서,
    Figure pat00032
    는 상기 추정 스택 거리,
    Figure pat00033
    는 상기 상호 참조 거리,
    Figure pat00034
    는 상기 고유 참조 카운트임.
  8. 제1항에 있어서,
    상기 적어도 하나의 해시 테이블에 포함된 이전 인덱스 값은 상기 현재 인덱스 값으로 업데이트 되고,
    상기 적어도 하나의 해시 테이블에 포함된 이전 고유 인덱스 값은 상기 현재 고유 카운트 값으로 업데이트 되는, 스택 거리를 효율적으로 추정하는 전자장치.
  9. 제1항에 있어서,
    상기 액세스되는 오브젝트는 LBA(Logical Block Address)인, 스택 거리를 효율적으로 추정하는 전자장치.
  10. 제1항에 있어서,
    상기 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷(bucket)은,
    이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록하는, 스택 거리를 효율적으로 추정하는 전자장치.
  11. 스택 거리를 효율적으로 추정하는 전자장치의 동작방법에 있어서,
    액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정;
    상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정;
    상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
    Figure pat00035
    : Inter-reference distance)를 획득하는 과정;
    상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
    Figure pat00036
    : unique reference count)를 획득하는 과정; 및
    상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정;을 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  12. 제11항에 있어서,
    상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록된 경우, 상기 해시 테이블에 기초하여 상기 상호 참조 거리를 획득하는 과정 및 상기 고유 참조 카운트를 획득하는 과정;을 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  13. 제11항 또는 제12항에 있어서,
    상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 고유 카운트 값을 증가시키는 과정;을 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  14. 제13항에 있어서,
    상기 현재 액세스 되는 오브젝트가 상기 해시 테이블에 기록되지 않은 경우, 상기 추정 스택 거리를 0으로 설정하는 과정;을 더 포함하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  15. 제11항에 있어서,
    상기 상호 참조 거리는,
    상기 현재 액세스되는 오브젝트의 상기 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  16. 제11항에 있어서,
    상기 고유 참조 카운트는,
    상기 현재 액세스되는 오브젝트의 상기 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값의 차이 값인, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  17. 제11항에 있어서,
    상기 추정 스택 거리는 다음의 수학식에 기초하여 획득되는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
    Figure pat00037

    여기서,
    Figure pat00038
    는 상기 추정 스택 거리,
    Figure pat00039
    는 상기 상호 참조 거리,
    Figure pat00040
    는 상기 고유 참조 카운트임.
  18. 제11항에 있어서,
    상기 적어도 하나의 해시 테이블에 포함된 이전 인덱스 값은 상기 현재 인덱스 값으로 업데이트 되고,
    상기 적어도 하나의 해시 테이블에 포함된 이전 고유 인덱스 값은 상기 현재 고유 카운트 값으로 업데이트 되는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  19. 제11항에 있어서,
    상기 액세스되는 오브젝트는 LBA(Logical Block Address)인, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  20. 제11항에 있어서,
    상기 적어도 하나의 해시 테이블에 포함된 적어도 하나의 버킷(bucket)은,
    이전 인덱스 값, 이전 고유 인덱스 값 및 현재 액세스되는 오브젝트 값을 기록하는, 스택 거리를 효율적으로 추정하는 전자장치의 동작방법.
  21. 전자장치의 프로세서에 의해 실행되는 경우 상기 전자장치의 동작을 수행하도록 하는 컴퓨터 명령을 저장하는 비일시적 컴퓨터 판독 가능 매체에 있어서, 상기 동작은,
    액세스되는 오브젝트에 대한 인덱스 값, 상기 액세스되는 오브젝트에 대한 고유 인덱스 값 및 상기 액세스되는 오브젝트를 기록하는 적어도 하나의 해시 테이블을 저장하는 과정;
    상기 해시 테이블에 기초하여, 현재 액세스되는 오브젝트의 이전 인덱스 값 및 상기 현재 액세스되는 오브젝트의 이전 고유 카운트 값을 획득하는 과정;
    상기 현재 액세스되는 오브젝트의 현재 인덱스 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 인덱스 값에 기초하여, 상기 현재 액세스되는 오브젝트에 대한 상호 참조 거리(
    Figure pat00041
    : Inter-reference distance)를 획득하는 과정;
    상기 현재 액세스되는 오브젝트의 현재 고유 카운트 값 및 상기 현재 액세스되는 오브젝트의 상기 이전 고유 카운트 값에 기초하여, 고유 참조 카운트(
    Figure pat00042
    : unique reference count)를 획득하는 과정; 및
    상기 상호 참조 거리 및 상기 고유 참조 카운트에 기초하여 추정 스택 거리를 획득하는 과정;을 포함하는, 비일시적 컴퓨터 판독 가능 매체.
KR1020210047747A 2021-04-13 2021-04-13 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법 KR102491352B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210047747A KR102491352B1 (ko) 2021-04-13 2021-04-13 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210047747A KR102491352B1 (ko) 2021-04-13 2021-04-13 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법

Publications (2)

Publication Number Publication Date
KR20220141529A true KR20220141529A (ko) 2022-10-20
KR102491352B1 KR102491352B1 (ko) 2023-01-20

Family

ID=83805044

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210047747A KR102491352B1 (ko) 2021-04-13 2021-04-13 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법

Country Status (1)

Country Link
KR (1) KR102491352B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010014824A (ko) * 1999-04-30 2001-02-26 포만 제프리 엘 참조의 국한성에 대한 고효율의 동적 추적 방법 및 장치

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010014824A (ko) * 1999-04-30 2001-02-26 포만 제프리 엘 참조의 국한성에 대한 고효율의 동적 추적 방법 및 장치

Also Published As

Publication number Publication date
KR102491352B1 (ko) 2023-01-20

Similar Documents

Publication Publication Date Title
US11068409B2 (en) Method and system for user-space storage I/O stack with user-space flash translation layer
US8521986B2 (en) Allocating storage memory based on future file size or use estimates
US9582199B2 (en) Method and an apparatus for analyzing data to facilitate data allocation in a storage device
US8793427B2 (en) Remote memory for virtual machines
CN108984225A (zh) 快速启动寄宿应用的方法及设备
US8850148B2 (en) Data copy management for faster reads
JP2018537800A (ja) メモリアクセスコマンドの転送記述子
KR101996641B1 (ko) 메모리 오버레이 장치 및 방법
CN109416621B (zh) 利用支持共享对象的计算机存储系统来恢复非易失性存储中的空闲空间
CN115934002B (zh) 固态硬盘的访问方法、固态硬盘、存储系统及云服务器
KR102491352B1 (ko) 스택 거리를 효율적으로 추정하는 전자장치 및 이의 동작방법
US20140258347A1 (en) Grouping files for optimized file operations
CN110058938B (zh) 一种内存处理方法、装置、电子设备和可读介质
CN113590535B (zh) 一种用于去重存储系统的高效数据迁移方法和装置
CN113010113B (zh) 数据处理方法、装置及设备
CN115470190A (zh) 一种多存储池数据分类存储方法、系统与电子设备
US20220050614A1 (en) System and method for approximating replication completion time
US8838546B1 (en) Correcting accidental shortcut usage
CN111522939A (zh) 一种处理笔记的方法、装置、计算机存储介质及终端
KR20170072281A (ko) 사용자 액션에 응답하여 직접 조작의 가능화를 결정하는 히트-테스트
US20240012790A1 (en) Logical blocks analysis in an electronic file system volume
JP5708053B2 (ja) 情報処理装置、デフラグメンテーション方法、およびデフラグメンテーションプログラム
KR102562160B1 (ko) 인메모리를 이용한 가상 머신 시스템 및 그 동작 방법
CN111913650B (zh) 一种确定预测窗口期的方法及装置
JP2020098547A (ja) 情報処理装置、情報処理プログラムおよび情報処理システム

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant