2006년 11월 8일

쿼드코어 CPU에 대한 어떤 기사의 오류

해당 기사: [전자신문] 쿼드코어 앞둔 걱정 '4배라고 하기만 해봐라'

이 기사를 작성한 의도는 이해가 갑니다. 쿼드코어라고 해서 정확히 4배의 성능이 나오는 것은 아니므로 업체의 과장 광고를 조심하라는 뜻이죠. 일반적으로 쿼드코어는 PC OS의 처리 구조상 싱글코어에 비해 대개 3배 내외의 성능이 나오므로 4배라는 표현은 과장된 것이 사실입니다.

하지만 위의 글에는 부적절한 비유가 있습니다. 다음의 부분을 보시죠.

처리 성능 자체가 높아지는 것이지 속도 자체가 2배가 된다는 게 아니기 때문. 이런 얘기는 시속 100km짜리 자동차 2대가 있으면 200km로 달릴 수 있다는 말도 안 되는 얘기와도 다를 게 없다. - 해당 기사에서 발췌

오히려 사용자들에게 상당히 혼란을 주는 표현입니다.

그 판단 지표에 있어서, OS상에서 동시에 실행되는 프로세스들의 처리 시간 즉 “실행 소요 시간”의 관점에서 본다면 성능이 빠른 거나 속도가 빠른 거나 유사한 결과를 가져옵니다.

그 이유는 다음과 같습니다. OS에서 S/W는 프로세스(작업관리자에서 확인 가능)이며, 프로세스는 사용자가 인식할 수 없는 여러 쓰레드(작업 단위)로 나뉘어 실행이 되는데, OS에서는 그러한 프로세스가 항상 동시에 수십 개 이상이 실행되고 있습니다(쓰레드는 수백 개 이상). 그것은 다음과 같이 비유할 수 있습니다.

100개의 공을 던지는 시합을 한다고 합시다. 앞에 놓인 100개의 공을 빨리 던지면 이깁니다. 왼손만으로 공을 짚어서 던지는 쪽이 빨리 끝날까요? 왼손, 오른손을 다 이용해서 던지는 쪽이 빨리 끝날까요?

당연히 두 손을 모두 이용하는 것이 빠릅니다. 즉 한 손으로 공을 던지는 것이 싱글코어, 두 손으로 공을 던지는 것이 듀얼코어입니다.

하지만 두 손으로 던지는 경우에도 한 손으로 던지는 경우보다 정확히 2배 빠르기는 힘들 것입니다. 왜냐하면 머리와 눈을 이용해서 왼손, 오른손에 공을 잘 분배해서 던져야 하는데 거기에서 소요되는 시간이 있기 때문입니다.

듀얼코어가 정확히 2배의 성능이 안 나오는 것은 바로 이러한 이유와 유사합니다. 쓰레드라는 작업 단위를 CPU에 할당하고 관리해야 하는데 거기에 소요되거나 낭비되는 시간이 있기 때문입니다(일종의 교통 정리랄까요). 또한 실제 S/W의 수행에 있어서, 필요한 쓰레드가 많거나 적을 수 있고 어떤 프로세스에서는 동시에 여러 쓰레드가 실행되지 않을 수도 있고 또한 실행 시간이 많이 소요되는 쓰레드도 있고 비교적 짧은 쓰레드도 있어서, 그런 여러 변수가 작용하게 됩니다.

OS에서 동시에 실행되는 수많은 프로세스의 관점에서 보면, 기사에 나온 비유는 잘못된 것이며 위의 공 던지는 비유가 보다 더 적절하다고 생각합니다.

물론 저의 표현 또한 대상을 아주 간략화하여 비유한 것일 뿐이므로, 실제 기술적인 내용은 이 아티클을 참고하십시오. 쿼드코어는 아직 출시가 안되어 자료가 많지 않아서 듀얼코어에 대한 내용을 링크했는데, 쿼드코어도 동일한 개념으로 이해하시면 됩니다.

결론적으로 말해 (정확히 배수로 매핑되지는 않지만) 동시에 여러 작업을 수행할 시 듀얼코어, 쿼드코어의 실제 성능 향상은 명백하며 Windows Vista와 같이 PC의 성능을 풀로 사용하고 더 많은 쓰레드가 구동되는 OS에서는 보다 높은 효율성을 보일 것이라고 생각합니다.

댓글 3개:

miriya :

홈쇼핑이나 인터넷쇼핑몰은 결코 기대를 저버리지 않을겁니다.
후후.. "쿼드코어니 성능도 네배겠쬬?"

zingle :

예전에 HT되는 zeon CPU를 네개 붙여서 써본 적이 있는데, (논리적으로는 8개 CPU까지 만들어지죠.테스트는 HT를 on/off상태에서 모두 해봤습니다만...) 쓰레드가 30~40%의 확률로 몇개의 CPU에만 몰려서 문제가 된 적이 있었습니다. (이미 이것만 해도 몇년 전이고, 게다가 linux 2.4.x대의 smp 버전이었지만요.)

결국 실행시간의 단축이라는 것도 OS가 서로 다른 프로세스들을 각 CPU에 얼마나 잘 배분하고, 각 어플리케이션이 multi processor에 적합하게 쓰여지냐의 문제인 것 같습니다.

Vista가 이런 cpu를 얼마나 잘 핸들링 해줄지....궁금해지네요. ^^

Hanseok Ryu :

To miriya님/ 제 생각에도 물론 그럴 거 같네요. ^^

To zingle님/ OS에서 쓰레드 배분 및 관리 기술은 가장 하이테크한 부분이죠. 그리고 HT는 그다지 별 효과가 없는 기술이었습니다.

Vista에서 듀얼코어와 쿼드코어 성능을 확실히 비교체감해보고 싶네요. 쿼드코어와 Vista 정식이 곧 출시되니 그럴 날이 얼마 안 남았네요. ^^

댓글 쓰기

댓글을 환영합니다.

스팸으로 인해 모든 댓글은 운영자의 승인 후 등록됩니다. 스팸, 욕설은 등록이 거부됩니다. 구글의 블로그 시스템은 트랙백을 지원하지 않습니다.