GA-EP45-UD3R 문제

GA-EP45-UD3R 기종의 메인보드에서 발견된 문제점이다.

HDD에 file을 writing 하고 난 후에 CPU의 점유율이 떨어지지 않는 문제점이 발생함을 확인하였다.

예를 들면, 다음과 같은 코드를 실행시키면 문제가 발생한다.

#include <iostream>
#include <fstream>
using namespace std; 

int main( int argc, char* argv[] ) {

int N = 1000000;
float* a = new float[N];

for( int i=0; i<N; ++i ) { a[i] = i; }

ofstream fout;

for( int i=0; i<100; ++i ) {

  cout<<i<<endl;

  char output[32];
  sprintf( output, "%04d", i );

  fout.clear();
  fout.open( output, ios::binary );

  fout.write( (char*)a, N*sizeof(float) );

  fout.close();

}

delete[] a;

return 0;

}

현재까지 문제 발생을 확인한 OS는 WindowsXP x64와 CentOS 64bit 버전이다.
Windows에서는 CPU 점유율이 올라가도 큰 문제가 발생하지는 않았지만,
Linux 같은 경우에는 OS의 작동이 수 십 초간 멈추는 치명적인 현상이 발생할 수 있다.

해결책으로는 다음의 두 가지 방법이 있다.

1. BIOS 및 Chipset 드라이버를 최신 버전으로 update한다.
   (단, 리눅스에서는 P45 칩셋에 대한 드라이버를 찾을 수 없으므로 불가능함)

2. HDD를 일반 SATA가 아닌 GSATA에 연결한다.

답글 남기기