MPI – 무료 자습서를 통해 앱에서 MPI를 사용하는 방법

폭로: 귀하의 지원은 사이트 운영을 유지하는 데 도움이됩니다! 이 페이지에서 권장하는 일부 서비스에 대한 추천 수수료가 발생합니다.


MPI (Message Passing Interface)는 1990 년대 초에 광범위한 엔지니어와 컴퓨터 과학 학자들이 개발 한 표준화 된 메시지 전달 시스템입니다. 다양한 컴퓨터 프로그램 또는 컴퓨터 시스템이 객체 지향 프로그래밍 (OOP) 고유의 개념을 기반으로 메시지를주고 받음으로써 서로 상호 작용할 수있는 표준 프로토콜을 제공합니다..

MPI는 병렬 컴퓨팅 환경에서 메시지 전달을위한 주요 표준입니다. MPI를 이해하려면 다음을 이해하는 것이 도움이됩니다.

  • 일반적으로 전달되는 메시지
  • 병렬 컴퓨팅

메시지 전달

메시지 전달은 프로그램이 동작을 호출하거나 프로그램을 실행하는 방법입니다. 메시지를 전달하는 것은 기존의 프로그램 호출 방법과 다르며 메시지 전달은 객체 모델을 기반으로하며 일반적인 기능 요구와 특정 구현을 구분합니다. 기능이 필요한 프로그램은 객체를 호출하고 해당 객체는 프로그램을 실행합니다..

이 기술의 주요 이점은 캡슐화의 OOP 개념과 관련이 있습니다. 사용할 특정 구현을 결정하는 논리는 프로그램을 호출하는 것이 아니라 객체에 맡겨져 기능의 여러 다른 측면을 단일 객체로 캡슐화합니다..

예를 들어, 컴퓨터 시스템에는 인쇄 관리자 개체와 여러 개별 프린터가있을 수 있습니다. 프린터를 사용하려는 각 프로그램은 어떤 상황에서 어떤 프린터를 사용할지 결정하는 복잡한 논리와 함께 각 프린터를 자체적으로 구현할 필요는 없습니다. 무언가를 인쇄해야하는 모든 프로그램은 인쇄 관리자에게 인쇄 메시지를 보내기 만하면 메시지를 가져 와서 특정 프린터로 메시지를 보냅니다..

최신 컴퓨터는 (거의) 컴퓨팅의 모든 측면에이 시스템 간 메시지 전달 형식을 사용합니다. 이것이 일상적인 컴퓨팅 경험에 어떤 영향을 미치는지에 대한 몇 가지 예 :

  • 파일에 액세스하는 응용 프로그램에 관계없이 파일을 열거 나 저장할 때마다 거의 동일한 UI (사용자 인터페이스)가 표시됩니다. 이는 모든 다른 응용 프로그램이 파일 액세스 메시지를 동일한 파일 관리자에 전달하기 때문입니다.
  • 새로운 하드웨어 (스캐너, 마우스 등)를 추가하면 하드웨어를 사용할 수있는 모든 응용 프로그램에 즉시 액세스 할 수 있습니다.’하드웨어를 사용할 수있는 개별 응용 프로그램에 하드웨어 용 드라이버를 추가 할 필요가 없으며, 각 프로그램은 단순히 독립 컨트롤러에 메시지를 전달할 수 있습니다

다음은 메시지 전달의 고급 예입니다. MPI는 하위 수준에서 작동하므로 병렬 컴퓨팅 환경에서 다양한 시스템간에 메시지를 전달할 수 있습니다..

병렬 컴퓨팅

병렬 컴퓨팅은 작업 (계산, 프로세스 등)을 순차적으로 (연속적으로) 수행하지 않고 병렬로 (동시에) 수행 할 수있는 작은 작업으로 분할되는 컴퓨팅 패러다임입니다..

일반적으로 컴퓨터 처리 코어는 한 번에 하나의 계산 만 수행 할 수 있습니다. 말 그대로, 한 번에 한 비트의 데이터 만 이동할 수 있습니다. 최신 CPU는 너무 빨리 작동하여 한 번에 한 번의 계산 방법으로 비교적 높은 수준의 성능을 달성 할 수 있지만, 모든 작은 계산은 순차적으로 계속 실행됩니다. 그리고 이것이 얼마나 빨리 진행될 수 있는지에 대한 한계가 있습니다-오늘날의 실제 한계’물리 법칙에 근거한 기술과 절대적인 이론적 한계.

컴퓨터 시스템의 속도를 높이기 위해 병렬 처리 및 병렬 컴퓨팅이 발명되었습니다. 이것은 직렬로 계산 된 작업을 분리하고 동시에 별도의 프로세서에 의해 병렬로 완료되도록합니다..

MPI — 병렬 컴퓨팅에서 메시지 전달

병렬 컴퓨팅이 작동하려면 다양한 컴퓨터가 서로 통신하여 메시지를주고받을 수 있어야합니다. 이 통신을 용이하게하기 위해 MPI (Message Passing Interface)가 작성되었습니다..

MPI는 다른 시스템에서 액세스 할 수있는 프로세서 및 기타 하드웨어 (실제 또는 가상)에 API (Application Programming Interface)를 제공하는 언어 독립적 프로토콜입니다. MPI는 하드웨어 공급 업체에서 구현해야하며 MPI 구현이 내장 된 모든 하드웨어는 MPI 프로토콜을 통해 연결된 시스템에서 액세스 할 수 있습니다..

MPI는 두 가지 통신 모드를 제공합니다.

  • 지점 간 — 한 시스템이 다른 시스템으로 직접 메시지를 전달
  • 집단 또는 방송-하나의 시스템이 메시지를 그룹에 전달

온라인 MPI 리소스

MPI 자습서

이 입문서는 병렬 컴퓨팅에 MPI를 사용하는 방법을 배우는 데 도움이됩니다..

  • Wes Kendall의 MPI 자습서 — 온라인에서 가장 유용한 온라인 MPI를 소개합니다..
  • MPI에 대한 자습서 : 메시지 전달 인터페이스 — Argonne National Laboratory의 수학 및 컴퓨터 과학 부서의 William Gropp의 매우 철저한 리소스.
    • 윌리엄 그롭 (William Grop)은 MPI에 관한이 PDF 프레젠테이션도 준비했습니다..
  • C — 언어 별 MPI 자습서를 사용한 MPI (Message Passing Interface) 소개.
  • Blaise Barny의 MPI 자습서 — Lawrence Livermore National Laboratory의

구현

MPI는 특정 기술이 아닌 표준입니다. 다양한 벤더의 구현에 의존합니다. 이것들은 가장 많이 사용되는 MPI 구현 중 일부입니다 (더 많이 있습니다).

  • MPICH
  • MPI 열기
  • Microsoft MPI
  • OpenMP

커뮤니티 및 토론

MPI를 시작하고 문제를 해결하는 가장 좋은 방법 중 하나’전문가 및 기타 MPI 프로그래머와 대화하는 것입니다..

  • Google 그룹스의 MPI 뉴스 그룹 포럼 — MPI에 대한 토론에 전념하는 유즈넷 뉴스 그룹
  • MPI 포럼 메일 링리스트 — 공식 MPI 포럼과 다양한 메일 링리스트
  • Open MPI 메일 링리스트 — Open MPI 구현을위한 메일 링리스트.
  • MPI 포럼 회의 — MPI 포럼이 만나는시기에 대한 정보.
  • 오픈 MP 포럼
  • StackOverflow의 MPI — MPI 질문 및 답변.

비디오

MPI는 강의 및 전문 개발 강의의 주제이므로 자주 MPI의 다양한 측면을 탐색하는 비디오가 많이 있습니다.

  • 병렬 프로그래밍 소개 – 메시지 전달 인터페이스 (MPI)
  • MPI 프로그래밍 소개
  • 고성능 컴퓨팅 — MPI 소개
  • MPI 란 무엇인가

  • YouTube에서 열린 MPI 채널 — 여기에 많은 훌륭한 MPI 관련 비디오가 있습니다..

참고

몇 가지 주요 MPI 관련 참조 페이지를 북마크하고 반복해서 다시 표시.

  • MPI : 메시지 전달 인터페이스 표준 — 메시지 전달 인터페이스 포럼의 1994 년 기술 보고서.
  • MPI 문서 — 현재 MPI 표준 및 모든 이전 버전의 표준 문서.
  • Open MPI 설명서 —이 자료 중 일부는 Open MPI 구현에만 해당되지만 대부분 MPI 표준에 해당합니다..

MPI에 관한 책

MPI는 약간 발전 되었기 때문에 온라인 자습서보다 인쇄물에서 더 자세한 정보를 쉽게 찾을 수 있습니다. 다음은 MPI에 대한 최고의 자습서 및 참조 서적입니다..

  • MPI 시작 (C 소개) — Wes Kendall (MPI에 대한 1 번째 권장 자습서도 작성 함).
  • MPI를 사용한 병렬 프로그래밍 — 또 다른 좋은 입문 텍스트.
  • MPI – 2 판 사용 : 메시지 전달 인터페이스를 사용한 휴대용 병렬 프로그래밍 (과학 및 공학 계산) – 다소 기초적이지만 과학 및 수학 분석에서 MPI 사용에 중점을 둡니다..
  • MPI 및 OpenMP를 사용한 C의 병렬 프로그래밍 — 특정 언어 및 MPI 구현을위한 프로그래밍 자습서
  • MPI : 완전한 참조 — 심각한 병렬 프로그래머를위한 필수 MPI 데스크 참조.

자주하는 질문

MPI 란 무엇인가?

MPI는 메시지 전달 인터페이스입니다. 병렬 컴퓨팅 환경에서 컴퓨터 시스템이 서로 통신 할 수 있도록하는 통신 프로토콜입니다.

누가 MPI를 사용 하는가?

MPI는 병렬 또는 클러스터 컴퓨팅 시스템을 이용하는 응용 프로그램을 작성하는 거의 모든 사람이 사용합니다..

MPI 표준을 관리하는 사람?

MPI 표준은 끊임없이 진화하는 개방형 엔지니어 및 컴퓨터 과학 학자 그룹 인 Message Passing Interface Forum에서 발표합니다..

MPI를 배워야합니까?

어떤 종류의 개발 작업을 수행하고 목표가 무엇인지에 따라 다릅니다..

Ruby, Python 또는 PHP와 같은 고급 스크립팅 언어로 주로 웹 응용 프로그램을 작성하는 경우 (주로 계속 유지하려는 경우) MPI는 배우기위한 중요한 표준이 아닙니다..

특히 클라우드 컴퓨팅, 수퍼 컴퓨터 또는 빅 데이터와 같은 클러스터 또는 병렬 컴퓨팅 환경에서 기초 시스템 개발에 더 참여하고 싶다면 MPI를 알아야합니다..

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map