[완료] 하드디스크에서 파일을 읽을 때 cpu가 한쪽으로 몰리는 현상...

lee3390의 이미지

현재 15개의 쓰레드에서 HDD의 420kB짜리 파일을 초당 40개정도를 읽게 하고있습니다.

그런데 top으로 iowait를 보면 이상한 현상이 있습니다.

코어2듀오 cpu가 듀얼로 꽂혀있습니다.

top으로 봤을때
cpu0,cpu2는 iowait가 20%를 넘지 않는데
cpu1,cpu3은 iowait가 70~90% 사이를 왔다갔다합니다.

왜 한쪽으로만 몰리는지 해결책은 없는지요?

jachin의 이미지

이것은 아키텍쳐에 의한 결과입니다.

코어2듀오 CPU에 있는 메모리 인터페이스는 코어당 하나씩이 아닌, 물리적 CPU 당 하나입니다. CPU를 통한 파일이동을 한다면, 물리적 CPU 내의 코어 중 한 개의 코어에만 I/O Queue가 할당되는 셈입니다. 한 쪽으로 iowait 이 몰리는 것은 지극히 당연한 결과이지요. 오히려 한 쪽으로 몰리는 것으로 다른 코어의 활동을 줄일 수 있어서 전력소모를 줄일 수 있는 점을 생각한다면, 좋은 결과이지요. :)
====
( - -)a 이제는 학생으로 가장한 백수가 아닌 진짜 백수가 되어야겠다.

lee3390의 이미지

CPU 아키텍쳐 구조상 그리 되어있는 것이군요

그것도 모르고 열심히 구글링하다 좌절하고... gg상태였습니다 ㅠ.ㅠ

감사합니다 ^^