• 제목/요약/키워드: 워크로드

검색결과 132건 처리시간 0.019초

비휘발성 메모리 저장장치를 위한 영속적 페이지 테이블 및 파일시스템 저널링 기법 (Persistent Page Table and File System Journaling Scheme for NVM Storage)

  • 안재형;현철승;이동희
    • 전기전자학회논문지
    • /
    • 제23권1호
    • /
    • pp.80-90
    • /
    • 2019
  • 최근에 소개된 비휘발성 메모리(Non-Volatile Memory)를 저장장치로 사용하는 경우에도 데이터를 접근하기 위해서는 페이지 테이블이 구축되어야 한다. 이 점에 착안하여 본 논문에서는 페이지 테이블 자체를 비휘발성 메모리에 유지하는 영속적 페이지 테이블 (Persistent Page Table) 기법을 설계한다. 실제 페이지 테이블의 구조는 프로세서마다 다르다. 또한 비휘발성 메모리의 물리주소와 가상주소는 종종 저장장치가 시스템에 연결되기 전까지 알 수 없기 때문에 연결 시점까지는 실제로 동작하는 페이지 테이블을 만들 수 없다. 따라서 영속적 페이지 테이블은 주소와 시스템으로부터 독립적인 구조를 가져야 하며, 저장장치가 동작하는 시점에 영속적 페이지 테이블을 기반으로 시스템 종속적인 페이지 테이블이 생성되어야 한다. 또한 영속적 페이지 테이블 엔트리는 원자적으로 변경되어야 하며, 본 논문에서는 이러한 영속적 페이지 테이블의 설계에 대해 설명한다. 다음으로 파일시스템이 영속적 페이지 테이블이 제공하는 교환 연산을 활용하여 저널링 오버헤드를 감소시킬 수 있음을 보인다. 교환 연산을 활용하도록 Linux Ext4 파일시스템을 변경하였으며, Filebench 워크로드를 이용한 성능 측정 결과를 보면 영속적 페이지 테이블과 교환 연산은 파일시스템의 성능을 최대 60% 향상시킨다.

키-값 저장소를 위한 효율적인 로그 처리 기법 설계 및 평가 (Design and Evaluation of an Efficient Flushing Scheme for key-value Store)

  • 한혁
    • 한국콘텐츠학회논문지
    • /
    • 제19권5호
    • /
    • pp.187-193
    • /
    • 2019
  • 키-값 스토리지 엔진은 소셜 네트워크, 온라인 전자 상거래 환경 및 클라우드 서비스를 포함한 많은 컴퓨팅 환경에서 점점 더 수요가 증가하고 있는 필수적인 구성 요소다. 최근 키-값 스토리지 엔진은 트랜잭션, 버전관리 및 복제를 비롯한 많은 기능을 제공한다. 키-값 스토리지 엔진에서 트랜잭션 처리는 로그 선행 기입을 사용하여 원자성을 제공하며, 동기식 커밋 방식에서는 트랜잭션이 완료되기 전에 로그 데이터를 플러시한다. 그러나 로그 선행 기입에서 로그 데이터를 저장 장치로 플러시하는 것은 다양한 최적화 기법이 제안되었음에도 불구하고 여전히 fsync() 호출에 큰 오버헤드가 존재하고 있기 때문에 키-값 스토리지 엔진의 성능 병목이다. 이 논문에서는 기존 플러싱 체계를 최적화하기 위해 그룹 동기화 기법을 제안하여 키-값 스토리지 엔진의 성능을 개선한다. 또한, fsync()를 수행하는 동안에 다른 트랜잭션을 수행하는 트랜잭션 스케줄링 기법을 제안한다. 이 체계는 기존 시스템이 제공하는 동일한 트랜잭션 수준을 지원하면서 fsync() 호출의 수를 줄이는 효율적인 방법이다. 우리는 WiredTiger 스토리지 엔진에 제안하는 방법을 구현하였다. 실험 결과는 제안된 시스템이 기존 시스템에 비해 키-값 워크로드의 성능을 향상시킨다는 것을 보여준다.