멀티프로세서 시스템 아키텍처
Multiprocessor system architecture![]() |
멀티프로세서 시스템은 "프로세서가 둘 이상 있는 시스템"으로 정의되며, 더 정확히 말하면 "병렬 처리가 가능하도록 서로 연결된 다수의 중앙 처리 장치"[1][2][3]로 정의된다.
멀티프로세서의 핵심 목표는 시스템의 실행 속도를 높이는 것이다.다른 목표는 내결함성과 애플리케이션 매칭이다.[4]
멀티프로세서라는 용어는 멀티프로세서라는 용어와 혼동될 수 있다.멀티프로세싱은 두 개 이상의 프로세서가 함께 작동하여 여러 프로그램을 동시에 실행하는 프로세싱의 일종인 반면, 멀티프로세서는 멀티프로세싱이 가능한 하드웨어 아키텍처를 가리킨다.[5]
멀티프로세서 시스템은 프로세서 메모리 액세스의 처리 방식과 시스템 프로세서가 단일 유형인지 다양한 유형인지에 따라 분류된다.
멀티프로세서 시스템 유형
멀티프로세서 시스템에는 여러 가지 유형이 있다.
- 느슨하게 연결된 다중 프로세서 시스템
- 긴밀하게 결합된 멀티프로세서
- 동종 다중 프로세서 시스템
- 이기종 멀티프로세서 시스템
- 공유 메모리 멀티프로세서 시스템
- 분산 메모리 멀티프로세서 시스템
- 균일 메모리 액세스(UMA) 시스템
- cc-NUMA 시스템
- 하이브리드 시스템 – 글로벌 데이터를 위한 공유 시스템 메모리 및 로컬 데이터를 위한 로컬 메모리
느슨하게 결합(분산 메모리) 다중 프로세서 시스템
느슨하게 결합되는 멀티프로세서 시스템에서는 각 프로세서가 고유의 로컬 메모리, 입출력(I/O) 채널 및 운영 체제를 가지고 있다.프로세서는 "메시지 패스"라고 알려진 기술을 통해 메시지를 전송함으로써 고속 통신 네트워크를 통해 데이터를 교환한다.느슨하게 결합되는 다중 프로세서 시스템은 프로세서가 물리적 메모리를 공유하지 않고 개별 I/O 채널을 가지기 때문에 분산 메모리 시스템이라고도 한다.
시스템 특성
- 이 시스템은 다중 다중 데이터(MIMD) 프로그래밍을 수행할 수 있다.
- 이러한 유형의 아키텍처는 병렬 처리를 허용한다.
- 분산 메모리는 확장성이 높다.
프로세서에 밀접하게 연결된 공유 메모리를 가진 멀티프로세서 시스템.
대칭 멀티프로세싱 시스템은 2개 이상의 동종 프로세서를 가진 단일 운영체제에서 작동하는 메인메모리(MM)라고 불리는 중앙 집중식 공유메모리를 가진 시스템이다.
시스템에는 두 가지 유형이 있다.
- 균일한 메모리 액세스(UMA) 시스템
- NUMA 시스템
균일 메모리 액세스(UMA) 시스템
- 이종 다중 처리 시스템
- 대칭 다중 처리 시스템(SMP)
이기종 멀티프로세서 시스템
이질적인 다중 처리 시스템은 동종이 아닌 여러 개의 처리 장치 – 중앙 처리 장치(CPU), 그래픽 처리 장치(GPU), 디지털 신호 처리기(DSP) 또는 모든 유형의 응용 프로그램별 통합 회로(ASIC)를 포함한다.시스템 아키텍처는 모든 가속기(예: 그래픽 프로세서)가 시스템의 CPU와 동일한 처리 수준에서 작동할 수 있도록 한다.
대칭 다중 프로세서 시스템
둘 이상의 동종 프로세서 및 중앙 집중식 공유 메인 메모리가 있는 단일 OS(운영 체제)에서 작동하는 시스템.
대칭 다중 프로세서 시스템(SMP)은 중앙 집중식 공유 메인 메모리를 가진 단일 OS에서 실행되는 동종 프로세서 풀을 가진 시스템이다.서로 다른 프로그램을 실행하고 서로 다른 데이터 집합에서 작업하는 각 프로세서는 시스템 버스, 크로스바 또는 둘의 혼합물 또는 어드레스 버스와 데이터 크로스바를 사용하여 연결된 공통 자원(메모리, I/O 장치, 인터럽트 시스템 등)을 공유할 수 있는 능력을 가지고 있다.
각 프로세서는 프로세서와 메인 메모리 사이의 브리지 역할을 하는 고유의 캐시 메모리를 가지고 있다.캐시의 기능은 메인메모리 데이터 접속의 필요성을 완화시켜 시스템 버스 트래픽을 줄이는 것이다.
공유 메모리를 사용하면 동일한 UMA(메모리 액세스 시간)를 허용한다.
cc-NUMA 시스템
SMP 시스템은 확장성이 제한적인 것으로 알려졌다.이러한 한계를 극복하기 위해, "cc-NUMA"(cache consistency-non-uniform memory access)라고 하는 아키텍처가 일반적으로 사용된다.cc-NUMA 시스템의 주요 특징은 프로세서가 원격 구성요소 서브시스템의 메모리에 대해 가지는 효과적인 "액세스"가 로컬 메모리 액세스에 비해 느리지만, 각 노드에 분산된 공유 글로벌 메모리를 갖는다는 것이다. 그래서 메모리 액세스는 "비일체"이다.
SMP 체제 cc–NUMA 시스템은 클러스터 – 각는 단일 프로세서, 스프레드 multi-core 프로세서 가지고 있을 수 있습니다"노드", 또는 2의 건축 – 하나 또는 다른 종류들이 될 수 있는 또는double-reverse개, 또는multi-ring, 지점 간 connections,[6][7이 될 수 있는"링크"고속"연결 네트워크"을 통해 연결된 장치를 믹스했다.해결 또는이들(예: IBM Power Systems[6][8]), 버스 인터커넥션(예: NUMAq[9]), "크로스바", "세그먼트 버스"(NUMA Bull HN ISI ex Honeywell),[10] "메쉬 라우터" 등의 혼합물.
cc-NUMA는 "분산 공유 메모리"(DSM) 아키텍처라고도 불린다.[11]
로컬 메모리와 원격 메모리의 액세스 시간 차이는 사용되는 연결 네트워크의 종류에 따라 크기 순서가 될 수도 있다(분할된 버스, 크로스바, 포인트 대 포인트 상호 연결의 경우 더 빠름, 직렬 링 연결의 경우 더 느림).
상호연결의 예
이 한계를 극복하기 위해 일반적으로 대용량 원격 캐시(원격 캐시 참조)가 사용된다.이 솔루션으로 cc-NUMA 시스템은 대형 SMP 시스템과 매우 가까워진다.
긴밀하게 결합되는 아키텍처와 느슨하게 결합되는 아키텍처
두 아키텍처 모두 다음과 같이 요약할 수 있는 절충이 있다.
- 느슨하게 결합되는 아키텍처들은 각각의 개별 프로세서의 높은 성능을 특징으로 하지만 프로세서들 사이의 부하를 실시간으로 쉽게 분산시키지는 못한다.
- 긴밀하게 결합되는 아키텍처는 프로세서 간 로드 밸런싱과 배포가 용이하지만, 하나 이상의 버스를 통한 공통 자원 공유에서 발생하는 병목 현상을 겪는다.
글로벌 데이터 곱셈 기능을 갖춘 멀티프로세서 시스템
이전 두 아키텍처의 그것들 사이의 중간 접근방식은 각 프로세서에 로컬 메모리(LM)와 같은 로컬 리소스와 공통 자원을 갖는 것이다.
공통 리소스는 시스템 버스를 통해 모든 프로세서에서 액세스할 수 있으며 로컬 리소스는 로컬 프로세서에서만 액세스할 수 있다.캐시 메모리는 이러한 관점에서 지역 추억으로 볼 수 있다.
이 시스템(F로 인증됨)DPX/2 300 유닉스 기반 시스템(Bull Hn Information Systems Italia (ex Honeywell))[13][14]에 사용되는 줄리안 (Zulian )은 긴밀하게 느슨하게 결합된 시스템을 혼합한 것으로, 이 두 아키텍처의 모든 진보를 이용한다.
로컬 메모리는 글로벌 데이터(GD)와 로컬 데이터(LD)의 두 부문으로 나뉜다.
이 아키텍처의 기본 개념은 수정 가능한 정보인 글로벌 데이터를 모든 프로세서가 접근할 수 있도록 하는 것이다.이 정보는 중복되어 각 프로세서의 각 로컬 메모리에 저장된다.
글로벌 데이터가 로컬 메모리에서 수정될 때마다 하드웨어 쓰기 브로드캐스트가 시스템 버스로 전송되어 글로벌 데이터 일관성을 유지한다.따라서 글로벌 데이터는 각 프로세서가 시스템 버스를 사용하지 않고 자신의 로컬 메모리에 액세스하여 읽을 수 있다.시스템 버스 액세스는 글로벌 데이터를 로컬 메모리에서 수정하여 다른 로컬 메모리에 저장된 이 데이터의 복사본을 업데이트하는 경우에만 필요하다.
로컬 데이터는 메시지 전달을 통해 느슨하게 연결된 시스템에서 교환할 수 있음
참조
- ^ "Multiprocessor definition and meaning - Collins English Dictionary". www.collinsdictionary.com.
- ^ "Data" (PDF). www.cs.vu.nl.
- ^ "multiprocessor – Definition of multiprocessor in English by Oxford Dictionaries". Oxford Dictionaries - English.
- ^ "What is a Multiprocessor? - Definition from Techopedia". Techopedia.com.
- ^ "Multiprocessor dictionary definition - multiprocessor defined". www.yourdictionary.com.
- ^ a b AMD Opteron Shared Memory MP 시스템 – http://www.cse.wustl.edu/~roger/569M.s09/28_AMD_Hammer_MP_HC_v8.pdf
- ^ Intel® QuickPath Interconnect 소개 – http://www.intel.ie/content/dam/doc/white-paper/quick-path-interconnect-introduction-paper.pdf
- ^ "IBM POWER Systems Overview". computing.llnl.gov.
- ^ SourceForge – http://lse.sourceforge.net/numa/faq/system_descriptions.html
- ^ Bull HN F. Zulian – A. Zulian 특허 – 세분화된 구조를 가진 버스가 있는 컴퓨터 시스템 – http://www.freepatentsonline.com/6314484.html
- ^ NUMA 아키텍처 – http://www.dba-oracle.com/real_application_clusters_rac_grid/numa.html
- ^ "Multiprocessor system featuring global data multiplation".
- ^ "UNIX and Bull". www.feb-patrimoine.com.
- ^ "Bull DPX". www.feb-patrimoine.com.