• Title/Summary/Keyword: 페이지 캐시

Search Result 61, Processing Time 0.036 seconds

Improved Cache-hot Page Allocation Technique for Reducing Page Initialization Latency of Linux Based Systems (리눅스 기반 시스템의 페이지 초기화 지연 단축을 위한 향상된 캐시-핫 페이지 할당 기법)

  • Yang, Seokwoo;Noh, Sunhyeon;Hong, Seongsoo
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2019.01a
    • /
    • pp.415-418
    • /
    • 2019
  • 최근 사용자 대화형(user-interactive) 응용들은 OS에게 많은 양의 메모리를 빈번하게 요구한다는 특징을 보인다. 응용의 메모리 할당 요청이 발생하면 OS는 할당할 페이지의 초기화 작업을 필수적으로 수행하는데, 빈번하게 발생하는 페이지 초기화 작업이 응용의 성능을 저하시키고 있다. 기존 리눅스 기반 시스템은 페이지 초기화 지연을 단축하기 위해 CPU의 캐시에 매핑되어 있어서 초기 값을 빠르게 쓸 수 있는 페이지인 캐시-핫(cache-hot) 페이지를 우선적으로 할당한다. 하지만 기존 리눅스는 각 코어별로 캐시-핫 페이지를 인식하고 관리하며, 다른 코어가 관리하는 캐시-핫 페이지에는 접근할 수 없다. 이러한 정책 때문에 다른 코어가 공유 캐시(shared cache)에 매핑된 캐시-핫 페이지를 관리하고 있더라도, 이를 할당받지 못하고 캐시-콜드(cache-cold) 페이지를 할당받는 경우가 발생한다. 본 논문에서는 공유 캐시에 매핑된 것으로 추정되는 캐시-핫 페이지를 별도로 인식하고 공유 캐시에 매핑된 것으로 추정되는 캐시-핫 페이지를 모든 코어가 활용할 수 있게 하여, 응용이 캐시-핫 페이지를 할당받을 확률을 기존 기법보다 높이는 향상된 캐시-핫 페이지 할당 기법을 제안한다. 제안된 기법은 페이지 할당 요청이 발생하면 먼저 각 코어의 사유 캐시에 매핑된 것으로 추정되는 캐시-핫 페이지를 우선적으로 할당하고, 할당에 실패하면 공유 캐시에 매핑된 것으로 추정되는 캐시-핫 페이지를 할당한다. 이를 통해 캐시-핫 페이지를 할당받을 확률을 기존 기법보다 높이고, 결과적으로 평균 페이지 초기화 지연을 단축한다. 제안된 기법을 리눅스 커널 4.18.10버전 기반 환경에서 구현하여 실험한 결과, 평균 페이지 초기화 지연이 기존 리눅스 시스템과 비교하여 약 7% 단축되었다.

  • PDF

A Scalable Cache Group Configuration Policy using Role-Partitioned Cache (캐시의 역할 구분을 이용한 확장성이 있는 캐시 그룹 구성 정칙)

  • 현진일;장태무
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2001.10c
    • /
    • pp.28-30
    • /
    • 2001
  • 동적 캐시 그룹 구성 정책으로 중첩된 그룹 캐시 구조가 제시되면서 중첩 캐시의 운영 방안에 대한 연구가 필요하게 되었다. 그 기반 연구로 계층 캐시의 효율적 캐시 분배 정책을 그대로 살리되 중첩 그룹 캐시를 이용하는 방안으로 그룹 내 멀티캐스팅 페이지 분배 정책이 제시되고 있다. 그러나 그룹내의 모든 캐시에 해당 페이지를 분배하는 방안은 불필요한 저장 공간 낭비를 가져올 뿐 아니라 그룹 내 통신량 증가라는 문제점을 내포하고 있다. 따라서 본 논문에서는 그룹 내 캐시의 역할을 두 개의 기능으로 나누어 보다 효율적 페이지 분배와 그룹 유지 운영 방안을 제시하려 한다. 또한 중첩 그룹 캐시에서 제기되는 요청 진행 방향 문제에 대한 해결 방안으로 그를 아이디를 활용한 진행 방향 테이블 운영 방안을 제시하려 한다.

  • PDF

Performance Comparison between Hardware & Software Cache Partitioning Techniques (하드웨어 캐시 파티셔닝과 소프트웨어 캐시 파티셔닝의 성능 비교)

  • Park, JiWoong;Yeom, HeonYoung;Eom, Hyeonsang
    • Journal of KIISE
    • /
    • v.42 no.2
    • /
    • pp.177-182
    • /
    • 2015
  • The era of multi-core processors has begun since the limit of the clock speed has been reached. These days, multi-core technology is used not only in desktops, servers, and table PCs, but also in smartphones. In this architecture, there is always interference between processes, because of the sharing of system resources. To address this problem, cache partitioning is used, which can be roughly divided into two types: software and hardware cache partitioning. When it comes to dynamic cache partitioning, hardware cache partitioning is superior to software cache partitioning, because it needs no page copy. In this paper, we compare the effectiveness of hardware and software cache partitioning on the AMD Opteron 6282 SE, which is the only commodity processor providing hardware cache partitioning, to see whether this technique can be effectively deployed in dynamic environments.

Optimizing Both Cache and Disk Performance of R-Trees (R-Tree를 위한 캐시와 디스크 성능 최적화)

  • 박명선;이석호
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2003.04a
    • /
    • pp.749-751
    • /
    • 2003
  • R-Tree는 일반적으로 트리 노드의 크기를 디스크 페이지의 크기와 같게 함으로써 I/O 성능에 최적이 되도록 구현한다. 최근에는 CPU 캐시 성능을 최적화하는 R-Tree의 변형이 개발되었다. 이는 노드의 크기를 캐시 라인 크기의 수 배로 하고 MBR에 저장되는 키를 압축하여 노드 하나에 더 많은 엔트리를 저장함으로써 가능하였다. 그러나, 디스크 최적 R-Tree와 CPU 캐시 최적 R-Tree의 노드 크기 사이에는 수십-수백 바이트와 수-수십 킬로바이트라는 큰 차이가 있으므로, 디스크 최적 R-Tree는 캐시 성능이 나쁘고, CPU 캐시 최적 H-Tree는 나쁜 디스크 성능을 보이는 문제점을 가지고 있다. 이 논문에서는 CPU 캐시와 디스크에 모두 최적인 R-Tree. TR-Tree를 제안한다. 먼저, 디스크 페이지 안에 들어가는 페이지 내부 트리의 높이와 단말, 중간 노드의 크기를 결정하는 방법을 제시한다. 그리고, 이틀 이용하여 TR-Tree의 검색 연산에 필요한 캐시 미스 수를 최소화였고. TR-Tree의 검색 성능을 최적화하였다. 또한, 디스크 I/O 성능을 최적화하기 위해 메모리 노드들을 디스크 페이지에 잘 맞게 배치하였다. 여기에서 구현한 TR-Tree는 디스크 최적 R-Tree보다 삽입 연산에서 6에서 28배 정도 빨랐으며, 검색 연산에서는 1.28배에서 2배의 성능 향상을 보였다.

  • PDF

Cost-Aware Cache Algorithm for Dynamic XIP (eXecute In Place) (동적 XIP(eXecute In Place)를 위한 비용 인식 캐시 알고리즘 설계)

  • Dohun Kim;Chanik Park
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2008.11a
    • /
    • pp.820-823
    • /
    • 2008
  • 본 논문은 기존의 XIP 기법에서 발생할 수 있는 메모리 접근 성능저하를 해결하기 위한 동적 XIP 기법을 제안하였다. 동적 XIP 기법은 상대적으로 성능저하가 적을 것으로 예상되는 코드 페이지들을 동적으로 선택하여 XIP 영역으로 설정하고, 성능저하가 크게 나타날 것으로 예상되는 코드 페이지들을 램 캐시에 캐싱하여 성능을 향상시킨다. 본 논문은 램 캐시를 관리하기 위해 MIN 캐시 알고리즘 및 메모리 접근 비용을 고려한 오프라인 캐시 알고리즘과, 페이지 접근에 대한 최신성(Recency) 및 슬라이딩 윈도우에 저장된 페이지 접근 기록에 기반하여 메모리 접근 비용을 예측하는 온라인 캐시 알고리즘, 온라인 캐시 알고리즘의 램 캐싱 판단의 정확성을 높이는 기법을 제안하였다. 본 논문은 온·오프라인 알고리즘의 성능비교를 위해 시뮬레이터를 통해 성능을 평가하였고, 유용성을 시험하기 위해 온라인 알고리즘을 리눅스를 기반으로 구현하여 성능을 평가하였다. 본 논문에서 제안한 동적 XIP는 실제 구현한 환경에서 실험한 결과, 작은 크기의 캐시를 사용하고도 수행시간에서는 최대 27%, 에너지 소모량에서는 최대 24%의 성능이 향상됨을 보였다.

A Enhanced Set-Associative Page Cache Scheme using Pollute Buffer (오염 버퍼를 적용한 집합 연상 페이지 캐시 기법)

  • An, Deukhyeon;Kim, Jeehong;Eom, Young Ik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2012.11a
    • /
    • pp.241-242
    • /
    • 2012
  • 큰 데이터 트래픽을 일으키는 I/O 작업을 수행할 경우에 많은 디스크 접근과 데이터 처리가 발생하며 이는 컴퓨팅 성능의 하락을 일으킨다. 이를 위해 메모리와 디스크 사이에 버퍼 역할을 하는 페이지 캐시 기법이 사용된다. 그러나 LRU 를 사용하는 페이지 캐시의 특성상, 많은 양의 데이터가 한번만 접근되고 다시 사용되지 않는다면 성능상의 큰 효과가 없다. 본 논문에서는 집합 연상 페이지 캐시에 오염 버퍼를 둠으로써, 재사용되지 못하고 페이지 캐시의 크기만 커지는 현상을 최소화시켜 I/O 성능을 개선시킬 수 있는 방법을 제안한다.

An Efficient Management Scheme for Page Cache in Linux (리눅스 페이지 캐시에 대한 효율적인 관리 기법)

  • 이명진;차현욱;이수인;이은규;김명철
    • Proceedings of the Korean Information Science Society Conference
    • /
    • 2000.10c
    • /
    • pp.97-99
    • /
    • 2000
  • 운영체제의 성능을 향상시키기 위해서는 효율적인 메모리 관리가 필수적이다. 시스템에서는 존재하는 크기의 메모리보다 더 큰 크기의 메모리 공간을 요구하는 경우가 빈번히 발생한다. 이 문제를 극복하기 위해서 운영체제에서는 가상 메모리(virtual memory)를 사용한다. 리눅스 가상 메모리 지원 방식에는 요구 페이징(demand paging), 스왑핑(swapping), 공유 가상 메모리(shared virtual memory)가 있다. 이런 방식을 효율적으로 지원하기 위해서 리눅스는 캐시를 사용한다. 본 논문에서는 페이지 해시 리스트에서 페이지를 찾는 알고리즘을 수정하여 새로운 페이지 캐시 관리 기법을 제안한다. 이 방법은 탐색한 페이지를 해시 리스트의 헤드(head)로 옮김으로써 다음 탐색 때 그 페이지를 찾는데 필요한 탐색 회수를 줄일 수 있다는 장점을 갖는다. 또한 다른 프로세스에 의해서 동시에 많이 참조되는 페이지들은 탐색시간이 줄어들게 된다. 시뮬레이션 프로그램을 통해 본 논문에서 제안한 수정된 페이지 캐시 관리 기법을 이용하면, 기존의 방법에 비해서 페이지를 찾는데 필요한 탐색 회수와 탐색 시간의 측면에서 성능이 향상됨을 보인다.

  • PDF

User Interactivity Improving Mechanism in Linux-based Systems by Using Page Zeroing with DMA (DMA를 사용한 페이지 Zeroing을 통한 Linux 기반 시스템의 사용자 응답성 향상 기법)

  • Yang, Seok-Woo;Kim, Jung-Ho
    • Proceedings of the Korean Society of Computer Information Conference
    • /
    • 2018.07a
    • /
    • pp.351-354
    • /
    • 2018
  • 데스크탑과 모바일 기기가 고성능화됨에 따라 다양한 분야에서 고사양 응용들이 출시되고 있다. 이러한 응용들의 응답성은 사용자 경험을 결정하는 중요한 요소들 중 하나이다. 측정에 따르면 고사양 응용들 중 하나인 웹 브라우저의 응답시간에서 페이지 zeroing에 소요되는 시간이 적지 않은 비중을 차지한다. 또한 페이지 zeroing이 발생시키는 캐시 오염에 의해 추가적인 성능저하가 발생한다. 본 논문은 페이지 zeroing에 소요되는 시간을 단축하고, zeroing에 의한 캐시 오염으로 인해 발생하는 시스템의 성능저하를 방지하기 위한 기법을 제안한다. 제안된 기법은 사용자 응답시간이 아닌 구간에서 페이지들을 DMA를 사용하여 캐시를 거치지 않고 zeroing하여 보관해 두었다가 페이지 할당 요청시 선 zeroing 된 페이지들을 응용에게 제공한다. 이를 Linux 커널 4.17이 탑재된 데스크탑 환경에서 구현하였고 실험을 통해 확인한 결과 응답시간이 평균 20% 단축됨을 확인하였다.

  • PDF

Analysis and Advice on Cache Algorithms of SSD FTL (SSD FTL 캐시 알고리즘 분석 및 제언)

  • Hyung Bong, Lee;Tae Yun, Chung
    • KIPS Transactions on Computer and Communication Systems
    • /
    • v.12 no.1
    • /
    • pp.1-8
    • /
    • 2023
  • It is impossible to overwrite on an already allocated page in SSDs, so whenever a write operation occurs a page replacement with a clean page is required. To resolve this problem, SSDs have an internal flash translation layer called FTL that maps logical pages managed by a file system of operating system to currently allocated physical pages. SSD pages discarded due to write operations must be recycled through initialization, but since the number of initialization times is limited the FTL provides a caching function to reduce the number of writes in addition to the page mapping function, which is a core function. In this study, we focus on the FTL cache methodologies reducing the number of page writes and analyze the related algorithms, and propose a write-only cache strategy. As a result of experimenting with the write-only cache using a simulator, it showed an improvement of up to 29%.

MFU-based Page Coloring Scheme through Application Code Profiles (실행 코드 영역 프로파일링을 통한 MFU 기반 페이지 컬러링 기법)

  • Kim, Jung-Hoon;Kim, In-Hyuk;Eom, Young-Ik
    • Proceedings of the Korea Information Processing Society Conference
    • /
    • 2011.04a
    • /
    • pp.246-249
    • /
    • 2011
  • 페이징을 이용한 가상 메모리 환경에서는 프로세스가 사용하는 가상 페이지가 임의의 물리 페이지로 매핑이 되므로 캐시 인덱스 충돌로 인한 캐시 미스율이 증가한다. 이를 하드웨어의 지원 없이 해결하기 위해 페이지 컬러링 기술은 처음 연구되기 시작하였고, 지금까지도 꾸준히 연구되고 있다. 이러한 페이지 컬러링 기술은 컬러링 정책을 먼저 정해놓고 컬러링을 하는 정적 페이지 컬러링, 그리고 동적프로파일링을 통해 프로세스의 데이터 영역 접근 패턴을 파악하고 이를 통해 실시간 컬러링을 하는 동적 페이지 컬러링으로 나눌 수 있다. 하지만 두 가지 방법 모두 다음과 같은 단점이 존재한다. 먼저 정적 페이지 컬러링은 프로세스의 동작을 프로파일링 할 수 없기 때문에 컬러링으로 인한 효율을 극대화시킬 수 없고, 동적 페이지 컬러링은 동적 프로파일링을 하고 이를 통해 재컬러링(recoloring) 하는 오버헤드가 존재한다. 이러한 문제를 해결하기 위해서, 본 논문에서는 실행 코드 영역 프로파일링을 통한 MFU(Most Frequently Used) 기반 페이지 컬러링 기법을 제안한다. 이 기법은 동적으로 프로세스 코드 영역을 프로파일링 하여 실행 점유율이 높은 영역을 알아낸 뒤, 이를 기반으로 정적 페이지 컬러링을 하는 방식이다. 따라서 본 논문에서 제안한 기법은 기존의 기법들이 가진 단점을 해결하고, 캐시 성능을 향상시킬 것으로 기대된다.