[병렬 프로그래밍] 병렬 프로그래밍

 1  [병렬 프로그래밍] 병렬 프로그래밍-1
 2  [병렬 프로그래밍] 병렬 프로그래밍-2
 3  [병렬 프로그래밍] 병렬 프로그래밍-3
 4  [병렬 프로그래밍] 병렬 프로그래밍-4
 5  [병렬 프로그래밍] 병렬 프로그래밍-5
 6  [병렬 프로그래밍] 병렬 프로그래밍-6
 7  [병렬 프로그래밍] 병렬 프로그래밍-7
 8  [병렬 프로그래밍] 병렬 프로그래밍-8
 9  [병렬 프로그래밍] 병렬 프로그래밍-9
 10  [병렬 프로그래밍] 병렬 프로그래밍-10
 11  [병렬 프로그래밍] 병렬 프로그래밍-11
 12  [병렬 프로그래밍] 병렬 프로그래밍-12
 13  [병렬 프로그래밍] 병렬 프로그래밍-13
 14  [병렬 프로그래밍] 병렬 프로그래밍-14
※ 미리보기 이미지는 최대 20페이지까지만 지원합니다.
  • 분야
  • 등록일
  • 페이지/형식
  • 구매가격
  • 적립금
자료 다운로드  네이버 로그인
소개글
[병렬 프로그래밍] 병렬 프로그래밍에 대한 자료입니다.
목차
- 목 차


1. 병렬 프로그래밍과 병렬 처리
1) 병렬 처리 소개
2. 병렬 처리와 프로그래밍 언어
1) 명시적인 언어 기능을 사용하지 않는 병렬 프로그래밍
2) 프로세스 생성과 소멸
3) 명령어 수준의 병렬
4) 프로시저 수준의 병렬성
5) 프로그램 수준의 병렬성
3. 세마포어(Semaphores)
4. 모니터
1) CSP/K
2) Concurrent-Pascal
5. 메시지 전달 기법
6. 실시간 언어

- 참고문헌 -
본문내용
1. 병렬 프로그래밍(Concurrent programming)과 병렬 처리(Parallel processing)
병렬 처리(parallel processing)란 다수의 프로세서들이 여러 개의 프로그램들 또는 한 프로그램의 분할된 부분들을 동시에 처리하는 기술을 의미한다. 병렬 처리는 한 프로그램을 여러 개의 작은 부분들로 분할해서 병렬로 실행 시킨 결과가 전체 프로그램을 순차적으로 실행한 경우와 동일한 결과를 얻을 수 있다는 것을 보장해야 된다.
병렬 처리의 구현을 위한 병렬 프로그래밍에 대한 연구는 두 가지로 분류 할 수 있다.
첫번째는 병렬 프로그래밍 언어 자체에 대한 연구이다. 즉, 병렬 처리가 가능한 병렬 프로그램이 언어를 이용하여 사용하여 사용자가 병렬 프로그램을 작성하는 방법이다. 이러한 병렬 프로그래밍 언어에는 Ada, Occam, Concurrent Pascal 등이 존재 한다. 이 개념은 병행 프로그램(concurrent programming)으로 간주되기도 한다. 병행 프로그래밍이란 언어 표기에서 병렬 성을 지원하는 것을 의미하며, 실제 하드웨어가 병렬로 처리 하지 않을 수도 있음을 의미한다.
두 번째는 병렬 컴파일러에 관한 연구이다. 기존의 순차적 프로그래밍 언어로 작성된 프로그램을 병렬 컴파일러를 이용하여 병렬 처리가 가능 하도록 하는 방법이다 . 이 방법은 기존의 순차적 프로그래밍 언어로 작성된 프로그램을 그대로 사용하기 때문에 사용자가 새로운 언어를 배워야 하는 부담을 덜어 줄 수 있는 장점이 있다. 반면 병렬 컴파일러가 병렬화시켜 줄 수 있는 부분이 제한적이고 효율적인 병렬 컴파일러의 구현이 어렵다는 단점이 있다.
1) 병렬 처리 소개
컴퓨터 시스템을 분류하는 방식으로 Flynn의 분류가 가장 널리 사용되고 있다. 이 분류에서는 프로세서들이 처리하는 명령어들과 데이터들의 스트림에 따라 네 가지로 분류하고 있다. 여기에서 스트림이란 하나의 프로세서에 의하여 순서대로 처리되는 일련의 명령어들과 데이터들의 흐름을 의미한다. 즉, 명령어 스트림이란 실행되기 위하여 순서대로 나열된 명령어 코드들의 집합을 의미 하고, 데이터 스트림이란 명령어들을 실행하는데 필요한 데이터 집합을 의미한다.
Flynn에 의한 네 가지 분류는 다음과 같다
□ SISD(Single-instruction Single-data)
□ SIMD(Single-instruction Multiple-data)
□ MISD(Multiple-instruction Single-data)
□ MIMD(Multiple-instruction Multiple-data)
이러한 분류들 중에서 병렬 처리 컴퓨터는 SIMD와 MIMD의 두 가지이다. SIMD의 경우 전체의 제어 흐름을 관장하는 하나의 제어 프로세서와 그 제어 흐름에 동기화되어 자신의 자료에 동일한 연산을 실행하는 다수 개의 프로세서들이 배열로 구성된다. 이는 일련의 데이터 집합에 대하여 동일한 연산을 반복하는 경우에 유리한 구조로 과학 계산 응용 분야에서 많이 사용된다.
참고문헌
■ 참고문헌
- 원유헌, , 정익사, 2003.