CS 전공/책, 자료들2009. 10. 6. 23:31
최근에 CMP(Chip-level Multi Processor) 또는 Multi-core의 출현-사실 멀티코어의 대두는 frequency wall, power wall, heat dissipation 등 여러가지 이유 등으로 발생하게 되었지만, 자세한 출현 배경은 나중에 언급하도록 하자- 에 따라, 커리큘럼에 parallel programming 또는 multi-core programming 코스를 추가하는 미국 대학들이 많아지고 있다.

Memory bandwidth등의 문제로 아직 8 core 이상에서는  이상적인 성능을 보여주지는 못하는 듯 하지만,
사람들이 예측하기로는 32 core CPU가 시중에 유통될 날도 멀지 않을 것이라 한다.  뭐 인텔은 실험적으로 80-core CPU도 공개한 적이 있다. 
더 나아가 멀티 코어들을 여러개 꽂은 멀티 프로세서 시스템들도 쏙쏙 출현할 것이다. 거기에다 각 Core가 SMT (Simultaneous Multi Threading) 까지 지원한다면, 실제 돌릴 수 있는 시스템 쓰레드의 수는 엄청 많아질 수 있을 것이다. MapReduce 기술과 함께 바야흐로 Reminiscence of Parallelism이다. 
(사실 MapReduce와 Multi-core가 결합되는 예도 있는데, Stanford 애들이 만든 Pheonix라는 MapReduce의 Multi-core Programming Model로의 적용과 같은 연구도 있었다) 

아무튼 이런 저런 이유로 이제는 직렬 프로그래밍(sequential programming) 뿐만 아니라,  Parallel Programming 기법도 손에 익어두어야 할 필요가 있겠다.

아래는 여태껏 조사해 본 멀티코어 관련 강좌들:

1. Multicore Programming Primerhttp://www.youtube.com/watch?v=vhIwuNJzVG4
   MIT Open Courseware(http://ocw.mit.edu/OcwWeb/web/home/home/index.htm에서 제공하는 강좌
   2007년도 강의 비디오와 강의 노트를 제공한다. 
   올해 강의 홈페이지 및 자료는  http://groups.csail.mit.edu/cag/ps3/index.shtml에서,, 그런데 Cell   Broadband Chip을 중심으로 살짝 방향이 바뀐 거 같다

2. Parallel Programming for Multicorehttp://www.cs.berkeley.edu/~yelick/cs194f07/
    UC Berkeley 전산학과 학부  2007년도 강의

3.  Applications for Parallel Programming, http://www.cs.berkeley.edu/~yelick/cs267_sp07/
    UC Berkeley 전산학과 대학원  2007년도강의

4. An Introduction to Parallel Programming& Parallel Programming Tools,  http://www.sun.com/solutions/hpc/development.jsp
   Sun HPC(High Performance Computing)에서 제공하는 Courseware

5. High Performance Computing Training(https://computing.llnl.gov/?set=training&page=index)
  Lawrence Livermore National Laboratory에서 제공하는 강좌들
 Parallel Computing 을 비롯한 HPC 관련 강좌들을 여러 개 제공한다.

written by Bart
Posted by Bart