본문 바로가기

병렬컴퓨팅4

개념-3: MPI란? 포트란으로 병렬컴퓨팅 배우기 ←링크 ■ Message Passing ________________________ MPI (Message Passing Interface)를 이해하기에 앞서, 기본 개념이 되는 메시지 전달(Message Passing)이 뭔지부터 알아야 한다. 메시지 전달이란 정보를 동일한 주소공간을 공유하지 않더라도, 프로세서 간 데이터를 주고받는 통신을하므로 동기화된 작업을 할수 있도록하는 방법이다. 그러니 컴퓨터들이 네트워크에 연결되어있는 상황과 같은 여러자원을 동시에 사용하는 상황에 유용하겠다. 어떤 프로세서에서 타 컴퓨터의 메모리에 직접 통신하는게 아니라, 메시지라는 간접적인 방법을 통해 통신하는 것이다. 음, 그림으로 설명하자면 이런 느낌이다. 프로세서1 에서 어떤 메시지를 보내.. 2020. 3. 24.
개념-2 : Data parallelism vs. Task parallelism 본 포스트에서는 4가지* 중 프로그래밍 관점에서 다룰 수 있는 Data parallelism과 Task parallelism에 대해서 다룬다. *병렬화는 Bit parallelism과 Instruction parallelism 그리고 Data parallelism과 Task parallelism로 4가지로 나뉜다. Data Parallelism은 다수의 자료들을 다수의 수행 주체(Processor)가 나누어 병렬적으로 처리하는 방법이다. 플린의 분류법(Flynn’s taxonomy)은 병렬적으로 수행되는 명령의 수와, 데이터 간의 관계를 정리한 분류로 이해하는데 도움이 된다. 일반적으로 SIMD(Single Instruction Multiple Data)나 MIMD(Multiple Instruction .. 2020. 3. 24.
개념-1 : Concurrency vs. Parallelism Concurrency는 프로그램의 성질이고 parallelism은 기계의 성질이다. (Concurrenty is a property of the program and prallel execution is a property of the machine.) 병렬컴퓨팅이란, 하나의 문제를 여러개의 컴퓨팅 자원*을 활용하는 계산법이다. 먼저 병렬에 대한 정확한 이해를 위해 Concurrency**와 Parallelism**개념을 생각해 보자. *여러개의 코어 또는 연산 노드 등 **Concurrency : 병행성, 동시성, 동시실행 ***Parallelism : 병렬성, 평행성, 평행실행 Rob Pike의 강연에 따르면, Concurrency는 일반적으로 용어 프로세스의 의미) 함께 작동하기 위해 독립적인 과정.. 2020. 3. 24.
포트란으로 MPI 배우기 ■ 알아두면 좋은 기본 개념들 새롭게 배우는 내용, 등을 계속해서 포스트 할 예정이다. 1. Concurrency vs. Parallelism 2. Data parallelism vs. Task parallelism 3. MPI란? ■ Fortran 으로 배우는 MPI 기초 아래 목록은 링크1, 링크2를 재구성하였으며, Fortran을 이용해 MPI를 사용하는데 필요한 기본적인 설명을 다루고 있다. 포트란에 대한 이해 및 병렬컴퓨팅에 대한 이해가 필요하다고 생각된다. 하지만 숙련자가 아니더라도 필요한 개념들이 함께 설명되어 있으므로 어려움은 없을 것으로 생각된다. 1. 블로킹 통신, 예제(수치적분)로 배우기 2. 논블로킹 통신, 예제(수치적분)로 배우기 3. 집합 통신, 예제(수치적분)로 배우기 4. 집.. 2020. 3. 19.