Pvm не сможет работать без демона
дБООПЕ РПУПВЙЕ РТЕДОБЪОБЮЕОП ДМС РЕТЧПОБЮБМШОПЗП ПЪОБЛПНМЕОЙС У РТПЗТБННЙТПЧБОЙЕН РБТБММЕМШОЩИ ЧЩЮЙУМЙФЕМШОЩИ РТПГЕУУПЧ Ч ТБНЛБИ РТПЗТБННОПК УЙУФЕНЩ PVM (Parallel Virtual Machine). рБТБММЕМШОХА ЧЙТФХБМШОХА НБЫЙОХ НПЦОП ПРТЕДЕМЙФШ ЛБЛ ЮБУФШ УТЕДУФЧ ТЕБМШОПЗП ЧЩЮЙУМЙФЕМШОПЗП ЛПНРМЕЛУБ (РТПГЕУУПТЩ, РБНСФШ, РЕТЙЖЕТЙКОЩЕ ХУФТПКУФЧБ Й Ф.Д.), РТЕДОБЪОБЮЕООХА ДМС ЧЩРПМОЕОЙС НОПЦЕУФЧБ ЪБДБЮ, ХЮБУФЧХАЭЙИ Ч РПМХЮЕОЙЙ ПВЭЕЗП ТЕЪХМШФБФБ ЧЩЮЙУМЕОЙК. ч ПВЭЕН УМХЮБЕ ЮЙУМП ЪБДБЮ НПЦЕФ РТЕЧПУИПДЙФШ ЮЙУМП РТПГЕУУПТПЧ, ЧЛМАЮЕООЩИ Ч PVM. лТПНЕ ФПЗП, Ч УПУФБЧ PVM НПЦОП ЧЛМАЮБФШ ДПЧПМШОП ТБЪОПТПДОЩЕ ЧЩЮЙУМЙФЕМШОЩЕ НБЫЙОЩ, ОЕУПЧНЕУФЙНЩЕ РП УЙУФЕНБН ЛПНБОД Й ЖПТНБФБН ДБООЩИ. йОБЮЕ ЗПЧПТС, рБТБММЕМШОПК чЙТФХБМШОПК нБЫЙОПК НПЦЕФ УФБФШ ЛБЛ ПФДЕМШОП ЧЪСФЩК рл, ФБЛ Й МПЛБМШОБС УЕФШ, ЧЛМАЮБАЭБС Ч УЕВС УХРЕТЛПНРШАФЕТЩ У РБТБММЕМШОПК БТИЙФЕЛФХТПК, ХОЙЧЕТУБМШОЩЕ ьчн, ЗТБЖЙЮЕУЛЙЕ ТБВПЮЙЕ УФБОГЙЙ Й ЧУЕ ФЕ ЦЕ НБМПНПЭОЩЕ рл. чБЦОП МЙЫШ, ЮФПВЩ П ЧЛМАЮБЕНЩИ Ч PVM ЧЩЮЙУМЙФЕМШОЩИ УТЕДУФЧБИ ЙНЕМБУШ ЙОЖПТНБГЙС Ч ЙУРПМШЪХЕНПН РТПЗТБННОПН ПВЕУРЕЮЕОЙЙ PVM. вМБЗПДБТС ЬФПНХ РТПЗТБННОПНХ ПВЕУРЕЮЕОЙА РПМШЪПЧБФЕМШ НПЦЕФ УЮЙФБФШ, ЮФП ПО ПВЭБЕФУС У ПДОПК ЧЩЮЙУМЙФЕМШОПК НБЫЙОПК, Ч ЛПФПТПК ЧПЪНПЦОП РБТБММЕМШОПЕ ЧЩРПМОЕОЙЕ НОПЦЕУФЧБ ЪБДБЮ.
жХОЛГЙПОЙТПЧБОЙЕ PVM УХЭЕУФЧЕООП ПРЙТБЕФУС ОБ ЧПЪНПЦОПУФШ ПВНЕОБ ЙОЖПТНБГЙЕК НЕЦДХ ЪБДБЮБНЙ, ЧЩРПМОСЕНЩНЙ Ч ОЕК. ч ЬФПН ПФОПЫЕОЙЙ ОБЙВПМЕЕ ХДПВОП ТЕБМЙЪПЧЩЧБФШ PVM Ч ТБНЛБИ НОПЗПРТПГЕУУПТОПЗП ЧЩЮЙУМЙФЕМШОПЗП ЛПНРМЕЛУБ, ЧЩДЕМЙЧ ЧЙТФХБМШОПК НБЫЙОЕ ОЕУЛПМШЛП РТПГЕУУПТПЧ Й ПВЭЕЕ ЙМЙ ЙОДЙЧЙДХБМШОЩЕ (Ч ЪБЧЙУЙНПУФЙ ПФ ХУМПЧЙК) пъх. рТЙ ЬФПН, ЛБЛ РТБЧЙМП, ЪОБЮЙФЕМШОП ХРТПЭБАФУС РТПВМЕНЩ ВЩУФТПЗП ЙОЖПТНБГЙПООПЗП ПВНЕОБ НЕЦДХ ЪБДБЮБНЙ Ч PVM, Б ФБЛЦЕ РТПВМЕНЩ УПЗМБУПЧБОЙС ЖПТНБФПЧ РТЕДУФБЧМЕОЙС ДБООЩИ НЕЦДХ ЪБДБЮБНЙ, ЧЩРПМОСЕНЩНЙ ОБ ТБЪОЩИ РТПГЕУУПТБИ.
зМБЧОБС ГЕМШ ЙУРПМШЪПЧБОЙС PVM — ЬФП РПЧЩЫЕОЙЕ УЛПТПУФЙ ЧЩЮЙУМЕОЙК ЪБ УЮЕФ ЙИ РБТБММЕМШОПЗП ЧЩРПМОЕОЙС. чЕТИОСС ЗТБОЙГБ ЦЕМБЕНПЗП ЬЖЖЕЛФБ ПГЕОЙЧБЕФУС ПЮЕОШ РТПУФП — ЕУМЙ ДМС ЧЩЮЙУМЕОЙК НУРПМШЪПЧБФШ N ПДОПФЙРОЩИ РТПГЕУУПТПЧ ЧНЕУФП ПДОПЗП, ФП ЧТЕНС ЧЩЮЙУМЕОЙК ХНЕОШЫЙФУС ОЕ ВПМЕЕ ЮЕН Ч N ТБЪ. тЕБМШОЩК ЧЩЙЗТЩЫ ЪБЧЙУЙФ, ЧП-РЕТЧЩИ, ПФ УРЕГЙЖЙЛЙ ЪБДБЮЙ Й ЧП-ЧФПТЩИ, ОБУЛПМШЛП РПМОП ХЮФЕОЩ Ч РТПЗТБННЕ ЧЩЮЙУМЕОЙК УРЕГЙЖЙЛБ ЪБДБЮЙ Й ИБТБЛФЕТЙУФЙЛЙ БРРБТБФОЩИ Й РТПЗТБННОЩИ УТЕДУФЧ PVM (УН. РПДТБЪДЕМ 1.1).
ч РПУПВЙЙ НБФЕТЙБМ ТБУРТЕДЕМЕО РП ЮЕФЩТЕН ТБЪДЕМБН. ч РЕТЧПН ТБЪДЕМЕ ЛТБФЛП ТБУУНПФТЕОЩ ОЕЛПФПТЩЕ ЧПРТПУЩ ПТЗБОЙЪБГЙЙ РБТБММЕМШОЩИ ЧЩЮЙУМЕОЙК Й РТЙЧЕДЕО НЙОЙНБМШОЩК ОБВПТ УЧЕДЕОЙК, ОЕПВИПДЙНЩИ ДМС ТБВПФЩ У PVM. чП ЧФПТПН ТБЪДЕМЕ ТБУУНБФТЙЧБАФУС ОЕЛПФПТЩЕ ЧБЦОЩЕ ЖХОЛГЙЙ, РТЕДОБЪОБЮЕООЩЕ ДМС РТЙНЕОЕОЙС Ч РПМШЪПЧБФЕМШУЛЙИ РТПЗТБННБИ Й ПВЕУРЕЮЙЧБАЭЙЕ ЧЪБЙНПДЕКУФЧЙЕ ЪБДБЮ Ч PVM. нБФЕТЙБМ ЙЪМБЗБЕФУС РТЙНЕОЙФЕМШОП Л СЪЩЛХ РТПЗТБННЙТПЧБОЙС уЙ. ч ФТЕФШЕН ТБЪДЕМЕ РТЙЧЕДЕОЩ 2 РТЙНЕТБ РТПЗТБНН, ЙММАУФТЙТХАЭЙИ РТЙНЕОЕОЙЕ ЖХОЛГЙК, УРЕГЙЖЙЮЕУЛЙИ ДМС PVM. юЕФЧЕТФЩК ТБЪДЕМ — УРТБЧПЮОЩК. пО УПДЕТЦЙФ ЛТБФЛЙЕ УЧЕДЕОЙС РП ЙУРПМШЪПЧБОЙА PVM ОБ ЛПНРШАФЕТЕ HP SPP-1600, ХУФБОПЧМЕООПН Ч гЕОФТЕ уХРЕТЛПНРШАФЕТОЩИ фЕИОПМПЗЙК, Й ОБ РЕТУПОБМШОЩИ ЛПНРШАФЕТБИ IBM PC РПД ХРТБЧМЕОЙЕН Windows NT ЙМЙ Windows 95.
нБФЕТЙБМ ДБООПЗП РПУПВЙС ПУОПЧБО ОБ РЕТЕЧПДЕ ОЕУЛПМШЛЙИ ТБЪДЕМПЧ ЛОЙЗЙ
«PVM: Parallel Virtual Machine. A User’s Guide and Tutorial for Networked Parallel Computing» (БЧФПТЩ: Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek, Vaidy Sunderam). The MIT Press. Cambridge, Massachusetts. London, England.
юЕТЕЪ йОФЕТОЕФ ЕЕ НПЦОП РПМХЮЙФШ Ч ПДОПН ЙЪ ДЧХИ ЧЙДПЧ: Ч ЗЙРЕТФЕЛУФПЧПН ЙМЙ Ч ЧЙДЕ ДПЛХНЕОФБ PostScript.
чБЦОЩН ЙУФПЮОЙЛПН ЙОЖПТНБГЙЙ П PVM СЧМСЕФУС УЕТЧЕТ Oak Ridge National Laboratory. ч ЮБУФОПУФЙ, ОБ ОЕН Ч ЗЙРЕТФЕЛУФПЧПН ЧЙДЕ ИТБОСФУС «Manual pages» (УРТБЧПЮОБС ДПЛХНЕОФБГЙС) ФЕЛХЭЕК ЧЕТУЙЙ PVM.
лТПНЕ ФПЗП, ОБ РПЙУЛПЧПН УЕТЧЕТЕ Yahoo УХЭЕУФЧХЕФ ТБЪДЕМ, УРЕГЙБМШОП РПУЧСЭЕООЩК PVM.
ьЖЖЕЛФЙЧОПЕ РТПЗТБННЙТПЧБОЙЕ ДМС PVM ОБЮЙОБЕФУС У ФПЗП, ЮФП БМЗПТЙФН ЧЩЮЙУМЕОЙК УМЕДХЕФ БДБРФЙТПЧБФШ Л УПУФБЧХ PVM Й Л ЕЕ ИБТБЛФЕТЙУФЙЛБН. ьФП ПЮЕОШ ФЧПТЮЕУЛБС ЪБДБЮБ, ЛПФПТБС ЧП НОПЗЙИ УМХЮБСИ ДПМЦОБ ТЕЫБФШУС РТПЗТБННЙУФПН. чПЪОЙЛБАЭЙЕ РТЙ ЬФПН РТПВМЕНЩ ЛТБФЛП ПВУХЦДБАФУС Ч РПДТБЪДЕМЕ 1.1. лТПНЕ ЪБДБЮЙ ТБУРБТБММЕМЙЧБОЙС ЧЩЮЙУМЕОЙК У ОЕПВИПДЙНПУФША ЧПЪОЙЛБЕФ Й ЪБДБЮБ ХРТБЧМЕОЙС ЧЩЮЙУМЙФЕМШОЩН РТПГЕУУПН, ЛППТДЙОБГЙЙ ДЕКУФЧЙК ЪБДБЮ — ХЮБУФОЙЛПЧ ЬФПЗП РТПГЕУУБ. йОПЗДБ ДМС ХРТБЧМЕОЙС РТЙИПДЙФУС УПЪДБЧБФШ УРЕГЙБМШОХА ЪБДБЮХ, ЛПФПТБС УБНБ ОЕ ХЮБУФЧХС Ч ЧЩЮЙУМЕОЙСИ, ПВЕУРЕЮЙЧБЕФ УПЗМБУПЧБООХА ТБВПФХ ПУФБМШОЩИ ЪБДБЮ — ЧЩЮЙУМЙФЕМЕК. ьФПФ ЧПРТПУ ЛТБФЛП ПВУХЦДБЕФУС Ч РПДТБЪДЕМЕ 1.2.
зМБЧОЩН ЛТЙФЕТЙЕН ЛБЮЕУФЧБ ТБУРБТБММЕМЙЧБОЙС ЧЩЮЙУМЕОЙК СЧМСЕФУС УПЛТБЭЕОЙЕ ПВЭЕЗП ЧТЕНЕОЙ ТЕЫЕОЙС ЪБДБЮЙ. дМС РТПУФПФЩ Ч ЛБЮЕУФЧЕ ЪБДБЮ ВХДЕН ТБУУНБФТЙЧБФШ ЪДЕУШ ЧЩЮЙУМЕОЙС РП ЖПТНХМБН, Ч ЛПФПТЩИ ЧУЕ БМЗЕВТБЙЮЕУЛЙЕ ПРЕТБГЙЙ ЧЩРПМОСАФУС ЪБ ПДЙОБЛПЧПЕ ЧТЕНС T, Б ЙУРПМШЪХЕНЩЕ РТПГЕУУПТЩ ЧУЕ ЙНЕАФ ПДЙОБЛПЧЩЕ ИБТБЛФЕТЙУФЙЛЙ.
рХУФШ ФТЕВХЕФУС ЧЩЮЙУМЙФШ ЧЕМЙЮЙОЩ
Y1 = A * B + C * D
Y2 = (A + B) * C + D.
рТЙ ЙУРПМШЪПЧБОЙЙ ПДОПЗП РТПГЕУУПТБ Y1 Й Y2 ВХДХФ ЧЩЮЙУМЕОЩ ЪБ ПДЙОБЛПЧПЕ ЧТЕНС 3T. рТЙ ЙУРПМШЪПЧБОЙЙ ДЧХИ РТПГЕУУПТПЧ Y1 НПЦЕФ ВЩФШ ЧЩЮЙУМЕОП ЪБ ЧТЕНС 2T, Ф.Л. ПРЕТБГЙЙ ХНОПЦЕОЙС НПЗХФ ВЩФШ ЧЩРПМОЕОЩ РБТБММЕМШОП. б ЧЩЮЙУМЕОЙЕ Y2 ОЕ НПЦЕФ ВЩФШ ХУЛПТЕОП, Ф.Л. УБНБ ЖПТНХМБ ОЕ ДПРХУЛБЕФ РБТБММЕМШОПЗП ЧЩРПМОЕОЙС ПРЕТБГЙК.
йЪ ТБУУНПФТЕООПЗП РТЙНЕТБ УМЕДХЕФ, ЮФП ЧПЪНПЦОПУФЙ ДМС ТБУРБТБММЕМЙЧБОЙС ЧЩЮЙУМЕОЙК ПЗТБОЙЮЙЧБАФУС ОЕ ФПМШЛП ЮЙУМПН ЙНЕАЭЙИУС РТПГЕУУПТПЧ, ОП Й ПУПВЕООПУФСНЙ ЧЩЮЙУМЙФЕМШОПЗП БМЗПТЙФНБ, ЛПФПТЩК НПЦЕФ ЧППВЭЕ ОЕ ДПРХУЛБФШ ТБУРБТБММЕМЙЧБОЙС. лТПНЕ ФПЗП, СУОП, ЮФП РТЕДЕМШОЩК ЬЖЖЕЛФ ПФ ЙУРПМШЪПЧБОЙС N РТПГЕУУПТПЧ НПЦЕФ ВЩФШ ДПУФЙЗОХФ МЙЫШ ФПЗДБ, ЛПЗДБ ПВЭБС ЧЩЮЙУМЙФЕМШОБС ОБЗТХЪЛБ НПЦЕФ ВЩФШ ТБЪДЕМЕОБ ФПЮОП ОБ N ЮБУФЕК, Й РТЙ ЬФПН ОЙ ПДЙО ЙЪ РТПГЕУУПТПЧ ОЕ РТПУФБЙЧБЕФ ПФ ОБЮБМБ Й ДП ЛПОГБ ЧЩЮЙУМЕОЙК.
фЕРЕТШ ПВТБФЙН ЧОЙНБОЙЕ ОБ ФП, ЮФП Ч ТБУУНПФТЕООПН РТЙНЕТЕ ВЩМЙ РТПЙЗОПТЙТПЧБОЩ ЪБФТБФЩ ЧТЕНЕОЙ ОБ РЕТЕУЩМЛЙ ДБООЩИ НЕЦДХ РТПГЕУУПТБНЙ. ьФП ПФЮБУФЙ РТБЧПНЕТОП, ЕУМЙ РТПГЕУУПТЩ ЙУРПМШЪХАФ ПВЭХА РБНСФШ (УМЕДХЕФ ПФНЕФЙФШ, ЮФП ЧУЕ РТПГЕУУПТЩ ЙНЕАФ ЙОДЙЧЙДХБМШОХА ТЕЗЙУФТПЧХА РБНСФШ ЗПТБЪДП ВПМЕЕ ВЩУФТПДЕКУФЧХАЭХА, ЮЕН пъх). еУМЙ ЦЕ РТПГЕУУПТЩ ТБВПФБАФ У ДБООЩНЙ, ИТБОСЭЙНЙУС Ч ЙОДЙЧЙДХБМШОЩИ пъх, ФП ПВНЕО ДБООЩНЙ НЕЦДХ ЬФЙНЙ пъх УОЙЦБЕФ ЬЖЖЕЛФ ПФ ТБУРБТБММЕМЙЧБОЙС ЧЩЮЙУМЕОЙК ЧРМПФШ ДП ФПЗП, ЮФП ЬФПФ ЬЖЖЕЛФ НПЦЕФ УФБФШ ПФТЙГБФЕМШОЩН. пФУАДБ УМЕДХЕФ, ЮФП РТЙ ПРФЙНЙЪБГЙЙ ТБУРБТБММЕМЙЧБОЙС ЧЩЮЙУМЕОЙК ОХЦОП ХЮЙФЩЧБФШ ЧТЕНС, ЪБФТБЮЙЧБЕНПЕ ОБ ПВНЕО ДБООЩНЙ НЕЦДХ РТПГЕУУПТБНЙ. й ЧППВЭЕ РТЙ РТПЮЙИ ТБЧОЩИ ХУМПЧЙСИ ХНЕОШЫЕОЙЕ ЮЙУМБ Й ПВЯЕНПЧ УППВЭЕОЙК, ЛПФПТЩНЙ ПВНЕОЙЧБАФУС РБТБММЕМШОП ТБВПФБАЭЙЕ РТПГЕУУПТЩ, ЛБЛ РТБЧЙМП, РТЙЧПДЙФ Л УПЛТБЭЕОЙА ПВЭЕЗП ЧТЕНЕОЙ ТЕЫЕОЙС ЪБДБЮЙ. рПЬФПНХ ЦЕМБФЕМШОП ТБУРБТБММЕМЙЧБФШ ЧЩЮЙУМЙФЕМШОЩК РТПГЕУУ ОБ ХТПЧОЕ ЛБЛ НПЦОП ВПМЕЕ ЛТХРОЩИ ВМПЛПЧ БМЗПТЙФНБ.
дП УЙИ РПТ НЩ ТБУУНБФТЙЧБМЙ ЧЩЮЙУМЕОЙС, РТПЙЪЧПДЙНЩЕ ОБД ПДОПК РПТГЙЕК ЙУИПДОЩИ ДБООЩИ. рТЙ ЬФПН ТБУРБТБММЕМЙЧБОЙЕ ВБЪЙТХЕФУС ОБ ДЕЛПНРПЪЙГЙЙ БМЗПТЙФНБ ЧЩЮЙУМЕОЙК. вПМЕЕ ВПЗБФЩЕ ЧПЪНПЦОПУФЙ ДМС ТБУРБТБММЕМЙЧБОЙС ПФЛТЩЧБАФУС РТЙ НОПЗПЛТБФОПН ЙУРПМШЪПЧБОЙЙ ЖПТНХМЩ ДМС РПФПЛБ ЧИПДОЩИ ДБООЩИ. рТЙ ЬФПН, ЛБЛ РТБЧЙМП, ХДБЕФУС ДПУФЙЮШ НБЛУЙНБМШОПЗП ЬЖЖЕЛФБ ПФ ТБУРБТБММЕМЙЧБОЙС ЧЩЮЙУМЕОЙК, ЮФП ЧЙДОП ОБ РТЙНЕТЕ ЧЩЮЙУМЕОЙК РП ЖПТНХМБН ДМС Y1 Й Y2.
рХУФШ ЛБЦДЩЕ T УЕЛХОД ДМС ЧЩЮЙУМЕОЙС ПЮЕТЕДОПЗП ЪОБЮЕОЙС Y1 РПУФХРБЕФ ОПЧБС РПТГЙС ЙУИПДОЩИ ДБООЩИ: A, B, C, D — Й ЛБЦДЩЕ T УЕЛХОД РТПГЕУУПТ 1 Й РТПГЕУУПТ 2 РБТБММЕМШОП ЧЩРПМОСАФ ПРЕТБГЙЙ ХНОПЦЕОЙС, Б РТПГЕУУПТ 3 Ч ЬФП ЧТЕНС УЛМБДЩЧБЕФ РТПЙЪЧЕДЕОЙС, РПМХЮЕООЩЕ Ч РТЕДЩДХЭЙЕ T УЕЛХОД. пЮЕЧЙДОП, ЮФП У ХЧЕМЙЮЕОЙЕН НБУУЙЧБ ЙУИПДОЩИ ДБООЩИ ЬЖЖЕЛФ ПФ ТБУРБТБММЕМЙЧБОЙС УФТЕНЙФУС Л РТЕДЕМШОПНХ ЪОБЮЕОЙА. вПМЕЕ ФПЗП, РПЮФЙ ФБЛПК ЦЕ ЬЖЖЕЛФ РПМХЮБЕФУС РТЙ ЧЩЮЙУМЕОЙЙ Y2. рТБЧДБ, ЪДЕУШ ЛБЦДБС РПТГЙС ЙУИПДОЩИ ДБООЩИ ВХДЕФ РТЕПВТБЪПЧЩЧБФШУС Ч ТЕЪХМШФБФ ХЦЕ Ч ФЕЮЕОЙЕ 3T УЕЛХОД, ЪБФП Ч ТБВПФЕ ПДОПЧТЕНЕООП ВХДХФ ОБИПДЙФШУС ОЕ 2, Б 3 РПТГЙЙ ЙУИПДОЩИ ДБООЩИ.
тБУРБТБММЕМЙЧБОЙЕ ЧЩЮЙУМЕОЙК РП РПФПЛХ ДБООЩИ МЕЦЙФ Ч ПУОПЧЕ ФБЛ ОБЪЩЧБЕНЩИ ЛПОЧЕКЕТОЩИ ЧЩЮЙУМЕОЙК Й ЮБУФП РПЪЧПМСЕФ ДПВЙФШУС ВПМШЫЕЗП ЬЖЖЕЛФБ, ЮЕН ТБУРБТБММЕМЙЧБОЙЕ, ПУОПЧБООПЕ ОБ ДЕЛПНРПЪЙГЙЙ БМЗПТЙФНБ. рПЬФПНХ ФБН, ЗДЕ ЬФП ЧПЪНПЦОП, ЕЗП ЦЕМБФЕМШОП ЙУРПМШЪПЧБФШ Ч РЕТЧХА ПЮЕТЕДШ.
1.2. пУПВЕООПУФЙ ПТЗБОЙЪБГЙЙ РБТБММЕМШОЩИ ЧЩЮЙУМЕОЙК
лБЛ ХЦЕ ПФНЕЮБМПУШ, РТЙ РБТБММЕМШОЩИ ЧЩЮЙУМЕОЙСИ ОЕПВИПДЙНП РТПЗТБННЙТПЧБФШ УРЕГЙБМШОЩЕ ДЕКУФЧЙС РП ЛППТДЙОБГЙЙ ТБВПФЩ ЪБДБЮ, Б ФБЛЦЕ УМЕДХЕФ ЮЕФЛП ПРТЕДЕМЙФШ «ПВМБУФШ ДЕСФЕМШОПУФЙ» ДМС ЛБЦДПК ЪБДБЮЙ. тБУУНПФТЙН ЪДЕУШ ОЕУЛПМШЛП ЧПЪНПЦОЩИ РПДИПДПЧ ДМС ТЕЫЕОЙС ЬФЙИ РТПВМЕН.
рТЙ РЕТЧПН ЧБТЙБОФЕ ПТЗБОЙЪБГЙЙ РБТБММЕМШОЩИ ЧЩЮЙУМЕОЙК ЧУЕ ЪБДБЮЙ ЪБРХУЛБАФУС ПДОПК ЛПНБОДПК, Ч ЛПФПТПК ХЛБЪЩЧБЕФУС ЙНС ЪБРХУЛБЕНПЗП ЙУРПМОСЕНПЗП ЖБКМБ, ЮЙУМП ЪБРХУЛБЕНЩИ ЪБДБЮ, Б ФБЛЦЕ ЮЙУМП Й ФЙР ЙУРПМШЪХЕНЩИ РТПГЕУУПТПЧ. рП ЬФПК ЛПНБОДЕ ЪБРХУЛБАФУС ОБ ХЛБЪБООЩИ РТПГЕУУПТБИ ФТЕВХЕНПЕ ЮЙУМП ЛПРЙК ХЛБЪБООПЗП ЙУРПМОСЕНПЗП ЖБКМБ. уМЕДПЧБФЕМШОП, РТПЗТБННОЩЕ ЛПДЩ ЧУЕИ ЪБРХЭЕООЩИ Ч PVM ЪБДБЮ Ч ДБООПН УМХЮБЕ ПДЙОБЛПЧЩ. дМС ФПЗП ЮФПВЩ ЬФЙ ЪБДБЮЙ НПЗМЙ ЧЩРПМОСФШ ТБЪОЩЕ ДЕКУФЧЙС, ЙН ДПМЦЕО ВЩФШ ЙЪЧЕУФЕО РТЙЪОБЛ, ПФМЙЮБАЭЙК ЛБЦДХА ЪБДБЮХ ПФ ПУФБМШОЩИ. фПЗДБ, ЙУРПМШЪХС ЬФПФ РТЙЪОБЛ Ч ХУМПЧОЩИ ПРЕТБФПТБИ, МЕЗЛП ЪБРТПЗТБННЙТПЧБФШ ЧЩРПМОЕОЙЕ ЪБДБЮБНЙ ТБЪОЩИ ДЕКУФЧЙК. оБМЙЮЙЕ ФБЛПЗП РТЙЪОБЛБ РТЕДХУНПФТЕОП Ч МАВПК НОПЗПЪБДБЮОПК ПРЕТБГЙПООПК УЙУФЕНЕ. ьФП ФБЛ ОБЪЩЧБЕНЩК ЙДЕОФЙЖЙЛБФПТ ЪБДБЮЙ — ГЕМПЕ ЮЙУМП, ЛПФПТПЕ РТЙУЧБЙЧБЕФУС ЪБДБЮЕ РТЙ ЪБРХУЛЕ. уХЭЕУФЧЕООП, ЮФП РТЙ ЪБРХУЛЕ ЪБДБЮБ РПМХЮБЕФ ЙДЕОФЙЖЙЛБФПТ, ПФМЙЮОЩК ПФ ЙДЕОФЙЖЙЛБФПТПЧ ЪБДБЮ, ЧЩРПМОСЕНЩИ Ч ДБООПЕ ЧТЕНС. ьФП ЗБТБОФЙТХЕФ, ЮФП ЙДЕОФЙЖЙЛБФПТЩ ЧУЕИ ЪБРХЭЕООЩИ ЪБДБЮ Ч PVM ВХДХФ ТБЪМЙЮОЩНЙ. еУМЙ ФЕРЕТШ ПВЕУРЕЮЙФШ ЪБДБЮЙ ЧПЪНПЦОПУФША ПРТЕДЕМСФШ УПВУФЧЕООЩК ЙДЕОФЙЖЙЛБФПТ Й ПВНЕОЙЧБФШУС ЙОЖПТНБГЙЕК У ДТХЗЙНЙ ЪБДБЮБНЙ, ФП СУОП, ЮФП ЙН МЕЗЛП ТБУРТЕДЕМЙФШ НЕЦДХ УПВПК ЧЩЮЙУМЙФЕМШОХА ТБВПФХ, Ч ЪБЧЙУЙНПУФЙ, ОБРТЙНЕТ, ПФ ЪБОЙНБЕНПЗП НЕУФБ Ч ХРПТСДПЮЕООПН ОБВПТЕ ЙДЕОФЙЖЙЛБФПТПЧ ЪБДБЮ.
чП ЧФПТПН ПВЩЮОП ЙУРПМШЪХЕНПН ЧБТЙБОФЕ ЪБРХУЛБ ЪБДБЮ УОБЮБМБ ЪБРХУЛБЕФУС ПДОБ ЪБДБЮБ (master), ЛПФПТБС Ч ЛПММЕЛФЙЧЕ ЪБДБЮ ВХДЕФ ЙЗТБФШ ЖХОЛГЙЙ ЛППТДЙОБФПТБ ТБВПФ. ьФБ ЪБДБЮБ РТПЙЪЧПДЙФ ОЕЛПФПТЩЕ РПДЗПФПЧЙФЕМШОЩЕ ДЕКУФЧЙС, РПУМЕ ЮЕЗП ЪБРХУЛБЕФ ПУФБМШОЩЕ ЪБДБЮЙ (slaves), ЛПФПТЩН НПЦЕФ УППФЧЕФУФЧПЧБФШ МЙВП ФПФ ЦЕ ЙУРПМОСЕНЩК ЖБКМ, МЙВП ТБЪОЩЕ ЙУРПМОСЕНЩЕ ЖБКМЩ. фБЛПК ЧБТЙБОФ ПТЗБОЙЪБГЙЙ РБТБММЕМШОЩИ ЧЩЮЙУМЕОЙК РТЕДРПЮФЙФЕМШОЕЕ РТЙ ХУМПЦОЕОЙЙ МПЗЙЛЙ ХРТБЧМЕОЙС ЧЩЮЙУМЙФЕМШОЩН РТПГЕУУПН, Б ФБЛЦЕ ЛПЗДБ БМЗПТЙФНЩ, ТЕБМЙЪПЧБООЩЕ Ч ТБЪОЩИ ЪБДБЮБИ, УХЭЕУФЧЕООП ТБЪМЙЮБАФУС ЙМЙ ЙНЕЕФУС ВПМШЫПК ПВЯЕН ПРЕТБГЙК (ОБРТЙНЕТ, ЧЧПДБ — ЧЩЧПДБ), ЛПФПТЩЕ ПВУМХЦЙЧБАФ ЧЩЮНУМЙФЕМШОЩК РТПГЕУУ Ч ГЕМПН.
ч ЬФПН ТБЪДЕМЕ РТЙЧЕДЕОП ПРЙУБОЙЕ ПУОПЧОЩИ ВЙВМЙПФЕЮОЩИ ЖХОЛГЙК, РПЪЧПМСАЭЙИ РПМШЪПЧБФЕМА ХРТБЧМСФШ ЪБРХУЛПН Й ЧЩЛМАЮЕОЙЕН ЪБДБЮ, Б ФБЛЦЕ ПТЗБОЙЪПЧБФШ ЬЖЖЕЛФЙЧОЩК ПВНЕО ЙОЖПТНБГЙЕК НЕЦДХ РТПГЕУУПТБНЙ, ТЕЫБАЭЙНЙ ПВЭХА ЪБДБЮХ.
ч УЙУФЕНЕ PVM_3 ЛБЦДБС ЪБДБЮБ (ЛПФПТПК УППФЧЕФУФЧХЕФ ЙУРПМОСЕНЩК ЖБКМ), ЪБРХЭЕООБС ОБ ОЕЛПФПТПН РТПГЕУУПТЕ, ЙДЕОФЙЖЙГЙТХЕФУС ГЕМЩН ЮЙУМПН, ЛПФПТПЕ ОБЪЩЧБЕФУС ЙДЕОФЙЖЙЛБФПТПН ЪБДБЮЙ (ДБМЕЕ ЙУРПМШЪХЕФУС ПВПЪОБЮЕОЙЕ TID ) Й РП УНЩУМХ РПИПЦЕ ОБ ЙДЕОФЙЖЙЛБФПТ РТПГЕУУБ Ч ПРЕТБГЙПООПК УЙУФЕНЕ Unix. лПОЛТЕФОЩЕ ЪОБЮЕОЙС TID ОЕУХЭЕУФЧЕООЩ, ЧБЦОП МЙЫШ, ЮФПВЩ ЧУЕ ЪБДБЮЙ, ЪБРХЭЕООЩЕ Ч PVM, ЙНЕМЙ ТБЪМЙЮОЩЕ TID. пФНЕФЙН ЪДЕУШ, ЮФП ЛПРЙЙ ПДОПЗП ЙУРПМОСЕНПЗП ЖБКМБ, ЪБРХЭЕООЩЕ РБТБММЕМШОП ОБ N РТПГЕУУПТБИ PVM, УПЪДБАФ N ЪБДБЮ У ТБЪОЩНЙ TID.
дМС РТЙОСФПК НПДЕМЙ ЧЪБЙНПДЕКУФЧЙС ЪБДБЮ Ч PVM УЮЙФБЕФУС, ЮФП Ч РТЕДЕМБИ ПДОПК PVM МАВБС ЪБДБЮБ НПЦЕФ РЕТЕДБЧБФШ УППВЭЕОЙС МАВПК ДТХЗПК ЪБДБЮЕ, РТЙЮЕН, ТБЪНЕТЩ Й ЮЙУМП ФБЛЙИ УППВЭЕОЙК Ч РТЙОГЙРЕ ОЕ ПЗТБОЙЮЕОЩ. ьФП РТЕДРПМПЦЕОЙЕ УХЭЕУФЧЕООП ХРТПЭБЕФ ТЕБМЙЪБГЙА PVM ОБ ЛПОЛТЕФОЩИ ЧЩЮЙУМЙФЕМШОЩИ ЛПНРМЕЛУБИ, Ф.Л. РТЙ ЬФПН ЛПОФТПМШ РЕТЕРПМОЕОЙС ВХЖЕТОЩИ ХУФТПКУФЧ Й НБУУЙЧПЧ ПУФБЕФУС ФПМШЛП Ч ЧЕДЕОЙЙ ЮБУФОЩИ ПРЕТБГЙПООЩИ УЙУФЕН.
дМС РПЧЩЫЕОЙС ЬЖЖЕЛФЙЧОПУФЙ НЕЦЪБДБЮОПЗП ПВНЕОБ ЙОЖПТНБГЙЕК РТЕДХУНПФТЕОП ЙУРПМШЪПЧБОЙЕ ОЕУЛПМШЛЙИ БМЗПТЙФНПЧ. ч ЮБУФОПУФЙ, НПЦОП ЙУРПМШЪПЧБФШ БМЗПТЙФН ВМПЛЙТПЧБООПК РЕТЕДБЮЙ, РТЙ ЛПФПТПН ЖХОЛГЙС «рПУМБФШ УППВЭЕОЙЕ» ЧПЪЧТБЭБЕФ ЪОБЮЕОЙЕ (Ф.Е. ЪБЧЕТЫБЕФ ТБВПФХ) ФПМШЛП РПУМЕ ФПЗП ЛБЛ РПМХЮЕОБ РПМПЦЙФЕМШОБС ЙМЙ ПФТЙГБФЕМШОБС ЛЧЙФБОГЙС ПФ РПМХЮБФЕМС УППВЭЕОЙС. фБЛПК БМЗПТЙФН РЕТЕДБЮЙ У ПЦЙДБОЙЕН ХЧЕДПНМЕОЙС П ДПУФБЧЛЕ РТЕДРПЮФЙФЕМЕО Ч ФЕИ УМХЮБСИ, ЛПЗДБ ДМЙООПЕ УППВЭЕОЙЕ РЕТЕДБЕФУС ОЕУЛПМШЛЙНЙ РПТГЙСНЙ, Б ФБЛЦЕ РТЙ ПВНЕОЕ ЛПНБОДБНЙ, РПУМЕДПЧБФЕМШОПУФШ ЧЩРПМОЕОЙС ЛПФПТЩИ ЧП ЧТЕНЕОЙ ДПТМЦОБ ВЩФШ УФТПЗП ЖЙЛУЙТПЧБООПК.
рТЙ ЙУРПМШЪПЧБОЙЙ ОЕВМПЛЙТПЧБООЩИ БМЗПТЙФНПЧ РЕТЕДБЮЙ Й РТЙЕНБ УППВЭЕОЙК ХНЕОШЫБАФУС РТПУФПЙ РТПГЕУУПТПЧ, ЧЩЪЧБООЩЕ ПЦЙДБОЙЕН ТЕБЛГЙЙ «УПВЕУЕДОЙЛБ». пУПВЕООП ВПМШЫПК ЬЖЖЕЛФ ЬФП ДБЕФ ОБ РТЙЕНОПК УФПТПОЕ РТЙ ОЕЙЪЧЕУФОПН ЧТЕНЕОЙ РТЙИПДБ УППВЭЕОЙС. нПЦОП ПТЗБОЙЪПЧБФШ ТБВПФХ РТЙЕНОПЗП РТПГЕУУПТБ ФБЛ, ЮФПВЩ ПО Ч ПЦЙДБОЙЙ УППВЭЕОЙС ЧЩРПМОСМ ФЕЛХЭХА ТБВПФХ, МЙЫШ ЧТЕНС ПФ ЧТЕНЕОЙ ПРТБЫЙЧБС РТЙЕНОЩК ВХЖЕТ.
уХЭЕУФЧЕООЩН СЧМСЕФУС ФП ПВУФПСФЕМШУФЧП, ЮФП РТЙ РЕТЕДБЮЕ РПУМЕДПЧБФЕМШОПУФЙ УППВЭЕОЙЕ ПФ ПДОПК ЪБДБЮЙ Л ДТХЗПК РПТСДПЛ РТЙЕНБ УППВЭЕОЙЕ ЧУЕЗДБ УПЧРБДБЕФ У РПТСДЛПН ЙИ РЕТЕДБЮЙ. вПМЕЕ ФПЗП, ЕУМЙ ДП ПВТБЭЕОЙС Л ЖХОЛГЙЙ «рТЙОСФШ УППВЭЕОЙЕ» Ч РТЙЕНОЩК ВХЖЕТ РТЙОЙНБАЭЕК ЪБДБЮЙ ЪБРЙУБОП ОЕУЛПМШЛП УППВЭЕОЙК, ФП ЖХОЛГЙС «рТЙОСФШ УППВЭЕОЙЕ» ЧПЪЧТБФЙФ УУЩМЛХ ОБ РЕТЧПЕ РТЙОСФПЕ УППВЭЕОЙЕ.
рБНСФШ ДМС ВХЖЕТОЩИ НБУУЙЧПЧ ОБ РЕТЕДБАЭЕК Й РТЙЕНОПК УФПТПОЕ ЧЩДЕМСЕФУС ДЙОБНЙЮЕУЛЙ, УМЕДПЧБФЕМШОП, НБЛУЙНБМШОЩК ПВЯЕН УППВЭЕОЙК ПЗТБОЙЮЙЧБЕФУС ФПМШЛП ПВЯЕНПН ДПУФХРОПК РБНСФЙ. еУМЙ ПДОБ ЙЪ ЪБДБЮ, ЪБРХЭЕООЩИ Ч PVM, ОЕ НПЦЕФ РПМХЮЙФШ ФТЕВХЕНХА РБНСФШ ДМС ПВЭЕОЙС У ДТХЗЙНЙ ЪБДБЮБНЙ, ФП ПОБ ЧЩДБЕФ РПМШЪПЧБФЕМА УППФЧЕФУФЧХАЭЕЕ УППВЭЕОЙЕ ПВ ПЫЙВЛЕ («cannot get memory»), ОП ДТХЗЙЕ ЪБДБЮЙ ПВ ЬФПН УПВЩФЙЙ ОЕ ЙЪЧЕЭБАФУС Й НПЗХФ, ОБРТЙНЕТ, РТПДПМЦБФШ РПУЩМБФШ ЕК УППВЭЕОЙС.
лТПНЕ ПВНЕОБ УППВЭЕОЙСНЙ НЕЦДХ ДЧХНС ЪБДБЮБНЙ Ч PVM РТЕДХУНПФТЕОЩ ЧПЪНПЦОПУФШ ЫЙТПЛПЧЕЭБФЕМШОПК РЕТЕДБЮЙ УППВЭЕОЙК ПФ ПДОПК ЪБДБЮЙ Л ОЕУЛПМШЛЙН ДТХЗЙН ЪБДБЮБН, Б ФБЛЦЕ ЧПЪНПЦОПУФЙ УЙОИТПОЙЪБГЙЙ ДЕКУФЧЙК Ч ЗТХРРЕ ЪБДБЮ Й УПЧНЕУФОПЕ ЧЩРПМОЕОЙЕ ЪБДБЮБНЙ ЗТХРРЩ ОЕЛПФПТЩИ ПРЕТБГЙК ОБД ТБУРТЕДЕМЕООЩНЙ ДБООЩНЙ (ЖТБЗНЕОФЩ ПВТБВБФЩЧБЕНЩИ ДБООЩИ ТБУРТЕДЕМЕОЩ НЕЦДХ ЪБДБЮБНЙ — ЮМЕОБНЙ ЗТХРРЩ).
ъДЕУШ РТЙЧПДЙФУС ЛТБФЛПЕ ПРЙУБОЙЕ ЖХОЛГЙК, ЛПФПТЩЕ РПЪЧПМСАФ ПРТЕДЕМСФШ ЙДЕОФЙЖЙЛБФПТ ЪБДБЮЙ ( TID ), Б ФБЛЦЕ ЪБРХУЛБФШ ЪБДБЮЙ Й ЪБЧЕТЫБФШ ЙИ ЧЩРПМОЕОЙЕ.
— ЧПЪЧТБЭБЕФ ЙДЕОФЙЖЙЛБФПТ ЪБДБЮЙ tid >= 0 . ьФБ ЖХОЛГЙС НПЦЕФ ЧЩЪЩЧБФШУС ВПМЕЕ ПДОПЗП ТБЪБ, ОП Ч РЕТЧЩК ТБЪ ПОБ, ЛБЛ РТБЧЙМП, ЧЩЪЩЧБЕФУС Ч УБНПН ОБЮБМЕ РТПЗТБННЩ, Ф.Л. ЪОБЮЕОЙЕН tid НПЦЕФ ПРТЕДЕМСФШУС ЧЩВПТ ДМС ЧЩРПМОЕОЙС ФПК ЙМЙ ЙОПК ЮБУФЙ РТПЗТБННЩ.
— ЪБРХУЛБЕФ Ч PVM ntask ЛПРЙК ЙУРПМОСЕНПЗП ЖБКМБ У ЙНЕОЕН «task» У ПДЙОБЛПЧЩНЙ БТЗХНЕОФБНЙ ЛПНБОДОПК УФТПЛЙ Ч НБУУЙЧЕ argv Й ЧПЪЧТБЭБЕФ ЮЙУМП ЪБРХЭЕООЩИ ЪБДБЮ numt Б ФБЛЦЕ РПУМЕДПЧБФЕМШОПУФШ ЙДЕОФЙЖЙЛБФПТПЧ ДМС ЪБРХЭЕООЩИ ЪБДБЮ. рТЙЮЕН, ЕУМЙ numt , ФП Ч РПУМЕДОЙИ ntask — numt ЬМЕНЕОФБИ НБУУЙЧБ tids ЪБРЙУБОЩ ПФТЙГБФЕМШОЩЕ ЛПДЩ ПЫЙВПЛ, ПВЯСУОСАЭЙЕ УТЩЧ ЪБРХУЛБ ЪБДБЮЙ.
ъБНЕЮБОЙЕ 1: ЙУРПМОСЕНЩК ЖБКМ ДМС ЖХОЛГЙЙ pvm_spawn() ДПМЦЕО ОБИПДЙФШУС Ч УФТПЗП ПРТЕДЕМЕООПН ЛБФБМПЗЕ. рПД аОЙЛУПН ЪБДБЮБ ЙЭЕФУС Ч ЛБФБМПЗБИ $PVM_ROOT/bin/$PVM_ARCH/ Й $HOME/pvm3/bin/$PVM_ARCH. рПД Windows БМЗПТЙФН РПЙУЛБ ВПМЕЕ ЪБНЩУМПЧБФЩК, ЮЙФБКФЕ П ОЕН Ч ТБЪДЕМЕ 4.1. ъБДБЧБФШ ЙНС ЛБФБМПЗБ Ч РБТБНЕФТЕ «task» ОЕДПРХУФЙНП (ЙМЙ, РП ЛТБКОЕК НЕТЕ, ОЕЦЕМБФЕМШОП).
ъБНЕЮБОЙЕ 2: ЙУРПМОСЕНЩК ЖБКМ ЙЭЕФУС (Й ЪБРХУЛБЕФУС) ОЕ ФПМШЛП ОБ ФПН ЛПНРШАФЕТЕ, ОБ ЛПФПТПН ТБВПФБЕФ ЧЩЪЧБЧЫБС pvm_spawn() ЪБДБЮБ, ОП Ч ЪБЧЙУЙНПУФЙ ПФ РБТБНЕФТПЧ flag Й where , ОБ МАВПН ЧИПДСЭЕН Ч УПУФБЧ PVM. оБРТЙНЕТ, ЕУМЙ flag==0 , ФП PVM УБН ЧЩВЙТБЕФ, ОБ ЛБЛПК ЙЪ НБЫЙО ЪБРХУЛБФШ ОПЧЩЕ ЪБДБЮЙ (ЗМБЧОПЕ, ЮФПВЩ РТЙМПЦЕОЙЕ ВЩМП УЛПНРЙМЙТПЧБОП ОБ ЬФЙИ НБЫЙОБИ); Б ЕУМЙ flag & PvmMppFront > 0 , ФП НЕУФПН ЪБРХУЛБ ВХДЕФ ЧЩВТБО УБНЩК ВЩУФТЩК ЛПНРШАФЕТ.
ъОБЮЕОЙЕН РБТБНЕФТБ flag ЪБДБЕФУС ОБВПТ ПРГЙК ДМС ЪБРХУЛБЕНЩИ ЪБДБЮ. лБЦДПК ПРГЙЙ УПФЧЕФУФЧХЕФ ГЕМПЕ ОЕПФТЙГБФЕМШОПЕ ЮЙУМП — ЧЕУ ПРГЙЙ, Й ЪОБЮЕОЙЕ flag ТБЧОП УХННЕ ЧЕУПЧ ЧЩВТБООЩИ ПРГЙК. оЙЦЕ РЕТЕЮЙУМСАФУС ПРГЙЙ ЪБРХУЛБ ЪБДБЮ, ЛТБФЛП ТБУЛТЩЧБЕФУС ЙИ УПДЕТЦБОЙЕ Й Ч УЛПВЛБИ ХЛБЪБОЩ ЙИ ЧЕУБ.
рТЙ ЧЩВПТЕ ЪОБЮЕОЙК РБТБНЕФТПЧ flag Й «where» РПМШЪПЧБФЕМА ГЕМЕУППВТБЪОП РТПЛПОУХМШФЙТПЧБФШУС У РТПЗТБННЙУФПН, ЛПФПТПНХ ЙЪЧЕУФОЩ ПУПВЕООПУФЙ ХУФБОПЧЛЙ УЙУФЕНЩ PVM ОБ ЙУРПМШЪХЕНПН ЧЩЮЙУМЙФЕМШОПН ЛПНРМЕЛУЕ.
— ЪБРХУЛБАФУС 2 ЛПРЙЙ ЙУРПМОСЕНПЗП ЖБКМБ «host» ВЕЪ РБТБНЕФТПЧ Ч ЛПНБОДОПК УФТПЛЕ ОБ ЧЩЮЙУМЙФЕМШОПН ЛПНРМЕЛУЕ ФЙРБ «sparky» ; ЧПЪЧТБЭБЕНЩЕ ЙДЕОФЙЖЙЛБФПТЩ ЪБДБЮ ЪБРЙУБОЩ Ч НБУУЙЧЕ tid .
— ЪБРХУЛБАФУС 2 ЛПРЙЙ ЙУРПМОСЕНПЗП ЖБКМБ «node» У РБТБНЕФТБНЙ ЛПНБОДОПК УФТПЛЙ Ч НБУУЙЧЕ argv ОБ МАВПН ЧЛМАЮЕООПН Ч УПУФБЧ PVM ЧЩЮЙУМЙФЕМШОПН ЛПНРМЕЛУЕ У БТИЙФЕЛФХТПК ФЙРБ «RIOS» У ЙУРПМШЪПЧБОЙЕН ПФМБДЮЙЛБ; ЧПЪЧТБЭБЕНЩЕ ЙДЕОФЙЖЙЛБФПТЩ ЪБДБЮ ЪБРЙУБОЩ Ч tid[5], tid[6] .
— ЪБРХУЛБАФУС 4 ЛПРЙЙ ЙУРПМОСЕНПЗП ЖБКМБ «node» ВЕЪ РБТБНЕФТПЧ ЛПНБОДОПК УФТПЛЙ У БЧФПНБФЙЮЕУЛЙН ЧЩВПТПН ЙУРПМШЪХЕНЩИ ЧЩЮЙУМЙФЕМШОЩИ УТЕДУФЧ ДМС ЧЩРПМОЕОЙС ЪБДБЮ; ЧПЪЧТБЭБЕНЩЕ ЙДЕОФЙЖЙЛБФПТЩ ЪБДБЮ ЪБРЙУБОЩ Ч НБУУЙЧЕ tid .
— ЪБЧЕТЫБЕФ ЧЩРПМОЕОЙЕ ЪБДБЮЙ У ЙДЕОФЙЖЙЛБФПТПН tid ; РТЙ ПЫЙВЛЕ ЧПЪЧТБЭБЕФ ЛПД ПЫЙВЛЙ info . пФНЕФЙН, ЮФП ЪБДБЮБ ОЕ НПЦЕФ «ХВЙФШ» УЕВС, РПЬФПНХ ПДЙО ЙЪ ЧПЪНПЦОЩИ УГЕОБТЙЕЧ ЪБЧЕТЫЕОЙС НОПЗПЪБДБЮОПК ТБВПФЩ PVM ЪБЛМАЮБЕФУС Ч ФПН, ЮФП ПДОБ ЙЪ ЪБДБЮ «ХВЙЧБЕФ» ЧУЕ ПУФБМШОЩЕ, РПУМЕ ЮЕЗП ЧЩЪЩЧБЕФ ЖХОЛГЙА
ЛПФПТБС ЪБЧЕТЫБЕФ ТБВПФХ PVM, ЪБРХЭЕООПК РПМШЪПЧБФЕМЕН, ОП РТЙ ЬФПН УБНБ ЪБДБЮБ РТПДПМЦБЕФ ЧЩРПМОСФШУС ХЦЕ ЛБЛ ПВЯЕЛФ МПЛБМШОПК ПРЕТБГЙПООПК УЙУФЕНЩ Й ЪБЧЕТЫБЕФ ТБВПФХ, ЛБЛ ПВЩЮОП.
рТЙ РПУЩМЛЕ УППВЭЕОЙС ПФ ПДОПК ЪБДБЮЙ Л ДТХЗПК ЧОХФТЙ PVM ОХЦОП ЧЩРПМОЙФШ ЛБЛ НЙОЙНХН 3 ДЕКУФЧЙС : РТПЙОЙГЙБМЙЪЙТПЧБФШ ВХЖЕТ ДМС РЕТЕДБЧБЕНПЗП УППВЭЕОЙС, ХРБЛПЧБФШ РЕТЕДБЧБЕНЩЕ ДБООЩЕ Ч УППФЧЕФУФЧЙЙ У ЖПТНБФБНЙ ЙИ РТЕДУФБЧМЕОЙС Й РЕТЕУМБФШ УППВЭЕОЙЕ Ч ВХЖЕТ РПМХЮБФЕМС.
рТЙ РТЙЕНЕ УППВЭЕОЙС, ЧП-РЕТЧЩИ, ОХЦОП ПРТЕДЕМЙФШ БМЗПТЙФН РТЙЕНБ (ВМПЛЙТПЧБООЩК ЙМЙ ОЕВМПЛЙТПЧБООЩК), ЪБФЕН, РТЙОСЧ УППВЭЕОЙЕ, ЕЗП ОХЦОП ТБУРБЛПЧБФШ, Ф.Е. ЧПУУФБОПЧЙФШ РЕТЕДБООЩЕ ЖТБЗНЕОФЩ ДБООЩИ Ч УППФЧЕФУФЧЙЙ У ЙИ ФЙРБНЙ.
рТЙ РПУЩМЛЕ УППВЭЕОЙС ЕНХ РТЙУЧБЙЧБЕФУС ЙДЕОФЙЖЙЛБФПТ, РТЙОЙНБАЭЙК ГЕМЩЕ ОЕПФТЙГБФЕМШОЩЕ ЪОБЮЕОЙС Й ЙЗТБАЭЙК ДМС УППВЭЕОЙК ФХ ЦЕ ТПМШ, ЮФП Й ЧЕМЙЮЙОБ tid ДМС ЪБДБЮ Ч PVM. ч ФП ЦЕ ЧТЕНС, Ч ПФМЙЮЙЕ ПФ ЪБДБЮ ТБЪОЩЕ УППВЭЕОЙС НПЗХФ ЙНЕФШ ПДЙОБЛПЧЩЕ ЙДЕОФЙЖЙЛБФПТЩ, РПУЛПМШЛХ ЕУФШ ЗБТБОФЙТПЧБООБС ЧПЪНПЦОПУФШ ТБЪМЙЮБФШ ЙИ РП ДТХЗЙН РТЙЪОБЛБН ( tid ПФРТБЧЙФЕМС ЙМЙ РПМХЮБФЕМС, ЧТЕНС РТЙИПДБ Й Ф.Д. ).
— ЧПЪЧТБЭБЕФ ЪОБЮЕОЙЕ, ТБЧОПЕ МЙВП ЙДЕОФЙЖЙЛБФПТХ ВХЖЕТБ ( bufid > 0 ), МЙВП ЛПДХ ПЫЙВЛЙ ( bufid ). рБТБНЕФТ encoding РТЙОЙНБЕФ УМЕДХАЭЙЕ ЪОБЮЕОЙС:
- PvmDataDefault — РТЙ ЛПДЙТПЧБОЙЙ ДБООЩИ Ч ВХЖЕТЕ БЧФПНБФЙЮЕУЛЙ ХЮЙФЩЧБАФУС ТБЪМЙЮЙС Ч РТЕДУФБЧМЕОЙЙ ДБООЩИ ОБ РЕТЕДБАЭЕК Й ОБ РТЙЕНОПК УФПТПОЕ;
- PvmDataRaw — ДБООЩЕ ЪБРЙУЩЧБАФУС Ч ВХЖЕТ ВЕЪ ЛПДЙТПЧБОЙС, ЮФП ХДПВОП, ЕУМЙ ЙИ РТЕДУФБЧМЕОЙС ОБ РЕТЕДБАЭЕК Й ОБ РТЙЕНОПК УФПТПОЕ ПДЙОБЛПЧЩ;
- PvmDataInPlace — ДБООЩЕ ВХДХФ ХРБЛПЧЩЧБФШУС Й РЕТЕДБЧБФШУС Ч РТЙЕНОЩК ВХЖЕТ, НЙОХС ВХЖЕТ РПУЩМБАЭЕК ЪБДБЮЙ, Ч ЛПФПТПН ФПМШЛП ИТБОЙФУС ЙОЖПТНБГЙС П ЖПТНБФЕ РЕТЕДБЧБЕНЩИ УППВЭЕОЙК. ьФП ВЩЧБЕФ ГЕМЕУППВТБЪОП, ЛПЗДБ ФТЕВХЕФУС РЕТЕДБЧБФШ НОПЦЕУФЧП УППВЭЕОЙК У ПДОЙН Й ФЕН ЦЕ УМПЦОЩН ЖПТНБФПН.
жХОЛГЙА pvm_initsend() УМЕДХЕФ ЧЩЪЩЧБФШ ЛБЦДЩК ТБЪ РЕТЕД ХРБЛПЧЛПК Й РЕТЕДБЮЕК ОПЧПЗП УППВЭЕОЙС.
уМЕДХАЭЙЕ ЖХОЛГЙЙ, ЛБУБАЭЙЕУС ВХЖЕТПЧ ДМС РПУЩМЛЙ Й РТЙЕНБ УППВЭЕОЙК, РПЪЧПМСАФ ПДОПК ЪБДБЮЕ ЙНЕФШ ОЕУЛПМШЛП ТБЪОЩИ ВХЖЕТПЧ ЛБЛ ДМС РЕТЕДБЮЙ, ФБЛ Й ДМС РТЙЕНБ УППВЭЕОЙК ПФ ДТХЗЙИ ЪБДБЮ. рТЙ ЬФПН Ч ЛБЦДЩК НПНЕОФ ЧТЕНЕОЙ ЪБДБЮЕ ДПУФХРЕО ФПМШЛП ПДЙО РЕТЕДБАЭЙК Й ПДЙО РТЙЕНОЩК ВХЖЕТЩ, ЛПФПТЩЕ ОБЪЩЧБАФУС БЛФЙЧОЩНЙ. дМС ТБВПФЩ У ДТХЗЙН ВХЖЕТПН ЪБДБЮБ ДПМЦОБ УОБЮБМБ БЛФЙЧЙЪЙТПЧБФШ ЕЗП, ЮФП БЧФПНБФЙЮЕУЛЙ ДЕМБЕФ ОЕБЛФЙЧОЩНЙ ПУФБМШОЩЕ ВХЖЕТЩ ФПЗП ЦЕ ОБЪОБЮЕОЙС (РЕТЕДБАЭЙЕ ЙМЙ РТЙЕНОЩЕ).
— УПЪДБЕФ ОПЧЩК РХУФПК РЕТЕДБАЭЙК ВХЖЕТ У ЙДЕОФЙЖЙЛБФПТПН bufid Й УП УРПУПВПН ЛПДЙТПЧБОЙС-ХРБЛПЧЛЙ ДБООЩИ, ПРТЕДЕМСЕНЩН ЪОБЮЕОЙЕН РБТБНЕФТБ encoding . рТЙ ПЫЙВЛЕ bufid — ЛПД ПЫЙВЛЙ.
— ХОЙЮФПЦБЕФ ВХЖЕТ У ЙДЕОФЙЖЙЛБФПТПН bufid . рТЙ ПЫЙВЛЕ info .
— ЧПЪЧТБЭБЕФ ЙДЕОФЙЖЙЛБФПТ БЛФЙЧОПЗП РЕТЕДБАЭЕЗП ВХЖЕТБ ЙМЙ ЛПД ПЫЙВЛЙ РТЙ bufid .
— ЧПЪЧТБЭБЕФ ЙДЕОФЙЖЙЛБФПТ БЛФЙЧОПЗП РТЙЕНОПЗП ВХЖЕТБ ЙМЙ ЛПД ПЫЙВЛЙ РТЙ bufid .
— РЕТЕЛМАЮБЕФ БЛФЙЧОПУФШ У РЕТЕДБАЭЕЗП ВХЖЕТБ oldbuf ОБ РЕТЕДБАЭЙК ВХЖЕТ bufid , УПИТБОСС УПУФПСОЙЕ ВХЖЕТБ oldbuf .
— РЕТЕЛМАЮБЕФ БЛФЙЧОПУФШ У РТЙЕНОПЗП ВХЖЕТБ oldbuf ОБ РТЙЕНОЩК ВХЖЕТ bufid , УПИТБОСС УПУФПСОЙЕ ВХЖЕТБ oldbuf .
еУМЙ Ч ЖХОЛГЙСИ pvm_setsbuf(. ) Й pvm_setrbuf(. ) РБТБНЕФТ bufid = 0 , ФП УПУФПСОЙЕ БЛФЙЧОПЗП ВХЖЕТБ УПИТБОСЕФУС, Б БЛФЙЧОПУФШ У ОЕЗП УОЙНБЕФУС, ОП ОЕ РЕТЕДБЕФУС ДТХЗПНХ ВХЖЕТХ. ьФП РПЪЧПМСЕФ ЪБЭЙФЙФШ ЧТЕНЕООП ОЕЙУРПМШЪХЕНЩК ВХЖЕТ ПФ УППВЭЕОЙК, ЛПФПТЩЕ НПЗХФ РПТПЦДБФШУС ОЕЛПФПТЩНЙ УЙУФЕНОЩНЙ Й ВЙВМЙПФЕЮОЩНЙ НПДХМСНЙ, ЙУРПМШЪХАЭЙНЙ ФПФ ЦЕ НЕИБОЙЪН ПВНЕОБ УППВЭЕОЙСНЙ.
ч ВПМШЫЙОУФЧЕ УМХЮБЕЧ ДПУФБФПЮОП ДМС ПТЗБОЙЪБГЙЙ РБТБММЕМШОЩИ ЧЩЮЙУМЕОЙК ЙНЕФШ Ч ЛБЦДПК ЧЩРПМОСЕНПК ЪБДБЮЕ ПДЙО РЕТЕДБАЭЙК Й ПДЙО РТЙЕНОЩК ВХЖЕТ, ЮФП РПЪЧПМСЕФ ПЗТБОЙЮЙФШУС ЙУРПМШЪПЧБОЙЕН ФПМШЛП ЖХОЛГЙЙ initsend(. ) .
дМС ХРБЛПЧЛЙ Ч РЕТЕДБАЭЙК ВХЖЕТ ДБООЩИ ТБЪМЙЮОПЗП ФЙРБ УМХЦЙФ ОБВПТ ЖХОЛГЙК У ПДОПФЙРОЩН ЙОФЕТЖЕКУПН. рЕТЧЩК РБТБНЕФТ ЖХОЛГЙЙ СЧМСЕФУС ХЛБЪБФЕМЕН УППФЧЕФУФЧХАЭЕЗП ФЙРБ ОБ РЕТЧЩК ЬМЕНЕОФ НБУУЙЧБ, РПДМЕЦБЭЕЗП ХРБЛПЧЛЕ, ЧФПТПК РБТБНЕФТ nitem ТБЧЕО ДМЙОЕ ЬФПЗП НБУУЙЧБ, Б ФТЕФЙК РБТБНЕФТ stride ХЛБЪЩЧБЕФ, УЛПМШЛП ЬМЕНЕОФПЧ ХЛБЪБООПЗП ФЙРБ УПУФБЧМСАФ ПДЙО ЬМЕНЕОФ НБУУЙЧБ (ЧУЕЗП ХРБЛПЧЩЧБЕФУС (nitem * stride) ЬМЕНЕОФПЧ ХЛБЪБООПЗП ФЙРБ).
дМС РЕТЕЮЙУМЕООЩИ ЖХОЛГЙК ЧПЪЧТБЭБЕНПЕ ЪОБЮЕОЙЕ info МЙВП ТБЧОП 0, МЙВП ( РТЙ info ) СЧМСЕФУС ЛПДПН ПЫЙВЛЙ. жХОЛГЙС pvmpkstr(. ) ХРБЛПЧЩЧБЕФ УФТПЛХ УЙНЧПМПЧ, ОБЮЙОБС У БДТЕУБ cp Й ЛПОЮБС РЕТЧЩН ЧУФТЕЮЕООЩН УЙНЧПМПН NULL (‘\0’).
рПУМЕДПЧБФЕМШОПЕ РТЙНЕОЕОЙЕ ХЛБЪБООЩИ ЖХОЛГЙК РПЪЧПМСЕФ ХРБЛПЧЩЧБФШ Ч РЕТЕДБАЭЕН ВХЖЕТЕ УППВЭЕОЙЕ, УПДЕТЦБЭЕЕ ОЕУЛПМШЛП НБУУЙЧПЧ ТБЪОЩИ ФЙРПЧ. дМС ХРБЛПЧЛЙ ДБООЩИ УМПЦОПЗП ФЙРБ (ОБРТЙНЕТ, ФЙРБ struct ) ОХЦОП РПУМЕДПЧБФЕМШОП ХРБЛПЧБФШ ЧУЕ ЖТБЗНЕОФЩ, РТЙОБДМЕЦБЭЙЕ Л ХЛБЪБООЩН ФЙРБН. л УПЦБМЕОЙА, ЖХОЛГЙЙ ФЙРБ sprintf() , ЛПФПТБС РТЙОЙНБМБ ВЩ УФТПЛПЧЩК РБТБНЕФТ У ПРЙУБОЙЕН ХРБЛПЧЩЧБЕНЩИ ФЙРПЧ, Й РПЪЧПМСМБ ВЩ ЪБ ПДЙО РТЙЕН ХРБЛПЧЩЧБФШ УФТХЛФХТЩ Й АОЙПОЩ, Ч 3 ТЕДБЛГЙЙ PVM ОЕФ.
рТЙ РПУЩМЛЕ УППВЭЕОЙС ЕНХ ПВСЪБФЕМШОП РТЙУЧБЙЧБЕФУС ЙДЕОФЙЖЙЛБФПТ ( ПВПЪОБЮБЕНЩК ЪДЕУШ msgtag ), ЛПФПТЩК ПВМЕЗЮБЕФ ЪБДБЮХ РТЙЕНБ УППВЭЕОЙС Й РПЙУЛБ ЕЗП Ч PVM. лТПНЕ ФПЗП, ЧП ЧУЕИ ЖХОЛГЙСИ РПУЩМЛЙ УППВЭЕОЙК РТЙУХФУФЧХЕФ ПВСЪБФЕМШОЩК РБТБНЕФТ tid — ЙДЕОФЙЖЙЛБФПТ РТЙОЙНБАЭЕК ЪБДБЮЙ, Й ЬФПФ ЦЕ РБТБНЕФТ tid Ч ЖХОЛГЙСИ РТЙЕНБ УППВЭЕОЙК СЧМСЕФУС ЙДЕОФЙЖЙЛБФПТПН РПУЩМБАЭЕК ЪБДБЮЙ.
— РТЙУЧБЙЧБЕФ УППВЭЕОЙА ЙДЕОФЙЖЙЛБФПТ msgtag Й РПУЩМБЕФ УППВЭЕОЙЕ ЪБДБЮЕ У ЙДЕОФЙЖЙЛБФПТПН tid .
— РТЙУЧБЙЧБЕФ УППВЭЕОЙА ЙДЕОФЙЖЙЛБФПТ msgtag Й РПУЩМБЕФ ЕЗП ЪБДБЮБН, ЙДЕОФЙЖЙЛБФПТЩ ЛПФПТЩИ РЕТЕЮЙУМЕОЩ Ч ntask ЬМЕНЕОФБИ НБУУЙЧБ tids .
— ХРБЛПЧЩЧБЕФ cnt ЬМЕНЕОФПЧ НБУУЙЧБ vd ФЙРБ type Ч УППВЭЕОЙЕ, РТЙУЧБЙЧБЕФ ЕНХ ЙДЕОФЙЖЙЛБФПТ msgtag Й РПУЩМБЕФ ЕЗП ЪБДБЮЕ У ЙДЕОФЙЖЙЛБФПТПН tid . ьФБ ЖХОЛГЙС РПЪЧПМСЕФ ПВИПДЙФШУС ВЕЪ ЖХОЛГЙК ХРБЛПЧЛЙ, ЕУМЙ УППВЭЕОЙЕ УПДЕТЦЙФ МЙЫШ ПДЙО НБУУЙЧ РТПУФПЗП ФЙРБ. дМС ЪОБЮЕОЙК РБТБНЕФТБ type ЙУРПМШЪХАФУС УМЕДХАЭЙЕ УЙНЧПМЙЮЕУЛЙЕ ЙНЕОБ: PVM_STR, PVM_BYTE, PVM_SHORT, PVM_INT, PVM_LONG, PVM_USHORT, PVM_UINT, PVM_ULONG, PVM_FLOAT, PVM_DOUBLE, PVM_CPLX, PVM_DCPLX .
рЕТЕЮЙУМЕООЩЕ ЖХОЛГЙЙ ЧПЪЧТБЭБАФ МЙВП ЪОБЮЕОЙЕ info = 0 , МЙВП ЛПД ПЫЙВЛЙ info .
дМС ЖХОЛГЙК РТЙЕНБ УППВЭЕОЙК ЧПЪНПЦОЩ УМЕДХАЭЙЕ ЧБТЙБГЙЙ ЪОБЮЕОЙК РБТБНЕФТПЧ. еУМЙ tid = -1 , ФП РТЙОЙНБЕФУС МАВПЕ УППВЭЕОЙЕ У ЙДЕОФЙЖЙЛБФПТПН msgtag , ОБРТБЧМЕООПЕ Л ДБООПК ЪБДБЮЕ. еУМЙ msgtag = -1 , ФП РТЙОЙНБЕФУС МАВПЕ УППВЭЕОЙЕ, ОБРТБЧМЕООПЕ Л ДБООПК ЪБДБЮЕ ЪБДБЮЕК У ЙДЕОФЙЖЙЛБФПТПН tid . еУМЙ tid = msgtag = -1 , ФП РТЙОЙНБЕФУС МАВПЕ УППВЭЕОЙЕ ПФ МАВПК ЪБДБЮЙ, ОБРТБЧМЕООПЕ Л ДБООПК ЪБДБЮЕ.
— ПУХЭЕУФЧМСЕФ ВМПЛЙТПЧБООЩК РТЙЕН, Ф.Е. ПЦЙДБЕФ РПУФХРМЕОЙС УППВЭЕОЙС У ЙДЕОФЙЖЙЛБФПТПН msgtag ПФ ЪБДБЮЙ У ЙДЕОФЙЖЙЛБФПТПН tid , РПУМЕ ЮЕЗП УПЪДБЕФ ОПЧЩК РТЙЕНОЩК ВХЖЕТ У ЙДЕОФЙЖЙЛБФПТПН bufid , РПНЕЭБЕФ Ч ОЕЗП РТЙОСФПЕ УППВЭЕОЙЕ Й ЪБЧЕТЫБЕФ ТБВПФХ.
— ПУХЭЕУФЧМСЕФ ОЕВМПЛЙТПЧБООЩК РТЙЕН, Ф.Е. РТЙ ПФУХФУФЧЙЙ УППВЭЕОЙС ЪБЧЕТЫБЕФ ТБВПФХ, ЧПЪЧТБЭБС ЪОБЮЕОЙЕ bufid = 0 . еУМЙ УППВЭЕОЙЕ У ЪБДБООЩНЙ ЪОБЮЕОЙСНЙ tid Й msgtag РПУФХРЙМП, ФП ПОП РПНЕЭБЕФУС Ч УПЪДБООЩК ДМС ОЕЗП РТЙЕНОЩК ВХЖЕТ, ЙДЕОФЙЖЙЛБФПТ ЛПФПТПЗП СЧМСЕФУС ЧПЪЧТБЭБЕНЩН ЪОБЮЕОЙЕН. ч РТПГЕУУЕ ПЦЙДБОЙС УППВЭЕОЙС ЬФХ ЖХОЛГЙА НПЦОП ЧЩЪЩЧБФШ ОЕУЛПМШЛП ТБЪ, ЪБРПМОСС РТПНЕЦХФЛЙ ЧТЕНЕОЙ НЕЦДХ ЧЩЪПЧБНЙ ЛБЛПК-МЙВП РПМЕЪОПК ТБВПФПК.
— ПУХЭЕУФЧМСЕФ ВМПЛЙТПЧБООЩК РТЙЕН УППВЭЕОЙС, ЕУМЙ ЧТЕНС ЕЗП ПЦЙДБОЙС ОЕ ВПМШЫЕ ЧЕМЙЮЙОЩ tmout , Ч РТПФЙЧОПН УМХЮБЕ ЮЕТЕЪ ЧТЕНС tmout ЖХОЛГЙС ЧПЪЧТБЭБЕФ ЪОБЮЕОЙЕ bufid = 0 . ч УФТХЛФХТЕ ФЙРБ timeval ЙНЕЕФУС ДЧБ ГЕМПЮЙУМЕООЩИ РПМС, Ч ЛПФПТЩЕ ЪБРЙУЩЧБАФУС ЮЙУМП УЕЛХОД Й НЙММЙУЕЛХОД.
лПЗДБ ЪБДБООПЕ ЧТЕНС ПЦЙДБОЙС tmout = 0 , ЖХОЛГЙС pvm_trecv(. ) ПУХЭЕУФЧМСЕФ ОЕВМПЛЙТПЧБООЩК РТЙЕН, Б ЛПЗДБ ХЛБЪБФЕМШ ОБ tmout ТБЧЕО NULL (УППФЧЕФУФЧХЕФ ВЕУЛПОЕЮОПНХ ЧТЕНЕОЙ ПЦЙДБОЙС), ПУХЭЕУФЧМСЕФУС ВМПЛЙТПЧБООЩК РТЙЕН, Ч ПУФБМШОЩИ ЦЕ УМХЮБСИ ТЕБМЙЪХЕФУС РТПНЕЦХФПЮОЩК БМЗПТЙФН РТЙЕНБ УППВЭЕОЙК.
— РТПЧЕТСЕФ, РПУФХРЙМП МЙ ПЦЙДБЕНПЕ УППВЭЕОЙЕ. еУМЙ ПОП РПУФХРЙМП, ФП ЧПЪЧТБЭБЕФУС ЙДЕОФЙЖЙЛБФПТ РТЙЕНОПЗП ВХЖЕТБ bufid > 0 , ЕУМЙ УППВЭЕОЙЕ ЕЭЕ ОЕ РПУФХРЙМП, ФП ЧПЪЧТБЭБЕФУС ЪОБЮЕОЙЕ bufid = 0 .
— ЧПЪЧТБЭБЕФ ЪОБЮЕОЙС tid, msgtag Й ДМЙОХ Ч ВБКФБИ nbytes ДМС УППВЭЕОЙС Ч ВХЖЕТЕ У ЙДЕОФЙЖЙЛБФПТПН bufid . ьФХ ЖХОЛГЙА ГЕМЕУППВТБЪОП ЙУРПМШЪПЧБФШ Ч УПЮЕФБОЙЙ У РТЙЕНПН УППВЭЕОЙК РТЙ ОЕПРТЕДЕМЕООЩИ ЪОБЮЕОЙСИ tid = -1 Й/ЙМЙ msgtag = -1 .
жХОЛГЙЙ ТБУРБЛПЧЛЙ ДБООЩИ, ЪБРЙУБООЩИ Ч РТЙЕНОПН ВХЖЕТЕ, РТЙНЕОСАФУС Ч ФПК ЦЕ РПУМЕДПЧБФЕМШОПУФЙ, Ч ЛБЛПК РТЙНЕОСМЙУШ ЖХОЛГЙЙ ХРБЛПЧЛЙ ДБООЩИ Ч РПУЩМБЕНПЕ УППВЭЕОЙЕ. рХУФШ, ОБРТЙНЕТ, ОХЦОП РЕТЕДБФШ Ч УППВЭЕОЙЙ УМЕДХАЭЙЕ ДБООЩЕ
фПЗДБ УППВЭЕОЙЕ ХРБЛПЧЩЧБЕФУС УМЕДХАЭЙН ПВТБЪПН:
Й РПУМЕ РТЙЕНБ Ч ДТХЗПК ЪБДБЮЕ ДЕМБЕФУС УМЕДХАЭБС ТБУРБЛПЧЛБ
РТЙ ХУМПЧЙЙ, ЮФП ДМС НБУУЙЧПЧ cp, np, dp, s ЧЩДЕМЕОБ РБНСФШ.
рЕТЕЮЕОШ ЖХОЛГЙК ДМС ТБУРБЛПЧЛЙ ДБООЩИ Ч РТЙОСФПН УППВЭЕОЙЙ:
рЕТЕЮЙУМЕООЩЕ ЖХОЛГЙЙ ЧПЪЧТБЭБАФ ЪОБЮЕОЙЕ МЙВП info = 0 , МЙВП ЛПД ПЫЙВЛЙ info .
зТХРРПЧЩЕ ЖХОЛГЙЙ СЧМСАФУС ЬЖЖЕЛФЙЧОЩН УТЕДУФЧПН ДМС ЛППТДЙОБГЙЙ ДЕКУФЧЙК НОПЦЕУФЧБ ЪБДБЮ Ч PVM. пОЙ РПЪЧПМСАФ МАВПНХ РПДНОПЦЕУФЧХ ЧЩРПМОСЕНЩИ ЪБДБЮ ПВЯЕДЙОЙФШУС Ч ЗТХРРХ, ЛПФПТБС ЙДЕОФЙЖЙГЙТХЕФУС РП ЙНЕОЙ, ЪБТБОЕЕ ЙЪЧЕУФОПНХ ЕЕ ЮМЕОБН, Й ПТЗБОЙЪПЧБФШ ЧОХФТЙ ЗТХРРЩ ФБЛЙЕ ЧЙДЩ ЧЪБЙНПДЕКУФЧЙС ЪБДБЮ ЛБЛ УЙОИТПОЙЪБГЙС ДЕКУФЧЙК, ПВНЕО УППВЭЕОЙСНЙ Й УПЧНЕУФОПЕ ЧЩРПМОЕОЙЕ ЗМПВБМШОЩИ ПРЕТБГЙК.
уХЭЕУФЧЕООП, ЮФП УПЕДЙОССУШ Ч ЗТХРРХ, ЪБДБЮЙ НПЗХФ ОЕ ЪОБФШ ЙДЕОФЙЖЙЛБФПТПЧ ДТХЗ ДТХЗБ, Б РПУМЕ ПВТБЪПЧБОЙС ЗТХРРЩ МАВБС ЪБДБЮБ МЕЗЛП НПЦЕФ ПРТЕДЕМЙФШ ЙДЕОФЙЖЙЛБФПТЩ ЧУЕИ ЮМЕОПЧ ЗТХРРЩ. лТПНЕ ФПЗП, МАВБС ЪБДБЮБ НПЦЕФ ЧИПДЙФШ ПДОПЧТЕНЕООП Ч ОЕУЛПМШЛП ТБЪОЩИ ЗТХРР Ч ЪБЧЙУЙНПУФЙ ПФ ФТЕВПЧБОЙК Л ЛППТДЙОБГЙЙ ХУЙМЙК У ДТХЗЙНЙ ЪБДБЮБНЙ.
зТХРРПЧЩЕ ЖХОЛГЙЙ УПУФБЧМСАФ УПДЕТЦБОЙЕ ПФДЕМШОПК ВЙВМЙПФЕЛЙ libgpvm3 , ЛПФПТХА УМЕДХЕФ РТЙ ОЕПВИПДЙНПУФЙ РПДЗТХЪЙФШ ЧП ЧТЕНС ЛПНРПОПЧЛЙ Л РПМШЪПЧБФЕМШУЛПК РТПЗТБННЕ.
х ЧУЕИ ЗТХРРПЧЩИ ЖХОЛГЙК ЙНЕЕФУС РБТБНЕФТ char *group , ЛПФПТЩК МЙВП ХЛБЪЩЧБЕФ ОБ УФТПЛХ У ЙНЕОЕН ЗТХРРЩ, МЙВП СЧМСЕФУС УФТПЛПЧПК ЛПОУФБОФПК.
— РТЙУПЕДЙОСЕФ ЪБДБЮХ Л ЗТХРРЕ «group» Й РТЙУЧБЙЧБЕФ ЕК РПТСДЛПЧЩК ОПНЕТ Ч ЬФПК ЗТХРРЕ, ТБЧОЩК inum >= 0 . рТЙ ПЫЙВЛЕ inum .
— ЧЩЧПДЙФ ЪБДБЮХ ЙЪ ЗТХРРЩ «group» . рТЙ ПЫЙВЛЕ info .
— ЧПЪЧТБЭБЕФ ЙДЕОФЙЖЙЛБФПТ ЪБДБЮЙ, ЛПФПТБС Ч ЗТХРРЕ «group» ЙНЕЕФ ОПНЕТ inum . рТЙ ПЫЙВЛЕ tid .
— ЧПЪЧТБЭБЕФ ДМС ЪБДБЮЙ У ЙДЕОФЙЖЙЛБФПТПН tid ЕЕ РПТСДЛПЧЩК ОПНЕТ Ч ЗТХРРЕ «group» . рТЙ ПЫЙВЛЕ inum .
— ЧПЪЧТБЭБЕФ ЮЙУМП ЪБДБЮ Ч ЗТХРРЕ «group» . рТЙ ПЫЙВЛЕ size . пФНЕФЙН, ЮФП РПУМЕДОЙЕ ФТЙ ЖХОЛГЙЙ НПЗХФ ЧЩЪЩЧБФШУС МАВЩНЙ ЪБДБЮБНЙ Ч PVM, Б ОЕ ФПМШЛП ЮМЕОБНЙ ЗТХРРЩ «group» .
тБУУНПФТЕООЩЕ ЖХОЛГЙЙ РПЪЧПМСАФ ПТЗБОЙЪПЧЩЧБФШ ПВНЕО УППВЭЕОЙСНЙ НЕЦДХ ЪБДБЮБНЙ, ЛПФПТЩЕ БРТЙПТЙ ОЕ ЪОБАФ ЙДЕОФЙЖЙЛБФПТПЧ ДТХЗ ДТХЗБ (ОБРПНЙОБЕН, ЮФП РТЙ РЕТЕДБЮЕ УППВЭЕОЙС ОХЦОП ХЛБЪЩЧБФШ, ЛБЛ РТБЧЙМП, ЙДЕОФЙЖЙЛБФПТ ЪБДБЮЙ РПМХЮБФЕМС). рХУФШ, ОБРТЙНЕТ, N РТПГЕУУПТПЧ ТЕЫБАФ ПДОХ Й ФХ ЦЕ НБФЕНБФЙЮЕУЛХА НБФЕНБФЙЮЕУЛХА ЪБДБЮХ ТБЪОЩНЙ УРПУПВБНЙ, Й РТПГЕУУПТ, ПЛБЪБЧЫЙКУС ЧФПТЩН РТЙЪЕТПН, ДПМЦЕО РПУМБФШ ТЕЪХМШФБФЩ УЧПЕК ТБВПФЩ ( ДМС ЛПОЛТЕФОПУФЙ РТЙНЕН, ЮФП ЬФП НБУУЙЧ ЙЪ N ЬМЕНЕОФПЧ НБУУЙЧБ results ФЙРБ float , РТЙЮЕН ЪОБЮЕОЙЕ N БРТЙПТЙ ОЕЙЪЧЕУФОП РПМХЮБФЕМА ) РТПГЕУУПТХ, ЛПФПТЩК ТЕЫЙМ ЪБДБЮХ РЕТЧЩН, ДМС УЧЕТЛЙ Й ДБМШОЕКЫЕК ПВТБВПФЛЙ. ч ЬФПК УЙФХБГЙЙ ХДПВОП ЙУРПМШЪПЧБФШ ЗТХРРХ У ОБЪЧБОЙЕН «ЖЙОБМ», Ч ЛПФПТПК РЕТЧЩК Й ЧФПТПК РТЙЪЕТЩ ДПМЦОЩ ВХДХФ РПМХЮЙФШ ОПНЕТБ УППФЧЕФУФЧЕООП 0 Й 1. рТЙ ЬФПН, Ч ФЕЛУФ РТПЗТБННЩ (ЛПФПТБС СЧМСЕФУС ПВЭЕК ДМС ЧУЕИ ЪБДБЮ) УМЕДХЕФ РПУМЕ ПУОПЧОПК ЮБУФЙ ЧЛМАЮЙФШ УМЕДХАЭЙЕ ЙОУФТХЛГЙЙ:
жХОЛГЙС ДМС УЙОИТПОЙЪБГЙЙ ЪБДБЮ
— ЪБДБЮБ ВМПЛЙТХЕФУС ДП ФПЗП НПНЕОФБ, ЛПЗДБ ЖХОЛГЙС pvm_barrier() ВХДЕФ ЧЩЪЧБОБ ТПЧОП count ХЮБУФОЙЛБНЙ ЗТХРРЩ «group» ( ЧЛМАЮБС ДБООХА ЪБДБЮХ ). ьФБ ЖХОЛГЙС РПЪЧПМСЕФ УЙОИТПОЙЪЙТПЧБФШ ДЕКУФЧЙС ЮМЕОПЧ ЗТХРРЩ УМЕДХАЭЙН ПВТБЪПН. рХУФШ, ОБРТЙНЕТ, ФТЕВХЕФУС, ЮФПВЩ ЙЪ ОЕУЛПМШЛЙИ ЪБДБЮ, ЧЩРПМОСАЭЙИ ЙОДЙЧЙДХБМШОЩЕ ЪБДБОЙС, РЕТЧЩЕ ФТЙ ПУЧПВПДЙЧЫЙЕУС ОБЮБМЙ ВЩ ПДОПЧТЕНЕООП ЧЩРПМОСФШ ЛПММЕЛФЙЧОПЕ ЪБДБОЙЕ. ч ЬФПН УМХЮБЕ ПВТБЪПЧБФШ ЗТХРРХ «collectiv» , ЧЧЕДС Ч РТПЗТБННХ РПУМЕ ЧЩРПМОЕОЙС ЙОДЙЧЙДХБМШОЩИ ЪБДБОЙК УМЕДХАЭЙЕ ЙОУФТХЛГЙЙ:
пФНЕФЙН, ЮФП ЖХОЛГЙС pvm_barrier() НПЦЕФ ВЩФШ ЧЩЪЧБОБ ФПМШЛП ЮМЕОПН ЗТХРРЩ, Ч РТПФЙЧОПН УМХЮБЕ ВХДЕФ ЪБЖЙЛУЙТПЧБОБ ПЫЙВЛБ. рТЙ ПЫЙВЛЕ ЧПЪЧТБЭБЕНПЕ ЪОБЮЕОЙЕ info СЧМСЕФУС ЛПДПН ПЫЙВЛЙ.
жХОЛГЙС РЕТЕДБЮЙ УППВЭЕОЙК Ч ЗТХРРЕ
— РПУЩМБЕФ ЧУЕН ЮМЕОБН ЗТХРРЩ «group» (ЛТПНЕ УБНПК УЕВС) УППВЭЕОЙЕ У ЙДЕОФЙЖЙЛБФПТПН msgtag . еУМЙ ДМС РТЙЕНБ ЬФПЗП УППВЭЕОЙС ЙУРПМШЪПЧБФШ ЖХОЛГЙЙ У ВМПЛЙТПЧЛПК ЧЩРПМОЕОЙС ЪБДБЮЙ, ФП ЬФП УППВЭЕОЙЕ ВХДЕФ РТЙОСФП ЧУЕНЙ ПЦЙДБАЭЙНЙ ЕЗП ЪБДБЮБНЙ (ЛПФПТЩЕ ОЕ ЧЩРПМОСАФ Ч ЬФП ЧТЕНС ДТХЗХА ТБВПФХ) ПДОПЧТЕНЕООП, ЮФП ПЪОБЮБЕФ УЙОИТПОЙЪБГЙА ДЕКУФЧЙК УЧПВПДОЩИ ПФ ТБВПФЩ ЮМЕОПЧ ЗТХРРЩ.
жХОЛГЙС ДМС ТБУРТЕДЕМЕООЩИ ЧЩЮЙУМЕОЙК
— ЧЩРПМОСЕФ ЗМПВБМШОХА ПРЕТБГЙА, ПРТЕДЕМСЕНХА ЖХОЛГЙЕК func() , У ХЮБУФЙЕН ЮМЕОПЧ ЗТХРРЩ «group» Й РПНЕЭБЕФ ТЕЪХМШФБФ ПРЕТБГЙЙ Ч ЪБДБЮХ, ДМС ЛПФПТПК ОПНЕТ Ч ЗТХРРЕ ТБЧЕО root . зМПВБМШОБС ПРЕТБГЙС УПЧЕТЫБЕФУС ОБД ДБООЩНЙ Ч НБУУЙЧЕ data , ФЙР ЛПФПТПЗП ХЛБЪБО Ч РБТБНЕФТЕ datatype (УЙНЧПМЙЮЕУЛЙЕ ЙНЕОБ ЪОБЮЕОЙК РБТБНЕФТБ datatype: PVM_BYTE, PVM_SHORT, PVM_INT, PVM_LONG, PVM_FLOAT, PVM_DOUBLE, PVM_CPLX, PVM_DCPLX ). дМЙОБ НБУУЙЧБ data ТБЧОБ item , Й ТЕЪХМШФБФ ЗМПВБМШОПК ПРЕТБГЙЙ СЧМСЕФУС НБУУЙЧПН ДМЙОЩ item , Ч ЛПФПТПН j-К ЬМЕНЕОФ РПМХЮЕО РТЙНЕОЕОЙЕН ЗМПВБМШОПК ПРЕТБГЙЙ Л j-Н ЬМЕНЕОФБН НБУУЙЧПЧ data , ТБЪНЕЭЕООЩИ Ч ЪБДБЮБИ, ЧИПДСЭЙИ Ч ЗТХРРХ «group» .
рБТБНЕФТ msgtag ЙУРПМШЪХЕФУС Ч ЛБЮЕУФЧЕ ЙДЕОФЙЖЙЛБФПТБ УППВЭЕОЙК, ЛПФПТЩНЙ ДПМЦОЩ ПВНЕОЙЧБФШУС ЪБДБЮЙ Ч РТПГЕУУЕ ЧЩРПМОЕОЙС ЗМПВБМШОПК ПРЕТБГЙЙ. дМС ЙУЛМАЮЕОЙС ЧПЪНПЦОЩИ ПЫЙВПЛ ЦЕМБФЕМШОП ДМС ЗМПВБМШОЩИ ПРЕТБГЙК ЙУРПМШЪПЧБФШ ХОЙЛБМШОЩЕ ЪОБЮЕОЙС msgtag , ЛПФПТЩЕ ОЕ ЙУРПМШЪХАФУС РТЙ ЧЩЪПЧБИ ЖХОЛГЙК РПУЩМЛЙ УППВЭЕОЙК.
ч ЛБЮЕУФЧЕ РЕТЧПЗП РБТБНЕФТБ ЖХОЛГЙЙ pvm_reduce() НПЦЕФ ВЩФШ МЙВП ХЛБЪБОБ РПМШЪПЧБФЕМШУЛБС ЖХОЛГЙС, МЙВП РПДУФБЧМЕОП ЙНС ПДОПК ЙЪ ХЦЕ ТЕБМЙЪПЧБООЩИ ЖХОЛГЙК:
лБЛ ЧЙДОП ЙЪ ТБУУНПФТЕОЙС ЗТХРРПЧЩИ ЖХОЛГЙК, ПОЙ РТЕДПУФБЧМСАФ ЫЙТПЛЙЕ ЧПЪНПЦОПУФЙ ДМС ПТЗБОЙЪБГЙЙ ЧЪБЙНПДЕКУФЧЙС ЪБДБЮ, РПЬФПНХ ЙНЕЕФ УНЩУМ ЙУРПМШЪПЧБФШ ЗТХРРХ У ЙНЕОЕН «All_Tasks» , Л ЛПФПТПК ДПМЦОБ РТЙУПЕДЙОСФШУС ЛБЦДБС ЪБДБЮБ РПУМЕ ЪБРХУЛБ, Ч ТЕЪХМШФБФЕ ЮЕЗП УОЙНБАФУС ПЗТБОЙЮЕОЙС ОБ РТЙНЕОЕОЙЕ ЗТХРРПЧЩИ ЖХОЛГЙК.
ъБЛМАЮБС ТБУУНПФТЕОЙЕ ЗТХРРПЧЩИ ЖХОЛГЙК, ПФНЕФЙН ОЕЛПФПТЩЕ ПУПВЕООПУФЙ ЙИ РТЙНЕОЕОЙС.
ч РТПГЕУУЕ ТЕЫЕОЙС ЛПММЕЛФЙЧОПК ЪБДБЮЙ УПУФБЧ ЗТХРРЩ НПЦЕФ ЙЪНЕОСФШУС. рТЙ ЧЩИПДЕ МАВПК ЪБДБЮЙ ЙЪ ЗТХРРЩ ЕЕ ОПНЕТ Ч ЗТХРРЕ (ГЕМПЕ ОЕПФТЙГБФЕМШОПЕ ЮЙУМП) ПУЧПВПЦДБЕФУС, Б РТЙ ЧЛМАЮЕОЙЙ ЪБДБЮЙ Ч ЗТХРРХ ЕК РТЙУЧБЙЧБЕФУС ОБЙНЕОШЫЙК УЧПВПДОЩК ЗТХРРПЧПК ОПНЕТ. фБЛЙН ПВТБЪПН, Ч ЗТХРРЕ ЙЪ 10 ЪБДБЮ ОЕПВСЪБФЕМШОП ЙИ ОПНЕТБ СЧМСАФУС ЮЙУМБНЙ ПФ 0 ДП 9 Й ПФТБЦБАФ РПТСДПЛ ЧУФХРМЕОЙС ЪБДБЮ Ч ЗТХРРХ. вПМЕЕ ФПЗП, ЪБДБЮБ, РПЛЙОХЧЫБС ЗТХРРХ Й ЮЕТЕЪ ОЕЛПФПТПЕ ЧТЕНС ЧЕТОХЧЫБСУС Ч ОЕЕ, НПЦЕФ РПМХЮЙФШ ХЦЕ ДТХЗПК ЗТХРРПЧПК ОПНЕТ.
фБЛ ЛБЛ УПУФБЧ ЗТХРР НПЦЕФ ЙЪНЕОСФШУС ЧП ЧТЕНЕОЙ, ФП ЧПЪНПЦОП, ЮФП ЧЩРПМОЕОЙЕ ОЕЛПФПТПК ЗТХРРПЧПК ЖХОЛГЙЙ, ЛБУБАЭЕКУС ЧУЕИ ЮМЕОПЧ ЗТХРРЩ, УПЧРБДЕФ РП ЧТЕНЕОЙ У ЧЩРПМОЕОЙЕН ОЕЛПФПТПК ЖХОЛГЙЙ, ЙЪНЕОСАЭЕК УПУФБЧ ЗТХРРЩ. фБЛЙЕ УПЧРБДЕОЙС УМЕДХЕФ РП ЧПЪНПЦОПУФЙ ЙУЛМАЮБФШ, МЙВП ПФДЕМШОП БОБМЙЪЙТПЧБФШ ЙИ ЧПЪНПЦОЩЕ РПУМЕДУФЧЙС, ЛПФПТЩЕ РТЕДУЛБЪБФШ ПДОПЪОБЮОП ЧЕУШНБ ФТХДОП.
уМЕДХЕФ ЙНЕФШ ЧЧЙДХ, ЮФП ЙУРПМШЪПЧБОЙЕ ПДОПЗП Й ФПЗП ЦЕ ЪОБЮЕОЙС РБТБНЕФТБ msgtag ДМС УППВЭЕОЙК, ГЙТЛХМЙТХАЭЙИ Ч ТБЪОЩИ ЗТХРРБИ, НПЦЕФ РТЙЧПДЙФШ Л ПЫЙВЛБН, Ф.Л. ПДОБ Й ФБ ЦЕ ЪБДБЮБ НПЦЕФ ЧИПДЙФШ ПДОПЧТЕНЕООП Ч ОЕУЛПМШЛП ТБЪОЩИ ЗТХРР, Й ЕУМЙ ПОБ ЙУРПМШЪХЕФ ПДЙО РТЙЕНОЩК ВХЖЕТ, ФП Ч ОЕН НПЗХФ ПЛБЪБФШУС ОЕУЛПМШЛП УППВЭЕОЙК У ПДЙОБЛПЧПК БДТЕУОПК ЙОЖПТНБГЙЕК.
рП ХНПМЮБОЙА ФПМШЛП ФЕЛУФ, ЧЩЧПДЙНЩК ТПДЙФЕМШУЛПК ЪБДБЮЕК (ФП ЕУФШ ФПК, ЛПФПТХА чЩ УБНЙ ЪБРХУФЙМЙ У ФЕТНЙОБМБ) ПЛБЦЕФУС ОБ ЬЛТБОЕ. уФБОДБТФОЩК ЧЩЧПД ЪБДБЮ, ЪБРХУЛБЕНЩИ ЖХОЛГЙЕК pvm_spawn() , РП ХНПМЮБОЙА РЕТЕОБРТБЧМСЕФУС Ч LOG-ЖБКМ ЙУРПМОСАЭЕК УЙУФЕНЩ PVM ( $PVM_TMP/pvml.* ). жХОЛГЙС pvm_catchout(FILE *) РПЪЧПМСЕФ РЕТЕОБРТБЧЙФШ ЕЗП Ч МАВПК ДТХЗПК ПФЛТЩФЩК ДМС ЪБРЙУЙ ЖБКМ, ОБРТЙНЕТ, ЖТБЗНЕОФ Ч ТПДЙФЕМШУЛПК ЪБДБЮЕ чеуш ЧЩЧПД ПФ чуеи ЪБРХУЛБЕНЩИ РПД-ЪБДБЮ РЕТЕОБРТБЧЙФ ОБ ЬЛТБО. рТЙ ЬФПН PVM ЗБТБОФЙТХЕФ, ЮФП УФТПЛЙ ПФ ТБЪОЩИ ЪБДБЮ ОЕ ВХДХФ «ОБМЕЪБФШ» ПДОБ ОБ ДТХЗХА, Й ЛБЦДБС УФТПЛБ ВХДЕФ РТЕДЧБТСФШУС ЙДЕОФЙЖЙЛБФПТПН ФПК ЪБДБЮЙ, ЛПФПТБС ЕЕ ЧЩЧЕМБ. йУРПМШЪПЧБОЙЕ pvm_catchout() ЙНЕЕФ ДЧБ ОЕДПУФБФЛБ: Б) НЕЦДХ РПУЩМЛПК УФТПЛЙ Ч ЖБКМ ЙМЙ ОБ ЬЛТБО ЙЪ РПД-ЪБДБЮЙ Й ЕЕ ЖБЛФЙЮЕУЛЙН ФБН РПСЧМЕОЙЕН НПЦЕФ ВЩФШ ЪБДЕТЦЛБ ОЕЙЪЧЕУФОПК ЪБТБОЕЕ ДМЙФЕМШОПУФЙ, Й, В) ЕУМЙ ПВЯЕН ЧЩЧПДЙНПК ДЙБЗОПУФЙЛЙ ПФ ТБЪОЩИ ЪБДБЮ ПЮЕОШ ЧЕМЙЛ, ПЮЕОШ ФТХДОП ТБЪПВТБФШУС Ч РПЧЕДЕОЙЙ ЛБЛПК-ФП ПДОПК ЛПОЛТЕФОПК ЪБДБЮЙ.
рТЕДМБЗБЕНБС ЪДЕУШ ЖХОЛГЙС log_printf() РТЕДОБЪОБЮЕОБ ДМС ФПЗП, ЮФПВЩ ПВПКФЙ ЧУЕ УЧСЪБООЩЕ УП УФБОДБТФОЩН ЧЩЧПДПН Ч PVM РТПВМЕНЩ. вМБЗПДБТС ЕК РТЙ ОБРЙУБОЙЙ РТПЗТБНН ДМС PVM УФБОПЧЙФУС ЧПЪНПЦОПК ФБЛ ОБЪЩЧБЕНБС «ПФМБДЛБ ЮЕТЕЪ ЛПОФТПМШОЩЕ ЧЩЧПДЩ» 😉 лБЦДБС ЪБДБЮБ, ЙУРПМШЪХАЭБС log_printf() , ЧЕДЕФ Ч ФЕЛХЭЕН ЛБФБМПЗЕ УЧПК УПВУФЧЕООЩК LOG-ЖБКМ У ЙНЕОЕН pvmll. . жПТНБФ ЧЩЪПЧБ log_printf() ФПЮОП ФБЛПК ЦЕ, ЛБЛ Х УФБОДБТФОПК ЖХОЛГЙЙ printf() . ьФБ ЖХОЛГЙС ЙУРПМШЪПЧБМБУШ РТЙ ПФМБДЛЕ ЧФПТПЗП РТЙНЕТБ
дЧБ ЪБНЕЮБОЙС:
- log_printf() УЙМШОП ЪБНЕДМСЕФ ТБВПФХ РТПЗТБННЩ. рПМШЪХКФЕУШ ЕА ФПМШЛП РТЙ ПФМБДЛЕ
- рПД аОЙЛУПН ТБЪОЩЕ ЪБДБЮЙ ЙНЕАФ Ч ЛБЮЕУФЧЕ ФЕЛХЭЕЗП ТБЪОЩЕ ЛБФБМПЗЙ ! еУМЙ ЪБДБЮБ ЪБРХУЛБМБУШ У ЛПОУПМЙ, ФП ЕЕ ФЕЛХЭЙН ЛБФБМПЗПН ВХДЕФ ФПФ ЦЕ, ЮФП Й Х ЙОФЕТРТЕФБФПТБ ЛПНБОД. чУЕ ЪБДБЮЙ, ЪБРХУЛБЕНЩЕ ЮЕТЕЪ pvm_spawn() , ФЕЛХЭЕН ЛБФБМПЗПН УЮЙФБАФ $HOME . рПД Windows ЧУЕ ЪБДБЮЙ УЮЙФБАФ ФЕЛХЭЙН ЛБФБМПЗ $PVM_TMP .
чППВЭЕ ЗПЧПТС, PVM БЧФПНБФЙЮЕУЛЙ ЧЩВЙТБЕФ ДМС РЕТЕДБЮЙ УППВЭЕОЙК ОБЙВПМЕЕ ВЩУФТЩК УРПУПВ: ЕУМЙ РЕТЕДБАЭБС Й РТЙОЙНБАЭБС ЪБДБЮБ ЧЩРПМОСАФУС ОБ ПДОПН РТПГЕУУПТЕ, ЙМЙ ОБ НОПЗПРТПГЕУУПТОПК ьчн У ТБЪДЕМСЕНПК РБНСФША, ФП ДМС РЕТЕДБЮЙ УППВЭЕОЙК Ч ЛБЮЕУФЧЕ ЧЩТПЦДЕООПЗП «ЛБОБМБ» РЕТЕДБЮЙ ЙУРПМШЪХЕФУС ТБЪДЕМСЕНБС РБНСФШ; ОБ ЛПНРШАФЕТЕ У БТИЙФЕЛФХТПК MPI ЙУРПМШЪХЕФУС ВЩУФТБС ЧОХФТЙНБЫЙООБС УЕФШ; Й МЙЫШ Ч ПУФБЧЫЙИУС УМХЮБСИ ЙУРПМШЪХЕФУС УЧСЪШ ЮЕТЕЪ ЗОЕЪДБ (sockets) ОБД РТПФПЛПМПН TCP/IP. пДОБЛП:
- лПННХФБГЙС НЕЦДХ ЪБДБЮБНЙ ОБ ТБЪОЩИ НБЫЙОБИ РТПЙУИПДЙФ ОЕ ОБРТСНХА, Б ЮЕТЕЪ ДЕНПОПЧ: еУМЙ Ч ФЕЛУФЕ РТПЗТБННЩ ОБРЙУБФШ pvm_setopt (PvmRoute, PvmRouteDirect) , УППВЭЕОЙС УФБОХФ РЕТЕДБЧБФШУС ОБРТСНХА: ьФП МЙЫБЕФ ДЕНПОБ ЧПЪНПЦОПУФЙ ПФУМЕЦЙЧБФШ РПФПЛЙ УППВЭЕОЙК, Й ФТЕВХЕФ ВПМШЫЕ ТЕУХТУПЧ ПФ РТПЗТБННОПЗП ПВЕУРЕЮЕОЙС УЕФЙ (ФБЛ ЛБЛ ЧПЪТБУФБЕФ ЛПМЙЮЕУФЧП УПЕДЙОЕОЙК), ОП РПЧЩЫБЕФ ВЩУФТПДЕКУФЧЙЕ.
- еУМЙ ПВНЕОЙЧБАЭЙЕУС УППВЭЕОЙСНЙ ЪБДБЮЙ ЧЩРПМОСАФУС ОБ ПДОПК НБЫЙОЕ, ФП НОПЗПЮЙУМЕООЩЕ ЧЩЪПЧЩ ЖХОЛГЙК pvm_pkXXX() Й pvm_upkXXX() РТЕЧТБЭБАФУС Ч ОЕРПУЙМШОХА Й ОЕОХЦОХА ПВХЪХ: ЧЕДШ НЙОЙНБМШОП ОЕПВИПДЙНЩЕ ДЕКУФЧЙС УЧПДСФУС РТПУФП Л ЛПРЙТПЧБОЙА ЛХУЛБ РБНСФЙ ЙЪ БДТЕУОПЗП РТПУФТБОУФЧБ ЪБДБЮЙ-РЕТЕДБФЮЙЛБ Ч БДТЕУОПЕ РТПУФТБОУФЧП ЪБДБЮЙ-РПМХЮБФЕМС. жХОЛГЙЙ pvm_pkXXX() ЖБЛФЙЮЕУЛЙ ОЙЮЕЗП ОЕ ДЕМБАФ Й ЧТЕНС ОБ ЙИ ЧЩЪПЧЩ ФТБФЙФУС ЧРХУФХА. оП ЕУФШ УРПУПВ РЕТЕДБЧБФШ ДБООЩЕ ПДОЙН-ЕДЙОУФЧЕООЩН ЧЩЪПЧПН . дМС ЬФПЗП ОХЦОП ИТБОЙФШ ЙИ Ч НБУУЙЧЕ (ФП ЕУФШ ДБООЩЕ ДПМЦОЩ ВЩФШ ПДОПФЙРОЩНЙ). жХОЛГЙС pvm_psend() ОЕ РТПЙЪЧПДЙФ РЕТЕРБЛПЧЛХ ЬМЕНЕОФПЧ НБУУЙЧБ, ЕУМЙ Ч ЬФПН ОЕФ ОЕПВИПДЙНПУФЙ,Й РПЪЧПМСЕФ УЧЕУФЙ РПФЕТЙ ЧТЕНЕОЙ Л НЙОЙНХНХ. рП УЛПТПУФЙ ТБВПФЩ ПОБ РПЮФЙ ОЕ ХУФХРБЕФ НБЫЙООП-ЪБЧЙУЙНЩН РТПГЕДХТБН НЕЦЪБДБЮОПК УЧСЪЙ.
- нПЦОП МАВЩЕ ФЙРЩ ДБООЩИ (ОБРТЙНЕТ, УФТХЛФХТЩ), Б ОЕ ФПМШЛП НБУУЙЧЩ РПУЩМБФШ ЧЩЪПЧПН pvm_psend (target_tid, msgtag, &Data, sizeof(Data), PVM_BYTE) , ОП ЬФП ХЦЕ ЗТПЪЙФ ОЕРТЙСФОПУФСНЙ РТЙ РЕТЕУЩМЛЕ НЕЦДХ ОЕУПЧНЕУФЙНЩНЙ РП ЖПТНБФБН ДБООЩИ НБЫЙОБНЙ. фБЛПК ЖПЛХУ ДПРХУФЙН ОЕ ЛБЛ ЪБНЕОБ УФБОДБТФОПК РТПГЕДХТЩ ХРБЛПЧЛЙ РПЬМЕНЕОФОП, Б МЙЫШ ЛБЛ ЕЕ ДПРПМОЕОЙЕ:
ч ЬФПН ТБЪДЕМЕ ТБУУНПФТЕОЩ РТЙНЕТЩ РТПЗТБНН, ЙММАУФТЙТХАЭЙЕ ЙУРПМШЪПЧБОЙЕ ВЙВМЙПФЕЮОЩИ ЖХОЛГЙК PVM. ч ЬФЙИ РТПЗТБННБИ РТЙНЕОСЕФУС ТСД ОПЧЩИ ДМС ЮЙФБФЕМС ЖХОЛГЙК, УПДЕТЦБОЙЕ ЛПФПТЩИ ТБУЛТЩЧБЕФУС Ч ЛПННЕОФБТЙСИ. пУПВПЕ ЧОЙНБОЙЕ УМЕДХЕФ ПВТБФЙФШ ОБ БОБМЙЪ ЪОБЮЕОЙК, ЧПЪЧТБЭБЕНЩИ ВЙВМЙПФЕЮОЩНЙ ЖХОЛГЙСНЙ PVM, Ф.Л. ОЕ ПВОБТХЦЕООБС ЧПЧТЕНС ПЫЙВЛБ РТЙ ТБВПФЕ ЛПММЕЛФЙЧБ ЪБДБЮ ПЮЕОШ ВЩУФТП НБУЛЙТХЕФУС НОПЦЕУФЧПН РПУМЕДУФЧЙК, ЮФП УЙМШОП ЪБФТХДОСЕФ ЕЕ ЙУРТБЧМЕОЙЕ.
оЕ ЦДЙФЕ ПФ РТЙЧЕДЕООЩИ РТЙНЕТПЧ УМЙЫЛПН НОПЗПЗП. оБ УЕЗПДОСЫОЙК ДЕОШ ТЕБМЙЪБГЙЙ PVM ОЕ ПВЕУРЕЮЙЧБАФ ЕЭЕ УФБВЙМШОПК ТБВПФЩ ОЕЛПФПТЩИ, ЛБЪБМПУШ ВЩ, УПЧЕТЫЕООП РТБЧЙМШОЩИ РТПЗТБНН. ч ТБВПФЕ PVM3 ЪБНЕЮЕОЩ Й ФБЛЙЕ СЧОЩЕ УВПЙ, ЛБЛ, ОБРТЙНЕТ, ОЕЧПЪНПЦОПУФШ ЪБРХУФЙФШ ПЮЕТЕДОХА ЪБДБЮХ, ЕУМЙ УХННБТОПЕ ЮЙУМП ХЦЕ ЪБРХЭЕООЩИ ДЕНПОПН ЪБДБЮ (Ч Ф.Ю. Й ФЕИ, ЛПФПТЩЕ ХУРЕМЙ ЪБЧЕТЫЙФШУС) РТЕЧЩУЙМП 45-50 ЫФХЛ. ъБ ЧТЕНС ТБВПФЩ ОБД РПУПВЙЕН ХУРЕМЙ ХЧЙДЕФШ УЧЕФ ДЧЕ ПЮЕТЕДОЩЕ ТЕДБЛГЙЙ PVM3 ДМС Windows: ВПМЕЕ РТПУФЩЕ Ч ХУФБОПЧЛЕ, У ЙУРТБЧМЕООЩНЙ УФБТЩНЙ ПЫЙВЛБНЙ, Й ОЕРТЕДУЛБЪХЕНЩНЙ ОПЧЩНЙ.
дМС ХУЛПТЕОЙС ПФМБДЛЙ Й РПЧЩЫЕОЙС ОБДЕЦОПУФЙ ТБВПФЩ РТПЗТБНН, ЙУРПМШЪХАЭЙИ PVM, УМЕДХЕФ ЛБЛ НПЦОП ЮБЭЕ ЙУРПМШЪПЧБФШ ЖХОЛГЙА pvm_barrier() , УЙОИТПОЙЪЙТХАЭХА ДЕКУФЧЙС ХЮБУФОЙЛПЧ ЧЩЮЙУМЙФЕМШОПЗП РТПГЕУУБ, ПУПВЕООП Ч ФЕИ НЕУФБИ, ЗДЕ ЬФП ОЕ ХЧЕМЙЮЙЧБЕФ УЙМШОП ПВЭЕЕ ЧТЕНС ЧЩЮЙУМЕОЙК. рП ТЕЪХМШФБФБН ЮЙУФП РТБЛФЙЮЕУЛЙИ ОБВМАДЕОЙК, ЧУФБЧЛБ ЧЩЪПЧБ ЬФПК ЖХОЛГЙЙ ЮБУФП РТЙЧПДЙФ Л РТБЧЙМШОПНХ ЧЩРПМОЕОЙА РТПЗТБННЩ Й Л ВПМЕЕ ХУФПКЮЙЧЩН ИБТБЛФЕТЙУФЙЛБН ЕЕ ТБВПФЩ.
рТПЗТБННБ «Fork Join» ЧЩРПМОСЕФ УМЕДХАХЭЙЕ ДЕКУФЧЙС. уОБЮБМБ ЪБРХУЛБЕФУС ЪБДБЮБ, ОБЪЩЧБЕНБС ТПДЙФЕМШУЛПК. ъБФЕН ЙЪ ОЕЕ ЪБРХУЛБАФУС ЪБДБЮЙ, ОБЪЩЧБЕНЩЕ ДПЮЕТОЙНЙ. дПЮЕТОЙЕ ЪБДБЮЙ УЙОИТПОЙЪЙТХАФУС НЕЦДХ УПВПК РХФЕН РПУЩМЛЙ УППВЭЕОЙК ТПДЙФЕМШУЛПК ЪБДБЮЕ, ЛПФПТБС, РПМХЮЙЧ ЬФЙ УППВЭЕОЙС, РЕЮБФБЕФ ЙОЖПТНБГЙА П ЛБЦДПК ЙЪ ДПЮЕТОЙИ ЪБДБЮ.
рТПЗТБННБ ДМС ТПДЙФЕМШУЛПК Й ДПЮЕТОЙИ ЪБДБЮ СЧМСЕФУС ПВЭЕК, Б ЧЩРПМОСЕНЩЕ ЛПОЛТЕФОПК ЪБДБЮЕК ЙОУФТХЛГЙЙ ЧЩВЙТБАФУС РП РТЙЪОБЛХ, ЛПФПТЩК ХЛБЪЩЧБЕФ, СЧМСЕФУС МЙ ЪБДБЮБ ТПДЙФЕМШУЛПК ЙМЙ ДПЮЕТОЕК.
оЙЦЕ РТЙЧПДЙФУС ФЕЛУФ РТПЗТБННЩ, УПРТПЧПЦДБЕНЩК РПДТПВОЩНЙ ЛПННЕОФБТЙСНЙ, ЛПФПТЩЕ ДМС ХДПВУФЧБ ЧУФТПЕОЩ Ч ФЕЛУФ РТПЗТБННЩ. лПННЕОФБТЙК РПНЕЭБЕФУС ОБД УППФЧЕФУФЧХАЭЕК ЙОУФТХЛГЙЕК. пФНЕФЙН, ЮФП ДМС ХДПВУФЧБ ЛПННЕОФЙТПЧБОЙС РТПЗТБННЩ ОЕЛПФПТЩЕ ЕЕ ЮБУФЙ УРЕГЙБМШОП ОБРЙУБОЩ НЕОЕЕ ЛПНРБЛФОП, ЮЕН ЬФП Ч РТЙОГЙРЕ ЧПЪНПЦОП. лТПНЕ ФПЗП, ДМС ЛТБФЛПУФЙ Ч РТПЗТБННБИ ОЕ ХЛБЪБОЩ ВЙВМЙПФЕЮОЩЕ ЖБКМЩ уЙ.
ч ЬФПН РТЙНЕТЕ ТБУУНБФТЙЧБАФУС ФБЛ ОБЪЩЧБЕНЩЕ ТБУРТЕДЕМЕООЩЕ ЧЩЮЙУМЕОЙС, Ч ЛПФПТЩИ ХЮБУФЧХЕФ НОПЦЕУФЧП РТПГЕУУПТПЧ, УОБВЦЕООЩИ ЙОДЙЧЙДХБМШОЩНЙ ПРЕТБФЙЧОЩНЙ ЪБРПНЙОБАЭЙНЙ ХУФТПКУФЧБНЙ (пъх). ч ЬФЙИ ХУФТПКУФЧБИ РЕТЕД ТЕЫЕОЙЕН ЪБДБЮЙ ЪБРЙУБОЩ ТБЪОЩЕ ЮБУФЙ НБУУЙЧБ ЙУИПДОЩИ ДБООЩИ. ч ИПДЕ ТЕЫЕОЙС РТПГЕУУПТЩ ПВНЕОЙЧБАФУС ЛБЛ ЙУИПДОЩНЙ ДБООЩНЙ, ФБЛ Й РТПНЕЦХФПЮОЩНЙ ТЕЪХМШФБФБНЙ. рП ПЛПОЮБОЙЙ ТБВПФЩ Ч ЙОДЙЧЙДХБМШОЩИ пъх ЪБРЙУБОЩ ТБЪОЩЕ ЮБУФЙ ДБООЩИ, УПУФБЧМСАЭЙИ ТЕЫЕОЙЕ ЪБДБЮЙ.
рХУФШ A, B — ЛЧБДТБФОЩЕ НБФТЙГЩ РПТСДЛБ (size * size), РТЙЮЕН size = m * blk, Й ФТЕВХЕФУС ЧЩЮЙУМЙФШ НБФТЙГХ C = A * B, ЙУРПМШЪХС ДМС ЬФПЗП m * m РТПГЕУУПТПЧ У ЙОДЙЧЙДХБМШОЩНЙ пъх. фБЛ ЛБЛ РТПЗТБННОПЕ ПВЕУРЕЮЕОЙЕ PVM РТЕДПУФБЧМСЕФ ФПМШЛП УТЕДУФЧБ ДМС ТЕБМЙЪБГЙЙ РБТБММЕМШОЩИ ЧЩЮЙУМЕОЙК, ФП ТБЪТБВПФЛБ БМЗПТЙФНБ ТБВПФЩ ЛПММЕЛФЙЧБ РТПГЕУУПТПЧ РПМОПУФША МПЦЙФУС ОБ РТПЗТБННЙУФБ. тЕЪХМШФБФПН ЬФПК ТБВПФЩ НПЦЕФ ВЩФШ МЙВП НПДЙЖЙЛБГЙС ЙЪЧЕУФОПЗП БМЗПТЙФНБ ТЕЫЕОЙС ЪБДБЮЙ, МЙВП ДБЦЕ РЕТЕЖПТНХМЙТПЧЛБ УБНПК ЪБДБЮЙ.
йУИПДОЩЕ НБФТЙГЩ A Й B НПЦОП УЮЙФБФШ УПУФБЧМЕООЩНЙ ЙЪ m * m ЛЧБДТБФОЩИ ВМПЛПЧ ТБЪНЕТБ (blk * blk). рПМПЦЕОЙЕ ЬФЙИ ВМПЛПЧ Ч ЙУИПДОЩИ НБФТЙГБИ ЕУФЕУФЧЕООП ИБТБЛФЕТЙЪПЧБФШ РБТПК ЙОДЕЛУПЧ, ЛБЦДЩК ЙЪ ЛПФПТЩИ ЙЪНЕОСЕФУС Ч РТЕДЕМБИ ПФ 0 ДП (m-1). фПЗДБ ДМС ВМПЛПЧ НБФТЙГЩ A ЕУФЕУФЧЕООП ЧЧЕУФЙ ПВПЪОБЮЕОЙЕ A[i,j] (i,j = 0. (m-1)), Б ЬМЕНЕОФЩ НБФТЙГЩ A ПВПЪОБЮБФШ a[i,j] (i,j = 0. (size-1)). рТЙНЕТ 1. рХУФШ size = 4, m = 2, blk = 2, НБФТЙГБ A: фПЗДБ Й НБФТЙГХ A НПЦОП РТЕДУФБЧЙФШ Ч ЧЙДЕ мЕЗЛП ДПЛБЪЩЧБЕФУС, ЮФП Ч ПВЭЕН УМХЮБЕ ЧЩЮЙУМЕОЙЕ ЬМЕНЕОФПЧ НБФТЙГЩ C РП ЖПТНХМЕ НПЦОП ЪБНЕОЙФШ ЧЩЮЙУМЕОЙЕН ВМПЛПЧ НБФТЙГЩ C РП ЖПТНХМЕ Ч ЛПФПТПК ПРЕТБГЙЙ ОБД ВМПЛБНЙ СЧМСАФУС НБФТЙЮОЩНЙ ПРЕТБГЙСНЙ.
пУОПЧОБС ЙДЕС БМЗПТЙФНБ ЪБЛМАЮБЕФУС Ч ФПН, ЮФПВЩ (m * m) РТПГЕУУПТПЧ РБТБММЕМШОП ЧЩЮЙУМСМЙ (m * m) ВМПЛПЧ НБФТЙГЩ C. рТЙ ЬФПН ХДПВОП ЧЧЕУФЙ ПВПЪОБЮЕОЙЕ p[i,j] ДМС РТПГЕУУПТБ (ДМС ЪБДБЮЙ Ч PVM), ЧЩЮЙУМСАЭЕЗП ВМПЛ C[i,j] НБФТЙГЩ C. вХДЕН РТЕДРПМБЗБФШ, ЮФП Ч пъх РТПГЕУУПТБ p[i,j] Ч ЛБЮЕУФЧЕ ЙУИПДОЩИ ДБООЩИ ЪБЗТХЦЕОЩ НБФТЙГЩ (ВМПЛЙ) A[i,j], B[i,j] Й РТПЙОЙГЙБМЙЪЙТПЧБО ВМПЛ НБФТЙГЩ C (C[i,j]=0).
чЩЮЙУМЕОЙЕ ТЕБМЙЪХЕФУС ЪБ m ЫБЗПЧ. оБ ЫБЗЕ s (s = 0. (m-1))ЧЩРПМОСАФУС УМЕДХАЭЙЕ ДЕКУФЧЙС:
- рТПГЕУУПТЩ У ОПНЕТБНЙ ЧЙДБ p[i,(i+s)%m] (i=0. (m-1)) РЕТЕДБАФ УЧПЙ ВМПЛЙ A[i,i+s] РТПГЕУУПТБН, Х ЛПФПТЩИ ФПФ ЦЕ ЙОДЕЛУ i.
- лБЦДЩК РТПГЕУУПТ p[i,j] ДЕМБЕФ ЧЩЮЙУМЕОЙЕ
C[i,j] = C[i,j] + A[i,i+s] * B_current,
ЗДЕ ОБЮБМШОПЕ ЪОБЮЕОЙЕ B_current ТБЧОП B[i,j]. - лБЦДЩК РТПГЕУУПТ p[i,j] РЕТЕДБЕФ УЧПК ВМПЛ B_current РТПГЕУУПТХ У ОПНЕТПН p[(i-1)%m,j] Й РТЙОЙНБЕФ ОПЧПЕ ЪОБЮЕОЙЕ B_current ПФ РТПГЕУУПТБ У ОПНЕТПН p[(i+1)%m,j].
- рЕТЕИПД Л УМЕДХАЭЕНХ ЫБЗХ, ЕУМЙ s
ьФПФ ТБЪДЕМ ТБУУНБФТЙЧБЕФ ЪБРХУЛ РТЙНЕТПЧ ОБ РЕТУПОБМШОПН ЛПНРШАФЕТЕ IBM PC, ТБВПФБАЭЕН РПД ХРТБЧМЕОЙЕН Windows-95 ЙМЙ Windows NT. лПНРШАФЕТ ДПМЦЕО ВЩФШ РПДЛМАЮЕО Л УЕФЙ ЮЕТЕЪ РТПФПЛПМ TCP/IP.
дМС ЛПНРЙМСГЙЙ РТЙНЕТПЧ ЙУРПМШЪПЧБМУС Visual C++. хВЕДЙФЕУШ, ЮФП ПО ХУФБОПЧМЕО ОБ чБЫЕН ЛПНРШАФЕТЕ.
уЛБЮБКФЕ Й ХУФБОПЧЙФЕ PVM ДМС Win32 ьФП БТИЙЧ, ДМС ТБУРБЛПЧЛЙ ЛПФПТПЗП чБН РПФТЕВХЕФУС WinZip ЙМЙ UnZip.NT, ФБЛ ЛБЛ Ч ОЕН УПДЕТЦБФУС ДМЙООЩЕ ЖБКМПЧЩЕ ЙНЕОБ.
оЕЛПФПТЩЕ ЙНЕОБ ЖБКМПЧ Ч БТИЙЧЕ ХЦЕ РПЧТЕЦДЕОЩ, Ч ЮБУФОПУФЙ, ЬФП ПФОПУЙФУС ЛП ЧУЕН ЖБКМБН УРТБЧПЮОПК УЙУФЕНЩ (manual pages). ъБ ЙУЛМАЮЕОЙЕН manual pages, ЙНЕОБ НПЦОП ЧПУУФБОПЧЙФШ ОБЧУЛЙДЛХ:
уЛБЮБКФЕ Й ТБЪЧЕТОЙФЕ Ч УЧПЕН ЛБФБМПЗЕ РТЙНЕТЩ. йИ НПЦОП ТБЪЧЕТОХФШ PKUNZIP’ПН: pkunzip -d pvmt_w32
фЕРЕТШ РЕТЕКДЙФЕ Ч ЛБФБМПЗ \PVM3\TUTOR. рТПЮЙФБКФЕ Й ЙУРТБЧШФЕ ЖБКМ SET_ENV.BAT, УМЕДХС ОБРЙУБООЩН Ч ОЕН ЙОУФТХЛГЙСН.
рП ХНПМЮБОЙА РТЙНЕТЩ ЧУЕ УППВЭЕОЙС ЧЩЧПДСФ РП-ТХУУЛЙ. еУМЙ чБЫБ УЙУФЕНБ ОЕ ТХУЙЖЙГЙТПЧБОБ, ПФТЕДБЛФЙТХКФЕ ЖБКМ MAKEFILE, УФЕТЕЧ ЙЪ ОЕЗП ЖТБЗНЕОФ /D «RUSSIAN»
пФЛТПКФЕ «MS-DOS command prompt» (ПО ЦЕ «уЕБОУ MS-DOS») Й ЙЪ ОЕЗП ЪБРХУФЙФЕ SET_ENV. еУМЙ SET_ENV ЪБЧЕТЫБЕФ УЧПА ТБВПФХ У УППВЭЕОЙЕН «Out of environment space», РПРТПВХКФЕ ЪБРХУФЙФШ ЕЗП ФБЛ: %comspec% /e:2048 /k set_env
еУМЙ SET_ENV ПФТБВПФБЕФ ВЕЪ ПЫЙВПЛ, РЕТЕИПДЙФЕ Ч \PVM3\BIN\WIN32\ Й ЪБРХУЛБКФЕ РТЙНЕТЩ. ч НПНЕОФ РЕТЧПЗП ЪБРХУЛБ РТЙНЕТБ ОБ ЬЛТБОЕ НПЦЕФ РПСЧЙФШУС ОЙЦЕУМЕДХАЭЕЕ ПЛПЫЛП. чЩВЕТЙФЕ «рТПРХУФЙФШ» («Ignore»).
ч РТПВПЧБЧЫЕКУС ЧЕТУЙЙ (3.3.1) ДЕНПО PVM ДЕМБЕФ ФЕЛХЭЙН ЛБФБМПЗ %PVM_TMP%, ЛТПНЕ ФПЗП, ФЕЛХЭЙК ДЙУЛ ФБЛ ЦЕ НЕОСЕФУС ОБ ДЙУЛ %PVM_TMP% . ьФП ПЪОБЮБЕФ, ЮФП ЧТЕНЕООЩК Й РПМШЪПЧБФЕМШУЛЙК ЛБФБМПЗ пвџъбфемшоп ДПМЦОЩ ОБИПДЙФШУС ОБ ПДОПН Й ФПН ЦЕ ДЙУЛЕ. ьФПФ ЖБЛФ ХРПНЙОБЕФУС Ч ЛПННЕОФБТЙСИ SET_ENV.BAT.
рТЙНЕЮБОЙЕ: Ч РПУМЕДОЕК ЧЕТУЙЙ PVM for Win32 ЬФБ ПЫЙВЛБ ХУФТБОЕОБ.
еУМЙ чЩ ФПЮОП РТПЫМЙ ЧУЕ ЬФЙ ЫБЗЙ, Х чБУ ДПМЦОЩ ОПТНБМШОП ПФТБВПФБФШ ЧУЕ РПУФБЧМСЕНЩЕ РТЙНЕТЩ.
ъБРХУЛБКФЕ SET_ENV.BAT ЧУСЛЙК ТБЪ, ЛПЗДБ чБН ОЕПВИПДЙНП ЪБРХУФЙФШ ДЕНПОБ PVM Й/ЙМЙ РЕТЕЛПНРЙМЙТПЧБФШ РТЙНЕТЩ.
оБ SPP-1600 (spp.csa.ru) ХЦЕ ХУФБОПЧМЕОП НБФ.ПВЕУРЕЮЕОЙЕ PVM3 Ч ЛБФБМПЗЕ /usr/convex/pvm . уЛБЮБКФЕ Ч УЧПК HOME-ЛБФБМПЗ БТИЙЧ У РТЙНЕТБНЙ Й ТБУРБЛХКФЕ ЕЗП: tar xf pvmt_spp.tar .
дМС РПУФТПЕОЙС РТЙНЕТПЧ чБН ОХЦЕО ЙОФЕТРТЕФБФПТ C-Shell (csh ЙМЙ tcsh). ъБРХУФЙФЕ ЕЗП Й ОБВЕТЙФЕ » source set_env «. уЛТЙРФ set_env ЪБРХУФЙФ ДЕНПОБ PVM Й УЗЕОЕТЙТХЕФ ЙУРПМОСЕНЩЕ ЖБКМЩ РТЙНЕТПЧ Ч $HOME/pvm3/bin/CSPP/
фЕРЕТШ чЩ НПЦЕФЕ ЙИ ЪБРХУФЙФШ: ../bin/CSPP/ex1 Й ФБЛ ДБМЕЕ.
ъБРХУЛБКФЕ » source set_env » ЧУСЛЙК ТБЪ, ЛПЗДБ чБН ОЕПВИПДЙНП ЪБРХУФЙФШ ДЕНПОБ PVM Й/ЙМЙ РЕТЕЛПНРЙМЙТПЧБФШ РТЙНЕТЩ.
пВТБФЙФЕ ЧОЙНБОЙЕ, ЮФП Ч Makefile ВЙВМЙПФЕЛБ libgpvm3.a ХЛБЪЩЧБЕФУС Ч ЛПНБОДОПК УФТПЛЕ уЙ РЕТЕД libpvm3.a. пВТБФОБС РЕТЕУФБОПЧЛБ ЧЩЪПЧЕФ ПЫЙВЛХ ЛПНРПОПЧЭЙЛБ.
рЕТЕД ЧЩИПДПН ЙЪ УЙУФЕНЩ ое ъбвхдшфе ЪБРХУФЙФШ ЖБКМ $HOME/pvm3/tutor/kill_pvm ! set_env ЗЕОЕТЙТХЕФ ЕЗП БЧФПНБФЙЮЕУЛЙ ЧУСЛЙК ТБЪ, ЛПЗДБ ЪБЗТХЦБЕФ ДЕНПОБ Ч РБНСФШ. kill_pvm, Ч УЧПА ПЮЕТЕДШ, ЧЩЗТХЦБЕФ ДЕНПОБ ЙЪ РБНСФЙ Й УФЙТБЕФ УЕВС У ДЙУЛБ. дЕНПО ОЕ ЧЩЗТХЦБЕФУС ЙЪ РБНСФЙ БЧФПНБФЙЮЕУЛЙ РП ЪБЧЕТЫЕОЙЙ УЕУУЙЙ!
уХЭЕУФЧХАФ МЙ ЛБЛЙЕ-ФП РТЕРСФУФЧЙС, НЕЫБАЭЙЕ УЛПНРЙМЙТПЧБФШ Й ЪБРХУФЙФШ РТЙНЕТЩ ОБ ДТХЗПК НБЫЙОЕ У ХУФБОПЧМЕООЩН PVM Й ТБВПФБАЭЕК РПД ХРТБЧМЕОЙЕН аОЙЛУБ? юЙУФП ФЕПТЕФЙЮЕУЛЙ, ОЕФ. йЪНЕОЕОЙС ДПМЦОЩ ВЩФШ НЙОЙНБМШОЩНЙ Й ЪБФТБЗЙЧБАФ ФПМШЛП УБНПЕ ОБЮБМП УЛТЙРФБ set_env :
- рЕТЕНЕООБС ПЛТХЦЕОЙС PVM_ROOT ДПМЦОБ ХЛБЪЩЧБФШ ОБ ФПФ ЛБФБМПЗ, Ч ЛПФПТПН ТБЪЧЕТОХФП РТПЗТБННОПЕ ПВЕУРЕЮЕОЙЕ PVM
- рЕТЕНЕООБС ПЛТХЦЕОЙС PVM_ARCH ДПМЦОБ УПДЕТЦБФШ БВВТЕЧЙБФХТХ РМБФЖПТНЩ. дМС Windows ЬФП «WIN32» , ДМС SPP — «CSPP» . рПРТПВХКФЕ РПУНПФТЕФШ ЙНЕОБ РПДЛБФБМПЗПЧ Ч $PVM_ROOT/bin , ЕУМЙ БВВТЕЧЙБФХТХ чБН ОЕ УППВЭЙМЙ. рП ЙДЕЕ, РПДЛБФБМПЗ ДПМЦЕО ВЩФШ ЧУЕЗП ПДЙО, Й ПО ПВПЪЧБО ЬФПК БВВТЕЧЙБФХТПК.
оЙЦЕ ЛТБФЛП РЕТЕЮЙУМЕОЩ ФЕ ЧПЪНПЦОПУФЙ Й ЛПНРПОЕОФЩ PVM, ЛПФПТЩЕ НПЗХФ РТЕДУФБЧМСФШ ЙОФЕТЕУ ДМС ТБЪТБВПФЮЙЛБ, ОП ОЕ ВЩМЙ ПРЙУБОЩ Ч ДБООПН РПУПВЙЙ РП ФТЕН РТЙЮЙОБН:
- ОЕ СЧМСАФУС ЦЙЪОЕООП ЧБЦОЩНЙ,
- ОЕОБДЕЦОП ТЕБМЙЪПЧБОЩ,
- ФТЕВХАФ РПМОПНПЮЙК ДМС УЙУФЕНОПЗП БДНЙОЙУФТЙТПЧБОЙС.
чНЕУФЕ У ФЕН, ЬФП ОБЙВПМЕЕ ЧЕТПСФОЩЕ ЛБОДЙДБФЩ ДМС ДБМШОЕКЫЕЗП ЙЪХЮЕОЙС (Й ПРЙУБОЙС Ч УМЕДХАЭЙИ ТЕДБЛГЙСИ РПУПВЙС). фПНХ, ЮФП ОБРЙУБОП П ОЙИ ЪДЕУШ Й УЕКЮБУ, ПУПВПК ЧЕТЩ РТЙДБЧБФШ ОЕ УМЕДХЕФ, ФБЛ ЛБЛ ЬФП ОБ УПВУФЧЕООПК ЫЛХТЕ ОЕ ПРТПВПЧБОП, Б ЪОБЮЙФ, РПЮЙФБК ЮФП ЧЙМБНЙ ОБ ЧПДЕ РЙУБОП.
еЭЕ ПДОЙН ФБЛЙН ЛБОДЙДБФПН (ОХ ПЮЕОШ ВПМШЫЙН) СЧМСЕФУС ЛБЛБС-ОЙВХДШ ВПМЕЕ РПЪДОСС, ЮЕН ФБ, ЛПФПТБС ЙУРПМШЪПЧБМБУШ ДМС ОБРЙУБОЙС РТЙНЕТПЧ, ЧЕТУЙС PVM (ЮЕН УЧЕЦЕЕ, ФЕН МХЮЫЕ):
- ЛБЛЙЕ ПЫЙВЛЙ ЙУРТБЧМЕОЩ,
- ЛБЛЙЕ ПЫЙВЛЙ ДПВБЧМЕОЩ,
- ЛБЛЙЕ РПСЧЙМЙУШ ОПЧЩЕ ЧПЪНПЦОПУФЙ (ЛПННХОЙЛБФПТЩ etc).
оБВПТ ЖХОЛГЙК PVM УПУФБЧМСМУС Ч ТБУЮЕФЕ ОБ ФП, ЮФП УЕБОУЩ НЕЦЪБДБЮОПК УЧСЪЙ СЧМСАФУС ОЕ УМХЮБКОЩНЙ, Б УФТПЗП ДЕФЕТНЙОЙТПЧБООЩНЙ ФЕН БМЗПТЙФНПН, ЛПФПТЩК РТПЗТБННЙТХЕФУС. ч ОЕН ДПМЦОЩ ВЩФШ ПЗПЧПТЕОЩ УПВУФЧЕООП ЖБЛФЩ ПВНЕОБ ДБООЩНЙ НЕЦДХ ТБЪОЩНЙ ЧЕФЧСНЙ ЧЩЮЙУМЕОЙК У ФПЮОЩН ХЛБЪБОЙЕН ЧЕФЧЕК, Б ФБЛЦЕ НПНЕОФЩ ЧТЕНЕОЙ, Ч ЛПФПТЩЕ РТПЙУИПДЙФ РТЙЕНПРЕТЕДБЮБ.
б ФЕРЕТШ ОБ РТЙНЕТЕ аОЙЛУБ ТБУУНПФТЙН РТЙНЕТ, ЛПЗДБ ЪБДБЮБ НПЦЕФ РПМХЮЙФШ ОЕЛПФПТПЕ УППВЭЕОЙЕ Ч ОЕЙЪЧЕУФОЩК ЪБТБОЕЕ НПНЕОФ ЧТЕНЕОЙ, ЙМЙ ОЕ РПМХЮЙФШ ЧППВЭЕ. оБЦБФЙЕ Ctrl-C ОБ ЛМБЧЙБФХТЕ Й РПУМЕДХАЭЙК ЧЩЪПЧ аОЙЛУПН ЖХОЛГЙЙ kill() СЧМСЕФУС ИПТПЫЙН РТЙНЕТПН ФБЛПЗП УППВЭЕОЙС. оЕХЦЕМЙ, ЮФПВЩ РТБЧЙМШОП ЕЗП ПВТБВПФБФШ, ЪБДБЮБ ЧУЕ ЧТЕНС ДПМЦОБ РТПЧЕТСФШ УПУФПСОЙЕ ЛМБЧЙБФХТЩ? лПОЕЮОП ОЕФ — ЧЕДШ Ч аОЙЛУЕ ТЕБМЙЪПЧБО НЕИБОЙЪН УЙЗОБМПЧ.
ч ТБНЛБИ ЬФПЗП НЕИБОЙЪНБ ЪБДБЮБ НПЦЕФ РТЙЛБЪБФШ ПРЕТБГЙПООПК УЙУФЕНЕ: ЧЩЪПЧЙ ФБЛХА-ФП НПА ЖХОЛГЙА, ЛПЗДБ РТПЙЪПКДЕФ ФП ЙМЙ ЙОПЕ ЧОЕЫОЕЕ УПВЩФЙЕ. нЕИБОЙЪН УЙЗОБМПЧ РПЪЧПМСЕФ ЪБДБЮЕ ФТБФЙФШ ОБ ПВТБВПФЛХ ЧОЕЫОЕЗП УПВЩФЙС ТПЧОП УФПМШЛП ЧТЕНЕОЙ, УЛПМШЛП ОЕПВИПДЙНП (ВЕЪ РПФЕТШ, УЧСЪБООЩИ У РТПЧЕТЛБНЙ ФЙРБ «ОЕ РТПЙЪПЫМП МЙ УПВЩФЙЕ?» — ЬФЙН ЪБКНЕФУС УЙУФЕНБ); Й ФПЮОП ФПЗДБ, ЛПЗДБ ОХЦОП: ьФП УМЙЫЛПН ПВЭЙК РТЙНЕТ, ОП ПО ДПМЦЕО УЗПДЙФШУС ДМС ФПЗП, ЮФПВЩ ПВЯСУОЙФШ УХФШ.
чПЪЧТБЭБЕНУС Л PVM. уЕКЮБУ, ЕУМЙ ЧТЕНС РПУФХРМЕОЙС УППВЭЕОЙС СЧМСЕФУС ОЕЙЪЧЕУФОЩН, ЪБДБЮБ-РТЙЕНОЙЛ НПЦЕФ РПУФХРЙФШ ПДОЙН ЙЪ ДЧХИ УРПУПВПЧ:
- чЩЪЧБФШ pvm_recv() Й РБУУЙЧОП ЦДБФШ РТЙЕНБ УППВЭЕОЙС, РТПУФБЙЧБС УЛПМШ ХЗПДОП ДПМЗП, У ТЙУЛПН ЪБЧЙУОХФШ, ЕУМЙ УППВЭЕОЙЕ ФБЛ Й ОЕ РПУФХРЙФ,
- чУЕ ЧТЕНС ЧЩЪЩЧБФШ Ч РБХЪБИ НЕЦДХ ЧЩЮЙУМЕОЙСНЙ pvm_nrecv() , ФТБФС ЧТЕНС ОБ РТПЧЕТЛЙ, Й, ЕУМЙ РБХЪЩ НЕЦДХ ЧЩЪПЧБНЙ УМЙЫЛПН ВПМШЫЙЕ, Ч ЙФПЗЕ РПМХЮЙФШ УППВЭЕОЙЕ У ПРПЪДБОЙЕН.
нЕИБОЙЪН УЙЗОБМПЧ Ч PVM ЧУЕ-ФБЛЙ ЕУФШ, ПДОБЛП ДБЦЕ ДПЛХНЕОФБГЙС ОЕ ТЕЛПНЕОДХЕФ ЕЗП ЙУРПМШЪПЧБФШ — ЙМЙ ЙУРПМШЪПЧБФШ У УХЗХВПК ПУФПТПЦОПУФША. йУРПМШЪХС ЕЗП, РПУЩМЛХ «ВМХЦДБАЭЙИ» УППВЭЕОЙК НПЦОП ПТЗБОЙЪПЧБФШ ФБЛ: пДОБЛП УМЕДХЕФ ЕЭЕ ТБЪ ПЗПЧПТЙФШУС, ЮФП ДМС ФПЗП ЛМБУУБ ЪБДБЮ, ДМС ЛПФПТПЗП УПЪДБЧБМУС PVM, НЕИБОЙЪН УЙЗОБМПЧ ОЕ СЧМСЕФУС ЦЙЪОЕООП ОЕПВИПДЙНЩН. чП ЧУСЛПН УМХЮБЕ, ОЕФ РПДФЧЕТЦДБАЭЙИ ЬФП РТЙНЕТПЧ.
чУЕ РПУФТПЕОЙЕ Й ЧЩРПМОЕОЙЕ РТЙНЕТПЧ РТПЙЪЧПДЙМПУШ ОБ ПДОПК НБЫЙОЕ: МЙВП ЬФП ВЩМБ IBM PC, МЙВП SPP-1600, ОП ОЕ ЧЙТФХБМШОБС ьчн, ПВЯЕДЙОСЧЫБС Ч УЕВС УТБЪХ ДЧЕ ЖЙЪЙЮЕУЛЙИ НБЫЙОЩ. юФПВЩ ЬФП ПТЗБОЙЪПЧБФШ (РТЕДРПМПЦЙН, ЮФП УЙУФЕНОЩК БДНЙОЙУФТБФПТ ХЦЕ ТБЪЧЕТОХМ PVM ОБ ОЕУЛПМШЛЙИ НБЫЙОБИ), РПМШЪПЧБФЕМШ ДПМЦЕО ОБ ЛБЦДПК НБЫЙОЕ УПЪДБФШ УЧПК МЙЮОЩК ЛПОЖЙЗХТБГЙПООЩК ЖБКМ PVM (ЧПЪНПЦОП, ОБ ВБЪЕ ЫБВМПОБ?). ч ЬФПН ЖБКМЕ ХЛБЪЩЧБАФУС:
- ЙНЕОБ ПУФБМШОЩИ ЛПНРШАФЕТПЧ, РТЙЧМЕЛБЕНЩИ Ч УПУФБЧ PVM,
- ЙИ РТПЙЪЧПДЙФЕМШОПУФШ, ЧЩТБЦЕООБС Ч ОЕЛЙИ ПФОПУЙФЕМШОЩИ ЕДЙОЙГБИ,
- РБТПМЙ ДМС ЧИПДБ ОБ ЬФЙ НБЫЙОЩ,
- Й РТПЮБС ЙОЖПТНБГЙС, ЪБЮБУФХА ОЕ ПВСЪБФЕМШОБС
чойнбойе: рЕТЧПЕ, ЮФП УМЕДХЕФ УДЕМБФШ РПУМЕ ЧЩИПДБ ЙЪ ТЕДБЛФПТБ — ОБВТБФШ ЛПНБОДХ chmod 600 hostfile.pvm . ч РТПФЙЧОПН УМХЮБЕ ХЛБЪБООЩЕ Ч ОЕН РБТПМЙ НПЗХФ УФБФШ ЙЪЧЕУФОЩ МАВПНХ ЦЕМБАЭЕНХ.
уЛПТЕЕ ЧУЕЗП, РПФТЕВХЕФУС УПЪДБФШ Й ЖБКМ .rhosts , РПУЛПМШЛХ ЙУРПМШЪХАЭЙК ЕЗП ЙОФЕТРТЕФБФПТ rsh РТЙЧМЕЛБЕФУС PVM ДМС БЧФПЪБЗТХЪЛЙ ДЕНПОПЧ: У ЛПОУПМЙ ОБДП ЪБЗТХЪЙФШ ДЕНПОБ ФПМШЛП ОБ ПДОПК НБЫЙОЕ, Б ПО, РПМШЪХСУШ ДБООЩНЙ ЙЪ УЧЕЗП ИПУФ-ЖБКМБ, ЪБЗТХЪЙФ УЧПЙИ УПВТБФШЕЧ ОБ ЧУЕИ ПУФБМШОЩИ ЖЙЪЙЮЕУЛЙИ НБЫЙОБИ.
юФПВЩ РТЙМПЦЕОЙЕ НПЗМП ВЩФШ ЪБРХЭЕОП ОБ ЛБЛПН-ФП ЛПНРШАФЕТЕ, ЕЗП (РТЙМПЦЕОЙЕ) ОБДП УОБЮБМБ УЛПНРЙМЙТПЧБФШ ОБ ОЕН (ЛПНРШАФЕТЕ) Й РПНЕУФЙФШ ФБН Ч ЛБФБМПЗ $HOME/pvm3/bin/$PVM_ARCH ! фПМШЛП ФПЗДБ pvm_spawn() УНПЦЕФ ЧЩВЙТБФШ ОБЙВПМЕЕ РПДИПДСЭЕЕ НЕУФП ЧЩРПМОЕОЙС ДМС ЪБРХУЛБЕНПК ЪБДБЮЙ, ОЕ ПЗТБОЙЮЙЧБСУШ ФЕЛХЭЕК ЖЙЪЙЮЕУЛПК НБЫЙОПК. уФБДЙА РЕТЕОПУБ НПЦОП БЧФПНБФЙЪЙТПЧБФШ, ЧПУРПМШЪПЧБЧЫЙУШ ХФЙМЙФБНЙ rdist Й rsh . йИ ПРЙУБОЙЕ РТЙЧЕДЕОП Ч ДПЛХНЕОФЕ «уЕФЕЧЩЕ УМХЦВЩ йОФЕТОЕФ».
йОФЕРТЕФБФПТ ЛПНБОД PVM РПЪЧПМСЕФ РПМШЪПЧБФШУС Ч ТБНЛБИ ЧЙТФХБМШОПК НБЫЙОЩ БОБМПЗБНЙ ЛПНБОД, ИПТПЫП ЪОБЛПНЩИ РПМШЪПЧБФЕМСН аОЙЛУБ. вЕЪ ОЕЗП У МЕЗЛПУФША НПЦОП ПВПКФЙУШ, ЕУМЙ ЖЙЪЙЮЕУЛБС НБЫЙОБ Ч PVM ЧУЕЗП ПДОБ: ФБЛЙЕ ЛПНБОДЩ аОЙЛУБ ЛБЛ ps -edl | grep » $uid » ДМС РПЙУЛБ PVM-РТЙМПЦЕОЙК Й kill . ДМС ЧЩЗТХЪЛЙ ДЕНПОБ ТБВПФБАФ ЧЕУШНБ ОБДЕЦОП. оП ЮФП ЕУМЙ PVM ПИЧБФЩЧБЕФ ОЕУЛПМШЛП ЖЙЪЙЮЕУЛЙИ НБЫЙО? ч ЬФПН УМХЮБЕ ЛПНБОДБ ps ЙОФЕТРТЕФБФПТБ PVM ЧЩЧЕДЕФ (ФЕПТЕФЙЮЕУЛЙ) УРЙУПЛ ЧУЕИ PVM-РТЙМПЦЕОЙК, Б ps -edl | grep » $uid » — ФПМШЛП ЧЩРПМОСЕНЩИ ОБ ДБООПК НБЫЙОЕ. еУМЙ ЙОФЕТРТЕФБФПТ ЗТХЪЙФУС дп ДЕНПОБ, ЛБЛ ЬФП ТЕЛПНЕОДХАФ ТБЪТБВПФЮЙЛЙ PVM, ФП ЪБЗТХЪЛБ Й ЧЩЗТХЪЛБ ДЕНПОПЧ ОБ чуеи НБЫЙОБИ ВХДХФ ЙН РТПЙЪЧПДЙФШУС БЧФПНБФЙЮЕУЛЙ. й ИПФС ЬФПФ РТПГЕУУ НПЦОП БЧФПНБФЙЪЙТПЧБФШ, ОП БЧФПНБФЙЪБГЙА-ФП РТЙДЕФУС РТПЧПДЙФШ ЧТХЮОХА. 😉
ч ЙОФЕТРТЕФБФПТ ЧЧЕДЕОЩ ОЕУЛПМШЛП УЕТЧЙУОЩИ ЛПНБОД ПВЭЕЗП ОБЪОБЮЕОЙС, ФБЛЙИ ЛБЛ setenv . ьФП, Ч-РТЙОГЙРЕ, РПЪЧПМСЕФ ЧУА ТБВПФХ У РТЙМПЦЕОЙЕН PVM (РПУМЕ ФПЗП ЛБЛ ПОП УЛПНРЙМЙТПЧБОП) РТПЧПДЙФШ ФБЛ:
- ЪБРХУФЙФШ ЙОФЕТРТЕФБФПТ (БЧФПНБФЙЮЕУЛЙ ЪБРХУФСФУС ДЕНПОЩ),
- ЪБФЕН ЕЗП ЛПНБОДБНЙ ОБУФТПЙФШ PVM (ЛПНБОДЩ ОБУФТПКЛЙНПЦОП РПНЕУФЙФШ Й Ч ЖБКМ $HOME/.pvmrc )
- ЪБФЕН ЛПНБОДПК spawn ЪБРХУФЙФШ ТБВПФБФШ РТЙМПЦЕОЙЕ,
- ЛПОФТПМЙТПЧБФШ ИПД ЧЩРПМОЕОЙС ЛПНБОДБНЙ ps, pstat, mstat, jobs, . ,
- Й ЧЩКФЙ ЙЪ ЙОФЕТРТЕФБФПТБ ЛПНБОДПК halt ЙМЙ quit (БЧФПНБФЙЮЕУЛЙ ЧЩЗТХЪСФУС ДЕНПОЩ).
фБЛЙН ПВТБЪПН, ТБВПФБ У PVM ЮЕТЕЪ УРЕГЙБМЙЪЙТПЧБООЩК ЙОФЕТРТЕФБФПТ УФБОПЧЙФУС УИПДОПК У ТБВПФПК ОБ ПВЩЮОПК ьчн ЮЕТЕЪ ЙОФЕТРТЕФБФПТ *sh УП УМХЦЕВОЩНЙ ХФЙМЙФБНЙ, ЮФП, ЛПОЕЮОП ЦЕ, ДЕМБЕФ ТБВПФХ У PVM ВПМЕЕ РТЙЧЩЮОПК.
Источник