디지털 라이브러리[ 검색결과 ]
오픈 채널 SSD에서 성능 간섭 제거를 위한 호스트 수준 I/O 스케줄러
http://doi.org/10.5626/JOK.2020.47.2.119
최근 솔리드 스테이트 드라이브(SSD)가 하드 디스크 드라이브(HDD)에 비해 높은 I/O 성능 및 낮은 에너지 소비를 제공함에 따라 여러 사용자가 자원을 공유하는 데이터센터 및 클라우드 컴퓨팅 환경에서 SSD의 사용이 확장되고 있다. 이러한 전환에 따라, 각 사용자에 서비스 품질(Quality of Service)을 보장하는 방법에 대한 연구가 활발히 이뤄지고 있다. 이전에 제안된 Workload-Aware Budget Compensation (WA-BC) 스케줄러는 NVMe SSD를 여러 가상머신이 공유하는 환경에서 각 가상머신의 QoS를 보장한다. 하지만 WA-BC 스케줄러는 가상머신별 워크로드 특징을 알아내기 위해 멀티 스트림 SSD를 부적절하게 사용한다는 점에서 취약하다. 우리는 이와 같은 취약점을 보완하여 오픈 채널 SSD를 여러 사용자가 공유하는 환경에서 사용자 간 성능 간섭을 제거하는 호스트 수준의 I/O 스케줄러를 제안한다. 제안된 스케줄러는 SSD 스트림을 사용자별로 할당하지 않고도 워크로드 특징을 I/O 요청의 연속성을 통해 파악한다. 이는 제안된 스케줄러가 호스트 수준의 스케줄러이나 오픈 채널 SSD의 특성을 활용하여 디바이스 내부의 정보를 스케줄링에 반영할 수 있기에 가능하다. 워크로드의 특성을 통해 SSD 내 I/O 간섭을 발생시키는 가비지 컬렉션에 대한 기여도를 파악하고, 기여도가 높은 사용자에 대해 처벌함으로써 우리는 스토리지 자원을 공유하는 여러 사용자 간에 발생하는 성능 간섭을 제거할 수 있음을 본 연구에서 보인다.
데이터베이스 시스템의 원자성 쓰기 보장을 위한 스토리지 I/O 서브시스템
최근 데이터베이스 관리 시스템에서는 이중 쓰기 버퍼 기법의 단점을 보완할 수 있는 원자성쓰기 기법이 제시되었다. 원자성 쓰기 기법을 지원하기 위해서는 파일시스템과 I/O 스케줄러 등의 I/O 서브시스템과 SSD의 원자성 쓰기의 보장이 필요하다. 본 연구에서는 MariaDB의 데이터 쓰기의 기본 단위를 사용하여, 쓰기 단위 연속 블록 할당 기법, 플래그 전달을 통한 I/O 명령 병합 방지 기법, 원자성 쓰기를 지원하는 SSD를 통해 MariaDB의 원자성 쓰기를 지원하는 연구를 진행하였다. Tpcc-mysql와 SysBench를 사용하여 MariaDB에 제안된 기법을 적용한 결과, 원자성 쓰기 기법의 성능을 평가한 결과, 데이터베이스의 처리량이 이중 쓰기 버퍼 기법을 사용한 MariaDB 대비 약 40%~50% 향상된 것을 확인하였다.