오늘 우연히 발견한 Dual Core와 Quad Core 성능비교에 관한 블로그 포스팅이 매우 유익한 정보를 담고 있어 소개합니다.
비교 대상은 아래 두개의 CPU 입니다. 새 기계는 Quad Core이지만 CPU의 클럭스피드가 낮다는 것에 주목해야 합니다.
단일 코어대 코어의 성능을 비교하기 위해 필자는 Quad Core의 두 개 코어를 임의로 disable시켰으며, 벤치마크 결과 Quad Core가 1.3에서 1.9배 빠른 것으로 나타나 아래와 같은 결론을 말하고 있습니다. 그러니까 이제 클럭스피드만으로 CPU 성능을 말할 수 없다는 것 입니다.
또, 한가지 흥미로운 점은 DDR 메모리 슬롯을 모두 다 사용함으로써 메모리 대역폭 (bandwidth)를 향상시킬 수 있다는 것입니다. 즉, 8개의 메모리 슬롯을 가진 기계에 2GB 메모리 두개를 꽂는 것 보다는 1GB 메모리를 4개의 슬롯에 나누어 꽂는 것이 보다 큰 메모리 대역을 갖게 해준다는 것입니다. (물론 1GB 메모리만을 사용하면 최대 확장 가능 메모리는 8GB로 줄어들게 됩니다.)
코멘트에 있는 symmetric multiprocessor (SMP) Soft Affinity 관한 글도 유익합니다. 각각의 쓰레드는 자신의 "ideal processor"를 가지고 있어 가능한한 같은 CPU혹은 코어에서 계속 실행이 된다는 것입니다. 하지만, user mode 쓰레드는 언제든지 우선순위에 따라 다른 CPU에 할당될 수 있는 preemptive scheduling 이라는 것입니다. 당연한 이야기이지만 다시 한 번 쓰레드에 대한 명확한 이해를 하게 해주는 것 같습니다.
비교 대상은 아래 두개의 CPU 입니다. 새 기계는 Quad Core이지만 CPU의 클럭스피드가 낮다는 것에 주목해야 합니다.
Old machine: dual-core Intel Pentium D 830 processor, running at 3 GHz, with 1 GB of RAM.
New machine: quad-core Intel Xeon 5355 processor, running at 2.66 GHz, with 4 GB of RAM.
New machine: quad-core Intel Xeon 5355 processor, running at 2.66 GHz, with 4 GB of RAM.
단일 코어대 코어의 성능을 비교하기 위해 필자는 Quad Core의 두 개 코어를 임의로 disable시켰으며, 벤치마크 결과 Quad Core가 1.3에서 1.9배 빠른 것으로 나타나 아래와 같은 결론을 말하고 있습니다. 그러니까 이제 클럭스피드만으로 CPU 성능을 말할 수 없다는 것 입니다.
This is perhaps the most important lesson for developers to learn:
clock speeds are no longer a good indicator of true performance.
또, 한가지 흥미로운 점은 DDR 메모리 슬롯을 모두 다 사용함으로써 메모리 대역폭 (bandwidth)를 향상시킬 수 있다는 것입니다. 즉, 8개의 메모리 슬롯을 가진 기계에 2GB 메모리 두개를 꽂는 것 보다는 1GB 메모리를 4개의 슬롯에 나누어 꽂는 것이 보다 큰 메모리 대역을 갖게 해준다는 것입니다. (물론 1GB 메모리만을 사용하면 최대 확장 가능 메모리는 8GB로 줄어들게 됩니다.)
코멘트에 있는 symmetric multiprocessor (SMP) Soft Affinity 관한 글도 유익합니다. 각각의 쓰레드는 자신의 "ideal processor"를 가지고 있어 가능한한 같은 CPU혹은 코어에서 계속 실행이 된다는 것입니다. 하지만, user mode 쓰레드는 언제든지 우선순위에 따라 다른 CPU에 할당될 수 있는 preemptive scheduling 이라는 것입니다. 당연한 이야기이지만 다시 한 번 쓰레드에 대한 명확한 이해를 하게 해주는 것 같습니다.