Book/COMPUTER ORGANIZATION AND DESIGN RISC-V

5.11 Parallelism and Memory Hierarchy:Redundant Arrays of Inexpensive Disks

S0LL 2024. 12. 2. 22:03

1. RAID란 무엇인가?

 

RAID (Redundant Array of Inexpensive Disks)는 여러 개의 작은 디스크를 병렬로 사용하여 성능과 신뢰성을 모두 향상시키는 기술이다.

초기 목적:

디스크 I/O 성능 개선.

대형 디스크를 대체할 수 있는 저렴한 디스크 활용.

현대적 초점:

주된 목표는 데이터 신뢰성 내구성.

 

 

2. RAID의 주요 목표

 

(1) 성능 개선

 

데이터를 여러 디스크에 나누어 저장(Striping)하여 읽기/쓰기 속도를 증가.

병렬 데이터 액세스를 통해 대역폭 확장.

 

(2) 신뢰성 개선

 

디스크 고장에도 데이터를 잃지 않기 위해 중복성(Redundancy) 도입.

중복 데이터를 이용하여 복구 가능성 제공.

 

 

3. RAID의 기본 레벨

 

RAID는 레벨(0~6)로 구분되며, 각 레벨은 성능과 신뢰성을 다르게 조율한다.

 

RAID 0: Striping (No Redundancy)

 

특징: 데이터를 디스크에 분산(Striping) 저장.

성능 최적화에 초점, 중복성 없음.

장점:

대용량 파일을 병렬로 처리하여 읽기/쓰기 속도 증가.

저장 공간의 100% 사용 가능.

단점: 고장 시 데이터 손실 위험 증가.

 

 

RAID 1: Mirroring

 

특징: 모든 데이터를 두 개 이상의 디스크에 동일하게 복사.

장점:

신뢰성 극대화.

디스크 고장 시 복사본에서 즉시 복구 가능.

단점:

저장 공간 효율 50%.

성능 손실: 쓰기 작업이 두 번 발생.

 

RAID 2: Hamming Code (Error Correction)

 

특징: 데이터와 함께 에러 검출 및 수정 코드를 저장.

장점: 에러 수정 능력.

단점: 비효율적이고 복잡하여 거의 사용되지 않음.

 

RAID 3: Bit-Interleaved Parity

 

특징: 한 디스크에 Parity 비트 저장.

데이터는 비트 단위로 여러 디스크에 분산.

장점:

한 디스크 고장 시 복구 가능.

대용량 파일 처리에 적합.

단점:

작은 파일 작업에서 비효율적.

 

RAID 4: Block-Interleaved Parity

 

특징: 데이터를 블록 단위로 분산하고, 한 디스크에 Parity 블록 저장.

장점:

블록 단위 읽기에서 독립적인 액세스 가능.

작은 읽기 작업 성능 향상.

단점:

쓰기 병목: Parity 디스크가 집중적으로 쓰기 작업을 처리해야 함.

 

RAID 5: Distributed Parity

 

특징:

RAID 4의 개선 버전.

Parity 블록을 디스크 전체에 분산 저장.

장점:

읽기/쓰기 작업 병목 완화.

뛰어난 성능과 신뢰성 간의 균형.

단점: 복구 시 Parity 계산 복잡.

 

RAID 6: P + Q Redundancy

 

특징:

Parity 정보를 두 디스크에 저장하여 2개의 디스크 오류 복구 가능.

장점:

이중 고장에도 안전.

고용량 데이터 센터에서 널리 사용.

단점:

Parity 계산 복잡도 증가.

저장 공간 효율 감소.

 

 

 

4. RAID의 성능 평가

 

(1) 성능

 

RAID 0과 RAID 5는 높은 성능 제공.

RAID 1은 읽기 성능은 좋지만 쓰기 성능 저하.

RAID 3과 4는 작은 쓰기 작업에서 병목 발생.

 

(2) 신뢰성

 

RAID 1과 RAID 6은 높은 신뢰성 제공.

RAID 0은 신뢰성 없음.

 

 

 

5. 예제: I/O의 중요성 (Amdahl’s Law 적용)

문제:

초기 시스템의 총 실행 시간: 100초.

CPU 시간: 90초.

I/O 시간: 10초.

CPU 성능이 2년마다 두 배 향상.

6년 후 성능 향상 비율?

 

계산 과정:

 

1. CPU 시간 감소:

2년 후: 45초.

4년 후: 23초.

6년 후: 11초.

2. 전체 실행 시간:

6년 후: 21초.

3. 속도 향상:

• speedUp => 4.7

 

결론:

CPU 성능은 8배 향상되었지만, 전체 속도 향상은 4.7배에 그침.

이유는 I/O 병목 현상.

 

6. RAID 설계 시 고려사항

 

1. Redundancy 수준:

성능과 신뢰성 간의 균형 고려.

2. 복구 시간:

디스크 재건축 시간이 길어질수록 데이터 손실 위험 증가.

3. Hot-Swapping:

장애 디스크 교체 시 시스템 가동 유지.

4. Standby Spares:

대체 디스크를 미리 준비하여 신속한 복구 가능.

 

7. 요약

 

RAID는 디스크 성능 및 신뢰성을 향상시키는 필수 기술.

RAID 레벨 0~6은 각기 다른 성능/신뢰성 요구사항을 충족.

데이터 센터와 고가용성 시스템에서는 주로 RAID 5와 RAID 6이 사용됨.

I/O 성능은 시스템 성능의 핵심 요소이며, RAID는 이를 해결하기 위한 중요한 접근법.