Программалау тілдерінің синхронизациялау деңгейі Орындаған: Сұлтанғалиев Жалғасбек втко 301 Ақтқөбе 2023 Параллель программалау


Процессті құру және хабар беру функциясы C/C++/Fortran програмаларынан шақырылады. Негізгі функцияларды қарастырамыз



бет2/3
Дата04.03.2023
өлшемі25,72 Kb.
#71529
түріПрограмма
1   2   3
Байланысты:
Параллель программалау

Процессті құру және хабар беру функциясы C/C++/Fortran програмаларынан шақырылады. Негізгі функцияларды қарастырамыз:
pvm spawn-процесс тудырады
pvm send- белгіленген процесске асинхронды хабар береді.
pvmrecv-белгіленген процесстен немесе басқа кез келген процесстен бұғатталған қабылдау
pvmnrecv-бұғатталмаған қабылдау
pvmmcast-белгіленген процесстерге дерек жіберу.
Келесі функцияларды қолданып буферге/буферден буып түйеді/шешеді:
pvmpkint- бүтін сандарды (бір немесе одан көп) буып түйеді
pvmupkint- бүтін сандарды(бір немее одан көп) шешеді
pvm spawn функциясын толығырақ қарастырайық:
pvm spawn (char*task, char**argv,
int flag, char*where,
int ntask,int*tids);
task- туындалатын есеп атауы;
argv- соңында нольдік символы бар есептер параметрі
flag- нұсқалар(0 есептерді қай жерде туындалатынын анықтау
PVM-ге беріледі )
where- есептің қайда туындалатынын анықтайды
ntask-туындалатын есептердің көшірме саны;
tids- туындалатын есептер идентификаторы, int туындалған есептер санын қайтарады.
Буып-түюі/шешуімен қатар хабарды жіберу немесе алу үшін буферге келесі функцияларды қолданып орналастыру керек:
pvm initsend, pvm mkbuf, pvm setsbuf
pvm initsend(int encoding)-хабар беру үшін келісім бойынша ағымдағы буферді инициалдайды; әдетте кодтау үшін PvmdatdDefault-ны қолданады.
pvm mkbuf(int encoding)- жіберу үшін жаңа буфер құрады және идентификаторды қайтарады;
pvm setsbuf(int bufіd)- буферге жіберіп/алу үшін ағымдағы буферді bufіd атауымен орнатады;
pvm send (int tid, intmsgtag)
tid- хабар жіберуші идентификаторы;
msgtag- осы хабартегі
pvmsend топтық нұсқау tid пен идентификацияланған барлық есептерге хабар жібереді.
PVM-ге даярлау
Pvmspawn () функциясы үшін орындалатын функция белгілі бір каталогта болады.Linux-те есеп $PVM ROOT/bin/$PVM ARCH/ және $HOME/PVM/bin/$PVM ARCH каталогтарынан негізделеді.
PVM ROOT/usr/local/pvm/current жиынтығы.


Достарыңызбен бөлісу:
1   2   3




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет