CnUnix

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ CnUnix ] in KIDS
글 쓴 이(By): lynix (열)
날 짜 (Date): 2008년 08월 13일 (수) 오전 11시 08분 40초
제 목(Title): [Q] 멀티코어 동시쓰레드 문제 


멀티코어 환경에서 이상한 현상때문에 질문 드립니다.

서버 스펙은 Xeon 5148 * 4 CPU 모델이고, OS는 리눅스 입니다.

이 CPU가 듀얼코어라서 최대 동시에 실행될 수 있는 쓰레드는 당연 8개라

생각했는데요. 

멀티쓰레드 프로그램을 하나 만들어서 적용해 본 결과 1 -> 2 -> 3 -> 4 까지는

처리시간이 선형적으로 감소하는데, 그 이상부터는 변화가 없었습니다.

프로그램은 단순히 입력물들을 하나씩 할당받아 인코딩하는 것들이라 상호간

배재상황은 거의 안 일어 납니다. 입력물들을 할당 받을 때만 잠깐 뮤텍스를 걸

뿐 그 이후부터는 독립적으로 동작하고요.

현재 짐작하는 바로는, 한 CPU에 코어가 두개 들어있다 해도, 캐시는 공용이라

그런거 아닐까 하는 생각이 들긴 하는데... 그렇다 해도 8코어에서 4쓰레드 

이상에서 병목이 일어나면 듀얼코어가 무슨 소용일까 하는 생각도 들어 이건

아닌 것 같기도 하고.. 더 이상 짐작이 안되네요. --;;

짐작가시는 거나 어딜 체크해봐야 될 지 한 수 가르침을 주심 감사하겠습니다.


[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.