멀티프로그래밍 위키로 바로가기 → http://www.devnote.net/wiki
다음은 올해 출간될 예정인 미국 Brown대학 Maurice Herlihy 교수의 책에서 발췌 번역한 글입니다.
멀티프로세서 아키텍쳐의 보급은 소프트웨어 개발 전반에 영향을 미칠 것이다. 최근까지 기술의 진보는 클럭 속도의 발전을 의미하였으며 소프트웨어는 시간이 지날수록 저절로 빨라졌다. 그러나, 이제 이 무임승차는 끝났다. 기술의 진보는 더 이상 클럭 속도의 증가를 의미하는 것이 아니라 병렬성의 증가를 의미하게 될 것이며 이러한 병렬성을 이용하는 것이 현시대 컴퓨터 사이언스가 해결해야할 중대 도전 중의 하나이다
결국 "멀티코어, 멀티프로세서 시대에 소프트웨어의 중요성이 더욱 커진다"는 것 입니다. 프로그래머들도 그동안 좋은 하드웨어로 업그레이드하면 프로그램이 빨라지므로 속도 향상을 위해 코드를 최적화하는 노력을 게을리해 왔습니다. 하지만, 단일 스레드로 제작된 프로그램은, 아무리 많은 수의 코어를 가진 CPU로 업그레이드해도 성능이 향상되지 않을 것이며, 잘못 제작된 멀티스레드 프로그램은 코어 수가 증가되면, 오히려 속도가 떨어지거나 버그로 인해 사용이 불가능하게 될 수도 있습니다. 8 코어 CPU가 등장하고 멀티코어가 보편화되는 2009년 쯤에는 멀티스레드 프로그램을 잘 제작하는 프로그래머가 좋은 대우를 받을 것이라고 생각됩니다. 물론 단순히 멀티스레드 프로그램을 제작하는 사람이 아닌 주어진 문제를 여러개의 스레드에서 수행할 수 있도록 분리하는 능력을 가진 프로그래머가 되어야 겠습니다.
크리에이티브 커먼즈 라이센스
Creative Commons License

Brown 대학교의 Maurice Herlihy 교수의 강의 자료입니다. 제목은 "The Art of Multiprocessor Programming"입니다. 강의 자료가 하나의 책으로 만들어져 있어 멀티프로그래밍에 대해 혼자 공부하는데 많은 도움을 줄 것 같습니다.

Herlihy 교수는 멀티프로세서 프로그래밍 분야에서 많은 논문을 집필하였습니다. 제 위키 페이지에서도 이 강의 자료의 내용을 많이 참고할 것입니다.

http://www.cs.brown.edu/courses/cs176/
크리에이티브 커먼즈 라이센스
Creative Commons License

안녕하세요. 드디어 오늘 2006년 11월 7일 "멀티프로그래밍 블로그"를 오픈합니다. 이 블로그는 멀티프로그래밍 위키(Wiki)와 함께 운영됩니다. 위키에는 주로 멀티프로세서와 멀티코어 CPU를 100% 활용하기 위한 멀티프로세서 프로그래밍과 관련된 내용을 위키 형식으로 정리 업데이트할 예정이며 이 블로그는 그 내용에 관한 토론이나 기타 소프트웨어 개발자로서의 주변 얘기들을 블로깅하려고 합니다.

간단히 제 소개를 한다면 11년째 프로그래머로 일하고 있으며 현재는 온라인 게임 서버프로그래머로 일하고 있습니다. 제가 처음으로 프로그래밍을 시작한 것은 1980년대 중반 MSX에서 베이직, 에셈블리와 기계어(machine) 코드를 이용하여 간단한 게임이나 유틸리티를 제작하기 시작하면서 입니다. 그 이후로 컴퓨터 환경은 너무도 많이 변했습니다. 90년대 초에는 친구들과 몇가지 컴퓨터 관련 책을 출판하였습니다.

최근 멀티 코어 CPU 개발과 생산이 매우 활발히 진행되고 있습니다. 하지만, 이를 효과적으로 사용하는 소프트웨어 개발이나 교육은 이를 따라 가지 못하고 있습니다. 멀티프로세서를 이용한 병렬처리(Parallel Processing) 알고리즘은 이미 오래전부터 연구되어 왔으나, 이해하기 힘들고 이른반 멀티스레드 프로그래밍은 현재의 컴퓨터 언어로 구현하기도 쉽지 않으며 고치기 힘든 버그가 항상 생기기 마련입니다.

이 멀티프로세서 프로그래밍 위키는 제가 글을 쓰는 개인 위키이며 이곳 블로그는 그 위키와 관련된 내용응 블로깅하는 곳입니다.
크리에이티브 커먼즈 라이센스
Creative Commons License