한국산학기술학회논문지 Vol. 11, No. 12, pp. 4997-5006, 2010
접수일 10년 01월 11일
수정일 (1차 10년 05월 11일, 2차 10년 09월 06일)
게재확정일 10년 12월 17일
4997
한국산학기술학회논문지 제11권 제12호, 2010
array of independent)[8,10]저장 시스템에는 10가지 이상
4998
고속 하이브리드 저장장치의 입출력 성능개선을 위한 헤테로-미러링 기법
4999
한국산학기술학회논문지 제11권 제12호, 2010
5000
고속 하이브리드 저장장치의 입출력 성능개선을 위한 헤테로-미러링 기법
Read
하드 디스크 기반 RAID-1(미러링) 기술은 안정성과 처리 RAID-0모드로
5001
한국산학기술학회논문지 제11권 제12호, 2010
료 메시지를 리턴 한다.
5002
고속 하이브리드 저장장치의 입출력 성능개선을 위한 헤테로-미러링 기법
1) 실험 시스템 구축
션을 생성하고, 이와 연관된 처리 시간과 성능을 측정하
5003
한국산학기술학회논문지 제11권 제12호, 2010
도 응답성능이 빠른데, 이는 전술한 데로, Hete-Mr는
5004
고속 하이브리드 저장장치의 입출력 성능개선을 위한 헤테로-미러링 기법
고속 하이브리드 저장장치의 입출력 성능개선을 위한 헤테로-미러링 기법
Siwoo Byun1*
Abstract
A flash-memory-based SSDs(Solid State Disks) are one of the best media to support portable and desktop computers' storage devices. Their features include non-volatility, low power consumption, and fast access time for read operations, which are sufficient to present flash memories as major database storage components for desktop and server computers. However, we need to improve traditional storage management schemes based on HDD(Hard Disk Drive) and RAID(Redundant array of independent disks) due to the relatively slow or freezing characteristics of write operations of SSDs, as compared to fast read operations. In order to achieve this goal, we propose a new storage management scheme called Hetero-Mirroring based on traditional HDD mirroring scheme. Hetero- Mirroring-based scheme improves RAID-1 operation performance by balancing write-workloads and delaying write operations to avoid SSD freezing. Our test results show that our scheme significantly reduces the write operation overheads and freezing overheads, and improves the performance of traditional SSD-RAID-1 scheme by 18 percent, and the response time of the scheme by 38 percent. Key Words : SSD, HDD, RAID, Flash Memory Storages, Mirroring
변시우 1* 1 안양대학교 디지털미디어공학과 A Hetero-Mirroring Scheme to Improve I/O Performance of High-Speed Hybrid Storage
1 Dept. of Digital Media, Anyang University 요 약 플래시 메모리 기반의 SSD 는 데스크톱 및 이동형 컴퓨터의 저장 장치를 지원하는 우수한 미디어이다 . 플래 시 메모리는 비휘발성 , 낮은 전력소모 , 빠른 데이터 읽기속도 등의 특징으로 데스크톱 및 서버용 데이터베이스의 핵 심 저장 요소가 되었다 . 하지만 , 빠른 읽기 연산에 비하여 상대적으로 느리거나 프리징이 있는 SSD 의 쓰기 연산 특 성을 고려하여 HDD 와 RAID 에 기반을 둔 기존의 전통적인 스토리지 관리 기법을 개선할 필요가 있다 . 이를 위하여 , 본 논문은 전통적인 HDD 미러링에 기반을 둔 헤테로 - 미러링이라는 새로운 저장 장치 관리 기법을 제안한다 . 헤테로 - 미러링 기반 기법은 SSD 에서 발생 가능한 프리징 현상을 피하기 위한 쓰기 - 부하 밸런싱과 쓰기 지연 연산을 통하 여 RAID-1 처리 성능을 개선한다 . 테스트 결과 제안한 기법은 쓰기 연산 부하와 프리징 부하를 크게 감소시키고 , 기 존의 SSD-RAID-1 기법의 성능을 18%, 응답 시간을 38% 개선함을 확인하였다 .
1. 서론 미디어이다. 그러나 최근 중대형 데이터 서버에서의 저장 시스템으로서 Solid State Drive(SSD)[1,2]가 주목 받기 하드 디스크(HDD: Hard Disk Drive)는 지난 30년 전 시작하였다. 부터 대부분의 데이터 서버에서 사용되는 절대적인 저장 이미 1990년대에 등장한 SSD는 하드 디스크에 비하 이 논문은 2010년 한국연구재단의 지원을 받아 수행된 기초연구사업 연구임(NRF-2010-0016705) * 교신저자 : 변시우(swbyun@anyang.ac.kr)
USB
15%정도의
SSD가
50%
20%
RAID 지로 SSD도 RAID 기술의 의 RAID 기술을 SSD에
1과 SSD이다.
여 많은 장점에도 불구하고, 그동안 가격 경쟁력이 매우 제품시장으로 나누어진다. 이러한 하드 디스크는 기계적 부족하여, 특수한 분야(군사, 항공, 우주, 선박 등)에서만 인 특성상 헤드의 이동 시간, 디스크 회전 지연시간 등의 주로 사용되었다. 그러나 최근에는 플래시 메모리[3]의 많은 오버헤드가 발생하므로, 향후 플래시 메모리 저장 급속한 가격 하락에 힘입어, 서버나 휴대용 노트북등 고 장치(SSD)로 대체될 수밖에 없다[9]. 급 제품을 중심으로 기업 및 일반 소비자 시장으로 확대 되고 있다. 2.2 최신 SSD의 특성 및 최근 기술 동향 특히 기존의 휴대용 저장장치의 용도를 뛰어넘 하드 디스크 저장 용량이 급속도로 증가하고는 있을 어 급속하게 하드디스크의 새로운 대체품으로 급부상하 지라도, 디스크의 기계적인 특성(헤드의 이동 시간, 디스 고 있다. 상대적으로 비교하자면, 용량과 가격측면에서는 크 회전 시간)에 의한 지연시간은 매년 미약 하드 디스크가 아직은 훨씬 더 우세하나, 접근 성능 및 한 수준으로 개선되고 있다. 반면에 플래시 메모리 처리 저전력성 측면에서는 절대적으로 우세하다[4]. 속도는 매년 정도의 빠른 속도로 발전되고 있다. 또한, 과거부터 하드 디스크 저장 시스템 업계에서는 이러한 기계적 특성에 따른 속도 차이에 의하여 하드 저장 성능과 응답 성능의 문제해결을 위하여 여러 개의 디스크는 점차로 한계 성능에 도달하게 된다. 또한, 이에 디스크를 연동한 기술을 사용하여 왔었다. 마찬가 따른 전력 소모가 평상시에도 전체 시스템 전력의 성능과 안정성을 모두 개선하기 위해서는 이 정도로 매우 큰 편이며, 사용 대기 중에도 전력이 계속 활용이 필요하다. 이러한 하드 디스크 기반 소모된다. 이에 대한 대안으로 최근에 주목받고 있는 저 그대로 적용해도 어느 정도의 성 장장치가 바로 그림 같이 플래시 메모리를 장착한 능 개선과 응답 성능 향상을 얻을 수 있다. 그러나 읽기 및 쓰기 성능이 대칭이 되는 하드디스크에 비하여, 쓰기 가 매우 느려서 비대칭인 하드디스크와 동일한 기 법으로 저장 및 검색하면 심각한 문제가 발생할 수 있다. 본 연구에서는 이러한 고속 대하여, 기존의 저 장 장치로서의 약점은 상호 보완하여, 입출력 성능을 극 대화할 수 있는 융합형 데이터 저장 기술인 헤테로-미러 링(Hetero-Mirroring) 기법을 제안한다. 본 기법은 신뢰성 측면에서 가장 중요한 레벨인 대한 응 [그림 1] 32GB 플래시 메모리가 내장된 SSD 답시간 및 처리 성능을 개선한다. 또한 정도의 휴대용 사용되던 플래 시 메모리가, 이제는 저용량 백업 장치의 용도를 뛰어넘 2. 기존 저장 장치 관련 기술 어, 기존의 노트북, 넷북, 운영 서버에 탑재된 데이터 저장장치(HDD)의 새로운 대체품(현재,256GB급) 2.1 기존 HDD의 특성 및 최근 기술 동향 으로 급부상하고 있다. 현재 가격과 기술적 측면을 볼 때, 현재의 모든 하드디스크[5]는 원판 회전형으로 분당 데이터베이스 스토리지에 적용하기는 어렵다. 특히, 속도 회전 속도로 기계적인 모터에 전력을 공급하여 스핀들을 가 중요하지 않은 배치 작업이나, 백업은 기존의 하드디 회전하여 데이터를 저장하는 방식이다. 하드디스크는 주 스크와 충분히 지원가능하다. 하지만, 높은 로 자성체로 코팅된 알루미늄 원판에 자료를 저장할 수 있 데이터베이스 성능과 랜덤 읽기 및 쓰기가 중요하다면 게 만든 데이터 저장장치로서 데이터를 저장하는 원반 모 좋으며, 특히, 높은 트랜잭션 처리, 순간적인 피크 양의 금속판 플래터(Platter), 플래터 위를 움직이며 데이터 로드가 걸리는 경우, 실시간 데이터베이스 등의 분야에서 를 기록, 수정, 삭제하는 헤드(Head), 플래터를 회전시키는 효과적이다 스핀들 모터(Spindle 등으로 구성되어 있다. 하드디스크는 크기와 용도에 따라 크게 2.3 HDD 기반의 RAID 저장 시스템 모바일용 치 데스크톱용 기업용 하드디스크 기존의 하드디스크를 기반으로 하는 RAID (redundant
SSD를 I/O SSD에 SSD의 RAID-1에 2GB~8GB USB에 UMPC나 SSD의 5400 RPM의 RAID기술로 SSD가 [6,7,9]. Motor) 2.5인치 이하 하드디스크 제품, 2.5인치 모바일용 제품, 3.5인 HDD제품, 2.5/3.5인치
의 변형된 형태가 있다. 그 중 잘 사용되는 주요 레벨은 다음과 같으며, SSD의 특징을 고려한 개선이 필요하다. ▖RAID-0: 스트라이프를 가지고는 있지만 데이터를 중복해서 기록하지 않는다. 따라서 가장 높은 읽기 및 쓰 기 성능을 기대할 수 있지만, 고장대비 능력이 전혀 없으 므로 이 방식은 진정한 RAID라고 하기 어렵다. ▖RAID-1: 흔히 디스크 미러링이라고도 하는데, 중복 저장된 데이터를 가진 적어도 두 개의 드라이브로 구성 된다. 각 드라이브를 동시에 읽을 수 있으므로 읽기 성능 은 향상된다. 쓰기 성능은 단일 디스크 드라이브의 경우 와 비슷하다. RAID-1은 다중 사용자 시스템에서 최고의 성능과 고장대비 능력을 발휘한다. ▖RAID-3: 이 형식은 스트라이프를 사용하며, 패리티 정보를 저장하기 위해 별도의 드라이브 한 개를 쓴다. 내 장된 ECC 정보가 에러를 감지하는데 사용된다. 데이터 복구는 다른 드라이브에 기록된 정보의 XOR를 계산하여 수행된다. 입출력 작업이 동시에 모든 드라이브에 대해 이루어지므로, RAID-3은 입출력을 겹치게 할 수 없다. 이런 이유로 대형 레코드가 많이 사용되는 업무에서 단 일 사용자시스템에 적합하다. ▖RAID-5: 회전식 패리티 어레이를 포함한다. 그러므 로 모든 읽기/쓰기 동작은 중첩될 수 있다. RAID-5는 패 리티 정보를 저장하지만 데이터를 중복저장하지는 않는 다. RAID-5는 보통 3~5개의 디스크를 어레이를 요구한다. 3. SSD의 성능 개선을 위한 헤테로-미 러링 저장 기법 3.1 SSD에 기존 RAID 기술의 적용 SSD 저장 시스템에 성능개선을 목적으로 기존의 RAID 기술을 적용시에는, 다음과 같이 SSD의 특징들을 고려하여 설계하면, 효율과 안정성을 향상시킬 수 있다. ▖RAID-0의 적용: SSD에서는 read에 비하여 write가 매우 느리므로, 이를 병렬로 분산 write를 수행하여야만, 전체적인 I/O의 밸런스가 이루어진다. 특히, write에 수반 되는 매우 느린 소거 연산이 수반될 경우, 병목현상이 자 주 발생한다. 따라서 SSD에서는 속도개선상 필요하다. ▖RAID-1의 적용: SSD에서는 특히 더 필요하다. SSD 는 저장 수명이 100만 번으로 제한되어 있으며, 제품의 보증수명도 10년으로 되어 있으므로, 장기간 사용할 경 우의 신뢰성을 보장할 수 없다. 따라서 미러링이 필수적 이며, 기존의 RAID 기법에서 SSD에 적합하도록 효율적 인 성능 개선이 필요하다. 가장 중요한 적용 기술이다.
▖RAID-3의 적용: 디스크가 파괴되면, 복구시 상당한 read/write 연산이 수행되게 된다. 이 경우 패리티 디스크 에서는 상당한 read가 발생하고, 복구 디스크에서는 상당 한 write가 발생하게 된다. 결국, 느린 write 속도로 인하 여 전체 복구가 더욱 느리게 진행된다. 따라서 패리티 디 스크를 별도로 두는 것은 SSD에서는 비효율적이다. 패리 티를 여러 SSD로 분산하면, 복구 속도를 높일 수 있다. ▖RAID-5의 적용: 패리티가 분산되어, 복구시 read 연 산이 분산되어 로드 밸런싱이 잘 된다. 다만, 읽기 연산은 SSD에서는 고속으로 수행되므로, 읽기 연산이 많은 데이 터 패턴의 경우나 파일 크기가 작은 경우는, 오히려 분산 된 다중 read가 더 느리고, 비효율적이다. 3.2 SSD의 불안정한 I/O 특성의 문제점 최근 급부상중인 SSD는 첨단 플래시 메모리를 사용하 기 때문에, 매우 빠르다고 알려져 있지만, 실제 사용해보 면 아직은 다음 문제점이 존재한다. [표 1] SSD 의 불안정한 I/O 특성 No 불안정한 I/O 특성 발생 현상 읽기/쓰기 속도의 읽기에 비하여 쓰기 1 비대칭성 속도가 너무 느림 파일시스템에 일정용량을 2 자료 누적에 의한 넘어서면 저장 성능이 성능 열화 떨어짐 저장부하가 급격히 3 저장연산 집중시의 높아지면,시스템 홀딩이 프리징 현상 수 초간 발생 1) 읽기/쓰기 속도의 비대칭성 문제 그림 2의 그래프를 보면, 윈도우 부팅시 1분3초인 일 반 하드 디스크보다 175% 속도가 향상되어 36초 만에 부 팅이 완료되고, PDF 문서 읽기를 수행하면 무려 3배 가 까운 속도의 향상이 나타난다고 한다. 실제 사용자가 직 접 테스트해보아도 상당히 빠른 접근 속도가 나타난다. 이렇게 높은 접근 성능의 이유는 SSD는 HDD의 기계 적 동작부분이 전혀 없기 때문이다. 그러나 대부분의 SSD의 실제 체감속도는 아주 고가의 SSD를 제외하면, 기대만큼 빠르지는 않다. 물론, 읽기 속도는 매우 개선되 어 충분한 속도감을 느낄 수 있다. 즉, 이것은 읽기 위주 의 부팅이나, 문서 로딩에 국한되는 것이다. 이러한 느린 체감 성능의 가장 큰 이유는, 일반 사용자 환경에서는 읽기만 하는 것이 아니고, 쓰기 연산도 병행 되기 때문이다. 따라서 쓰기 비중이 크다면 이전에 장착 된 하드 디스크와 비슷하거나 오히려 낮은 성능이 나타난
다. 즉, 사용자의 작업은 읽기와 쓰기 연산이 임의로 혼합 능이 서서히 떨어진다. 이러한 열화현상은 SSD뿐 아니라 되어 있으므로, 전체 성능에서는 불만족스럽게 나타난다. USB용 플래시 메모리에서도 나타난다. 실험결과 전체 SSD 영역에서 60%를 채우면 가비지콜렉션(Garbage Collection) 오버헤드가 10%증가하고, 90%정도를 채우면 오버헤드가 50%가 증가한다고 한다[11]. 이러한 읽기와 쓰기 속도의 체감 성능의 차이를 미리 확인하기 위하여, 일반적으로 많이 사용하는 SSD와 HDD를 비교 실험하였다[9]. 그 결과 그림 3과 같이 SSD 는 읽기 속도는 순차모드에서 약 2배, 랜덤 모드에서 4배 이상의 좋은 성과를 보인 반면, 쓰기 속도에서는 일반 파 일크기인 512K 랜덤 모드에서 오히려 하드 디스크 (35MB/s)보다 13%정도 더 나쁜 결과(31MB/s)를 보이는 문제가 발생하였다.
SSD는 SSD는 SSD에 overhead가 ‘freezing’이라고
4에 10KB~500KB 10KB 단위로 50개의 Time)을 측정한 96%이상이 500KB SRAM SSD에
[그림 2] 64GB-SSD 성능 자료 3) 저장연산 집중시의 프리징 현상 (2009, 모델 : MMDOE28G5MPP-OVA) 사용자의 저장 연산이 집중되는 경우, 평소속 도보다 수 배 이상의 느린 속도로 저장되는 현상이 발생 2) 자료 누적에 의한 성능 열화 한다. 물론 가끔씩 발생하지만, 하드 디스크에 비하여 더 데이터가 별로 없는 제품구입 초기에는 저장 빈번히 발생하고, 홀딩 시간도 훨씬 더 길다. 물론, 이러 속도가 빠르나, 이후에 점점 더 데이터가 많이 쌓여갈수 한 홀딩 현상은 읽기 연산에서는 거의 발생하지 않는다. 록 더 느려지는 성능 열화현상이 나타난다. 이는 그러나 큰 소프트웨어를 설치하거나 큰 콘텐츠를 복사 데이터가 일정용량이상 누적되게 되면, 느린 쓰기 특성과 하는 도중에 매우 심한 경우 수 초 씩 정지(흔히 프리징 관리 모듈의 급속히 증가하기 때문에 저장 성 함) 되는데, 이러한 체험 사례는 인터넷 에서도 여러 번 보고되어 있다. 본 연구에서도 이러한 프리징 현상을 확인하기 위하여 성능 실험을 하였다. 이러한 불안전한 응답성은, 그림 의 결과 그래프에서 확인 가능하다. 이 그래프는 까지 저장 스트림을 발생시켜서 응답시간(Response 결과이다. 파일 크기를 이 범위로 설정한 이유는, 일반적인 시스템 환경에서는 하루 동안 수정이나 읽기가 수행된 파일의 미만이기 때문이다. 실험결과 다수의 응답지연 피크가 발생하는데, 스트림-2의 경우처럼 한번 홀딩이 되면 연이어서 계속 프리징이 발생하기도 한다. 이러한 프리징의 이유는, 쓰기 연산의 집중으로 인하 여, 등의 버퍼가 포화되어, 더 이상 버퍼링하지 못 하고, 버퍼에서 밀려 있던 플래시 메모리의 소거 작업과 이에 수반되는 마모 평준화(웨어레벨링) 연산, 복사 오버 헤드, 느린 구동 모듈 등의 복합적인 요인 때문이다. 또 한, 데이터가 별로 없는 제품구입 초기 보다는, 데 이터가 점점 더 쌓여갈수록 저장 시스템 전체의 관리 오 버헤드와 가비지-콜렉션 오버헤드 등이 증가하여, 결국 [그림 3] HDD 와 SSD 의 성능 테스트 결과 프리징현상이 더 빈번해 진다. ( 상 :HDD, 하 :SSD, CrystalDiskMark2.1)
이질형 RAID SSD를 빠른 RAID에 read/write
SSD는 read/write I/O의 RAID SSD에 RAID는 (RAID-0,스트라이핑)하여 들어, HDD만으로 RAID기법을 HDD의 구성만 달라질 SSD의 5와
RAID-1 SSD의 HDD를 Mirroring)
SSD의
전술한 SSD 프리징 부하시의 SSD의 응답 HDD의 응답시간은 이동 등으로 HDD도 있는데, 이때는 SSD의 4장의 Read연산은 Write HDD)를 Write
성능에 일대 혁신을 이룬 상용화된 매우 중요한 기술이 다. 즉, 원래 기존 미러링의 목적이 동일한 매체를 동시에 복제하여 안정성을 높이는 것이라면, 헤테로 미러링은 좀 더 나아가서, 프리징의 충격까지 흡수시켜서 최종 성능까 지 높이는 새로운 기술의 핵심이다. 또한, 전술한 데로, 입출력을 위하여 기존 의 그대로 적용하게 되면, 많은 성능과 안정성에 심각한 문제가 발생하게 된다. 그 주요 원인은 처리 시간이 비슷한 하드 디스크에 비하여, 플래시 메모 [그림 4] 자체 테스트 결과 (SSD Write Stream) 리 처리 시간의 매우 차이가 나는 극심 한 비대칭적 구조를 가지고 있으므로, 밸런스가 제 3.3 헤테로-미러링 기법의 제안 대로 맞지 않기 때문이다. 어떤 시스템도 전체적인 밸런 일반적으로 기존 기술을 그대로 적용해 스가 맞아야만 제대로 성능을 발휘할 수 있는 것과 같은 도 어느 정도의 효과를 얻을 수 있다. 그러나 단일 매체 이치이다. 이러한 수배에 달하는 극심한 읽기/쓰기의 밸 로 구성된 아무리 그 구성 방법을 바꾸어도, 그 런스의 차이는 여러 개의 드라이브를 길게 일렬 연결 단일 매체의 자체의 본질적인 약점을 제대로 극복하기는 어느 정도 극복할 수 있다. 즉, 어렵다. 예를 혁신적인 일렬 배열 드라이브에 비례하여 성능은 점차 높아질 수 개발하더라도, 뿐, 본질적인 기계 있다. 이러한 이질형 상호-보완 미러링과 더불어, 밸런스 적인 약점은 그 속에 그대로 내재되어 있기 때문이다. 된 성능을 위하여 설계한 본 연구의 시스템 구성도는 그 경우도 마찬가지이다. 따라서 반드시 서로의 약점 림 같다. 을 보완해줄 성질이 다른 이질형(Heterogeneous)-RAID 기술이 필요하다. 즉, 한 매체의 약점이 다른 매체에서는 HDD-Striping(RAID-0) 강점인 반대 특성을 활용하여, 그 약점을 흡수해야 한다. 본 연구에서는 이러한 관점에서 기존의 기술 을 개선하고, 고속 검색용 약점을 보완하기 위하 New Hybrid HDD-수준 저장 연산 Optimizer 여, 대용량 융합하여, 전체적인 시너지 효과를 낼 Storage System 수 있는 새로운 헤테로 미러링(Hetero 기술을 쓰기 전략 제안 한다. 본 논문에서는 미러링된 스토리지 제어에서 읽기 전략 읽기 연산은 어느 한쪽의 빠른 드라이브를 통하여 수행 된다. 읽기 속도는 매우 빠르며 검색에서는 병목 SSD- 수준 저장 연산 Optimizer 현상 문제가 없으므로 간략히 서술하며, 본 논문의 이슈 Read Request 인 저장 즉 쓰기 연산에 대하여 설명하고자 한다. Fast-Read SSD-Striping(RAID-0) 헤테로 미러링 기법을 활용하면 현상을 감소시킬 수 있다. 즉, 일반 [그림 5] Hetero-RAID 기반 하이브리드 스토리지 시간이 피크치로 급상승할 때에도, 정상적인 경우가 많다. 반대로 헤드 먼저, 사용자나 응용프로그램의 입출력 요청이 데이터 피크치로 응답지연이 길어질 수 베이스 시스템에 접수되면, 중간의 파일 시스템 레이어를 응답시간은 정상적인 경우가 많다. 즉, 동일한 저장 연산 거쳐서 하부의 하이브리드 저장 저장 관리자로 전달된다. 을 수행하더라도 두 매체가 모두 비정상적으로 오랜 시 이 하이브리드 저장 관리자는 헤테로-레이드 저장 기능을 간이 지연된다거나, 프리징에 걸리는 경우는 없었다. 이 주관하여, 물리적 레이드 장치에 미러링된 입출력 요청으 는 성능 실험을 통해서도 알 수 있었다. 이러한 상 로 변환하여 전달하고, 추후 처리된 결과를 리턴한다. 호 보완적인 특징을 잘 활용하여, 특성이 상반된 이질형 사용자의 이를 통과한 후, 프리징 예방을 두 매체(SSD와 미러링하면, 어느 한 쪽 드라이 위하여 헤테로-미러링된 이중화 연산으로 변환된다. 브의 급격한 응답지연을 충분히 흡수할 수 있다. 기존의 또한, 사용자의 연산은 성능 향상을 위하여 스트라이핑되어서 고속화된 연산으
로 변환된다. 따라서, 하이브리드 스토리지의 RAID 기술 과 더불어 프리징 장애를 최소화하고, I/O성능을 가속시 키려면, 프리징을 빨리 파악하고 즉각 부하를 밸런싱할 수 있는 효율적인 연산관리자(Operation Manager)가 필요 하며, 표 2와 같은 항목이 설계시 충분히 고려되어야한다. [표 2] 연산관리자의 설계 목적 및 고려사항 설계 목적 고려 사항 - 저장 연산 과부하 판단 프리징 최소화 - 부하 조절 성능 향상 - 지연 저장 수명 연장 - 일괄 순차 저장 SSD에서 HDD에 SSD의
1) 프리징 최소화 측면 주로 많은 양을 저장하거나, 소규모 데이터를 계속하여 랜덤 쓰기를 하면, 프리징 현상이 발생한다. 이 러한 과밀 적체를 판단한 후 바로 부하를 조절하여 피해 갈 수 있도록 설계하여야 한다. 예를 들어 적체가 임계점 을 초과하면서 응답시간이 급속히 느려지기 시작하는 프 리징이 시작된다면, 우선적으로 저장하고, 저장을 지연하여 일단 과부하를 줄이는 것이 효율적이다.
[그림 6] 헤테로 - 미러링 기법의 수행 흐름도
2) SSD로부터 읽기 작업이 성공하면, 판독한 값을 Operation Manager에게 리턴 한다. 3) 만일 SSD로부터 읽기 오류가 발생하면, HDD에 동 일하게 읽기 요청을 한 후, 판독한 값을 Operation Manager에게 리턴 한다. 5 HM_WRITE(Hetero-Mirroring_WRITE): 1) 미러링은 SSD와 HDD 모두에 동일한 데이터를 저
2) 성능 향상 측면 3 연산-큐에서 한 연산씩 차례로 꺼낸 후 연산의 종 먼저, 안정된 성능을 위하여 과부하 상태의 저장 연산 류를 분류한다. 읽기 연산이면, 4번의HM_READ 은 지연시키는 편이 성능 향상에 유리하다. 또한 이렇게 을 수행하며, 쓰기 연산이면 5번의 HM_WRITE를 지연된 SSD 큐잉으로 쓰기 연산이 큐에 모아지므로, 추 수행한다. 후 블록클리닝을 위한 쓰기 횟수가 줄어들어서 결과적으 4 HM_READ(Hetero-Mirroring_READ): 로 수명 연장의 효과도 볼 수 있다. 즉, 랜덤 쓰기가 일정 1) 먼저 읽기 속도가 빠른 SSD에 읽기연산을 포워딩 시간 모여져서 추후에 순차쓰기로 유도된다. 당연히 플래 한다. 기존의 미러링의 경우 두 디스크에 반반씩 나 시 메모리에 기반하는 SSD도 순차쓰기가 빠르며, 특히 누어서 읽기가 가능하지만, SSD가 HDD보다 3배 작은 크기의 파일일 경우 더 효과적이다. 이는 특히 중대 이상 읽기속도가 빠르므로, SSD가 전체를 읽는 것 형 데이터베이스 서버나 멀티태스킹 작업이 많은 사용자 이 유리하며, 상대적으로 전력절감 효과도 크다. 환경에서도 예측가능하고 안정된 응답시간을 더 높은 수 준으로 보장해 줄 수 있다. 그림 6은 제안된 Hetero- Mirroring기법의 수행 흐름도이며, 그 알고리즘의 설명은 다음과 같다. 1 사용자 프로그램이 하이브리드 스토리지에 대한 읽 기 또는 쓰기 연산(operation)을 요청한다. 2 사용자 입출력 요청이 접수되면, 요청된 연산은 헤 테로-미러링 연산으로 변환된다. 이를 관리하는 장해야하므로, 두 드라이브 모두에게 저장 명령을 Operation Manager는 입출력 요청연산을 자신의 연 병렬로 수행한 후 기다린다. 산-큐의 마지막에 삽입한다. 추후에 지금 요청한 2) 두 드라이브 중에 하나라도 저장 연산의 수행이 정 연산이 완료되면 최종적으로 사용자 프로그램에 상적으로 완료되었다는 이벤트가 나오면, 처리 시 결과 값을 리턴 한다. 간(wt)을 기록하고, Operation Manager에게 저장 완
3) 나머지 한 드라이브의 완료 이벤트를 설정된 시간 실험이 수행된 하드웨어 환경은 최대한 일반 사용자 WL(wait_limit: wt*1.3로 기본 값으로 함)만큼 더 환경에 가깝게 구성하였다. 아래 표 3과 같이 보편적인 기다린다. wait_limit은 먼저 완료한 저장 속도에 대 성능의 DELL 펜티엄4 CPU와 메인 메모리 2G, 운영체제 한 상대적인 시간 값으로, 클수록 동기화 간격은 짧 는 현재 가장 많이 사용하고 있는 윈도우 XP를 사용하였 아지나, 응답속도는 더욱더 느려진다. 이를 설정하 다. 언어는 비주얼 C++를 사용하였으며, 부수적으로 작 지 않으면, 홀딩현상이 발생할 경우 저장 연산에 대 업 부하 생성모듈과 물리적인 실험후 통계 자료 수집의 한 응답 대기 시간이 심각하게 길어진다. 실험값으 편의상 CSIM[12] 시뮬레이션 라이브러리를 사용하였다. 로 wt*1.3으로 설정하면, 확률상 전체연산중 80% 성능 측정 부분은 모두 SATA로 연결된 SSD와 HDD를 이상이 프리징 징후인 WL시간이상은 홀딩하지 않 통하여 검출되었다. 게 된다. 이는 자체 튜닝과정에서 통계적으로 찾은 설정치이다. [표 3] 실험 환경의 구성 4) 만일 해당 드라이브가 WL값을 초과하면, 이 드라 항 목 설 정 항 목 설 정 이브에는 일시적으로는 더 이상 저장 연산을 큐잉 DELL System CPU INTEL 2.1 MHz 하지 않고, 대신 지연 저장을 위한 Delay_Queue에 OPTIPLEX 745 쌓이게 된다. OS Windows XP TOOL VISUAL C++ Crystal Mark 2.1 6 HM_DELAY_WRITE(Hetero-Mirroring_DELAY_WRITE): SATA 250G SATA 32G*2 1) 해당 드라이브가 비지 상태이면 계속 대기하고, 아 HDD Read:100MB/s SSD Read: 150MB/s 니면 Delay_Queue에 큐의 맨 앞에 있는 연산을 선 Write:100MB/s Write: 100MB/s 택하여, 해당 드라이브에서 지연된 쓰기 연산을 가 Disk- Random Disable I/O 져 온다. Cache (10kB ~500KB) 2) 해당 드라이브에 지연된 쓰기 연산을 수행시킨다. 3) 쓰기 연산 작업이 성공하면, 완료 메시지를 2) 저장 데이터의 구성 Operation Manager에 리턴 한다. 본 실험에 앞서서, 실험용 샘플이 되는 데이터가 필요 4) 큐에서 지연된 연산이 있으면, 큐의 내용이 없을 때 한데, 실제 사용자의 윈도우 환경에서 사용 중인 모든 파 까지 1)번 이하를 반복한다. 결과적으로, 지연 연산 일을 검색한 후, 사용 빈도가 가장 높은 순으로 나열해 큐에 쓰기 연산들이 모이므로, 유휴시 한꺼번에 연 보면, 96%이상이 500KB 미만의 작은 크기의 스몰 파일 속해서 저장할 수 있다. 따라서 SSD의 경우 모아쓰 들이다. 이를 근거로 하여, 10KB부터 500KB 사이의 기를 유도하는 부수적인 효과가 발생하여, SSD이 10KB 단위로의 랜덤 파일을 생성하여 미리 저장하여 두 저장효율과 전력절감 효과가 발생한다. HDD의 경 었다. 우에도 랜덤한 임의쓰기 연산이 모아지므로 한꺼번 에 순차쓰기한 효과가 있다. 3) 워크로드 모델 및 평가 지표
4. 성능 평가 [표 4] 성능 평가 지표 지 표 설 명 단위 본 연구에서 제안된 헤테로 미러링 기법의 저장 성능 operation 초당 수행 완료된 저장 operations sec. throughput 연산의 수 을 검증하기 위하여 실제 환경에서 작업 부하를 주고, 그 저장 연산이 발생한 후 실험 결과를 분석해 보았다. 본 실험 수행시 제안한 헤테 response time 수행완료까지의 소요 millisec 로 미러링기법(Hete-Mr)과 비교된 저장 관리 기법은 SSD 시간 를 1개만 사용하는 단일디스크 저장 기법(SSD-1)과, 가 장 보편적이고 안정적인 SSD RAID 구성인 미러링 기법 실험을 위한 저장 워크로드 생성 및 결과 분석 모델이 (SSD-Mr)이다. 필요한데, 이는 CSIM에서 제공되는 폐쇄형 큐잉 모델 (Closed Queuing Model)과 통계 라이브러리를 사용하였 4.1 실험 환경 다. 이 모듈들을 통하여 초당 일정한 수의 쓰기 오퍼레이
4와 7과 8의 7의 40개에서부터 320개까지 40개 8단계로 8의 7에서 160개 SSD를 SSD I/O 7은 SSD를 SSD의 Hete-Mr가 SSD-1과 SSD-Mr보다
SSD Hete-Mr SSD-1나 SSD-Mr Hete-Mr가 기법보다 17.8% 정도 처리 성능이 연산 처리치는 Hete-Mr가 147개로 SSD-Mr의 114개 28.9%정도 더 높다. 그 주요 원인인 SSD의 쓰기
SSD의 8에서
면 된다. 본 실험의 주요 성능 평가 지표는 표 같다. 그림 그림 가로축은 저장 시스템에 가해지는 본 실험에서 생성되는 저장 오퍼레이션의 수는 초당 저장 연산의 부하를 의미하며, 그림 세로축은 그 부 단위로 변화시켜 하에서의 처리된 저장 연산수를 의미하며, 그림 세로 보았으며, 이는 저장 시스템에 가해지는 작업 부하를 의 축은 저장연산에 걸린 응답시간을 의미한다. 미한다. 그림 보면, 초당 저장 연산의 수가 대략 를 넘으면서 각 저장 기법의 성능이 점점 낮아진다. 이는 4.2 실험 결과 및 분석 초당 저장 연산수의 증가에 의한 플래시 메모리 기반 이 실험은 기본적으로 하드 디스크나 탑재한 스토리지에서의 연산 집중화가 성능에 영향을 일반적인 사용자 시스템에서 부과한 저장 워크로드, 즉 크게 미치는 주요 요소임을 의미하며, 이 수치 이상으로 초당 발생된 저장 연산의 수가 시스템 성능에 어떤 영향 워크로드를 활성화시키는 것이 성능 향상에 도움이 되지 을 미치는 지를 분석하기 위함이다. 그림 초당 발생 않음을 의미한다. 특히 구성하는 플래시 메모리의 된 저장 연산의 수의 증가에 따른 저장 연산의 처리치를 쓰기 연산의 느린 속도와 수반 되는 소거 연산이 주요 요 표시한 그래프이다. 발생된 초당 저장 연산의 수가 늘어 인이다. 그래프에서 보면 저장 연산의 부하가 적은 시작 날수록 점차로 연산의 처리 결과치가 증가함을 알 수 있 구간에서는 느린 쓰기와 소거 연산이 시스템 안에 다. 또한, 전반적인 저장 연산의 처리 성능을 측정한 결 서 수용되어 성능 저하를 일으키지 않는다. 하지만, 시작 과, 제안기법인 높게 나 구간을 지나면서 생성되는 저장 연산의 수가 증가하므로, 타났다. 플래시 메모리에 하위 레벨의 쓰기 연산의 수도 증가하 게 된다. 따라서 중간 구간 이후에서는 저장 연산들이 컨트롤러의 작업 큐에 과도하게 쌓이면서, 저장 연 산 처리가 지체되며 결과적으로 성능이 서서히 저하되게 된다. 하지만, 동일한 워크로드의 조건에서도 제안한 저장 기법이 기법에 비하여 성능이 상대적으로 더 높다. 전체 구간에서 평균하면, 기존 높다. 특히, 최대 저장 보다 이유는 위 의 저장 성능 저하의 연산의 부 담에 의한 일시적인 홀딩현상을 헤테로 미러링기법은 일 정 시간 비율을 초과하여 심각하게 길어지는 매체의 경 [그림 7 ] 초당 저장 연산 처리치의 비교 우에는 일단 한 매체에 저장후 리턴하고, 늦어지는 매체 는 지연 저장을 수행함으로써 전체적인 대기시간을 감소 시킬 수 있었기 때문이다. 또한 플래시 메모리 영 역에 대하여, 쓰기 연산이 뒤로 지연되어 모아쓰기를 유 도하는 효과도 발생하므로, 플래시 메모리의 수명이 조금 더 연장되며, 소거 연산을 위한 전력소모도 좀 더 줄이는 부수적인 효과도 기대할 수 있다. 그림 사용자 프로그램이 요청한 저장 연산에 대 한 각 스토리지 관리 기법의 응답시간을 비교해보면, Hete-Mr, SSD-1, SSD-Mr 순으로 우수하게 나타났다. 단 일 SSD를 사용하는 SSD-1 기법에 비하여, SSD를 미러링 한 SSD-Mr가 응답시간이 5% 더 늦게 나타났는데, 이는 SSD-Mr는 두 개의 SSD에 모두 즉, 2번의 저장이 완료되 [그림 8] 저장 연산의 응답 시간의 비교 어야 하기 때문이다. Hete-Mr는 SSD-1에 비하여, 38% 정
HDD나 SSD중에
SSD의
HDD의 경우, SSD의 2초이고, HDD의 1초이면, 상단으로 y 값으로 2를 표시하게 된다. y축 값으로 -2를 표시하게 SSD는 HDD에 9에서 30-40배 10에서는 그림 9에서 경우인데, 200배까지 저장 분 SSD의 저장 Hete-Mr기법은
어느 한쪽이 먼저 저장되면 바로 저장 비율이며, 아랫부분은 응답시간 비율이다. 예를 연산을 완료시키므로 심각한 홀딩현상을 회피가 들면, 두 매체에 저장을 요청하였을 저장 시 능하기 때문이다. 이러한 홀딩현상이 풀리면, 지연되었던 간이 저장 시간이 저장연산이 최종적으로 완료되게 된다. 반대의 경우는 하단으로 된다. 비하여 읽기 는 빠르지만, 저장 성능은 비슷하거나 약간 더 좋은 수준 이므로, 그림 아래위로 비슷한 막대그래프가 나타 난다. 여기서 주목할 점은 여러 지점에 아래위로 높은 막 대그래프가 나타나는데, 그 저장 속도의 상대 비율은 무 려 까지도 높아진다. 특히,그림 보다 두 배의 워크로 드를 가한 속도의 차이가 나타 난다. 특이점은 이러한 과도한 저장 속도의 차이는 대부 속도의 심각한 저하에 의한 것이다. 바로 이러한 심각한 저장 속도의 차이를 고려하여, 일시적으로 빠른 저장 매체를 우선 저장하고, 느린 저장 매체는 지연 저장을 수행하게 하여 전체적인 성능을 개선시킨다. [그림 9] 응답 시간의 비교 ( 초당 100 개 부하 )
[그림 10] 응답 시간의 비교 ( 초당 200 개 부하 )
9와 10은
5. 결 론 본 연구에서는 기존의 하드 디스크 기반 RAID 기술을 주요 레벨들에 대하여 비교 분석한 후, 새로운 SSD의 매 체 특성에 맞게 보완하여 개선된 설계 방안을 제시하였 다. 또한, 전통적인 RAID-1 에 기반하여 SSD의 특성을 고려한 헤테로-미러링이라는 하는 새로운 저장 장치 관 리 기법을 제안하였다. 제안한 헤테로-미러링 기법은 SSD에서 발생되는 느린 쓰기 속도와 프리징 현상을 회피 하기 위하여, 저장 매체간의 심각한 저장 속도의 차이를 고려하여, 일시적으로 빠른 저장 매체를 우선 저장하고, 느린 저장 매체는 지연 저장을 수행하게 하여 전체적인 성능을 개선하게 된다. 실험 결과를 통하여 제안 기법이 쓰기 부하와 프리징을 감소시켜서 기존의 SSD-미러링 기 반의 저장 관리 기법보다 연산 처리 측면에서 18%, 응답 시간 측면에서 38% 더 우수함을 확인하였다.
500KB이하의
참고문헌
- [1] Samsung, Samsung SSD is NOW, http://www. samsung.com/global/business/semiconductor/produc ts/flash/ssd/2008/home/home.html, 2009.
- 그림 그림 제안 기법이 저장 연산의 처리치 와 응답시간 측면에 대해서는 좋은 성능을 보이는 결과 의 기본 원인이라 할 수 있는 헤테로-미러링 저장의 효과 분석을 위한 그래프이다. 이 실험에서는 스몰 파일을 계속 저장하여, 부하를 지속시켜 프리징 상 황을 만든다. 그림 9와 그림 10의 가로축은 이 저장연산의 순차 번 호를 의미하며, 세로축은 이 저장연산을 수행하는데 걸린 HDD와 SSD의 응답시간의 비율을 의미한다. 즉, 저장 연
- [2] 변시우, “플래시 메모리-SSD의 인덱스 연산 성능
- 국산학기술학회논문지, Vol. 11, No. 1, pp. 166-174, 2010.
- [3] Samsung, Samsung, what is NAND Flash based SSD?, http://www.samsung.com/global/business/ semiconductorproducts/flash/Products_FlashSSD. html, 2009.
- [4] 배영현, “고성능 플래시 메모리 SSD 설계 기술”, 정보과학회지 vol 25, No. 6, pp. 18-28, 2007.
- [5] Samsung, SpinPoint F Series, http://www. samsung.com/global/business/hdd/productSubType. do?group=72&type=61&subtype=63, 2007.
- [6] 변시우, “하이브리드 하드디스크 시스템을 위한 플 래시 노드 캐싱 기법”, 한국산학기술학회논문지, Vol. 9, No. 6, pp. 1696-1704, 2009.
- [7] Solid Data Systems, "Comparison of Drives Technologies for High-Transaction Databases", Solid Data Systems, Inc. White paper, 2007.
- [8] 김호진,황인철,맹승렬,윤헌수, “SDIO에서 RAID 레벨 5의 효율적인 구현,” 정보과학회 학술발표대 회, 제31권 제1호, pp. 64-66, 2004.
- [9] 변시우,허문행, “플래시 메모리를 사용하는 효과적 인 RAID 스토리지에 대한 연구”, 대한전자공학회 정보 및 제어 학술대회, pp. 240-242, 2009.
- [10] 최귀열, 박계원, “지능형 I/O 구조를 갖는 RAID 시스템의 성능향상을 위한 연구,” 정보통신학회지 제10권 11호, pp. 1989-1995, 2007.
- [11] David Roberts, Taeho Kgil, and Trevor Mudge, "Integratin NAMD Flash Devices onto Servers", Communications of the ACM, Vol52. No.4, pp. 98-106, 2009.
- [12] Mesquite, "CSIM2.0", http://www.mesquite.com/ documentation/documents/CSIM20_User_ Guide-C.pdf, 2008.