Paralelní virtuální stroj

Paralelní virtuální stroj

Informace
Vyvinul University of Tennessee
První verze 1989
Napsáno VS
Licence Licence BSD
webová stránka www.csm.ornl.gov/pvm/pvm_home.html

Parallel Virtual Machine ( PVM ) je sada softwarových knihoven a bezplatných komunikačních nástrojů ( jazyky C a Fortran ) pro paralelní stroje a počítačové sítě (místní nebo vzdálené, případně heterogenní). Umožňuje agregaci sítě počítačů do jediného virtuálního počítače, což umožňuje zvýšit výpočetní konkurenci, proto název ( paralelní virtuální stroj ). Byl vyvinut v Oak Ridge National Laboratory v roce 1989 a sloužil jako základ pro větší projekt společný třem univerzitám ve Spojených státech.

Úvod

PVM je přenosná knihovna pro předávání zpráv, která umožňuje použití sítě heterogenních strojů ( laptop , PC , server , superpočítač ) vytvořením jediného virtuálního stroje.

Obecným cílem PVM je poskytnout jednoduché a vysoce produktivní řešení pro vývoj vysoce sdílených aplikací.

PVM spravuje veškeré směrování zpráv, převod dat a distribuci úkolů v síti odlišných a obvykle nekompatibilních architektur.

Programovací rozhraní je velmi jednoduché:

Démon PVM (pvmd)

PVM daemon je spuštěn na každém stroji k vytvoření globální virtuální stroj. Pvmd má vlastníka, který je jediný, kdo může z bezpečnostních důvodů využívat prostředky stroje.

Démon PVM poskytuje několik funkcí:

Také kontroluje, zda jsou ostatní démoni ve virtuálním stroji stále aktivní.

I když dojde k chybě aplikace, démon pokračuje v běhu, aby pomohl s laděním.

Při spuštění se démon konfiguruje jako hlavní nebo podřízený v závislosti na argumentech. Vytvoří rámec vedení pro komunikaci s úkoly a dalšími démony a otevře protokol chyb.

Hlavní démon přečte hostitelský soubor, pokud existuje, zatímco podřízený démon přijímá parametry z hlavního (tento soubor je .pvmrc, jehož každý řádek je: add <client_name>)

Po konfiguraci démon zahájí smyčku, která prozkoumá všechny vstupní zdroje a umístí pakety do fronty. Tyto pakety jsou poté znovu sestaveny a vloženy do vstupního bodu.

Démon je zastaven, když je odebrán z virtuálního počítače nebo když obdrží zprávu o zastavení.

Když se démon zastaví, provede dvě poslední akce:

Počet úkolů, které démon zvládne, je omezen dvěma faktory:

  1. počet procesů, které operační systém uživateli umožňuje;
  2. počet dostupných deskriptorů souborů (závisí na operačním systému ).

Tlumočník PVM (pvm)

K dispozici je tlumočník, který se spouští příkazem pvm a umožňuje vám působit na démona (pvmd) pomocí různých příkazů:

Knihovna PVM

Knihovna umožňuje úkolu komunikovat s démonem a dalšími úkoly. Obsahuje funkce pro sestavování a demontáž zpráv a další funkce pro uskutečňování systémových volání.

knihovna je postavena na dvou úrovních:

Démoni spolu komunikují přes UDP pomocí mechanismu ověřování a obnovy. TCP se v tomto případě nepoužívá, protože spotřebovává FileDescriptor pro každé připojení (počet omezený systémem) a neumožňuje odolnost proti chybám, pokud havaroval démon. TCP by byl také příliš náročný na prostředky, protože každý démon by musel mít zásuvky N-1, které by představovaly zásuvky N * (N-1) pro celý systém.

Úkoly mezi sebou komunikují pomocí protokolu TCP, aby byla zajištěna konzistence dat.

Podporované architektury

Podporované architektury
Architektura Systém
Pentium II, Pentium Pro, Pentium, Duals a Quad Win95, NT 3.5.1, NT 4.0

Linux, Solaris, SCO, NetBSD, BSDI, FreeBSD

MAC NetBSD
Amiga NetBSD
SUN3, SUN4, SPARC, UltraSPARC SunOS, Solaris 2.x
IBM RS6000, J30 AIX 3.x, AIX 4.x
HP 9000 HPux
DEC Alpha, Pmax, microvax OSF, NT-Alpha
SGI IRIS 5.x, IRIS 6.x
Cray YMP, T3D, T3E, Cray2
Konvexní příklad
IBM SP2, 3090
NEC SX-3
Fujitsu
Amdahl
TMC CM5
Intel Paragon
Sekvenční symetrie, rovnováha


Reference

  1. pvm.copyright
  2. http://1995.jres.org/actes/appli4/1/requile.html
  3. http://www.csm.ornl.gov/pvm/pvmArch.html

externí odkazy