Параллельді виртуалды машина: желілік есептеу құралы
Parallel Virtual Machine
Парлаллельді есептеулер үшін PVM бағдарламалық құралы: Unix, Windows жүйелерін біріктіріп, қуатты арттырып, шығындарды азайтады. Тегін жүктеуге болады!
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Кіріспе
Параллель виртуалды машина (ПВМ) – компьютерлерді параллель желіге қосуға арналған бағдарламалық құрал. Ол әртүрлі Unix және/немесе Windows машиналарының желісін бір үлестірілген параллель процессор ретінде пайдалануға мүмкіндік береді. Осылайша, көптеген компьютерлердің жиынтық қуаты мен жадысын пайдаланып, үлкен есептеу мәселелерін тиімдірек шешуге болады. Бағдарлама өте портативті; Netlib арқылы тегін қолжетімді бастапқы код ноутбуктерден Crays-ке дейін әртүрлі платформаларда компиляцияланды. ПВМ пайдаланушыларға қолданыстағы компьютерлік жабдықтарын пайдаланып, аз қосымша шығындармен әлдеқайда үлкен мәселелерді шешуге мүмкіндік береді. ПВМ параллель бағдарламалауды оқыту құралы ретінде қолданылды, сонымен қатар маңызды практикалық мәселелерді шешу үшін де пайдаланылды. Оны Теннесси университеті, Оук Ридж ұлттық зертханасы және Эмори университеті әзірледі. Бірінші нұсқа 1989 жылы ORNL-де жазылды, ал Теннесси университеті қайта жазғаннан кейін 2-ші нұсқа 1991 жылғы наурыз айында шығарылды. 3-ші нұсқа 1993 жылғы наурыз айында шығарылды, ол қателерге төзімділік пен жақсы тасымалдану мүмкіндігін қамтамасыз етті. ПВМ – үлестірілген өңдеу және желілік есептеудегі қазіргі заманғы бағыттарға жасалған қадам болды, бірақ 1990-шы жылдардың ортасынан бастап, қатарлы машиналарда хабар алмасу үшін әлдеқайда табысты MPI стандартымен ығыстырылды. ПВМ – BSD лицензиясы және GNU General Public License лицензиясы бойынша таратылатын ашық бағдарламалық құрал.
Parallel Virtual Machine (PVM) is a software tool for parallel networking of computers. It is designed to allow a network of heterogeneous Unix and/or Windows machines to be used as a single distributed parallel processor. Thus large computational problems can be solved more cost effectively by using the aggregate power and memory of many computers. The software is very portable; the source code, available free through netlib, has been compiled on everything from laptops to Crays. PVM enables users to exploit their existing computer hardware to solve much larger problems at less additional cost. PVM has been used as an educational tool to teach parallel programming but has also been used to solve important practical problems. It was developed by the University of Tennessee, Oak Ridge National Laboratory and Emory University. The first version was written at ORNL in 1989, and after being rewritten by University of Tennessee, version 2 was released in March 1991. Version 3 was released in March 1993, and supported fault tolerance and better portability. PVM was a step towards modern trends in distributed processing and grid computing but has, since the mid 1990s, largely been supplanted by the much more successful MPI standard for message passing on parallel machines. PVM is free software, released under both the BSD License and the 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) қолдайды.
PVM is a software system that enables a collection of heterogeneous computers to be used as a coherent and flexible concurrent computational resource, or a "parallel virtual machine". The individual computers may be shared memory or local memory multiprocessors, vector supercomputers, specialized graphics engines, or scalar workstations and PCs, that may be interconnected by a variety of networks, such as Ethernet or FDDI. PVM consists of a run time environment and library for message passing, task and resource management, and fault notification. While PVM will not automatically make a commercial software package run faster, it does provide a powerful set of functions for manually parallelizing an existing source program, or for writing new parallel/distributed programs. The PVM software must be specifically installed on every machine that is to be used in a given "virtual machine". There is no "automatic" installation of executables onto remote machines in PVM, although simply copying the pvm3/lib and pvm3/bin directories to another similar machine (and setting $PVM ROOT and $PVM ARCH) is sufficient for running PVM programs. Compiling or building PVM programs requires the full PVM installation. User programs written in C, C++, or Fortran can access PVM through provided library routines. PVM also supports broadcasting (PVM bcast) which sends to all processes in a group and multicasting (PVM mcast) which sends to a specific list of processes.