디지털 라이브러리[ 검색결과 ]
읽기 버퍼를 이용한 단일읽기 페이지 버퍼 관리 기법 연구
http://doi.org/10.5626/JOK.2025.52.7.611
관계형 데이터베이스 시스템은 메모리에 페이지를 캐싱하여 저장장치로의 접근을 최소화하며트랜잭션 처리 성능을 극대화한다. 그러나 단 한 번만 참조된 뒤 희생되는 단일읽기 페이지는 더티 페이지의 강제 플러시를 유발하여 페이지 적중률을 떨어트린다. 특히, SSD를 주저장장치로 사용하는 경우, 읽기연산이 상대적으로 느린 쓰기 연산을 대기하는 I/O 직렬화 문제가 발생한다. 단일읽기 페이지가 유발하는I/O 직렬화와 단일읽기 페이지의 특징을 분석하고 읽기 버퍼를 활용하여 단일읽기 페이지를 분리하는 새로운 버퍼 관리 기법을 제안한다. TPC-C 벤치마크 수행 결과, 단일읽기 페이지로 인해 희생된 더티 페이지가 전체 플러시의 약 8.9%를 차지한 것을 확인했다. 또한 단일읽기 페이지를 읽기 버퍼로 분리함으로써I/O 직렬화를 유발하는 싱글 페이지 플러시를 56% 줄이고, 일반 버퍼에서의 페이지 미스율을 32% 감소시켜, 초당 처리한 트랜잭션 수를 8% 증가시켰다.
SSD 입출력 요청 스트림들의 QoS 지원을 위한 플래시 연산 그룹 스케줄링
최근에 서버 시스템에서 SSD(Solid-State Drive)가 고성능 저장장치 및 캐시로서 많이 사용됨에 따라 다양한 서버 응용들의 입출력 요청 스트림들을 위해 SSD 수준에서 서비스 품질(Quality-of-Service)를 제공할 수 있는지에 대한 관심이 높아지고 있다. 현재까지 대부분의 SSD는 SATA 버스 상에서 AHCI 컨트롤러를 사용해왔기 때문에 각 입출력 스트림을 SSD 내부에서 구별하여 서비스할 수가 없었다. 그러나, 최근에 새로운 SSD 인터페이스로서 PCI Express 버스 상에서 NVME 컨트롤러가 제안됨에 따라 각 입출력 스트림을 SSD 내부에서 구별할 수 있게 되었고, 이에 따라 입출력 요청들을 스케줄링할 수 있게 되었다. 본 논문은 NVME 기반 플래시 저장 장치를 위한 플래시 연산 그룹 스케줄링(Flash Operation Group Scheduling)을 제안하고, 가중치에 따라 입출력 스트림별로 비례 지분 대역폭을 제공할 수 있음을 QEMU 기반 시뮬레이션을 통해 보인다.