플스3 펌웨어가 1.6으로 업데이트 되면서 Folding@Home이라는 메뉴가 생겼다. SETI@Home의 아류격으로 느껴질만하지만,(SETI@Home은 1999에 Folding@Home은 2000년에 시작했으니 아류가 맞다고 볼수도 있다.) Folding@Home은 난치병 치료제 개발에 도움이 되는 단백질의 접힘(Folding) 연구를 위한 것이기 때문에 보다 공익(?)적인 작업인 셈이다. 처음 뉴스를 접하고 '소니가 PS3의 실추된 이미지를 사회공익적인 이미지로서 개선해보고자 하는군'이라는 선입견이 생겼지만, 실제로 사용을 해보니 몇가지 실익(?)적인 부분-말로만이 아니라 실제 도움이 된다는-이 있었다.

PS3에서의 구동

Folding@Home의 구조를 간단히 보자면,

- 처음 시뮬레이션할 작업량을 네트워크를 통하여 받아온다.
- 내부 컴퓨팅파워(CPU+GPU)를 이용하여 시뮬레이션을 수행한다.
- 시뮬레이션이 끝나면 자료를 전송한다.
- 이를 반복한다.

보고있자면 단백질 구조가 무섭도록(!) 덜덜 떨면서 각 상황의 접힘을 시뮬레이션하는데, 자꾸 보고 있으노라면 세뇌가 되는지 오랫동안 쳐다보게 된다. 배경에는 지구상에서 Folding@Home 프로그램이 가동중인 지역이 밝게 표시되어 나타난다. (클라이언트 수가 많을수록 밝은 곳으로 표시된다.)

PC버전과 PS3버전과의 비교

혹시나 해서 필자의 PC에서 Folding@Home PC버전을 돌려보았는데, 결과가 의외여서 놀랐다. 본인의 PC사양은,

AMD X2 3800+ / 1.5GB RAM / GeForce 6100 통합칩셋 / 500GB HDD

정도인데, 아래 실행화면을 보면,

내부에서 수행되는 작업의 내용을 정확히 알지 못하기 때문에 단정짓기 어렵지만, Folding@Home에서 작업의 최소단위는 frame으로 정의하고, 여러개의 프레임이 모여서 하나의 시뮬레이션을 이룬다. 참고로 PC버전과 PS3버전의 시뮬레이션 분량이 다른데, PC버전은 20000개의 프레임이 하나의 시뮬레이션이고, PS3버전은 40000프레임이 하나의 시뮬레이션을 이룬다.(왜인지는 나중에 나온다.) 결국 한 프레임을 계산하는 작업시간은 해당 머신의 성능과 거의 직결된다고 볼 수 있다. 위 사진에서 보면 16s/frame으로 나타나 있는데 이것은 한프레임을 계산하는데 드는 시간이 16초라는 것이다.  그럼, PS3버전의 한 프레임당 작업시간은 얼마인지 살펴보자.
16초 대 0.07초...이거이거 같은 작업분량으로 보기가 어려운 값인데, 일단 PC버전은 다중코어지원이 안되기 때문에(Linux나 Mac버전에서만 가능) 싱글코어 100%사용량으로 설정했을때의 성능이다. 그렇다고 하더라도 너무 차이가 난다. PS3 버전의 구동원리도 묘연하다. 셀만을 이용하는 것인지 RSX(GPU)도 연산에 이용하는 것인지를 알 수 없다. 하지만, Wikipedia에 따르면 PS3용 Folding@Home이 배포된 이후, 최고의 연산 피크를 기록했다고 한다. (990 teraFLOPS in 3/25/2007) PS3의 참여로 인하여 가시적인 퍼포먼스 향상이 있다는 것이다. 곧 있으면 petaFLOPS(페다플롭스)에 도달할 예정이라니, 소니의 Folding@Home 홍보가 단지 Eyecandy만은 아니라는 것은 인정해줘야 하겠다.

Folding@Home 사이트 바로가기
AND