디지털 라이브러리[ 검색결과 ]
읽기 버퍼를 이용한 단일읽기 페이지 버퍼 관리 기법 연구
http://doi.org/10.5626/JOK.2025.52.7.611
관계형 데이터베이스 시스템은 메모리에 페이지를 캐싱하여 저장장치로의 접근을 최소화하며트랜잭션 처리 성능을 극대화한다. 그러나 단 한 번만 참조된 뒤 희생되는 단일읽기 페이지는 더티 페이지의 강제 플러시를 유발하여 페이지 적중률을 떨어트린다. 특히, SSD를 주저장장치로 사용하는 경우, 읽기연산이 상대적으로 느린 쓰기 연산을 대기하는 I/O 직렬화 문제가 발생한다. 단일읽기 페이지가 유발하는I/O 직렬화와 단일읽기 페이지의 특징을 분석하고 읽기 버퍼를 활용하여 단일읽기 페이지를 분리하는 새로운 버퍼 관리 기법을 제안한다. TPC-C 벤치마크 수행 결과, 단일읽기 페이지로 인해 희생된 더티 페이지가 전체 플러시의 약 8.9%를 차지한 것을 확인했다. 또한 단일읽기 페이지를 읽기 버퍼로 분리함으로써I/O 직렬화를 유발하는 싱글 페이지 플러시를 56% 줄이고, 일반 버퍼에서의 페이지 미스율을 32% 감소시켜, 초당 처리한 트랜잭션 수를 8% 증가시켰다.
신용카드 거래 데이터를 활용한 BiLSTM-GAT 기반 매출 예측 모델 연구
http://doi.org/10.5626/JOK.2024.51.9.807
신용카드 거래데이터를 통한 매출 예측은 소비자 구매 패턴 및 시장 동향을 파악하는데 중요한 역할을 한다. 그러나 기존의 통계 및 기계 학습 모델은 지리적 데이터와 서비스 업종, 인구 및 거래시 간의 매출 정보 등 다양한 특성 간의 관계와 시간적 특성을 분석하는데 한계가 있다. 본 논문에서는 상권 간의 특성에 따른 관계와 매출의 시계열 특성을 동시에 분석할 수 있는 두 가지 모델을 제안한다. 제안된 두 모델의 성능을 비교 분석하기 위해 상권 간 거리 및 특성별 매출 유사도를 기반으로 그래프를 구성하 였다. 이후, 제안 모델의 성능을 기존 시계열 모델인 LSTM 및 BiLSTM과 비교하였다. 실험 결과, RMSE를 기준으로 GAT-BiLSTM 모델은 BiLSTM 모델 대비 약 15%, BiLSTM-GAT 모델은 BiLSTM 모델 대비 약 29% 예측 정확도가 향상되었다.
SSD의 수명 및 성능 향상을 위한 F2FS 파일 시스템의 DISCARD 명령어 관리 기법
http://doi.org/10.5626/JOK.2024.51.8.669
DISCARD 명령어는 유효하지 않는 파일 시스템의 블록 정보를 SSD에 전달함으로써 SSD의 수명과 성능을 향상시키는데 도움이 되는 인터페이스이다. 그러나, F2FS 파일 시스템에서 DISCARD 명 령어는 유휴 시간에만 처리되기 때문에 수명과 성능의 향상에 한계를 보인다. 본 논문에서는 짧은 유휴 시 간에 DISCARD 명령어를 효율적으로 처리하기 위한 EPD 기법과 DISCARD 명령어를 덮어쓰기 명령으 로 대체하기 위한 세그먼트 할당 기법인 PSA기법을 제안한다. 제안 기법의 효과를 평가하기 위해 다양한 워크로드를 기반으로 실험을 진행하였으며 실제 SSD에서의 수명과 성능을 확인하였다. 그 결과, 제안 기 법이 기존 F2FS 대비 Write Amplification Factor (WAF)를 최대 40%, 처리량을 최대 160% 향상시킬 수 있음을 확인하였다.
Scudo 메모리 할당자의 메모리 사용 효율성 분석
http://doi.org/10.5626/JOK.2023.50.2.103
모바일 시스템에서는 다양한 어플리케이션이 제한된 메모리 용량을 공유하기 때문에 메모리 사용량을 최적화하는 것이 중요하다. 안드로이드의 기본 메모리 할당자인 Scudo는 힙-메모리 관련 취약점 완화와 메모리 할당 성능 최적화를 고려하려 설계되었지만, 메모리 사용량 측면의 비효율성이 존재한다. 본 논문에서는 Scudo의 구조와 동작 방식을 기반으로 두 가지 문제에 대해 분석한다. 첫 번째로 고정 개수의 로컬캐시의 할당으로 인한 문제를 분석하며, 이후 두 번째로는 비효율적인 프리 청크 관리 정책으로 인해 발생하는 페이지 내부 단편화 문제에 대해 분석한다. 분석 결과, 안드로이드의 고정 개수의 로컬캐시로 인해 어플리케이션의 특징에 따라 성능 측면의 오버헤드 및 메모리 낭비가 발생함을 확인하였으며, 지속적인 메모리 할당 및 해제가 반복되는 경우 사이즈 클래스에 따라 메모리의 90% 이상이 해제된 경우에도 페이지의 내부 단편화 문제로 인해 페이지 회수가 진행되지 않는 문제를 확인하였다.
F2FS 멀티-헤드 로깅을 이용한 효율적인 RocksDB 레벨링 기법
http://doi.org/10.5626/JOK.2022.49.8.655
RocksDB는 대표적인 LSM-tree 기반 키-밸류 스토어로, 고성능 데이터베이스 시스템에서 활발히 활용되고 있다. 그러나 이러한 데이터베이스 시스템들은 장기적으로 실행되고 스토리지에 자주 쓰기를 하는 특성을 가지므로 파일 시스템을 고려한 설계 없이는 파일 시스템 단편화를 야기할 수 있다. 또한, RocksDB에 포함된 성능 향상 기능들은 파일 시스템 단편화를 가속하여 SSD 같은 플래시 메모리 스토리지의 장기적 성능에 악영향을 끼칠 수 있다. 이에 본 논문에서는 F2FS 파일 시스템에서 RocksDB 활용에 의한 파일 단편화 문제에 대해서 분석하고, 이를 해결하기 위한 F2FS 멀티-헤드 로깅을 활용한 새로운 RocksDB 레벨링 기법을 제안한다. SSD를 활용한 실험 결과, 본 논문의 제안 기법으로 기존 F2FS 파일 시스템 대비 7% 처리량 향상 및 18% 꼬리 응답 시간 감소, 그리고 EXT4 파일 시스템 대비 56% 처리량 증가 및 19% 꼬리 응답 시간 감소를 확인하였다.
고해상도 표적 신호 검출을 위한 레이다 신호처리기
http://doi.org/10.5626/JOK.2022.49.5.369
최근 다기능 레이다의 기술이 발전함에 따라 탄도탄의 레이다 기만 기술도 발전하고 있다. 일부 탄도탄은 단 분리 후 추진체가 공중 폭파하여 탄두와 다수의 파편이 함께 날아오며 이는 다기능레이다의 탄도탄 교전 능력을 저하시킨다. 따라서 기존의 표적 탐지/추적 기능을 보유하면서, 나아가 고속으로 날아오는 탄두와 파편을 빠른 시간 내에 구분하여 탄두를 요격하기 위해 광대역 파형을 운용할 수 있는 레이다 시스템이 요구된다. 광대역 파형을 이용해 표적의 길이를 추출하고 이를 이용해 탄두 분류를 수행함으로써 파편들 사이에서 탄두를 찾아서 요격할 수 있다. 본 논문에서는 이러한 요구사항들을 만족하는 레이다 시스템을 만들기 위해 도플러 처리, 펄스 압축, 임계 처리, 표적 형성 처리 등 협대역 파형을 이용한 표적의 탐지/추적 기능과 광대역 파형을 이용한 고해상도 표적 길이 추출과 정확한 표적 길이 추출을 위한 위상 왜곡 보정을 수행하는 과정 등을 서술한다. 또한 이러한 기능들을 신호처리기 소프트웨어로 설계 및 구현하고 시험을 수행한 결과를 보인다.
NUMA 아키텍처 기반 PM 자료구조를 고려한 노드 리플리케이션 설계
http://doi.org/10.5626/JOK.2022.49.1.8
최근 영속 메모리와 NUMA 기술의 발전으로 빅데이터, 머신 러닝 등의 응용에서 넓은 저장 공간과 높은 성능을 제공할 수 있게 되었다. 이와 같은 다중 노드 PM 환경은 모든 소프트웨어 스택의 핵심 기술 중의 하나인 자료구조의 변화를 요구한다. 그러나 PM의 중요한 특성인 비휘발성을 보장하는 것에서 더 나아가 NUMA 아키텍처가 지닌 높은 동시성을 끌어내는 것은 PM 자료구조 연구에서 어려운 문제이다. 이에 본 논문에서는 대표적인 NUMA 알고리즘인 노드 리플리케이션을 확장한 NRPM을 제안한다. 이는 공유 로그, 플랫 컴바이닝 기법을 응용하여 다중 노드 PM 환경에서 동시 실행 성능을 개선함으로써 NUMA-PM 환경에서 최대 5배 높은 hash 성능을 도출하였다. 또한, NUMA-PM의 특성을 반영한 다양한 성능 분석을 통해 제안 기술의 타당성을 확인하였다.
키-밸류 스토어에서의 고성능 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% 낮은 응답시간을 보이는 것을 확인하였다.
RocksDB의 컬럼 패밀리 간 성능간섭 현상 분석
http://doi.org/10.5626/JOK.2021.48.7.835
대표적인 LSM-tree 기반 키-밸류 스토어인 RocksDB는 클라이언트가 데이터의 특성에 따라 키-밸류들을 분류할 수 있도록 컬럼 패밀리 기능을 제공한다. 각 컬럼 패밀리는 독립적인 쓰기 버퍼를 가지고 분류된 키-밸류들을 관리하지만 데이터 일관성을 위해 WAL 파일은 공유한다. 하지만, 이러한 WAL 파일을 공유하는 구조는 컬럼 패밀리 간의 성능간섭을 유발하여 RocksDB의 쓰기 성능을 저하시킬 수 있다. 본 논문에서는 컬럼 패밀리 간 성능간섭으로 인한 RocksDB의 성능 저하 원인을 분석한다. 이를 위해 WAL 파일의 크기와 컬럼 패밀리의 수에 따른 RocksDB의 쓰기 성능을 측정하고 그 결과를 분석하였다. 실험 결과를 보면 RocksDB에서 구성된 컬럼 패밀리의 수와 WAL 파일의 크기에 따라 쓰기 성능이 최대 57.08%까지 감소하는 것을 확인할 수 있다.
비휘발성 메모리에서 쓰기 증폭 감소를 위한 분산 스토리지 시스템
http://doi.org/10.5626/JOK.2020.47.2.129
최근 3DXpoint 로 대표되는 비휘발성 메모리가 등장하면서 분산 스토리지 환경에서도 이를 활용하기 위한 연구가 새롭게 주목받고 있다. 이러한 차세대 비휘발성 메모리를 분산 스토리지 시스템에서 효과적으로 활용하기 위해서는 HDD/SSD를 고려하여 개발된 기존 스토리지 시스템 구조의 개선이 필요하다. 무엇보다도 기존 분산 스토리지 시스템 구조는 느린 스토리지 성능을 보완하기 위해서 별도의 저널영역을 사용하는데, 이러한 구조는 DRAM과 유사한 비휘발성 메모리 성능을 고려할 때 효과적이지 않으며 또한 쓰기 증폭 문제를 야기한다. 이에 본 논문에서는 비휘발성 메모리 기반의 분산 스토리지 환경에서의 쓰기 증폭 문제를 개선하는 아키텍처를 제안한다. 본 구조의 검증을 위해서 CEPH 스토리지 시스템 환경에서 실험을 진행하였으며, 이를 통해서 제안하는 DAXNJ 구조가 1M 오브젝트 쓰기에서 쓰기 증폭을 약 61% 줄이고 성능을 15% 개선하는 결과를 확인하였다.