본문 바로가기

지식/system

MPP & SMP

MPP

Massively Parallel Processing



분산 memory로 불리 우는 병렬처리.
존재하는 Processor가 각각 전용의 memory를 갖추어 동작한다. Memory나 Disk를 Processor가 공유 하지 않는 구성이기 때문에, Shared Nothing의 Architecture라고도 한다.
Processor간의 연계를 high speed bus로 message를 주고받음으로 실현한다. 이 때문에, Shared Memory, Shared Disk 개념의 Architecture의 SMP에 비해 분산 lock manager가 불필요 하여, memory에의 Access충돌이 일어나지 않는다.



Processor의 독립성이 높아 Hardware설계가 간단하고, Processor의 수를 늘려서 Performance를 올리기 쉽다. 단지, 모든 request message는 최저 한 개의 Processor를 경유할 필요가 있고, Process의 수가 많아지면 overhead가 크게 되어, 경로가 길어져 시간이 지연되는 일이 발생한다.
Mesh Network, Hyper Cube Network이라고 하는 Processor간의 접속방식은 이러한 불편을 개선 시키기 위해 만들어졌다.





SMP

Symmetric Multi Processing



대칭형 Multiprocessing SMP방식의 병렬 처리는 전 Processor가 공통의 Memory를 이용 연계 시키며 동작한다.
동작에 필요한 data를 항상 공유하고 있음으로써, 효율이 좋은 병렬처리 Program을 작성할 수 있다.
단지, 한 개의 Memory는 복수의 Processor부터의 Access를 동시처리 할 수가 없다. 따라서 Processor가 늘어남에 따라, Memory에의 Access에 경합이 생겨 문제가 나게 된다. 일정 이상의 Processor를 탑재하여도 Throughput이 오르지 않고, 16개 정도의 Processor 구성이 상한으로 여겨졌다.



그러나 1997년에 와서 Architecture나 System-Bus의 개량으로, 32개, 64개의 CPU구성의 SMP Server가 등장되기 시작 하였다. 또한 Cluster도 SMP Server 2대부터 4대까지 가능케 되고, 16대부터 32대의 Cluster접속이 현실화 되기 시작하였다. UNIX server 계열에서는 1Giga bit/sec의 Fiber channel Switch의 기술로 256대의 HP-UX Server를 Cluster화 할 수도 있다.
한편, Intel의 Pentium Pro를 탑재하는 PC Server는 SMP의 구성으로 4개의 Processor까지 사용할 수 있다. 여기서도, 1997년부터 4 Processor의 NT Sever를 2대부터 4대에 이르는 Clustering이 실현 되기 시작하였다.
1998년에는 16대의 NT Server를 Clustering 하는 일을 Tandem이나 Microsoft의 기술로 실현 하게 되었다.