1. 병렬 처리
- 다수의 프로세서들이 여러 개의 프로그램들 또는 한 프로그램의 분할된 부분들을 분담하여 동시에 처리하는 기술
- 성능 향상을 위한 방법(처리 속도를 빠르게 하여 동작 주파수를 올리는 것은 한계가 있음)
But 병렬 처리장치의 수만큼 속도가 향상되는 건 아님. 병렬처리로 인한 문제점도 발생
1) 병렬처리 문제점
> 분할 문제
병렬처리가 가능한 부분을 태스크로 만드는 것을 분할이라고 하고, 분할된 부분을 그레인이라함
그레인의 크기가 작으면 병렬성을 얻을 수 있지만 동기화와 스케줄링에 과부하가 발생하게 됨
2) 병렬처리의 개념
> 스케줄링 : 분할된 태스크들을 각 프로세서에 배정하는 것을 스케줄링이라고 함
ⓐ 정적 스케줄링 : 정해진 스케줄은 실행되는 동안 변하지 않음
ⓑ 동적 스케줄링 : 프로그램이 실행될 때 각 테스크들을 프로세서에 할당
> 동기화 : 병렬 처리를 위해 각 프로세서에 공유된 데이터가 임의의 한 프로세서에 의해 변경되지 않도록 하는 처리규칙에 맞게 공유 데이터가 정확한 값을 유지할 수 있도록 하기위한 동기화 작업이 필요
ⓐ 버스 잠금 방식
- 하나의 프로세서가 버스를 이용하여 공유기억장치를 액세스 할 때, 버스를 독점한 후 해당 영역을 처리하게 하는 방식
- 독점한 버스는 실행이 종료될 때까지 다른 프로세서가 접근할 수 없다.
ⓑ 상태 표시 방법
- 데이터를 저장하는 자원 각각 1비트의 상태 레지스터를 두어 자원의 상태를 표시하도록 한 방식
- 대기중인 프로세서는 상태 레지스터를 검사해 사용 가능으로 되었을 때만 액세스 가능
2. 병렬 처리의 조건
- 작고 저렴하며 고속인 프로세서들의 사용이 가능해야 한다.
- 한 프로그램을 여러 개의 작은 부분들로 분할 가능해야 한다.
- 분할된 부분들에 대한 병렬 처리 결과가 순차적 처리의 결과와 동일해야 한다.
- 분할성 : 하나의 프로그램을 여러 개로의 균등 분할 가능성 필요
- 복잡성 : 병령처리 효과를 높이기 위하여 복잡한 병렬 알고리즘 개발 필요
- 프로세서간 통신 : 프로세서들 사이에 데이터 교환을 위한 통신 필요
3. 병렬 처리에 대한 비판적 이론
- Glosch's law : 프로세스 성능이 가격의 제곱에 비례에서 높아짐
- Minsky's conjecture : 시스템 성능은 p개의 프로세서로 p배가 아닌 최대 log2P배까지 개선될 수 있다
- Amdahls's law(⭐⭐⭐) : 병렬 처리를 이용하여 얻을 수 있는 속도 형상은 병렬화가 불가능한 비율(f)에 의해 제한
* P만큼의 부분에서 S만큼 성능향상이 발생할 때 : 1/((1-P) + P/S)
4. 병렬 컴퓨터의 분류
1) SISD 단일 명령 스트림, 단일 데이터 스트림
ⓐ 특징 : 한 번에 한 개씩 명령어와 데이터를 순서대로 처리하는 단일 프로세서 시스템
ex) 파이프라이닝, 슈퍼 스칼라
* 파이프라이닝 프로세서 : 시간적 병렬성을 이용한 중첩계산을 수행하는 시스템
- 프로세서 하나를 서로 다른 기능을 가진 여러개의 서브프로세서로 나누어 각 서브프로세서가 동시에 서로 다른 데이터를 처리하는 방식
ⓑ 동작
- 제어장치는 기억장치 모듈에서 명령어 스트림을 인출하고, 이 명령어를 처리하기 위해 처리장치로 보낸다
- 처리장치에서는 데이터 스트림을 기억장치 모듈에서 읽고, 그 결과를 다시 기억장치 모듈에 저장
- 이 때, 단일 제어장치에서 단일 명령어 스트림이 이동하고 단일 처리장치에서 단일데이터스트림이 이동함
2) SIMD 단일 명령 스트림, 다중 데이터 스트림
ⓐ 특징
- 하나의 명령어를 다수의 데이터들에 대하여 동시 실행 -> 다수의 데이터에 대하여 동일한 연산 실행
* 배열/배열 프로세서라고도 부름 > 공간적 병렬성을 실현하기 위하여 여러 개의 동기화 된 ALU들로 구성되는 시스템
- 데이터를 고속으로 처리하기 위해 연산장치를 병렬로 배열한 처리 구조
ⓑ 동작
- 여러개의 처리장치로 구성되고, 각 처리장치들의 동작은 모두 하나의 제어장치에 의해 통제된다.
- 처리장치들은 독립된 기억장치 모듈을 별도로 보유
- 처리장치는 ALU, 데이터 레지스터, 주소 레지스터, 인덱스 레지스터, 데이터 전송 레지스터, 상태 플래그 레지스터
처리장치는 상태 플래그 레지스터 1이면 명령어 실행에 참여, 아니면 대기상태
* 공유 기억장치 형태의 배열 프로세서 : 각 프로세서가 상호 연결된 네트워크를 통해 공유된 기억장치에 엑세스
👉 모든 처리장치는 독립된 여러개의 데이터 스트림을 독립적으로 동시에 처리
3) MISD 다중 명령 스트림, 단일 데이터 스트림
ⓐ 특징
- 각 프로세서들은 서로 다른 명령어들을 실행하지만 처리하는 데이터들은 하나의 스트림
ⓑ 동작
- 여러 제어 장치는 동시에 여러 명령어를 인출하여 각각 해독하고 하나의 처리장치는 여러 명령어를 실행하여 하나의 데이터스트림을 갖는다.
* 비현실적인 구조다.
4) MIMD 다중 명령 스트림, 다중 데이터 스트림
ⓐ 특징
- 시스템상의 여러프로세서에 여러개의 독립적인 작업을 각각 배정하여 동시에 작업을 수행할 수 있도록 하는 방식
- 제어장치들은 동시에 여러 명령어를 각각 인출하고 해독하며, 처리장치들은 여러 데이터들을 동시에인출하여 각각 명령들을 실행한다.
- 대부분의 병렬 컴퓨터들이 이 분류에 해당
ⓑ 종류
> 밀(강)결합 시스템 : 프로세서들이 공유 기억장치를 이용하여 데이터 교환
- 구조 : 처리장치들은 공유된 기억장치를 이용하여 데이터 스트림을 처리해서 처리장치 간의 통신을 수행한다.
* n개의 처리장치(cpu, alu) 가 연결된 memory 전체를 독립적으로 사용
> 소(약)결합 시스템 : 프로세서들이 메세지 전송을 이용하여 데이터 교환
- 구조 : 각 처리 장치는 지역 기억 장치를 가진 독립적인 컴퓨터 모듈로 구성되며, 처리장치 간의 통신은 내부연결 네트워크를 통해서 메시지 방식을 사용한다.
속도 | DRAM << SRAM |
밀집도 | DRAM >> SRAM |
* 시스템 자원들을 공유하는 여러개의 프로세서들을 이용하여 비동기적 병렬성을 실현하는 시스템
✅ 배열 프로세서와 다중 프로세서
- SIMD(배열 프로세서) : 하나의 제어장치에 의해 인출된 하나의 명령에 의해 여러 프로세스가 각각 독립된 데이터를 처리할 수 있는 구조 => 동기적, 처리장치(프로세서-간단한연산, 기억장치)
- MIMD(다중 프로세서) : 여러 개의 제어장치에서 인출된 여러 명령으로 여러 프로세서들이 각각 독립된 데이터를 처리하게 하는 구조가 다중 프로세서로, 멀티 프로세서라고도 한다.
👉 배열 프로세서는 모든 프로세서들이 동일한 프로그램을 동기적으로 수행, 다중 프로세서는 비동기적으로 수행
ⓒ 다중 프로세서에서 추가되어야 할 운영체제 기능
- 동시 처리 가능한 프로세서들의 스케줄링 기능
- 상호배타 및 사건 순서 매커니즘을 통해 프로세서들 간의 동기화 제공
- 기억장치들의 일관성 유지를 위해 기억장치 관리자원 필요
- 성능이 저하되지 않도록 신뢰성 및 결함 허용이 지원되어야 함
ⓓ 상호 연결 구조
- 다중 프로세서에 프로세서와 기억장치의 연결형태를 상호 연결 구조라고 한다.
⑴ 버스를 이용한 상호 연결
> 공유 버스 방식
- 한 순간에 오직 하나의 프로세서만 전송할 수 있으며, 여러 프로세서가 동시에 버스를 사용하기 원할 경우 중재 필요
- 하드웨어가 간단하지만 경합 발생시 지연시간 증가 => 버스의 전송속도를 높이거나 캐시를 사용해야 함
a) 단일 버스에 프로세서인 버스 마스터가 일렬로 연결되어 있음
b) 버스 마스터가 캐시를 사용하는 경우, 캐시가 적중상태가 되면 공유 버스를 통한 데이터 전송이 필요 없으므로 경합이 줄어듬
> 다중 버스
- 연결되는 버스 마스터의 용도에 따라 버스 계층으로 연결되는 형태가 계층 버스 구조
- 여러 개의 버스가 존재하는 다중 버스 구조이며, 계층별 전송을 통해 버스 경합을 감소 시킨다
- 시스템 버스에는 가장 빈번하게 일어나는 공유 기억 장치가 바로 연결되지만, 다른 버스 마스터들은 지역 버스에 연결된다
- 시스템 버스 제어기는 지역버스와 시스템 버스를 연결해주는 역할을 한다
⑵ 크로스바 스위치를 이용한 상호연결
- 연결을 요구하는 장치들 간의 완전한 연결성을 제공
- 프로세서들과 기억장치들 사이의 완전 연결성을 제공할수 있는 방법으로 모든 기억장치 모듈에서 동시 전송 가능
- but 비용 비싸고 하드웨어가 크고 복잡함
- 프로세서와 기억장치의 교차점이 스위치로 되어있어 상호 연결을 형성
⑶ 다단 교환망을 이용한 상호연결
- 두개의 입력과 두개의 출력을 갖는 스위치를 이용하여 단계별로 연결을 구성한 방식
- 다중 프로세서의 요소들이 다단 교환망에 상호 연결되어 통신을 수행하며, 통신 경로가 하나이상 존재
- 그래서 한 경로가 블로킹 돼서 연결할 수 없더라도 다른 경로를 경유해 연결할 수 있으므로 통신 지연 감소
- 전달되는 메시지가 여러 단계를 통해서 전달되므로 제어체계가 복잡
- 이 방식은 느슨 결합 형태에서 사용
⑷ 하이퍼큐브 상호연결
> 공유-기억장치 시스템 구조
- 기억 장치가 특정한 프로세서에 속해있지 않고 시스템 내의 모든 프로세서에 의해 공유되는 구조
- 프로세서간의 상호작용이 원할하게 일어나는 밀접 결합 구조에 해당
- 프로세서들이 공통으로 사용하는 데이터를 공유 기억장치에 저장하므로 프로세서 간의 데이터 교환을 위한 별도의 메커니즘이 필요하지 않음, 동적균등할당 가능해서 시스템 효율 높일 수 있음
- 프로세서와 기억장치들 간의 통신량이 많아지기 때문에 경합으로 인한 지연시간 일어날 수 있음
- 두 개 동시에 사용하려는 경우 한개의 프로세서는 대기해야함 => 고속 상호연결망, 캐시기억장치 사용으로 보완
> 분산-기억장치 시스템 구조
- 느슨 결합 구조로서 각 프로세서가 자신의 지역 기억장치를 소유하고, 다른 프로세서간 메시지 전송 이용
- 경합이 감소하지만, 지연시간 증가
- 시스템 수가 늘어나면 메시지의 오버헤드가 증가한다는 단점 있음
ⓔ 다중 프로세서의 시스템에서의 캐시 일관성 문제
- 다중 프로세서 시세틈에서 하나의 데이터가 여러 캐시에 복사되어 있으므로, 어떤 프로세서가 데이터에 대한 쓰기 동작을 수행할 경우, 나머지 프로세서의 캐시에서는 데이터의 불일치 현상이 발생하게 된다.
- 캐시의 일관성 문제를 해결 방법으로는 즉시 쓰기, 나중 쓰기 방식이 있음
- 나중 쓰기 : 나머지 캐시들이 즉시 갱신되지 못하므로 불일치가 발생
- 즉시 쓰기 : 나머지 캐시가 갱신 통보를 받지 못하는 경우 불일치 발생 가능
ⓕ 캐시 일관성 문제의 해결법
> 소프트웨어 해결법
- 컴파일러가 코드 분석해서 공유 변수에 대해 적절하게 표시하고, 운영체제는 표시된 공유 변수들이 캐시에 저장되지 않도록 하는 방법
- 하드웨어만큼 복잡하지 않다는 장점 있지만, 캐시에 공유변수가 저장되므로 캐시의 이용률(속도)가 저하된다는 단점
> 하드웨어 해결법
⑴ 디렉토리 프로토콜
- 데이터의 복사본들이 존재하는 캐시들의 위치에 관한 정보들이 수집되어 디렉토리에 보관됨
- 이 디렉토리는 중앙 제어기 및 주기억장치에 저장됨
- 캐시 제어기는 중앙 제어기로 데이터 갱신 또는 이동을 위한 요구를 보내고, 중앙 제어기는 요구에 응답하는 명령을 보내면 디렉토리 내의 상태 정보도 갱신된다.
- 따라서 한 프로세서가 공유된 데이터를 갱신하려고 하면, 중앙 제어기는 그 허가를 보내기 전에 복사본을 가진 모든 다른 프로세서에게 무효화 메시지를 전송
- 단점 : 병목현상, 통신 오버헤드 증가 but 다중버스나 복잡한 상호연결 망을 포함한 대규모 시스템에 적합
⑵ 스누피 프로토콜
- 캐시 일관성 유지의 책임을 모든 캐시 제어기로 분산시키는 방식으로, 캐시 제어기는 캐시가 가지고 있는 블록이 공유(shared)되는 것인지를 파악한다.
- 그리고 그 공유 블록을 갱신할 때는 다른 캐시에 방송(broadcast)을 한다. 이 때, 각 캐시 제어기는 방송되는 내용을 관찰할 수 있도록 버스를 감시하는 스누피(snoop) 능력을 가지고 있어야 한다.
- 공유 버스가 방송과 스누핑을 위한 간단한 수단들을 제공하기 때문에 버스기반 다중프로세서에 적합하다. 그리고 스누피 프로토콜은 쓰기-무효(writeinvalidate)와 쓰기-갱신(write-update)의 두 가지 기본적인 기법이 있다.
> 쓰기-무효
- 동시에 여러 읽기가 가능(multiple readers)하지만, 한 번에 하나의 쓰기만 가능(one writer)한 방법이다.
- 어떤 블록에 대한 쓰기가 요구될 때는, 다른 캐시들에 저장된 그 블록은 모두 무효화된다. 따라서 쓰기를 수행하는 프로세서는 블록에 대한 배타적 액세스 권한을 가진다.
> 쓰기-갱신
- 쓰기-방송(write-broadcast)이라고도 하며, 동시에 여러 읽기 및 여러 쓰기가 가능하다.
- 쓰기 동작에 의해 갱신된 블록은 즉시 다른 모든 캐시들에 전달되어서 갱신되어 일 관성을 유지하도록 한다.
5. 다중 프로세서 시스템
1) 대칭형 다중 프로세서
ⓐ 특징
- 다중 프로세서 시스템을 구성하는 프로세서들이 동일한 성능으로 수행하고 동일한 기능을 가진다
- 모든 프로세서들이 동등한 수준으로 구성, 버스 또는 따른 연결망에 의해 프로세서들이 연결
- 공유된 기억장치는 각 프로세서가 액세스 하는데 시간이 거의 동일, 모든 프로세서는 액세스를 위한 채널 공유
- 하나의 통합 운영체계가 모든 프로세서와 입출력장치, 기억장치 관리
- 여러 프로세서가 하나의 운영체제 사용하므로 상호배제와 재진입 부호 필요
- 운영체제는 프로세서들 간의 상호작용 지원, 작업, 태스크, 파일 및 데이터 요소 수준에서 프로그램들 간의 상호작용 지원할 수 있음
ⓑ 장점
- 작업 부하 효율적 분산 가능 => 성능 높음, 신뢰성 높음
- 프로세서 추가 통해 성능을 높일 수 있음 => 점진적 확장 가능
2) 밀접 결합 다중 프로세서
- 각 프로세서는 주기억장치와 입출력장치와 내부 상호연결 망을 통해 연결된다.
- 효과적인 내부 상호연결 망인 경우 프로세스 간의 통신과 주기억장치와 입출력 장치와의 액세스 속도가 빨라져서 성능이 더 좋아 진다.
3) 상호연결 망
① 시분할 버스
- 어느 한 프로세서가 버스를 사용 중일 때, 다른 프로세서는 대기(wait)하는 것으로 시간을 나누어서 사용하는 개념이다.
- 장점 : 단순성, 융통성, 신뢰성
- 단점 : 성능이 버스 사이클 시간에 의해 결정됨 => 프로세서에 캐시를 추가해서 가능, but 일관성 유지 문제 유발
② 다중포트 기억장치
- 다수의 액세스 포트들을 가지고 있어 프로세서와 입출력장치들이 독립적 액세스 통로를 제공 받는다.
- 프로세서들이 동일한 기억장치 모듈을 액세스하는 경우, 각 기억장치 포트에 고정 우선순위를 부여해서 이 문제를 해결할 수 있다.
- 기억장치 주변에 회로가 추가되어 복잡하지만 각 기억장치 모듈 에 대하여 독립적인 통로를 가지므로 성능이 더 우수
- 각 프로세서는 개별적으로 기억장치에 액세스 할 수 있으므로, 모든 쓰기 동작 은 캐시뿐만 아니라 주기억장치에도 동시에 이루어지는 즉시-쓰기방법이 필 요하다.
- 주기억장치의 내용이 항상 캐시의 내용과 동일한 유효(valid) 상태가 유지된다
③ 중앙 제어 장치 방법
- 중앙 제어 장치는 프로세서, 입출력장치, 기억장치 간의 데이터 흐름 제어를 수행하고 버퍼 기능, 중재 및 시간 제어 기능을 수행한다.
- 프로세서들 간에 상태 및 제어 메시지를 전달하고 캐시 갱신 감시기능을 수행한다.
- 이 방법은 버스 구조가 단순화된다는 장점을 가진다. 그렇지만 제어장치가 여러 기능을 수행하므로 그 구조가 많이 복잡해져서 성능 병목의 요인이 된다
4) 불균일 기억장치 액세스(NUMA 시스템)
- 시스템 내의 모든 프로세서가 동일한 기억장치를 공유하고 있지만 기억장치를 접속하는 시간이 기억 장치의 위치에 따라 달라지는 구조
- NUMA 시스템은 대칭형 다중 프로세서가 버스 병목 현상으로 프로세서 수가 제한되는 것을 극복하기위해 등장
- 기억장치의 투명성을 제공하고 다수의 프로세서 노드 사용이 가능하다
- 각 노드는 버스를 통해서 지역 기억장치뿐만 아니라 고속의 상호 연결 버스를 통해 원격 기억장치 접속 가능
- 모든 프로세는 일정한 전역 기억장치를 공유하며, 접속하는 데 소요시간은 기억장치의 물리적 위치에 따라 달라짐
- 인접한 곳에 위치한 기억장치에는 빠른 접속이 가능해서 우수한 시스템 성능을 발휘할 수 있다
- NUMA 시스템에서 캐시의 일관성 문제를 해결한 시스템을 캐시 일관 NUMA(CC-NUMA)라고 한다.
> CC-NUMA 조직의 일반적인 구성도
- 상호연결 망을 중심으로 일반 다중 프로세서 조직들이 각 입출력 시스템을 통해 연결
- 다중 프로세서 조직내에 주기억장치를 가지고 있고, 각 프로세서는 2계층의 캐시를 가지고 있음
- 해당 다중프로세서조직내에서, 프로세서들이 공유된 해당 주기억장치에 액세스하는 속도는 거의 동일
- 다른 다중 프로세서 조직에 있는 주기억장치에 액세스하려면 상호연결망을 통해서 액세스되므로 다중프로세서 조직내의 액세스속도보다는 느리다. => 어느 영역을 액세스하느냐에 따라서 액세스 속도 또는 시간이 다르다
- 각각의 프로세서에 연결되어 있는 캐시들은 각각의 주기억장치와 일관성을 유지한다
> CC-NUMA 장단점
- 장점 : 소프트웨어을 거의 변경하지 않아도 대칭형 다중 프로세서보다 높은 수준의 병렬성을 보여 효과적인 성능, 캐시의 사용은 원격 액세스를 포함하여 기억장치 액세스를 최소화할 수 있다
- 단점 : 대칭형 다중 프로세서에서 CC-NUMA로 이동시키기 위해선 소프트웨어를 변경해야하는데, 시스템 구성방법에 따라 가용성 문제가 발생 가능
5) 클러스터
- 대형 서버 구성에 적합한 더 발전된 형태의 다중 프로세서 => 고성능, 고가용성
- 여러 대의 컴퓨터들이 상호연결돼 협력하며, 하나의 컴퓨터로 동작하는 통합 컴퓨팅 자원
- 대용량의 수치 연산에서 고품질/빠른 결과를 얻기위한 해결방법
ⓐ 특징
- 절대적 선형 확장성 : 제일 큰 독립적 시스템보다 훨씬 더 큰 클러스터 구성 가능
- 점진적 선형 확작성 : 새로운 시스템을 점차적으로 추가하면 성능 향상 가능
- 높은 가용성 : 각 노드는 독립적으므로, 독립 컴퓨터의 결함과 상관없이 서비스 계속 제공가능
- 월등한 가격/성능 : 고가의 대형 시스템보다 높은 성능, 낮은 비용
ⓑ 분류
- 디스크가 공유되지 않는 구조
- 전체 컴퓨터들이 디스크를 공유하지 않는 클러스터 방법
- 전체 컴퓨터의 연결은 LAN/전용연결망으로 연결
- 전체 컴퓨터간의 통신은 고속의 메시지 전달로 이루어짐
- 디스크가 공유되는 구조
- 전체 컴퓨터가 디스크를 공유, 공유되는 디스크 시스템은 RAID를 이용
- 데이터는 디스크 드라이브에 분산저장, 여분의 디스크는 오류발생시 데이터 복구를 보장위한 패리티비트 저장
- 전체 컴퓨터들 간에는 고속의 메시지로 연결됨 그리고 RAID가 전체 컴퓨터 사이에서 공유
ⓒ 클러스터에 추가되어야 할 운영체제 기능
- 결함관리 기능 : 고가용성 클러스팅을 만족시킴, 결험-허용 클러스터링을 형성해서 모든 자원이 항상 사용가능하도록 보장하며, 고장이 발생한 시스템에서 여러 자원을 다른 시스템으로 전환하는 기능 제공 가능
- 부하 균등 기능 : 사용 가능한 컴퓨터 간에 부하를 균등하게 분할 => 성능 향상
6. RAID 종류
- D=데이터 저장되는 디스크 전체 수/ G=한 그룹내 데이터 디스크 수/ C=한 그룹내 검사 디스크 수
1) RAID-0 : G=D, C=0
2) RAID-1 : G=1, C=1
- 디스크 반사 방식
- 한 개의 데이터 디스크와 그 디스크의 내용이 중복 복사되어 있는 검사 디스크로 구성 👉 50% 오버헤드
3) RAID-2 : 2^C-1 <= G+C
- 비트-단위 인터러빙 및 검사 디스크 사용
- 검사 디스크의 수는 해밍 코드의 원리에 따라 결정
4) RAID-3 : C=1
- 패리티 디스크 사용
- 그룹 당 한 개의 패리티 비트 디스크 사용 (G=10, C=1 => 10%오버헤드)
- RAID-2 구조에서 검사 디스크 수를 그룹당 한 개로 변경
- 문제점 : 매 쓰기 동작마다 패리티 비트의 갱신 필요/병목현상
5) RAID-4
- 블록-단위 인터리빙
- 한 개의 블록을 분산 저장하지 않고 한 개의 디스크에 저장
- 그룹 당 여러 개의 데이터 전송 통로들을 제공해 줌으로써, 전송률을 개선
- RAID-3 구조에서 인터리빙 단위를 블록으로 변경
- 장점 : 단일 디스크 읽기 동작에 병렬성 구현
- 단점 : 쓰기 동작에 2개의 디스크를 사용하며 4번의 액세스 필요
6) RAID-5 : C=1
- 회전 패리티 방식
- 패리티 정보를 그룹 내 모든 디스크들로 분산 저장하는 방식
- RAID-3 에서 발생하는 병목 현상 개선한 구조
- 장점 : 패리티 갱신을 포함하는 쓰기 동작의 병렬 가능 -> (G+1)/2
7) RAID-6 : C=2
- 2차원 패리티 방식
- RAID-4에 열에 대한 패리티 외에 행에 대한 패리티 추가
- 장점 : 2개 이상의 디스크에 결함이 발생해도 회복 가능
- 단점 : 한번의 쓰기 동작에 6번의 액세스 동작필요
* RAID 조직 비교
- 입출력 요구의 블록 크기에 상관 없이 좋은 성능 : RAID-1, RAID-5
- 작은 블록의 읽기와 쓰기 많은 환경 : RAID-1
- 용량과 비용을 중요시하는 응용이나 큰 블록에 대한 입출력 요구 많은 경우 : RAID-5
- 가격 대 성능비 측면 : RAID-5
'Major > Computer Network' 카테고리의 다른 글
[웹서비스컴퓨팅] 웹 서비스 (0) | 2022.04.08 |
---|---|
[쉽게 배우는 데이터 통신과 네트워크] 7장 개념정리 (0) | 2021.11.25 |
[쉽게 배우는 데이터 통신과 네트워크] 6장 개념정리 (0) | 2021.11.25 |
[쉽게 배우는 데이터 통신과 네트워크] 5장 개념정리 (0) | 2021.11.18 |
[쉽게 배우는 데이터 통신과 네트워크] 1장 개념정리 (0) | 2021.10.12 |