2006년 5월 4일

돈과 명예, 두 마리 토끼를 잡는「코딩」

돈과 명예, 두 마리 토끼를 잡는「코딩」
멀티쓰레딩 기술, UNIX계열에서는 항상 써오던거 아닌가... 듀얼 코어 프로세서 플랫폼에서 코딩할때 신경써줘야할 쓰레드 기법이라도 있는지요? 무식이 죄지..ㅋ

2 Comments:

Blogger Platonian said...

멀티 쓰레드가 운영체제 커널에서 지원되면 커널 쓰레드, 어플리케이션 레벨에서 지원되면 어플리케이션 쓰레드 (예를 들면 윈도우즈 상의 썬 JVM) 라고 불리웠고, 그 사이에 LWP 같은 게 있었던 걸로 압니다.

기존의 CPU에서는 멀티 쓰레딩 지원이 안되었습니다. 그러나, 저런 기능들은 CPU에서도 지원할 수 있습니다.

80386인지 80486인지부터 멀티 태스킹을 지원하기 시작했습니다.

간단히 말하자면 듀얼 코어 CPU에서 멀티 쓰레딩을 지원하는 겁니다.

저 글을 자세히 안읽어서 모르겠지만, 참가자들은 아마 (1) 멀티 쓰레드 커널을 직접 만들거나, (2) 이미 듀얼 코어 주어진 멀티 쓰레드 라이브러리 (CPU 회사에서 만든 아주 기초적인 라이브러리겠죠.) 를 가지고 문제를 풀거나 하는 거겠죠.

오후 1:04  
Blogger 냥이(primus) said...

저는 gcc만 계속 써와서 그런지 T.T;
아키텍처별 컴파일 optimization 옵션은 Makefile에 넣어줄수 있는데라고 생각했지요. 단순하게 비선점형 LWP로 구현을 생각했네요.
생각해보니, 특별히 POSIX쓰레드 환경에선 듀얼CPU라고 이점이 있다기 보다는 GUI환경에서는 이점이 있겠죠. 콘솔에서만 코딩하는 저는 GUI환경에서의 생각을 못했습니다.
잘 생각해보면 멀티 CPU일때 내부 UNIX 소켓 IPC를 이용하여 두개의 프로세스로 나누어 CPU 점유율을 낮추는 방법도 듀얼코어CPU를 쓰는 방법일수도 있다능 생각을 해봅니다.

오후 3:32  

댓글 쓰기

<< Home