SSD 장치 내 NCQ 를 활용한 쓰기 버퍼 관리 기법 정보과학논문지 – 2014.8 Sang-Bok, Heo.

Slides:



Advertisements
Similar presentations
1 08 시스템 구성도 고려사항 * 웹 서버 클러스터 구성  클러스터 구축은 ㈜ 클루닉스의 Encluster 로 구축 (KT 인증,IT 인증 획득, 실제 클러스터 구축 사이트 200 여곳 )  웹 서버 클러스터는 Dynamic, Static, Image.
Advertisements

영화 예매 시스템 - 많이 봤다이가 ? CSE Corp. PM 송진희 김성욱 김보람 천창영.
1)RACK 2)UPS 3)P D U 장치 4)Server Group 5)KVM Switch 7)UPS 를 위한 HUB 6) RACK Monitor.
Issues in Flash Memory. Contents  Flash Memory 개요  FTL (Flash Translation Layer)  S/W 연구분야의 이슈.
SSD 에서의 TRIM 명령어 처리 성능 분석 및 Ext4 파일 시스템으로의 적용 한국정보과학회지 – Heo, Sang-Bok.
Mobile 모바일 싱크 기반 무선 센서 네트워크 류재희, 이호성, 김소영.
Flash SSD 강원대학교 `01 최경집.
2010 – 06 – 24 주간 보고서.
재료수치해석 HW # 박재혁.
네트워크 기술을 통한 현재와 미래 소개.
제14장 동적 메모리.
1. Windows Server 2003의 역사 개인용 Windows의 발전 과정
Windows Server 장. Windows Server 2008 개요.
연결리스트(linked list).
Windows Server 장. 사고를 대비한 데이터 백업.
전자기적인 Impedance, 유전율, 유전 손실
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
제 14장 Multicast & Broadcast
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
뇌를 자극하는 Windows Server 장. Windows Server 2008 개요.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
TCP/IP Socket Programming…
보조저장장치 구조(Secondary Storage Structure)
뇌를 자극하는 Windows Server 장. 장애 조치 클러스터.
Grade Server Team14. Attention Seeker
자바 5.0 프로그래밍.
플랫폼의 개념 클럭, 버스, 대역폭의 의미 64비트 PC
UNIT 07 Memory Map 로봇 SW 교육원 조용수.
메모리 관리 & 동적 할당.
뇌를 자극하는 Windows Server 2012 R2
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MCL을 이용한 이동로봇 위치추정의 구현 ( Mobile robot localization using monte carlo localization ) 한양대학교 전자전기전공 이용학.
뇌를 자극하는 Windows Server 장. 원격 접속 서버.
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
USN(Ubiquitous Sensor Network)
DK-128 실습 내부 EEPROM 제어 아이티즌 기술연구소 김태성 연구원
ARM Development Suite v1.2
UNIT 25 SPI 로봇 SW 교육원 조용수.
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
ATmega128의 특징 아이티즌 기술연구소
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Canary value 스택 가드(Stack Guard).
Teaming pms.
4장 가상 기억장치 관리 4.1 가상 기억 장치의 개요 4.2 주소사상 기법 4.3 블록 사상(block mapping)
단축키 기능 1. 단축키 기능 설명 Alt + R 조회 S 저장 I 삽입 A 추가 D 삭제 P 출력 Q 닫기
클러스터 시스템에서 효과적인 미디어 트랜스코딩 부하분산 정책
소리 편집 안 재 형.
AT MEGA 128 기초와 응용 I 기본적인 구조.
UNIT 25 SPI 로봇 SW 교육원 조용수.
멀티미디어시스템 제 5 장. 멀티미디어 데이터베이스 개념 IT응용시스템공학과 김 형 진 교수.
5.2.3 교환방식의 비교 학습내용 교환방식의 비교.
System Security Operating System.
9 브라우저 객체 모델.
프로그래밍 언어 학습을 위한 가상실습환경 창원대학교 이수현.
제 4 장 Record.
In-house Consultant Training
소리가 작으면 이어폰 사용 권장!.
1. 지역변수와 전역변수 2. auto, register 3. static,extern 4. 도움말 사용법
Completion Port기반의 채팅프로그램
Team Project no.1 Airport Simulation 예쁜 훈쌤 김영훈 이준영 황정아.
 6장. SQL 쿼리.
CODE INJECTION 시스템B 김한슬.
버스와 메모리 전송 버스 시스템 레지스터와 레지스터들 사이의 정보 전송을 위한 경로
7 생성자 함수.
ARP.
소리가 작으면 이어폰 사용 권장!.
LEON3 DBT 엔진을 이용한 ERC32 기반의 하이퍼바이저 프로토 타입 개발
Presentation transcript:

SSD 장치 내 NCQ 를 활용한 쓰기 버퍼 관리 기법 정보과학논문지 – Sang-Bok, Heo

2 Contents SSD 특징 관련연구 NCQ 를 활용한 버퍼 관리 기법 실험 결과 Criticism

3 SSD 특징 SSD 의 장단점 장점 : 낮은 데이터 접근 시간, 저전력, 무소음 단점 : 읽기 연산에 비해 상대적으로 느린 쓰기 연산, 제한된 삭제 연산 횟수 쓰기버퍼 활용 NAND 플래시 메모리에 실제로 쓰여지는 데이터양을 줄임으로써 쓰기 성능을 향상 및 SSD 의 수명 개선 일반적으로 공간이 제한되어 있음 - 효율적인 버퍼관리 기법 필요 - 관련연구 : 입출력 워크로드의 지역성과 NAND 플래시 메모리의 일부 특성만 고려함 SSD 내에 존재하는 NCQ 를 활용하는 버퍼 관리 기법을 제안

4 SSD 특징 NCQ(Native Command Queue) 큐에 보관된 명령들로부터 미래 참조 패턴 정보를 얻고 이를 버퍼 관리 정책에 활용 SATA 인터페이스를 사용하는 디스크에서 입출력 명령을 쌓아두고 스케줄링을 통해 입출력 처리 시간을 개선하기 위한 기법 SSD 에서도 여러 개의 입출력 명령들을 동시에 처리함으로써 호스트에서 느끼는 지연시간을 줄이기 위한 목적으로 활용

5 관련연구 버퍼 관리 기법 연구 워크로드 특성만을 고려하는 기법 - LRU(Least Recently Used), LFU(Least Frequently Used) 플래시 메모리의 특성만을 고려하는 기법 - FAB : 희생 블록으로 선정된 논리 블록의 모든 페이지를 한번에 교체 - BPLRU : LRU 기반으로 희생 블록을 선정 두 가지를 혼용하는 기법 - CLC : FAB + BPLRU - BPAC : 재참조율이 높은 데이터 리스트와 낮은 데이터 리스트를 분리 - ExLRU : FAB + BPLRU 과거 참조 패턴 정보와 SSD 내 아키텍쳐 중 일부분만을 고려하고 있는 한계를 가지고 있음 - NCQ 내의 정보를 활용한 연구는 전무

6 관련연구 SSD 내에서의 NCQ 큐 길이 (queue length) 에 따라 데이터의 동시처리가 가능하기 때문에 NCQ 지원여부에 따라 30% 이상의 성능차 - KingSpec, “How to obtain maximum performance from your SSD”, Company news, 표준화 규격 NCQ 최대 큐 길이는 32 큐 길이가 길수록 최대에 가까운 대역폭을 사용하게 됨

7 NCQ 를 활용한 버퍼 관리 기법 NCQ 에 보관 중인 명령의 양칸큼 미래 참조 패턴 정보를 획득 명령이 필요로 하는 데이터가 버퍼에 존재할 경우, 해당 데이터가 사용될 때까지 버퍼에서 교체되지 않도록 별도 관리 - Miss 가 발생하는 상황을 차단 LRU 기법에 적용하여 구현하였으며 QLRU(NCQ-aware LRU) 라고 함

8 NCQ 를 활용한 버퍼 관리 기법 QLRU NCQ 에 도착한 명령이 요구하는 데이터가 버퍼에 존재할 경우, 해당 데이터를 MRU 로 이동 가상 MRU 로 이동된 데이터는 해당 명령이 디스 패치 되기전 최대한 오랜 시간동안 버퍼 내에 유지 오버헤드가 적고, 추가적인 공간을 요구하지 않음 - 단순한 포인터 이동으로 구현

9 NCQ 를 활용한 버퍼 관리 기법 QLRU 와 LRU 비교

10 실험 실험환경 FTL 은 페이지 단위 주소 매핑을 사용 NAND 플래시 메모리와 버퍼는 비어 있는 환경 쓰기 명령만 사용하여 성능 측정 버퍼의 크기는 32MB ~ 512MB NCQ 의 최대 큐 길이는 32 ~ 512 개

11 실험 Iometer benchmark 각각의 워크로드를 수집 쓰기 명령 전달 시 운영체제의 버퍼 캐시를 거치지 않음

12 실험 버퍼 크기 및 최대 큐 길이에 따른 효과

13 실험 요청시간 간격에 따른 효과

14 실험 요청시간 간격에 따른 효과

15 실험 실제 워크로드 실험 OLTP 지역성은 높은 편이지만 요청 크기가 작음에 따라 NCQ 가 보유 할 수 있는 정보의 양이 매우 적음 Kernel compile 워크로드는 지역성은 낮지만 각 요청 크기가 상대적으로 커서 NCQ 보다 많은 정보를 보유 할 수 있었기 때문 NCQ 가 보유 할 수 있는 정보가 너무 적고, 히트율이 너무 낮으면 성능 향상을 기대하기 힘듦 LRUQLRU OLTP60.3%60.4% Kernel compile7.5%8.6%

16 결론 NCQ 를 고려한 쓰기 버퍼 관리 기법을 제안 과거 / 미래의 참조 패턴 정보로 버퍼의 히트율을 향상 LRQ 보다 QLRU 가 대부분의 환경에서 더 높은 성능 과거 / 미래의 참조 패턴 정보로 버퍼의 히트율을 향상 실제 워크로드에 낮은 성능 OLTP 및 kernel compile 성능향상 폭이 매우 낮음 지역성, 입출력 크기, 입출력 명령의 요청의 빈도와 수에 따른 제한적 환경 엔터프라이즈 급 시스템에 대한 연구 진행 다양한 버퍼 관리 기법과 함께 동작

17 Criticism

18 Criticism 실제 워크로드에 낮은 성능 히트 율 최대 7.3 상승 성능향상은 미약 할 듯