멀티프로세서
Multiprocessing멀티프로세싱은 단일 컴퓨터 [1][2]시스템 내에서 2개 이상의 중앙처리장치(CPU)를 사용하는 것입니다.또, 복수의 프로세서를 서포트하는 시스템의 기능이나, 프로세서간에 태스크를 할당할 수 있는 기능을 가리킵니다.이 기본 테마에는 많은 변화가 있으며 멀티 프로세싱의 정의는 상황에 따라 다를 수 있습니다.대부분 CPU의 정의 방법에 따라 달라집니다(1개의 다이에 복수의 코어, 1개의 패키지에 복수의 다이에 복수의 다이가 포함되어 있는 것, 1개의 시스템 유닛에 복수의 패키지가 포함되어 있는 것 등).
일부 온라인 사전에 따르면 멀티프로세서는 프로그램을 [3][4]동시에 처리하기 위해 메인 메모리와 주변기기를 공유하는 2개 이상의 처리장치(복수의 프로세서)를 가진 컴퓨터 시스템이다.2009년 교과서에서는 멀티프로세서 시스템을 비슷하게 정의했지만 프로세서가 "시스템 메모리와 I/O 기능의 일부 또는 전부"를 공유할 수 있다는 점에 주목하고 있습니다.또한 밀접하게 결합된 시스템을 동의어로 [5]사용하기도 했습니다.
운영체제 수준에서 멀티프로세싱은 한 [6][7]번에 하나의 프로세스가 아닌 다른 CPU 또는 코어로 실행되는 시스템 내의 여러 동시 프로세스의 실행을 가리키기 위해 사용되는 경우가 있습니다.이 정의와 함께 사용할 경우 멀티 프로세싱은 하나의 프로세서만 사용해도 작업 간에 시간 단위로 전환되는 멀티태스킹과 대조되는 경우가 있습니다(즉, 시분할 시스템).그러나 멀티프로세싱이란 여러 [7]프로세서를 사용하여 여러 프로세스를 동시에 실행하는 것을 의미합니다.멀티프로세싱이1개의 프로세스 또는 태스크가 복수의 프로세서를 동시에 사용하는 것을 의미하는 것은 아닙니다.일반적으로 병렬처리라는 용어는 [6]그 시나리오를 나타내기 위해 사용됩니다.다른 저자들은 운영체제 기술을 멀티프로그래밍이라고 부르기를 [2][8]선호하며 여러 프로세서를 갖는 하드웨어 측면에서는 멀티프로세싱이라는 용어를 사용합니다.이 문서의 나머지 부분에서는 이 하드웨어의 의미에서만 멀티프로세싱에 대해 설명합니다.
Flynn의 분류법에 따르면 위에서 정의한 멀티프로세서는 MIMD [9][10]기계입니다."멀티프로세서"라는 용어는 일반적으로 모든 프로세서가 메모리를 공유하는 긴밀하게 결합된 시스템을 의미하기 때문에 멀티프로세서는 MIMD 머신의 전체 클래스가 아니며 멀티컴퓨터 [9]시스템을 통과하는 메시지도 포함합니다.
선사 시대
아마도 다중 처리 아이디어의 첫 번째 표현은 1842년 루이지 페데리코 메나브레아가 찰스 배비지의 분석 엔진에 대해 쓴 것일 것이다(Ada Lovelace 번역).기계를 작동시켜 여러 가지 결과를 동시에 낼 수 있기 때문에 전체 공정을 [11]크게 줄일 수 있습니다.
주요 토픽
프로세서 대칭
멀티프로세서 시스템에서는 모든 CPU가 동일하거나 특수한 목적을 위해 예약된 CPU가 있을 수 있습니다.하드웨어와 운영체제소프트웨어 설계에 관한 고려사항의 조합에 따라 특정 시스템의 대칭성(또는 그 결여)이 결정됩니다.예를 들어 하드웨어 또는 소프트웨어의 고려사항에 따라 시스템 내의 다른 모든 작업은 CPU 간에 균등하게 분산되거나 커널 모드코드의 실행이 특정 CPU만으로 제한되는 반면 사용자 모드코드는 임의의 조합으로 실행될 수 있습니다.sors. 멀티프로세서 시스템은 종종 그러한 제한이 가해질 경우 설계하기가 더 쉽지만 모든 CPU가 사용되는 시스템보다 효율성이 떨어지는 경향이 있습니다.
모든 CPU를 동등하게 취급하는 시스템을 Symmetric Multiprocessing(SMP; 대칭형 멀티프로세서) 시스템이라고 부릅니다.모든 CPU가 동일하지 않은 시스템에서는 비대칭 멀티프로세서(ASMP), Non-Uniform Memory Access(NUMA) 멀티프로세서, 클러스터화 멀티프로세서 등 다양한 방법으로 시스템리소스를 분할할 수 있습니다.
마스터/슬레이브 멀티프로세서 시스템
마스터/슬레이브 멀티프로세서 시스템에서 마스터 CPU는 컴퓨터를 제어하고 슬레이브 CPU는 할당된 태스크를 실행한다.CPU는 속도와 아키텍처 면에서 완전히 다를 수 있습니다.일부 CPU(또는 모든 CPU)는 공통 버스를 공유할 수 있으며, 각각 전용 버스(프라이빗 리소스용)를 가질 수도 있으며, 공통 통신 경로를 제외하고 분리될 수도 있습니다.마찬가지로 CPU는 공통 RAM을 공유하거나 다른 프로세서가 액세스할 수 없는 개인 RAM을 가질 수 있습니다.마스터와 슬레이브의 역할은 CPU마다 다를 수 있습니다.
마스터/슬레이브 멀티프로세서 시스템의 초기 예로는 1982년 2월에 출시된 Tandy/Radio Shack TRS-80 모델 16 데스크톱 컴퓨터가 있으며 마이크로소프트 버전의 UNIX(TRS-XENIX)인 다중 사용자/멀티태스킹 Xenix 운영 체제를 실행했습니다.모델 16에는 3개의 마이크로프로세서가 탑재되어 있습니다.8비트 Zilog Z80 CPU는 4MHz, 16비트 Motorola 68000 CPU는 6MHz, 인텔 8021은 키보드에 탑재되어 있습니다.시스템이 부팅되었을 때 Z-80이 마스터였고 Xenix 부팅 프로세스가 슬레이브 68000을 초기화하고 제어가 68000으로 넘어갔습니다.이것에 의해, CPU는 역할을 변경해, Z-80은 디스크, 통신, 프린터, 네트워크를 포함한 모든 I/O 조작을 담당하는 슬레이브 프로세서가 되었습니다.키보드와 i.68000 CPU에서 운영 체제와 응용 프로그램을 실행하는 동안 모니터가 통합되지 않았습니다.Z-80은 다른 작업에 사용할 수 있습니다.
1979년에 출시된 이전의 TRS-80 모델 II도 키보드에 Z-80 CPU와 인텔 8021[12] 마이크로프로세서를 모두 탑재했기 때문에 멀티프로세서 시스템이라고 할 수 있습니다.8021은 모델 II를 하나의 얇은 유연한 와이어로 연결된 분리형 경량 키보드를 갖춘 최초의 데스크톱 컴퓨터 시스템으로 만들었고, 전용 마이크로프로세서를 사용한 최초의 키보드가 될 가능성이 높았으며, 이 두 가지 특성은 수년 후에 애플과 IBM에 의해 복제될 것입니다.
명령 및 데이터 스트림
멀티프로세싱에서는 프로세서를 사용하여 복수의 컨텍스트(단일 명령, 복수 데이터 또는 SIMD, 종종 벡터 프로세싱에 사용), 단일 컨텍스트(단일 명령, 단일 데이터 또는 MISD)의 여러 명령 시퀀스를 실행할 수 있으며 페일 세이프 시스템 및 때로는 어플라이언스의 용장성에 사용할 수 있습니다.파이프라인 프로세서 또는 하이퍼스레딩) 또는 다중 컨텍스트(복수 명령, 다중 데이터 또는 MIMD)의 여러 명령 시퀀스를 설명하는 데 사용됩니다.
프로세서 커플링
긴밀하게 결합된 멀티프로세서 시스템
긴밀하게 결합된 멀티프로세서 시스템에는 버스 수준에서 연결된 여러 CPU가 포함되어 있습니다.이러한 CPU는 중앙 공유 메모리(SMP 또는 UMA)에 액세스 할 수 있습니다.또, 로컬과 공유 메모리(SM)(NUMA)의 양쪽 모두를 가지는 메모리 계층에 참가할 수도 있습니다.IBM p690 Regatta는 하이엔드 SMP 시스템의 한 예입니다.인텔 Xeon 프로세서는 비즈니스 PC용 멀티프로세서 시장을 지배하고 있으며 2004년 AMD의 Opteron 시리즈 프로세서가 출시되기 전까지 유일한 주요 x86 옵션이었습니다.두 프로세서 모두 자체 온보드 캐시를 가지고 있었지만 공유 메모리에 대한 액세스를 제공했습니다. Xeon 프로세서는 공통 파이프를 통해, Opteron 프로세서는 시스템 RAM에 대한 독립된 경로를 통해 액세스했습니다.
멀티코어 컴퓨팅이라고도 불리는 칩 멀티프로세서는 1개의 칩에 여러 개의 프로세서를 탑재하여 긴밀하게 결합된 멀티프로세서의 가장 극단적인 형태로 생각할 수 있습니다.여러 개의 프로세서가 있는 메인프레임 시스템은 종종 긴밀하게 연결되어 있습니다.
느슨하게 결합된 멀티프로세서 시스템
느슨하게 결합된 멀티프로세서 시스템(일반적으로 클러스터라고 불립니다)은 고속 통신 시스템을 통해 상호 연결된 여러 개의 비교적 낮은 프로세서 수를 사용하는 독립 실행형 일반 컴퓨터를 기반으로 합니다(기가비트 이더넷이 일반적입니다).Linux Beowulf 클러스터는 느슨하게 결합된 시스템의 예입니다.
긴밀하게 연결된 시스템은 느슨하게 연결된 시스템보다 성능이 우수하고 물리적으로 작습니다. 그러나 역사적으로 초기 투자가 더 많이 필요했고 빠르게 감가상각될 수 있습니다. 느슨하게 연결된 시스템의 노드는 일반적으로 저렴한 범용 컴퓨터이며 클러스터에서 은퇴하면 독립 시스템으로 재활용될 수 있습니다.
소비전력도 고려해야 할 사항입니다.긴밀하게 결합된 시스템은 클러스터보다 훨씬 에너지 효율이 높은 경향이 있습니다.이는 긴밀하게 연결된 시스템에서 처음부터 함께 작동하도록 구성 요소를 설계함으로써 전력 소비를 크게 줄일 수 있는 반면 느슨하게 연결된 시스템은 이러한 시스템에서 사용하기 위해 특별히 의도되지 않은 구성 요소를 사용하기 때문입니다.
느슨하게 결합된 시스템은 서로 다른 운영 체제 또는 OS 버전을 서로 다른 시스템에서 실행할 수 있습니다.
「 」를 참조해 주세요.
- 멀티프로세서 시스템 아키텍처
- 대칭형 멀티프로세서
- 비대칭 멀티프로세서
- 멀티코어 프로세서
- BMDFM – SMP MIMD 런타임 환경인 Binary Modular Dataflow Machine
- 소프트웨어 록아웃
- OpenHMPP
레퍼런스
- ^ Raj Rajagopal (1999). Introduction to Microsoft Windows NT Cluster Server: Programming and Administration. CRC Press. p. 4. ISBN 978-1-4200-7548-9.
- ^ a b Mike Ebbers; John Kettner; Wayne O'Brien; Bill Ogden (2012). Introduction to the New Mainframe: z/OS Basics. IBM. p. 96. ISBN 978-0-7384-3534-3.
- ^ "Multiprocessor dictionary definition - multiprocessor defined". www.yourdictionary.com. Retrieved 16 March 2018.
- ^ "multiprocessor". Retrieved 16 March 2018 – via The Free Dictionary.
- ^ Irv Englander (2009). The architecture of Computer Hardware and Systems Software. An Information Technology Approach (4th ed.). Wiley. p. 265. ISBN 978-0471715429.
- ^ a b Deborah Morley; Charles Parker (13 February 2012). Understanding Computers: Today and Tomorrow, Comprehensive. Cengage Learning. p. 183. ISBN 978-1-133-19024-0.
- ^ a b Shibu K. V. Introduction to Embedded Systems. Tata McGraw-Hill Education. p. 402. ISBN 978-0-07-014589-4.
- ^ Ashok Arora (2006). Foundations of Computer Science. Laxmi Publications. p. 149. ISBN 978-81-7008-971-1.
- ^ a b Ran Giladi (2008). Network Processors: Architecture, Programming, and Implementation. Morgan Kaufmann. p. 293. ISBN 978-0-08-091959-1.
- ^ Sajjan G. Shiva (20 September 2005). Advanced Computer Architectures. CRC Press. p. 221. ISBN 978-0-8493-3758-1.
- ^ L. F. Menabrea (October 1842). "Sketch of The Analytical Engine Invented by Charles Babbage". Bibliothèque Universelle de Genève (82).
Likewise, when a long series of identical computations is to be performed, such as those required for the formation of numerical tables, the machine can be brought into play so as to give several results at the same time, which will greatly abridge the whole amount of the processes.
- ^ TRS-80 Model II Technical Reference Manual. Radio Shack. 1980. p. 135.