디지털 라이브러리[ 검색결과 ]
읽기 버퍼를 이용한 단일읽기 페이지 버퍼 관리 기법 연구
http://doi.org/10.5626/JOK.2025.52.7.611
관계형 데이터베이스 시스템은 메모리에 페이지를 캐싱하여 저장장치로의 접근을 최소화하며트랜잭션 처리 성능을 극대화한다. 그러나 단 한 번만 참조된 뒤 희생되는 단일읽기 페이지는 더티 페이지의 강제 플러시를 유발하여 페이지 적중률을 떨어트린다. 특히, SSD를 주저장장치로 사용하는 경우, 읽기연산이 상대적으로 느린 쓰기 연산을 대기하는 I/O 직렬화 문제가 발생한다. 단일읽기 페이지가 유발하는I/O 직렬화와 단일읽기 페이지의 특징을 분석하고 읽기 버퍼를 활용하여 단일읽기 페이지를 분리하는 새로운 버퍼 관리 기법을 제안한다. TPC-C 벤치마크 수행 결과, 단일읽기 페이지로 인해 희생된 더티 페이지가 전체 플러시의 약 8.9%를 차지한 것을 확인했다. 또한 단일읽기 페이지를 읽기 버퍼로 분리함으로써I/O 직렬화를 유발하는 싱글 페이지 플러시를 56% 줄이고, 일반 버퍼에서의 페이지 미스율을 32% 감소시켜, 초당 처리한 트랜잭션 수를 8% 증가시켰다.
OLTP 워크로드에서 쓰기-웜 페이지에 대한 고찰
http://doi.org/10.5626/JOK.2023.50.11.1002
버퍼 교체 정책의 중요한 목적 중 하나는 버퍼 풀에 자주 접근되는 데이터를 캐싱하여 디스크 I/O를 최소화하는 것이다. 그러나, 버퍼 풀에 참조 빈도가 높은 페이지들이 효과적으로 저장됨에도 불구하고, 적은 양의 페이지들에 의해 과도하게 많은 디스크 I/O가 발생할 수 있다. 이는 버퍼 풀에서 페이지가 축출될 때, 상대적으로 참조 빈도가 높은 쓰기-웜 페이지(Write-Warm Page)가 쫓겨나 해당 페이지에 대한 버퍼 풀 반입과 반출 과정이 반복되기 때문이다. 본 논문에서는 이러한 현상을 "웜 페이지 스레싱((Write-)Warm Page Thrashing)"이라고 정의하며, 디스크로 플러시 되는 페이지 중 10%에 해당하는 페이지들이 약 41%의 디스크 쓰기를 발생시키는 쓰기-웜 페이지의 존재를 확인하였다. 특히, 이는 읽기 대비 쓰기가 느린 플래시 저장장치에서 성능에 악영향을 미칠 수 있기 때문에, 이를 검출하고, 스레싱을 방지하는 새로운 버퍼 관리 정책을 필요로 한다.