MP와 XP에 대한 제 생각을 말하자면요. 먼저 앞서 코멘트 주신 분들의 의견에 동의하는 면도 없지는 않으나 동의할 수 없는 것들도 많아 몇 자 적어봅니다.(리플을 많이 달아주실 거라 믿고 건전한 정보의 공유를 위해 시작하겠습니다.)
전 AMD사 와는 아무 관계도 없구요, 단지 컴퓨터를 공부했던 사람으로서 제 사견을 적어보고자 하는 것 뿐이니 많은 의견 주셨으면 좋겠습니다.
MP와 XP가 같다고 말씀 주신 분이 있는데. 어떤 면에서 같다는 건지요. 비교를 할 때는 수준이라는 것이 있게 됩니다. 똑같은 쏘나타라는 차가 있어도 TCS같은 옵션을 비롯하여 쏘나타라는 자동차를 여러 수준으로 나눌 수 있는데요. 이러한 옵션이 많아질 수록 차값은 올라가게 됩니다.(이러해도 이 모든 쏘나타 자동차들은 거의 똑같은 라인에서 나옵니다. ^^)
MP와 XP의 관계도 마찬가지 입니다. MP는 XP에 비해 멀티 프로세서 구성시 조금이라도 더 좋은 옵션을 가지고 있는 것이죠. 그 옵션은 바로 멀티 프로세서 구성시 필연적으로 이슈가 되는 cache coherence 부분입니다. 캐쉬 하나만 해도 많은 이해를 필요로 하니 핵심만 말하면 캐쉬가 일관성을 유지하도록 뭔가가 cpu에 부가적으로 존재한다는 겁니다. 초기에는 스누퍼라고 해서 단지 캐쉬가 일관성을 가지지 않게 되면 그것을 버리는 형식을 취했는데요(다시 메모리로부터 올리는 것이 됩니다). 이것만해도 그 때 당시로서는 대단한 것이었습니다. 그리고 점점 더 메모리로부터 올리지 않으면서 여러 cpu간의 캐쉬간에 일관성을 가지도록 노력을 기울이게 되는데요. 여기서 많은 비용이 발생하게 됩니다. 그런 것을 계속 모니터링 하다가 특정 순간(일관성을 잃어버리는 순간)을 포착하는 것이 쉽지가 않습니다. 자유롭게 생각할 수 있는 사람에게 캐쉬가 일관성을 잃어버리는 시나리오를 기술해보라고 해도 그 답을 적기게 쉽지 않았던 수업시간이 기억납니다. ^^; 따라서 그런 모니터링 기능을 가지도록 cpu를 만드는데 많은 비용이 들거라 생각하지 않나요?
XP를 개조해도 MP 처럼 잘 쓸 수 있는 것은(수많은 에러 없이) 그것이 같기 때문이 아니라는 것이 제 생각임을 밝혀둡니다. 우리의 PC에는 보통 서버에서 사용하는 ECC 메모리를 사용하지 않습니다. ECC 메모리는 제가 배운바에 의하면 해밍코드같은 기법을 응용한 거라고 알고 있는데요. 실제 구성하는 bit 수보다 관리목적의 bit를 더 많이 두어 2bit error detecting, 1bit error correcting 기능을 수행합니다. 따라서 performance는 PC보다 오히려 떨어지나 reliability는 뛰어나게 됩니다. 그렇다고 해서 우리 PC가 1bit error를 일으켜도 사용하는데 큰 지장은 없습니다.(물론 경우에 따라 중요해지는 수도 있지만)
그리고 page fault는 SMP 용어가 아닙니다. 캐쉬 쪽에서는 주로 cache hit, cache miss라는 용어를 씁니다. page fault는 paging system에서 메모리에 원하는 page가 없어서 디스크로부터 읽어와야 하는 상황을 일컫는 것으로 알고 있구요.
마지막으로, 그럼에도 불구하고 개조한 것은 나름대로 상당한 performance를 내는 것에 대해 저의 추측을 적어본다면, 다들 알다시피 훨씬 높은 클럭 때문입니다. 1.2G와 2500+는 클럭이 거의 두 배 차이납니다. 설사 XP가 MP에 비해 cache miss가 많이 일어나더라도 그것을 클럭으로서 상쇄하게 된다는 겁니다. cache coherence는 논외로 두겠습니다. 분명히 reliability에서는 XP 개조가 떨어질 거라는 확신을 하기에...(그런데 실제로 우리가 PC의 용도로 컴퓨터를 사용할 때는 이 reliablity는 별로 중요하지 않게 되죠.)그리고 여기서 주로 많은 분들이 말씀하시는 문맥은 멀티 프로세서라고 해도 2개를 가정하는데요. 수 개만 되더라도 XP 개조는 reliablity에 있어 많은 의심을 가지게 할 거라 예상합니다.
긴 글 읽느라 수고하셨습니다. 제 의견에 동의하지 않는 분들도 많으실 거라 생각하구요. 많은 분들의 의견 듣고 싶군요.
그럼 수고하세요. (꾸벅)
짧은글 일수록 신중하게.