Кіріспе

Параллель виртуалды машина (ПВМ) – компьютерлерді параллель желіге қосуға арналған бағдарламалық құрал. Ол әртүрлі Unix және/немесе Windows машиналарының желісін бір үлестірілген параллель процессор ретінде пайдалануға мүмкіндік береді. Осылайша, көптеген компьютерлердің жиынтық қуаты мен жадысын пайдаланып, үлкен есептеу мәселелерін тиімдірек шешуге болады. Бағдарлама өте портативті; Netlib арқылы тегін қолжетімді бастапқы код ноутбуктерден Crays-ке дейін әртүрлі платформаларда компиляцияланды. ПВМ пайдаланушыларға қолданыстағы компьютерлік жабдықтарын пайдаланып, аз қосымша шығындармен әлдеқайда үлкен мәселелерді шешуге мүмкіндік береді. ПВМ параллель бағдарламалауды оқыту құралы ретінде қолданылды, сонымен қатар маңызды практикалық мәселелерді шешу үшін де пайдаланылды. Оны Теннесси университеті, Оук Ридж ұлттық зертханасы және Эмори университеті әзірледі. Бірінші нұсқа 1989 жылы ORNL-де жазылды, ал Теннесси университеті қайта жазғаннан кейін 2-ші нұсқа 1991 жылғы наурыз айында шығарылды. 3-ші нұсқа 1993 жылғы наурыз айында шығарылды, ол қателерге төзімділік пен жақсы тасымалдану мүмкіндігін қамтамасыз етті. ПВМ – үлестірілген өңдеу және желілік есептеудегі қазіргі заманғы бағыттарға жасалған қадам болды, бірақ 1990-шы жылдардың ортасынан бастап, қатарлы машиналарда хабар алмасу үшін әлдеқайда табысты MPI стандартымен ығыстырылды. ПВМ – BSD лицензиясы және GNU General Public License лицензиясы бойынша таратылатын ашық бағдарламалық құрал.

Дизайн

PVM – гетерогенді компьютерлер жиынтығын үйлесімді және икемді бір мезгілдегі есептеу ресурсы ретінде немесе «параллельді виртуалды машина» ретінде пайдалануға мүмкіндік беретін бағдарламалық жүйе. Жеке компьютерлер ортақ жадты немесе локальды жадты мультипроцессорлар, векторлық суперкомпьютерлер, арнайы графикалық процессорлар немесе скалярлық жұмыс станциялары мен жеке компьютерлер болуы мүмкін, олар Ethernet немесе FDDI сияқты әртүрлі желілер арқылы байланыстырылуы мүмкін. PVM хабар алмасу, тапсырмалар мен ресурстарды басқару және қателер туралы хабарлау үшін жұмыс ортасы мен кітапханадан тұрады. PVM коммерциялық бағдарламалық қамтаманы автоматты түрде жылдамдатуға мүмкіндік бермейді, бірақ ол қолданыстағы кодты қолмен параллельдеуге немесе жаңа параллельді/үлестірілген бағдарламаларды жазуға қажетті қуатты функциялар жиынтығын ұсынады. PVM бағдарламалық қамтамасы белгілі бір «виртуалды машинада» пайдаланылатын әрбір машинаға жеке орнатылуы керек. PVM-де қашық машиналарға орындалатын файлдарды «автоматты» түрде орнату қарастырылмаған, бірақ PVM бағдарламаларын іске қосу үшін pvm3/lib және pvm3/bin каталогтарын басқа ұқсас машинаға көшіру (және $PVM ROOT және $PVM ARCH айнымалдарын орнату) жеткілікті. PVM бағдарламаларын компиляциялау немесе құрастыру үшін PVM толық орнатылуы қажет. C, C++ немесе Fortran тілдерінде жазылған пайдаланушы бағдарламалары PVM кітапханалық функциялары арқылы PVM-ге қол жеткізе алады. PVM сонымен қатар топтағы барлық процестерге хабар жіберуді (PVM bcast) және процестердің белгілі бір тізіміне хабар жіберуді (PVM mcast) қолдайды.