대량 병렬 처리란 무엇입니까?

MPP(대량 병렬 처리)는 수백 또는 수천 개의 처리 노드가 계산 작업의 일부를 병렬로 처리하는 처리 패러다임입니다. 상기 각 노드는 운영 체제의 개별 인스턴스를 실행합니다. 개별 인스턴스들은 자체 입력 및 출력 장치를 가지고 있고 메모리를 공유하지 않으며 고속 상호 연결을 통해 서로 통신하여 공통 계산 작업을 수행합니다.

대량 병렬 처리 다이어그램

끊임없이 확장되는 방대한 양의 데이터를 처리하는 조직은 대량 병렬 처리를 사용하여 데이터를 처리합니다. 예를 들어 수백만 명의 고객을 보유한 인기 있는 보험 회사를 상상해 보십시오. 고객 수가 증가하면 고객 데이터도 증가합니다. 회사에서 병렬 처리를 사용하더라도 고객 데이터 처리에 지연이 발생할 수 있습니다. 데이터 분석가가 1억개 행을 가진 데이터베이스에 대해 쿼리를 실행하고 있다고 가정해 보십시오. 조직에서 1000개의 노드에 의한 대량 병렬 처리 시스템을 사용하는 경우 각 노드는 1/1000의 계산 부하만 견디면 됩니다.

데이터 및 분석 아키텍처 현대화
데이터 및 분석 아키텍처 현대화
다음 13 가지 사용 사례를 확인하여 오늘날의 복잡한 데이터 및 분석 환경을 지원하는 방법을 알아보십시오.

대량 병렬 처리를 위한 주요 하드웨어 구성 요소는 무엇입니까?

다양한 아키텍처를 이해하려면 대량 병렬 처리 시스템의 하드웨어 구성 요소를 이해하는 것이 필수적입니다.

처리 노드

처리 노드는 대량 병렬 처리의 기본 구성 요소입니다. 이러한 노드는 하나 이상의 중앙 처리 장치가 있는 단순한 동질의 처리 코어입니다. 노드는 단순한 데스크탑 PC로 묘사될 수 있습니다.

고속 인터커넥트

대량 병렬 처리 시스템의 노드는 단일 계산 문제의 일부를 병렬로 처리합니다. 처리가 서로 독립적이지만 공통 문제를 해결하기 위해 서로 정기적으로 통신이 이루어져야 합니다. 노드 간에 낮은 대기 시간, 높은 대역폭 연결이 필요합니다. 이것을 고속 인터커넥트 또는 버스라고 합니다. 이것은 이더넷 연결, 파이버 분산형 데이터 인터페이스 또는 독점 연결 방법이 될 수 있습니다.

분산 잠금 관리자(DLM)

노드 간에 외부 메모리 또는 디스크 공간을 공유하는 대량 병렬 처리 아키텍처에서 분산 잠금 관리자(DLM)가 이러한 리소스 공유를 조정합니다. 분산 잠금 관리자는 다양한 노드에서 리소스 요청을 받아 해당 리소스를 사용할 수 있을 때 노드를 연결합니다. 일부 시스템에서는 분산 잠금 관리자가 데이터 일관성과 장애가 발생한 노드의 복구를 보장합니다.

대량 병렬 처리 아키텍처

대량 병렬 처리 아키텍처는 노드가 리소스를 공유하는 방식에 따라 두 가지 주요 그룹에 속하게 됩니다.

공유 디스크 시스템

공유 디스크 시스템의 각 처리 노드에는 하나 이상의 중앙 처리 장치(CPU)와 독립적인 RAM(랜덤 액세스 메모리)이 있습니다. 그러나 이러한 노드는 외부 디스크 공간을 공유하여 파일을 저장합니다. 이러한 처리 노드는 고속 버스로 연결됩니다. 공유 디스크 시스템의 확장성은 고속 인터커넥트의 대역폭과 분산 잠금 관리자의 하드웨어 제약 조건에 따라 달라집니다.

공유 디스크 시스템의 장점은 무엇입니까?

모든 노드가 단일 외부 데이터베이스를 공유하므로 대량 병렬 처리 시스템의 가용성이 높아집니다. 하나의 노드가 손상되더라도 데이터가 영구적으로 손실되지 않습니다. 공유 디스크 시스템은 분산 데이터베이스를 사용하지 않아도 되기 때문에 더 간단합니다. 공유 디스크 시스템에는 새 노드를 쉽게 추가할 수 있습니다.

공유 디스크 시스템의 단점은 무엇입니까?

처리 노드는 공통 디스크를 공유하므로 데이터 액세스 조정이 복잡합니다. 시스템은 분산 잠금 관리자에 의존해야 합니다. 노드 간의 이러한 통신은 고속 인터커넥트의 일부 대역폭을 차지합니다. 공유 디스크를 제어하려면 운영 체제가 필요합니다. 이것은 추가적인 부담으로 됩니다.

비공유 시스템

대량 병렬 처리 시스템에서 더욱 인기 있는 아키텍처는 "비공유" 아키텍처입니다. 처리 노드에는 필요한 파일과 데이터베이스를 저장하는 독립적인 랜덤 액세스 메모리와 디스크가 있습니다. 처리해야 하는 데이터는 다양한 기술을 사용하여 노드 간에 공유됩니다.

중복 데이터베이스: 이 방법에서 각 처리 노드는 데이터의 전체 복사본을 소유합니다. 이 모델에서는 몇 개의 노드가 실패하더라도 데이터 손실 위험이 낮습니다. 이 모델은 추가 저장 공간을 많이 차지하게 됩니다.

분산 데이터베이스: 이 모델에서 데이터베이스는 여러 조각으로 분할됩니다. 각 처리 노드는 데이터베이스의 특정 조각을 소유하고처리합니다. 이 방법은 중복성이 없기 때문에 많은 디스크 저장소를 절약합니다. 그러나 이 방법은 중복 데이터베이스보다 복잡합니다. 여기서는 처리를 완료하기 위해 노드 간에 많은 데이터가 이동하게 됩니다. 이렇게 하면 인터커넥트 버스의 트래픽이 증가합니다. 이 모델은 중복성이 없기 때문에 데이터 손실이 발생할 수도 있습니다.

데이터 가상화에 대해 알아야 할 열 가지 사항
데이터 가상화에 대해 알아야 할 열 가지 사항
데이터 병목 현상을 극복하고 더 나은 결과를 도출할 수 있도록 데이터 가상화에 대한 핵심 진실을 알아보십시오.

"비공유" 시스템의 장점은 무엇입니까?

비공유 시스템은 수많은 노드를 포함하도록 수평적으로 확장할 수 있습니다. 처리 노드는 서로 상대적으로 독립적이므로 새 처리 노드를 추가하기가 더 쉽습니다. 데이터베이스가 읽기 전용이면 "비공유" 시스템이 잘 작동합니다. 노드의 오류는 거의 독립적이므로 다른 노드에 영향을 미치지 않습니다. "비공유" 시스템의 경우 데이터베이스 손상 가능성이 최소화됩니다.

"비공유" 시스템의 단점은 무엇입니까?

분산 데이터베이스를 가진 "비공유" 시스템은 공통 작업을 완료하기 위해 많은 조정이 필요합니다. 각 노드는 데이터베이스 조각을 소유합니다. 이 데이터베이스는 관리하기가 매우 어려울 수 있습니다. 중복 데이터베이스를 가진 비공유 시스템은 엄청난 데이터 요구 사항이 있는 애플리케이션에 적합하지 않습니다. 계산에 데이터 삽입 및 결합과 같은 많은 데이터 수정 작업이 필요한 경우 "비공유" 아키텍처가 실행 가능하지 않을 수 있습니다.

대량병렬 처리(MPP)와 대칭형 다중 처리(SMP) 비교

대량 병렬 처리는 경우에 따라 노드가 메모리나 디스크 공간을 공유하지 않는 약결합 시스템입니다. 대량 병렬 처리는 고속 인터커넥트 버스를 통해 통신하는 독립 처리 노드의 배열로 생각할 수 있습니다.

대칭형 다중 처리는 다중 강결합 프로세서가 있는 단일 시스템입니다. 이러한 프로세서는 운영 체제, I/O 장치 및 메모리를 공유합니다. 대칭형 다중 처리 시스템은 종종 대량 병렬 처리보다 저렴합니다. 그러나 대칭형 다중 처리는 확장할 수 있는 범위에 제한이 있습니다. 대칭형 다중 처리의 모든 처리 노드는 단일 메모리 버스를 공유하므로 프로세서 수가 증가할수록 메모리 병목 현상이 발생할 수 있으며 결국 시스템 속도가 느려집니다. 대량 병렬 처리 시스템은 비용이 많이 들고 복잡하지만 무한히 증가할 수 있습니다. 대량 병렬 처리는 처리 작업을 완벽하게 분할할 수 있고 노드 간의 통신이 많이 필요하지 않은 경우 가장 잘 작동합니다.