맨위로가기

패러렐 버추얼 머신

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

패러렐 버추얼 머신(PVM)은 여러 대의 컴퓨터를 묶어 병렬 가상 머신으로 사용할 수 있게 해주는 소프트웨어 시스템이다. 이 시스템은 다양한 종류의 컴퓨터를 연결하여 일관적이고 유연한 동시 컴퓨팅 자원을 제공하며, 메시지 전달, 작업 및 리소스 관리, 오류 알림을 위한 런타임 환경과 라이브러리로 구성된다. PVM은 기존 프로그램을 병렬화하거나 새로운 병렬/분산 프로그램을 작성하는 데 사용되며, C, C++, 또는 포트란으로 작성된 사용자 프로그램이 PVM 라이브러리를 통해 접근할 수 있다. PVM은 미국 오크리지 국립 연구소를 중심으로 개발되었으며, 데몬(pvmd3)과 PVM 인터페이스를 위한 라이브러리(libpvm3.a)로 구성된다.

더 읽어볼만한 페이지

  • 프로세스 간 통신 - Ajax
    Ajax는 웹 페이지 전체를 새로고침하지 않고 비동기적으로 서버와 통신하여 웹 애플리케이션의 일부를 업데이트하는 웹 개발 기술로, XMLHttpRequest 객체의 등장으로 가능해졌으며 HTML, CSS, DOM, JavaScript, JSON 등의 기술을 통합하여 동적인 사용자 인터페이스를 구현한다.
  • 프로세스 간 통신 - D-Bus
    D-Bus는 2002년에 시작된 프로세스 간 통신 시스템으로, 시스템 버스와 세션 버스를 통해 정보 공유, 모듈성, 권한 격리를 제공하며, 일대일 요청-응답 및 발행/구독 통신 방식을 지원한다.
  • 가상화 소프트웨어 - X86 가상화
    X86 가상화는 x86 아키텍처 기반 시스템에서 가상 머신을 구현하는 기술로, 소프트웨어 기반 가상화와 하드웨어 지원 가상화로 나뉘며, CPU 제조사의 가상화 확장 기술을 활용하여 가상 머신의 성능을 향상시킨다.
  • 가상화 소프트웨어 - VM웨어 v스피어
    VM웨어 v스피어는 VM웨어에서 개발한 서버 가상화 플랫폼으로, 다양한 운영체제 지원, 가상 시스템 확장, vMotion 개선, 스토리지 관리 효율성 향상 등의 특징을 가지며 클라우드 환경 지원 강화 및 관리 효율성 증대에 초점을 맞추어 지속적으로 업데이트되고 있다.
  • 병렬 컴퓨팅 - 슈퍼컴퓨터
    슈퍼컴퓨터는 일반 컴퓨터보다 훨씬 높은 성능을 가진 컴퓨터로, 복잡한 계산과 시뮬레이션을 수행하며, 프로세서, 메모리, 스토리지, 네트워크 등으로 구성되어 병렬 처리를 통해 높은 성능을 구현하고, 군사, 기상 예측, 과학 기술 분야, 인공지능 등 다양한 분야에서 활용되고 있다.
  • 병렬 컴퓨팅 - 컴퓨터 클러스터
    컴퓨터 클러스터는 여러 대의 상용 컴퓨터를 고속 네트워크로 연결하여 고성능 컴퓨팅 시스템을 구축하는 방식으로, 슈퍼컴퓨터를 포함한 다양한 분야에서 높은 가용성과 확장성을 제공하며, 클러스터 미들웨어를 통해 시스템 관리, 부하 분산, 통신 방식, 데이터 공유 등을 지원하고 노드 장애 관리를 위한 펜싱 기술을 활용한다.
패러렐 버추얼 머신 - [IT 관련 정보]에 관한 문서
소프트웨어 정보
저자오크리지 국립연구소
개발자테네시 대학교
출시일1989년
최신 버전3.4.6
최신 출시일2009년 2월 2일
프로그래밍 언어C
운영체제윈도우, 유닉스
라이선스BSD, GPL
웹사이트Parallel Virtual Machine (PVM) Homepage

2. 병렬 컴퓨팅의 개념

2. 1. 비트 수준 병렬 처리

2. 2. 명령어 수준 병렬 처리

2. 3. 데이터 병렬 처리

2. 4. 작업 병렬 처리 (태스크 병렬 처리)

3. 병렬 컴퓨팅의 역사

4. 병렬 컴퓨팅의 유형

4. 1. 하드웨어 유형

5. 병렬 프로그래밍

모델 (내재적 병렬성, 외재적 병렬성, 동시성)이 있다.

병렬 프로그래밍에는 여러 어려움과 해결해야 할 과제들이 존재한다.



병렬 프로그래밍을 위한 주요 API는 다음과 같다.

== PVM (Parallel Virtual Machine) ==

PVM(Parallel Virtual Machine)은 여러 종류의 컴퓨터를 묶어 "병렬 가상 머신"으로 사용할 수 있게 해주는 소프트웨어 시스템이다. 이 가상 머신은 일관적이고 유연한 동시 컴퓨팅 자원을 제공한다.

개별 컴퓨터는 공유 메모리 또는 로컬 메모리 멀티프로세서, 벡터 슈퍼컴퓨터, 특수 그래픽 엔진, 스칼라 워크스테이션PC 등 다양한 종류가 될 수 있으며, 이더넷이나 FDDI와 같은 다양한 컴퓨터 네트워크로 상호 연결될 수 있다.

PVM은 메시지 전달, 작업 및 리소스 관리, 오류 알림을 위한 런타임 환경과 라이브러리로 구성된다. PVM은 상용 소프트웨어 패키지를 자동으로 더 빠르게 실행하도록 만들지는 않지만, 기존 소스 프로그램을 수동으로 병렬화하거나 새로운 병렬/분산 프로그램을 작성하기 위한 강력한 기능들을 제공한다. C, C++, 또는 포트란으로 작성된 사용자 프로그램은 제공된 라이브러리 루틴을 통해 PVM에 접근할 수 있다.

PVM은 또한 그룹의 모든 프로세스에 전송하는 브로드캐스팅 (PVM_bcast)과 특정 프로세스 목록에 전송하는 멀티캐스팅(PVM_mcast)을 지원한다.

PVM 소프트웨어는 주어진 "가상 머신"에서 사용될 모든 머신에 특정 방식으로 설치되어야 한다. PVM에서는 원격 머신에 실행 파일을 "자동"으로 설치하는 기능은 없지만, `pvm3/lib` 및 `pvm3/bin` 디렉토리를 다른 "유사한" 머신으로 단순히 복사하고 (그리고 `$PVM_ROOT` 및 `$PVM_ARCH`를 설정하는 것만으로도) PVM 프로그램을 실행하는 데 충분하다. PVM 프로그램을 컴파일하거나 빌드하려면 전체 PVM 설치가 필요하다.

PVM은 미국 오크리지 국립 연구소를 중심으로 개발되었다. 작동하는 머신의 종류가 많고(리눅스, BSD, 윈도우에서 작동 가능) 입수가 용이하기 때문에 연구 기관 등에서 널리 이용되고 있다. PVM을 설치하면 네트워크에 연결된 여러 대의 컴퓨터를 단일 계산기로 사용할 수 있게 되며, 여러 대의 머신이 가진 계산 능력을 하나의 대규모 계산 문제에 결집하여 처리할 수 있다.

PVM 소프트웨어 시스템은 크게 두 가지로 구성된다.

  • pvmd3 (pvmd): 데몬은 한 번 시작되면 가상 머신을 구성하는 모든 컴퓨터에 상주한다. 사용자는 로그인만 할 수 있으면 어떤 컴퓨터에도 이 데몬을 설치할 수 있다. PVM을 이용한 애플리케이션을 실행할 경우, 먼저 가상 머신을 구성하고 있는 컴퓨터 중 하나에서 pvmd3을 시작하고, 자체 쉘 스크립트를 통해 머신을 구성하는 컴퓨터의 pvmd3을 시작한다.
  • libpvm3.a: PVM 인터페이스를 이용하기 위한 루틴의 라이브러리이다. 메시지 전달, 프로세스 생성, 작업 조율 등 필요한 함수를 제공하며, PVM을 이용한 애플리케이션을 실행할 경우에는 애플리케이션 프로그램과 이 라이브러리를 링크해야 한다.

5. 1. PVM (Parallel Virtual Machine)

PVM(Parallel Virtual Machine)은 여러 종류의 컴퓨터를 묶어 "병렬 가상 머신"으로 사용할 수 있게 해주는 소프트웨어 시스템이다. 이 가상 머신은 일관적이고 유연한 동시 컴퓨팅 자원을 제공한다.

개별 컴퓨터는 공유 메모리 또는 로컬 메모리 멀티프로세서, 벡터 슈퍼컴퓨터, 특수 그래픽 엔진, 스칼라 워크스테이션PC 등 다양한 종류가 될 수 있으며, 이더넷이나 FDDI와 같은 다양한 컴퓨터 네트워크로 상호 연결될 수 있다.

PVM은 메시지 전달, 작업 및 리소스 관리, 오류 알림을 위한 런타임 환경과 라이브러리로 구성된다. PVM은 상용 소프트웨어 패키지를 자동으로 더 빠르게 실행하도록 만들지는 않지만, 기존 소스 프로그램을 수동으로 병렬화하거나 새로운 병렬/분산 프로그램을 작성하기 위한 강력한 기능들을 제공한다. C, C++, 또는 포트란으로 작성된 사용자 프로그램은 제공된 라이브러리 루틴을 통해 PVM에 접근할 수 있다.

PVM은 또한 그룹의 모든 프로세스에 전송하는 브로드캐스팅 (PVM_bcast)과 특정 프로세스 목록에 전송하는 멀티캐스팅(PVM_mcast)을 지원한다.

PVM 소프트웨어는 주어진 "가상 머신"에서 사용될 모든 머신에 특정 방식으로 설치되어야 한다. PVM에서는 원격 머신에 실행 파일을 "자동"으로 설치하는 기능은 없지만, `pvm3/lib` 및 `pvm3/bin` 디렉토리를 다른 "유사한" 머신으로 단순히 복사하고 (그리고 `$PVM_ROOT` 및 `$PVM_ARCH`를 설정하는 것만으로도) PVM 프로그램을 실행하는 데 충분하다. PVM 프로그램을 컴파일하거나 빌드하려면 전체 PVM 설치가 필요하다.

PVM은 미국 오크리지 국립 연구소를 중심으로 개발되었다. 작동하는 머신의 종류가 많고(리눅스, BSD, 윈도우에서 작동 가능) 입수가 용이하기 때문에 연구 기관 등에서 널리 이용되고 있다. PVM을 설치하면 네트워크에 연결된 여러 대의 컴퓨터를 단일 계산기로 사용할 수 있게 되며, 여러 대의 머신이 가진 계산 능력을 하나의 대규모 계산 문제에 결집하여 처리할 수 있다.

PVM 소프트웨어 시스템은 크게 두 가지로 구성된다.

  • pvmd3 (pvmd): 데몬은 한 번 시작되면 가상 머신을 구성하는 모든 컴퓨터에 상주한다. 사용자는 로그인만 할 수 있으면 어떤 컴퓨터에도 이 데몬을 설치할 수 있다. PVM을 이용한 애플리케이션을 실행할 경우, 먼저 가상 머신을 구성하고 있는 컴퓨터 중 하나에서 pvmd3을 시작하고, 자체 쉘 스크립트를 통해 머신을 구성하는 컴퓨터의 pvmd3을 시작한다.
  • libpvm3.a: PVM 인터페이스를 이용하기 위한 루틴의 라이브러리이다. 메시지 전달, 프로세스 생성, 작업 조율 등 필요한 함수를 제공하며, PVM을 이용한 애플리케이션을 실행할 경우에는 애플리케이션 프로그램과 이 라이브러리를 링크해야 한다.

{{둘러보기 상자

|이름 = 병렬 컴퓨팅

|제목 = 병렬 컴퓨팅

|listclass = hlist

|묶음1 = 일반

|내용1 =

|묶음2 = 병렬화 수준

|내용2 =

  • 비트
  • 명령어
  • 데이터
  • 테스크


|묶음3 = 스레드

|내용3 =

|묶음4 = 이론

|내용4 =

|묶음5 = 구성 요소

|내용5 =

|묶음6 = 조정

|내용6 =

|묶음7 = 프로그래밍

|내용7 =

|묶음8 = 하드웨어

|내용8 =

|묶음10 = API

|내용10 =

|묶음11 = 문제

|내용11 =
}}

6. 병렬 컴퓨팅의 이론적 배경

7. 병렬 컴퓨팅의 응용

8. 병렬 컴퓨팅 관련 기술

9. 같이 보기

참조

[1] 문서 Release Notes http://www.netlib.or[...]
[2] FOLDOC Parallel Virtual Machine
[3] 웹사이트 Parallel Virtual Machine (PVM) Homepage http://www.csm.ornl.[...]
[4] 문서 Release Notes http://www.netlib.or[...]
[5] 문서 Release Notes http://www.netlib.or[...]
[6] 웹인용 Parallel Virtual Machine (PVM) Homepage http://www.csm.ornl.[...]
[7] 웹사이트 슈퍼컴퓨터 랭킹사이트 https://www.top500.o[...] 2017



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com