검색 : [ author: Yongju Song ] (4)

키-밸류 스토어에서의 고성능 I/O 처리를 위한 리눅스 I/O 인터페이스 분석

송용주, 엄영익

http://doi.org/10.5626/JOK.2021.48.12.1274

최근 고성능 스토리지를 활용하기 위한 다양한 I/O 인터페이스가 연구되어 왔으며, 특히, 비동기 I/O 인터페이스가 주목을 받고 있다. 하지만 이는 동기 I/O 인터페이스보다 상대적으로 응답시간 높고 CPU 자원을 더 많이 사용한다는 단점이 있다. 본 논문에서는 각 I/O 인터페이스의 특성을 분석하고, 이를 키-밸류 스토어에 적용하여 어플리케이션 계층에서의 성능 양상에 대해 살펴본다. 실험 결과, 비동기적 I/O 인터페이스는 동기적 I/O 인터페이스보다 2.73배 더 많은 CPU 자원을 사용하지만, batching I/O 크기에 따라 최대 2.42배 높은 IOPS를 보여주었다. 더불어 키-밸류 스토어에서의 실험 결과, 읽기 위주의 워크로드에서 비동기적 I/O 인터페이스를 사용한 경우, 동기적 I/O 인터페이스를 사용한 경우 대비 최대 6.60배 높은 처리량과 61.09% 낮은 응답시간을 보이는 것을 확인하였다.

CPU 사용량을 고려한 고성능 저장장치 기반 가상화 시스템의 I/O 완료 처리 기법

이혜지, 이태형, 이민호, 송용주, 엄영익

http://doi.org/10.5626/JOK.2019.46.7.612

최근 Samsung Z-SSD 및 Intel Optane SSD와 같은 고성능 저장장치의 등장으로 인해 시스템의 I/O 성능 오버헤드가 저장장치에서 소프트웨어 I/O 계층으로 이동하였다. 이로 인해 하이퍼바이저 및 운영체제는 고성능 저장장치의 성능을 최대한 활용하기 위해 I/O 완료 처리 기법 중 하나인 폴링 방식의 효용성을 주목하고 있으며, 하이브리드 폴링(Hybrid Polling) 및 적응형 폴링(Adaptive Polling)과 같은 새로운 기법들을 적용하여 사용하고 있다. 본 논문은 QEMU-KVM 하이퍼바이저에서 제공하는 적응형 폴링 방식의 문제점을 설명한 뒤, 고성능 저장장치의 응답 시간을 최대한으로 활용하면서 CPU 사용량을 감소시키는 새로운 I/O 완료 처리 기법을 제안한다. 실험 결과, 제안된 기법은 64KB 이하 크기의 I/O 요청에 대해 기존 기법 대비 최대 5.3% 지연된 응답 시간을 보여주지만, CPU 사용량은 최대 39.7% 감소한 것을 확인할 수 있다.

InnoDB 기반 DBMS에서 다중 버퍼 풀 오버헤드 분석

송용주, 이민호, 엄영익

http://doi.org/

대규모 웹 서비스의 등장으로 데이터의 규모가 점차 증가하는 추세이다. 이러한 대규모 데이터를 효율적으로 관리하기 위해 MySQL과 MariaDB와 같은 DBMS가 주로 사용되고 있으며, 이들은 데이터 관리를 위한 스토리지 엔진으로 InnoDB를 주로 사용한다. InnoDB는 ACID를 보장할 뿐만 아니라 대규모 데이터 처리에 적합하다는 장점이 있기 때문이다. InnoDB의 경우, I/O 성능 향상을 위해 버퍼 풀을 통해 데이터와 인덱스를 캐싱하며 락 경쟁(lock contention)을 줄이기 위해 다중 버퍼 풀을 지원한다. 그러나 다중 버퍼 풀 기법은 데이터 일관성 오버헤드를 증가시킨다. 본 논문에서는 다중 버퍼 풀 기법의 오버헤드를 분석한다. 실험 결과, 다중 버퍼 풀 기법을 사용함에 따라 락 경쟁이 최대 46.3%까지 완화되었지만 디스크 I/O와 fsync 명령이 증가하면서 DBMS의 처리량이 50.6%까지 떨어지는 현상을 확인하였다.

시스템 환경이 Filebench 벤치마크에 미치는 영향 분석

송용주, 김정훈, 강동현, 이민호, 엄영익

http://doi.org/

최근 낸드 플래시 메모리가 널리 보급됨에 따라 기존 파일 시스템의 한계를 보완하고 낸드 플래시 메모리의 장점을 활용하기 위한 파일 시스템 연구가 활발히 진행되고 있다. 이렇게 제안된 파일 시스템들에 대해서는, 일반적으로 벤치마크를 통해 성능 측정이 이루어진다. 서버나 모바일 환경에서 실제 시스템의 성능 측정이 어려울 경우, 벤치마크는 측정하고자 하는 실제 시스템에 대한 직접적인 성능 측정 대신 워크로드를 통해 재현된 환경에서 소프트웨어적 성능 측정을 가능하게 한다. 이 때, 성능 측정 환경이 실제 시스템이 아니기 때문에 측정하는 시스템 환경에 따라서 일정하지 않은 성능 측정 결과를 보인다. 이에 본 논문에서는 파일 시스템의 성능을 측정하는데 흔히 사용되는 벤치마크 중에서 Filebench를 이용하여 여러 가지 시스템 환경에 따른 성능 측정 결과를 살펴보고 측정 결과의 변동이 생기는 원인을 알아본다. 실험 결과, 캐시 내부에 벤치마크 I/O 외의 성능 측정에 불필요한 I/O가 많이 발생할수록 벤치마크의 성능 측정 결과가 떨어지는 것을 확인하였다. 또한 fsync 동작이 포함된 백그라운드 I/O를 동작시키는 경우에는 최대 98.2%의 성능 저하가 발생하는 것을 확인하였다.


Search




Journal of KIISE

  • ISSN : 2383-630X(Print)
  • ISSN : 2383-6296(Electronic)
  • KCI Accredited Journal

사무국

  • Tel. +82-2-588-9240
  • Fax. +82-2-521-1352
  • E-mail. chwoo@kiise.or.kr