Intel에서 작성한 White Paper로 내가 최근에 보고있는 병렬프로그래밍 책인 "Patterns for Parallel Programming"이라는 책의 저자 중에 한명인 Tim Mattson씨가 작성한 자료가 되겠다.(Tim Mattson씨는 현재 Intel CTG의 Principal Engineer이다) Intel의 Larrabee에 대한 자료를 찾다가 발견한 자료인데 정말 괜찮은 자료인 것 같다.
근래에 뒤늦게 병렬처리를 공부하면서 다양한 자료를 나름 접해봤는데 대부분 진입장벽이 높거나 명쾌하게 기본부터 잘 설명되있는 자료들이 생각보다는 없더라. 좀 설명이 잘되있다 싶으면 Step by Step은 아니고, Step by Step인거 같으면 설명이 부족하고...허나 Tim Mattson씨가 쓴 책이나 아래에 첨부하여 올린 White Paper들은 저 두가지 조건을 완벽히 충족시킨 자료인 것 같다.
제목에서 느껴지는 것처럼 제목도 생각보다 익살스럽고, 내용도 진입장벽이 거의 업다고 할 정도로 영어도 쉽고, 설명도 쉽게 되어있다. 이 White Paper는 총 4개로 구성되어 있는데, 각 파트에 대해서 간략하게 요약하면 다음과 같다.
Part 1 : Introducing concurrency and parallelism
==> 이 파트는 흔히 우리나라 말로 '동시성'과 '병렬성'에 대하여 설명한 부분으로 concurrency와 parallelism이 어떠한 차이가 있는지에 대하여 설명하고 있으며, Parallel Programming을 접하는 데에 있어서 가장 기초적인 첫 이야기들을 하고 있다. 여기서 정의하는 Concurrency와 Parallelism은 아래와 같다.
Concurrency : A property of a system in which multiple tasks that comprise the system remain active and make progress at the same time
(시스템의 남아있는 progress를 동시에 active와 make를 포함하는 multiple tasks 시스템의 속성이다)
Parallelism : Exploting concurrency in a program with the goal of solving a problem in less time
(프로그램내에서 분명한 concurrency을 적은 시간내에 풀어내는 것)
Part 2 : Parallel Hardware
==> 이 파트에서는 Parallel Programming을 공부하기전에 기본적으로 알아야하는 Parallel Hardware의 구조에 대하여 설명하고 있으며, 개인적으로는 가장 중요한 개념이라 생각되는 'Shared Memory'에 대한 설명이 있는 부분이다. 이 Shared memory로 인하여 어떠한 문제가 발생할 수 있는지에 대해서도 간략히 설명하고 있다.
Part 3 : Parallel computing issues
==> 여기에서는 Parallel programming을 적용하는데에 있어서 중요하게 여겨야 하는 것들과 주의해야하는 것들에 대하여 언급하고 있다. 특히 현재 가장 Issue가 되는 것들을 언급하면서 왜 그런지에 대한 이야기도 같이 간략하게 해주고 있다.
Part 4 : Writing parallel software
==> 여기에서는 앞서서 설명한 이론들이 실제 적용시에 어떻게 구현되어지는 지에 대한 것을 간단한 예제를 통해 설명하고 있다. Pi를 계산하는 것과 피보나치 수열을 계산하는 예제를 들고있는데, openMP를 활용하여 예제를 설명하고 있다.
'Programming > Parallel&Distribute' 카테고리의 다른 글
| How to sound like a Parallel Programming Expert (0) | 2009/07/21 |
|---|---|
| Parallel Programming을 위한 설계 고려 사항 (0) | 2009/04/21 |
| Single Program Multiple Data (SPMD) (0) | 2009/03/05 |
| Amdahl's Law (0) | 2009/01/17 |
09MC03_Part 1_Concurrency_par_expert_intro 2.pdf