디지털 라이브러리[ 검색결과 ]
읽기 버퍼를 이용한 단일읽기 페이지 버퍼 관리 기법 연구
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%의 디스크 쓰기를 발생시키는 쓰기-웜 페이지의 존재를 확인하였다. 특히, 이는 읽기 대비 쓰기가 느린 플래시 저장장치에서 성능에 악영향을 미칠 수 있기 때문에, 이를 검출하고, 스레싱을 방지하는 새로운 버퍼 관리 정책을 필요로 한다.
트랜스포머 기반 시계열 데이터 분류작업을 위한 GASF와 CNN을 사용한 CLS 토큰 추가 임베딩 방법
http://doi.org/10.5626/JOK.2023.50.7.573
시계열 데이터란 일정한 시간 동안 수집된 일련의 순차적으로 정해진 데이터 셋의 집합을 의미하며 예측, 분류, 이상치 탐지 등에 활용되고 있다. 기존 시계열 분야는 순환신경망으로 구성된 모델을 주로 활용하여 분석하였지만, 최근 트랜스포머의 개발로 인하여 연구 추세가 변화하고 있다. 하지만 트랜스포머는 시계열 데이터 예측에는 좋은 성능을 보이지만, 분류 작업에는 상대적으로 부족한 성능을 보인다. 본 논문에서는 시계열 데이터를 트랜스포머에 입력으로 활용하기 위해 그라미안 각도 합산 필드와 컨볼루션 신경망을 사용하여 생성한 분류 토큰을 추가하는 임베딩 방식을 제안하며, 사전 학습 기법을 활용하여 성능을 향상시킴을 보인다. 제안하는 모델 성능을 비교하기 위하여 12개의 서로 다른 모델들과 평균 정확도를 기준으로 성능 평가를 진행하였으며, 제안하는 모델은 다른 모델에 비해 최소 1.4% 최대 21.1%까지 성능 향상을 보인다.
멀티테넌트 환경에서 SSD 내부 채널 간섭 완화를 위한 데이터베이스 튜닝 기법
http://doi.org/10.5626/JOK.2022.49.5.388
멀티테넌트 환경에서 다수의 테넌트들은 단일 SSD를 저장장치로 공유한다. IO의 특성이 상이한 멀티테넌트는 SSD 내부 채널 수준의 간섭이 발생한다. 본 논문에서는 SSD 내부 채널 수준의 병렬성을 충분히 활용하기 위한 두 가지 튜닝 기법인 페이지 크기 정렬 기법과 Readahead 크기 증가 기법을 제안하고, 도커 컨테이너 기반 환경에서 Linkbench와 TPC-H를 동시 수행하여 트랜잭션 처리량 및 응답(수행)시간 성능을 평가한다. 성능평가 결과, 페이지 크기 정렬 기법은 SSD 내부에서 불필요한 데이터 패딩/분할 작업의 오버헤드를 줄이고, IO 요청의 불필요한 채널점유를 방지하기 때문에 내부 간섭을 완화시켜, Linkbench와 TPC-H 모두 성능이 향상되었다. 하지만, Readahead 크기 증가 기법은 순차 읽기 요청의 SSD 내부 채널 점유율을 높여, Linkbench의 비교적 작은 크기의 임의 IO 요청에 의한 간섭을 줄이기 때문에, TPC-H의 성능만 향상되었다.
압축 기반 파일 시스템 데이터 일관성 유지 기법
http://doi.org/10.5626/JOK.2019.46.9.885
데이터 일관성 메커니즘은 시스템 오류 및 정전으로 인해 데이터가 손상되지 않도록 방지하기 위한 파일 시스템의 중요한 컴포넌트이다. 그러나, Ext4 파일 시스템의 기본 저널 모드는 성능상의 이유로 일반 데이터를 제외한 메타 데이터에 대한 일관성만을 보장한다. 즉, 기본 저널 모드는 파일 시스템의 전체 데이터에 대한 일관성을 완벽하게 보장하지 않는다. 이에, 본 논문에서는 파일 시스템의 데이터 일관성을 완벽하게 보장하면서 Ext4의 기본 저널 모드에 비해 향상되거나 유사한 성능을 제공하는 새로운 데이터 일관성 유지 기법을 제안한다. 제안 기법은 압축을 통해서 저널 영역에 요청되는 쓰기 요청의 양을 감소시키고 fsync() 시스템 콜 호출 횟수를 반으로 감소시킨다. 제안 기법을 평가하기 위해, 우리는 jbd2의 일부 코드를 수정하였으며, SSD와 HDD 환경에서 제안 기법의 성능을 Ext4의 두가지 저널 모드와 비교하였다. 실험 결과, 제안 기법이 기본 저널 모드 대비 최대 8.3배 시스템의 성능을 향상시킨다는 사실을 확인하였다.
MySQL InnoDB엔진의 Secondary Index Scan을 위한 Prefetch 기능 구현
플래시 SSD는 기존 하드디스크에 비해 높은 에너지 효율성, 외부 충격에 강한 내구성, 높은 입출력 처리량 등 여러 장점을 지니고 있다. 따라서 3D-NAND 및 V-NAND 등 단위 용량 당 비용을 획기적으로 개선하는 최신 기술의 등장과 맞물려서, 플래시 SSD가 많은 영역에서 하드디스크를 급격하게 대체하고 있다. 하지만, 주로 하드디스크를 가정하고 개발된 기존 데이터베이스 엔진은 플래시 SSD의 특성 (예를 들어, 내부 병렬성)을 제대로 활용하지 못하고 있다. 본 논문에서는, 더 빠른 질의 처리를 위해 플래시 SSD에 내재한 내부 병렬성을 활용하는 방법으로, MySQL InnoDB엔진에서 보조 인덱스(Secondary Index)를 이용한 스캔을 위해 비 동기적 입출력을 활용한 Prefetch 기능을 구현하였다. Prefetching을 사용한 스캔 기법은, 기존 InnoDB엔진의 보조 인덱스 스캔과 비교해서, 데이터 페이지 크기가 16KB일 경우, 약 3배 이상, 데이터 페이지 크기가 4KB일 경우, 약 4.2배 이상 성능 향상을 보인다.
매개변수 환경설정에 따른 타조의 외부합병정렬 성능 연구
거대한 데이터로부터 가치 있는 정보를 추출해 내는 빅데이터 기술의 필요성은 나날이 커지고 있다. 빅데이터 분석을 위해 사용되는 하둡 시스템은 맵리듀스를 통해 데이터를 처리하였으나, 맵리듀스 프레임워크는 코드 재사용성의 한계, 질의 최적화 기술의 부재 등의 단점을 보인다. 이를 극복하기 위해 SQL-on-Hadoop이라 불리는 하둡 기반의 SQL 질의 처리 기술이 주목받고 있다. SQL-on-Hadoop 기술중 타조(Tajo)는 국내 개발진이 주축이 되어 개발되었다. 타조는 데이터 분석을 위해 외부합병정렬 알고리즘을 사용하며, 정렬 연산에 영향을 주는 매개변수로 정렬 버퍼 사이즈와 팬-아웃을 가진다. 본 논문은 타조의 정렬 연산에 영향을 미치는 매개변수인 정렬 버퍼 사이즈와 팬-아웃 값에 따른 정렬의 성능 차이를 보인다. 또한 측정한 성능에 대하여 정렬 버퍼 사이즈가 증가함에 따른 CPU 캐시 미스의 비율 증가, 팬-아웃에 따른 합병 단계 수의 변화가 성능 차이의 원인임을 보인다.
비휘발성 캐시를 사용하는 플래시 메모리 SSD의 데이터베이스 로깅 성능 분석
데이터베이스 시스템에서, 트랜잭션이 수행한 변경 사항은 커밋 전 2차 저장장치에 보존되어야 한다. 일반적 2차 저장장치는 비휘발성 미디어의 처리 지연을 보완하기 위해 휘발성 DRAM 캐시를 가지고 있다. 그러나 휘발성 DRAM에만 쓰여지는 로그들은 영구성을 보장할 수 없으므로, DRAM 캐시에서 저장매체로 로그를 쓰는 지연 시간을 감출 수 없다. 최근 이러한 단점 극복을 목적으로 DRAM 캐시에 커패시터를 장착한 플래시 SSD가 등장하였다. 이러한 비휘발성 캐시를 가지는 저장 장치는 DRAM 캐시에 로그를 쓰고 즉시 커밋 가능하므로, 커밋 대기를 줄이고 트랜잭션 처리량을 증가시킬 것이다. 본 논문은 커패시터 백업 캐시를 사용한 SSD를 로그 저장소로 사용한 경우 데이터베이스의 트랜잭션 처리 성능에 대해 실험 및 분석 한다. 로그를 낸드 플래시에 저장하지 않고 DRAM 캐시에 저장한 직후 커밋 함으로써, 3배 이상의 처리량 향상이 가능하다. 또한 적절한 튜닝을 거친 후 이상적 로그 성능의 73% 이상을 보인다.