전통적인 대용량 스토리지 시스템을 위해 하드디스크 기반의 RAID 시스템이 사용되고 있다. 그러나 하드디스크 기반의 RAID 시스템은 외부의 충격에 약하기 때문에 데이터의 신뢰성이 낮고 스핀들 모터의 빈번한 동작으로 인해 전력소모가 많다. 따라서 본 논문에서는 하드디스크를 대체하여 다양한 Erasure 코드를 적용한 SSD 기반 RAID-6 시스템을 제안한다. 제안된 방법으로 Reed-Solomon, EVENODD, Liberation 코딩 기법을 파일시스템 레벨과 디바이스 드라이버 레벨에 각각 적용하였다. 그리고 SSD의 수명저하에 미치는 영향을 최소화하기 위하여 데이터 할당 기법을 적용하였다. 제안된 Erasure 코드가 적용된 RAID-6 시스템에 HDD 와 SSD 를 사용하여 실험한 결과 Liberation 코드가 다른 코드에 비해 SSD 수명저하에 영향을 적게 끼침을 파악하였으며, Erasure 코드들을 파일시스템 레벨에 적용 하였을 경우보다 디바이스 드라이버 레벨에 적용하였을 때 성능이 더 높았다. 또한 HDD를 기반으로 사용하였을 경우 보다 SSD 를 기반으로 사용하였을 경우에 입출력 성능이 4.5%~8.5% 더 향상 되었고 전력소모는 18%~40% 절감되었다.
전통적인 대용량 스토리지 시스템을 위해 하드디스크 기반의 RAID 시스템이 사용되고 있다. 그러나 하드디스크 기반의 RAID 시스템은 외부의 충격에 약하기 때문에 데이터의 신뢰성이 낮고 스핀들 모터의 빈번한 동작으로 인해 전력소모가 많다. 따라서 본 논문에서는 하드디스크를 대체하여 다양한 Erasure 코드를 적용한 SSD 기반 RAID-6 시스템을 제안한다. 제안된 방법으로 Reed-Solomon, EVENODD, Liberation 코딩 기법을 파일시스템 레벨과 디바이스 드라이버 레벨에 각각 적용하였다. 그리고 SSD의 수명저하에 미치는 영향을 최소화하기 위하여 데이터 할당 기법을 적용하였다. 제안된 Erasure 코드가 적용된 RAID-6 시스템에 HDD 와 SSD 를 사용하여 실험한 결과 Liberation 코드가 다른 코드에 비해 SSD 수명저하에 영향을 적게 끼침을 파악하였으며, Erasure 코드들을 파일시스템 레벨에 적용 하였을 경우보다 디바이스 드라이버 레벨에 적용하였을 때 성능이 더 높았다. 또한 HDD를 기반으로 사용하였을 경우 보다 SSD 를 기반으로 사용하였을 경우에 입출력 성능이 4.5%~8.5% 더 향상 되었고 전력소모는 18%~40% 절감되었다.
HDD-based RAIDs have been used in high-capacity storage systems for traditional data server. However, their data reliability are relatively low and they consume lots of power since hard disk drive is weak on shock and its power consumption is high due to frequent spindle motor operation. Therefore, ...
HDD-based RAIDs have been used in high-capacity storage systems for traditional data server. However, their data reliability are relatively low and they consume lots of power since hard disk drive is weak on shock and its power consumption is high due to frequent spindle motor operation. Therefore, this paper presents new SSD based RAID system architecture using various erasure codes. The proposed methode applys Reed-Solomon, EVENODD, and Liberation coding schemes onto file system level and device driver level, respectively. Besides, it uses data allocation method to minimize the side effect of reducing the lifespan of SSD. Detail experimental results show that Liberation code increase wear-leveling rates of SSD based RAID-6 more than other codes. The SSD based RAID system applying erasure codes at the device driver level shows better performance than that at the file system level. I/O performance of RAID-6 system using SSD is 4.5%~8.5% higher than that of using HDD and the power consumption of the RAID system using SSD is 18%~40% less than that of using HDD.
HDD-based RAIDs have been used in high-capacity storage systems for traditional data server. However, their data reliability are relatively low and they consume lots of power since hard disk drive is weak on shock and its power consumption is high due to frequent spindle motor operation. Therefore, this paper presents new SSD based RAID system architecture using various erasure codes. The proposed methode applys Reed-Solomon, EVENODD, and Liberation coding schemes onto file system level and device driver level, respectively. Besides, it uses data allocation method to minimize the side effect of reducing the lifespan of SSD. Detail experimental results show that Liberation code increase wear-leveling rates of SSD based RAID-6 more than other codes. The SSD based RAID system applying erasure codes at the device driver level shows better performance than that at the file system level. I/O performance of RAID-6 system using SSD is 4.5%~8.5% higher than that of using HDD and the power consumption of the RAID system using SSD is 18%~40% less than that of using HDD.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
따라서 본 논문에서는 서버급 환경에서의 저장장치로서 다양한 Erasure 코드를 적용한 다중 SSD 기반 RAID-6 시스템의 두 가지 구조를 제안한다. 제안한 방법은 Reed-Solomon, EVENODD, Liberation 코딩기법과 같은 다양한 Erasure 코드들을 파일 시스템 레벨(File System Level)과 디바이스 드라이버 레벨(Device Driver Level)에 각각 적용하였다.
본 논문에서는 기존에 하드디스크 기반의 RAID 시스템에서 사용되는 Erasure 코드를 SSD 기반 RAID 시스템에 적용하는 두 가지 구조를 제안한다.
가설 설정
위와 같이 계산방법으로 EVENODD 코드가 SSD 에 미치는 영향은 단순한 XOR 연산으로 Reed-Solomon 코드보다 연산이 단순하기 때문에 SSD 수명저하에 미치는 영향이 적을 것이다.
제안 방법
Erasure 코드가 적용된 디바이스 드라이버 레벨은 리눅스 커널 소스 내에 존재하는 멀티플 디바이스 드라이버(Multiple Device Driver)의 소스를 수정하여 Erasure 코드를 적용하였으며, 제안한 구조는 그림 4와 같다.
SSD의 수명저하로 인한 신뢰성 저하의 문제점을 향상시키기 위해 블록 할당 관리 기법을 제안하고 쓰기 횟수를 측정하는 방법을 고려한다.
그리고 제안된 데이터 할당 기법과 Erasure 코드 연산에 따라 SSD 수명저하에 미치는 영향을 기술한다. Ⅴ장에서는 실험을 통해 신뢰성 측정, 전력 소모, 인코딩의 성능을 비교 분석 한다. 마지막으로 Ⅵ장에서는 본 논문의 결론을 맺는다.
제안한 방법은 Reed-Solomon, EVENODD, Liberation 코딩기법과 같은 다양한 Erasure 코드들을 파일 시스템 레벨(File System Level)과 디바이스 드라이버 레벨(Device Driver Level)에 각각 적용하였다. 그리고 SSD 의 수명 저하에 미치는 영향을 최소화하기 위해서 데이터 할당 기법을 적용한다.
본 논문의 실험은 SSD 기반의 RAID-6 시스템에서 Erasure 코드들의 연산 방법에 따라 달라지는 마모도를 측정하기 위해 비트 갱신횟수를 측정하여 비교 분석 하였다. 그리고 구현된 하드디스크 기반의 RAID-6 시스템과 세 가지 Erasure 코드가 적용된 SSD 기반 RAID-6 시스템에서의 인코딩 성능과 입/출력 성능 그리고 전력소모에 대하여 측정 및 비교 분석 하였다.
Ⅲ장에서는 다양한 Erasure 코드를 적용한 다중 SSD 기반 RAID-6 시스템의 두 가지 구조를 제안한다. 그리고 제안된 데이터 할당 기법과 Erasure 코드 연산에 따라 SSD 수명저하에 미치는 영향을 기술한다. Ⅴ장에서는 실험을 통해 신뢰성 측정, 전력 소모, 인코딩의 성능을 비교 분석 한다.
다양한 Erasure 코드들은 인코딩 기법에 따라 계산 방법이 달라지기 때문에 SSD 에 미치는 영향에 따라 성능 및 전력소모가 다르게 측정 된다. 따라서 SSD 환경에 적합한 Erasure 코드를 찾기 위해 다음과 같은 Erasure 코드들을 SSD 기반의 RAID 에 적용하였으며, Erasure 코드들의 특징과 SSD에 미치는 영향은 다음과 같다.
또한 SSD의 수명제한 특성을 고려하여 최적화된 Erasure 코드를 찾기 위해 비트 갱신 횟수를 측정 하였다. 측정한 결과로 Liberation 코드를 적용하였을 때 비트 갱신 횟수가 가장 낮게 측정되었다.
본 논문의 실험은 SSD 기반의 RAID-6 시스템에서 Erasure 코드들의 연산 방법에 따라 달라지는 마모도를 측정하기 위해 비트 갱신횟수를 측정하여 비교 분석 하였다. 그리고 구현된 하드디스크 기반의 RAID-6 시스템과 세 가지 Erasure 코드가 적용된 SSD 기반 RAID-6 시스템에서의 인코딩 성능과 입/출력 성능 그리고 전력소모에 대하여 측정 및 비교 분석 하였다.
본 논문의 실험을 통해 SSD 기반의 RAID-6 시스템 환경에서 제안된 두 가지 형태의 구조에 각각 적용된 Erasure 코드들의 성능을 평가 및 비교 분석 하였다.
본장에서는 Erasure 코드를 파일 시스템 레벨과 디바이스 드라이버 레벨에 적용한 구조를 설명한다. 그리고 SSD 수명저하의 문제점을 고려한 알고리즘과 방법에 대해 설명한다.
제안된 Erasure 코드가 적용된 파일 시스템 레벨 구조와 디바이스 드라이버 레벨 구조의 전송 속도를 측정하기 위해서 200 MB 의 데이터 파일을 사용하여 인코딩 연산이 수행될 때의 성능을 측정하였다.
제안된 두 가지 구조에 Erasure 코드들을 적용하고 200MB의 데이터를 인코딩 할 때의 전력 소모를 측정하였다. 또한 측정 시뮬레이터를 사용하여 리눅스 기반의 SSD 전력 소모 측정 시뮬레이터[9]와 하드디스크 전력 소모 측정 시뮬레이터[10]를 사용하였다.
SSD 마모도 실험을 위해 1개의 20MB 텍스트 파일을 실험 데이터로 사용하여 비트 갱신 횟수를 측정하였다. 측정은 원본 파일과 Erasure 코드별로 인코딩된 데이터를 비트 단위로 비교 측정 하였다.
RAID-6 시스템은 소프트웨어 RAID로 구현하였으며, mdadm 이라는 툴을 사용하였다. 파일 시스템 레벨에 적용된 Erasure 코드들은 Jerasure 코드를 사용하여 SSD 기반의 Erasure 코드에 따른 마모도를 측정하였고, MD드라이버에 적용된 Erasure 코드들은 EVENODD, Liberation 코드인 경우 새로이 구현 하였으며, Reed-Solomon 코드는 커널에서 제공하는 모듈을 수정하여 사용하였다. 그리고 저장장치 시스템의 성능 평가를 위해서 SSD 기반의 RAID-6 시스템과 하드디스크 기반의 RAID-6 시스템이 사용되었다.
대상 데이터
SSD 마모도 실험을 위해 1개의 20MB 텍스트 파일을 실험 데이터로 사용하여 비트 갱신 횟수를 측정하였다. 측정은 원본 파일과 Erasure 코드별로 인코딩된 데이터를 비트 단위로 비교 측정 하였다.
제안된 두 가지 구조에 Erasure 코드들을 적용하고 200MB의 데이터를 인코딩 할 때의 전력 소모를 측정하였다. 또한 측정 시뮬레이터를 사용하여 리눅스 기반의 SSD 전력 소모 측정 시뮬레이터[9]와 하드디스크 전력 소모 측정 시뮬레이터[10]를 사용하였다.
이론/모형
파일 시스템 레벨에 적용된 Erasure 코드들은 Jerasure 코드를 사용하여 SSD 기반의 Erasure 코드에 따른 마모도를 측정하였고, MD드라이버에 적용된 Erasure 코드들은 EVENODD, Liberation 코드인 경우 새로이 구현 하였으며, Reed-Solomon 코드는 커널에서 제공하는 모듈을 수정하여 사용하였다. 그리고 저장장치 시스템의 성능 평가를 위해서 SSD 기반의 RAID-6 시스템과 하드디스크 기반의 RAID-6 시스템이 사용되었다.
따라서 본 논문에서는 서버급 환경에서의 저장장치로서 다양한 Erasure 코드를 적용한 다중 SSD 기반 RAID-6 시스템의 두 가지 구조를 제안한다. 제안한 방법은 Reed-Solomon, EVENODD, Liberation 코딩기법과 같은 다양한 Erasure 코드들을 파일 시스템 레벨(File System Level)과 디바이스 드라이버 레벨(Device Driver Level)에 각각 적용하였다. 그리고 SSD 의 수명 저하에 미치는 영향을 최소화하기 위해서 데이터 할당 기법을 적용한다.
성능/효과
그림 10(a)와 그림 10(b)는 파일시스템 레벨에서의 입출력 성능을 보여준다. 그림 10(a)를 살펴보면 SSD 의 입력 성능이 하드디스크보다 평균 35% 더 빠른 성능을 보여준다. 출력성능은 HDD가 SSD 보다 평균 5% 더 빠르게 측정 되었다.
2% 낮은 전력소모를 보여준다. SSD 에서도 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 8.7%, 33.7% 낮은 전력 소모를 보여주었다.
5% 적은 전력 소모를 보여준다. SSD 에서도 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 8.8%, 31.2% 적은 전력 소모를 보여 주었다.
4% 더 높은 성능을 보여준다. 그리고 SSD 기반에서도 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 6.4%, 39.1% 더 높은 성능을 보여주었다.
그리고 디바이스 드라이버 레벨 구조의 인코딩 성능을 비교해 보면, 전체적으로 SSD 기반 보다 하드디스크 기반에 적용하였을 경우 평균 4.7% 더 높은 인코딩 성능을 보여준다.
측정한 결과로 Liberation 코드를 적용하였을 때 비트 갱신 횟수가 가장 낮게 측정되었다. 그리고 인코딩 성능 및 전력소모를 비교해 보았을 때, Reed-Solomon 코드와 EVENODD 코드를 적용하였을 때 보다 Liberation 코드의 인코딩 성능이 더 좋은 성능을 가졌으며, 빠른 성능으로 인해 전력소모가 절감되었다.
둘째, 기존의 하드디스크와 달리 SSD 는 읽기/쓰기/삭제 3개의 연산의 동작으로 구분 할 수 있으며, 읽기/쓰기 연산은 페이지(512B~4KB) 단위로 수행되고 삭제 연산은 블록(16KB~256KB) 단위로 수행된다.
둘째, 다수의 디스크에 존재하는 데이터를 복사하는 ‘미러링(Mirroring)’ 기법이 있어 단일 디스크의 파손과 관련된 위험을 줄일 수 있다.
디바이스 드라이버 레벨에 적용하였을 경우보다 파일시스템 레벨 구조에 적용하였을 경우, 입력성능은 SSD가 평균 6.4% 하드디스크가 평균 8.5% 향상 되었으며, 출력성능은 SSD가 평균 4.5% 하드디스크가 평균 5.5% 향상된 성능을 보여주었다.
8% 많게 측정 되었다. 따라서 Liberation 코드가 SSD 환경에서 비트 갱신으로 인한 수명저하에 미치는 영향이 가장 적게 측정되었다.
따라서 Liberation 코드가 다른 기법들에 비해 SSD 기반의 스토리지 시스템에 적합한 Erasure 코드임을 알 수 있었다.
또한, 파일 시스템 레벨 구조 보다 디바이스 드라이버 레벨 구조에서 하드디스크는 평균 18.5% 절감된 전력 소모 성능을 보여주고, SSD 는 평균 40.9% 절감된 전력 소모 성능을 보여주었다.
또한, 파일 시스템 레벨 보다 디바이스 드라이버 레벨에서 하드디스크는 평균 18.5% 향상된 전송 속도 성능을 보여 주었고, SSD 는 평균 57.1% 향상된 전송속도 성능을 보여주었다.
셋째, 파손된 단일 디스크의 데이터를 복구하기 위한 ‘패리티(parity)' 기법이 존재한다.
우선 파일 시스템 레벨 구조의 성능을 비교해보면, 드디스크가 SSD 보다 평균 48.7 % 더 높은 인코딩 성능을 보여준다.
7 % 더 높은 인코딩 성능을 보여준다. 적용된 Erasure 코드들을 비교하였을 경우, SSD 기반에서는 Liberation 코드가 EVENODD와 Reed-Solomon 코드들 보다 각각 5.1%, 8.9% 더 높은 성능을 보여주었고, 하드디스크 기반에서는 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 6.2%, 34.2% 더 높은 성능을 보여주었다.
적용된 Erasure 코드들을 비교하였을 경우, 하드디스크 기반에서는 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 5.8%, 37.4% 더 높은 성능을 보여준다. 그리고 SSD 기반에서도 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 6.
적용된 Erasure 코드별 전력 소모를 비교하였을 경우, 하드디스크에서는 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 8.3%, 31.5% 적은 전력 소모를 보여준다. SSD 에서도 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 8.
평균적으로 하드디스크보다 SSD 가 64% 더 낮은 전력 소모 성능을 보여준다. 적용된 Erasure 코드별 전력 소모를 비교하였을 경우, 하드디스크에서는 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 8.8%, 31.2% 낮은 전력소모를 보여준다. SSD 에서도 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 8.
제안된 두 가지 SSD 기반 RAID-6 구조에 대한 성능 평가에서 파일 시스템 레벨 구조에 적용하였을 경우보다 디바이스 드라이버 레벨 구조에 적용하였을 경우가 더 좋은 성능을 보여 주었다.
첫째, 여러 디스크가 동시에 동작해 단일 데이터 흐름을 공급하거나 받아들이게 허용하는 방식으로 다수의 디스크에 존재하는 ‘스트라이핑(Striping)’ 기법으로 성능을 향상시킬 수 있다.
또한 SSD의 수명제한 특성을 고려하여 최적화된 Erasure 코드를 찾기 위해 비트 갱신 횟수를 측정 하였다. 측정한 결과로 Liberation 코드를 적용하였을 때 비트 갱신 횟수가 가장 낮게 측정되었다. 그리고 인코딩 성능 및 전력소모를 비교해 보았을 때, Reed-Solomon 코드와 EVENODD 코드를 적용하였을 때 보다 Liberation 코드의 인코딩 성능이 더 좋은 성능을 가졌으며, 빠른 성능으로 인해 전력소모가 절감되었다.
그림 11은 하드디스크 기반과 SSD 기반에서 다양한 Erasure 코드를 파일 시스템 레벨에 적용 하였을 때, 전력 소모를 보여준다. 평균적으로 SSD가 하드디스크보다 44.3% 절감된 전력 소모 성능을 보여주었다.
평균적으로 하드디스크보다 SSD 가 64% 더 낮은 전력 소모 성능을 보여준다. 적용된 Erasure 코드별 전력 소모를 비교하였을 경우, 하드디스크에서는 Liberation 코드가 EVENODD 와 Reed-Solomon 코드들 보다 각각 8.
질의응답
핵심어
질문
논문에서 추출한 답변
RAID-5는 어떻게 구성되는가?
RAID-5 는 최소 3 개 이상의 디스크가 있어야만 구성이 가능하며, 보통 5 개 이상의 디스크로 구성된다. 또한 디스크에 오류가 발생했을 때에는 패리티(Parity)를 이용해서 데이터를 복구할 수 있기 때문에 패리티 RAID 시스템이라고도 불린다[6].
하드디스크의 단점은?
전통적인 대용량 서버급 환경에서의 저장장치 시스템(Storage System)으로 여러 개의 디스크를 병렬 구조로 연결한 RAID (Redundant Array of Independent Disks) 시스템이 사용되고 있으며, 하드디스크의 수가 증가할수록 기계적인 동작이 추가적으로 발생되기 때문에 전력소모가 증가하게 될 뿐만 아니라 외부의 충격으로 인해 쉽게 데이터가 손실될 가능성이 높다. 또한 하드디스크는 소음이 많고 발열이 쉽게 발생한다는 단점을 가진다.
RAID 시스템은 어떤 작업을 수행할 수 있는가?
RAID 시스템은 본래 적은 용량을 가진 두 개 이상의 디스크들을 하나의 디스크처럼 사용 할 수 있는 환경을 의미하며, 크게 다음과 같은 세 가지 작업을 수행 할 수 있다[1]. 첫째, 여러 디스크가 동시에 동작해 단일 데이터 흐름을 공급하거나 받아들이게 허용하는 방식으로 다수의 디스크에 존재하는 ‘스트라이핑(Striping)’ 기법으로 성능을 향상시킬 수 있다. 둘째, 다수의 디스크에 존재하는 데이터를 복사하는 ‘미러링(Mirroring)’ 기법이 있어 단일 디스크의 파손과 관련된 위험을 줄일 수 있다. 셋째, 파손된 단일 디스크의 데이터를 복구하기 위한 ‘패리티(parity)' 기법이 존재한다. 패리티 기반의 다양한 Erasure 코드 기법들[2~4]은 계산 방법이 각각 다르기 때문에 저장장치의 성능에 미치는 영향을 잘 파악해야 한다.
참고문헌 (10)
Katz, R., Gibson, G., and Patterson, D., "Disk System Architectures for High Performance Computing." Technical Report, University of Calfornia,Berkeley, pp. 1-39, March 1989.
J. S. Plank. "A tutorial on Reed-Solomon coding for fault-tolerance in RAID-like systems.", Software - Practice & Experience, pp, 995-1012, September 1997.
M. Blaum, J. Brady, J. Bruck, and J. Menon. "EVENODD: An efficient scheme for tolerating double disk failures in RAID architectures". In Proc. of the Annual International Symposium on Computer Architecture, pp. 245-254, 1994.
James S. Plank, "The RAID-6 liberation codes", Proc. of the 6th USENIX Conference on File and Storage Technologies, San Jose, California, pp.1-14, February 2008.
Kwanghee Park, Dong-Hwan Lee, Youngjoo Woo, Geunhyung Lee, Ju-Hong Lee, Deok-Hwan Kim, "Reliability and performance enhancement technique for SSD array storage system using RAID mechanism", Communications and Information Technology, 9th International Symposium, Incheon, Korea, pp. 140-145, January 2010.
D.A. Patterson, G. Gibson, and R.H. Katz, "A Case for Redundant Arrays of Inexpensive Disks (RAID)," Proc. ACM SIGMOD Conf., pp. 109-116, 1988.
R. H. Katz, G. A. Gibson, and D. A. Patterson, "Disk System Architectures for High Performance Computing," EECS Department, University of California, Berkeley, Tech. Rep. pp. 89-497, March 1989..
Asim Kadav, Mahesh Balakrishnan, Vijayan Prabhakaran, Dahlia Malkhi, "Differential RAID: Rethinking RAID for SSD Reliability", Workshop on Hot Topics in Storage and File Systems (HotStorage' 09) colocated with SOSP, October 2009.
송재석, 양준식, 고영욱, 조원희, 김덕환, "IPTV 기 반 STB를 위한 HDD와 SSD 저장장치의 성능평가", 대한전자공학회 2009년 하계종합학술대회, 605쪽-606쪽, 2009년. 7월.
고영욱, 이근형, 박광희, 김덕환, "모바일 컴퓨팅 시스템에서 하드디스크의 전력 소모 측정 시뮬레이터 설계 및 구현", 한국정보과학회 학술발표논문집 2008 가을 학술발표논문집, 제35권 제2호 (B), pp. 459-463, 2008. 10.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.