Қазақстан респудликасы білім және ғылым министрлігі


№ 13-15  лабораториялық жұмыс



Pdf көрінісі
бет51/57
Дата06.01.2022
өлшемі1,9 Mb.
#14410
1   ...   47   48   49   50   51   52   53   54   ...   57
Байланысты:
Malikova Paralel

№ 13-15  лабораториялық жұмыс


PVM-де жұмыс. Ағындарды құру және PVM-де мәліметтерді параллель 

өңдеу.

Жұмыстың мақсаты: PVM  -   параллельді виртуальді машинасының жұмыс 

жасау  принципімен  танысу,  хабарламаларды  беру  және  процессті 

синхронизациялауға арналған кітапханалармен жұмыс жасау.

Материалдар және жабдықтар: ДК, параллельді есептеулер программалау 

ортасы, PVM кітапханасы.



Жұмыстың мазмұны және орындалу тәртібі:

1.

PVM жүйесін қондыру (1-әдіс).



Linux ОЖ-мен жұмыс жасайтын  компьютерге  PVM жүйесін қондыру үшін 

бума  құру  керек,  мысалы  /pvm3  бумасы  құрылсын.  Осы  бумада  tar  zxvf 



pvm3.3.4.tgz  архивтелген  файлын  ашу  керек.    PVM  қосылу  үшін  $PVM_ROOT

айнымалысына  буманың  жолын  көрсету  керек.  Командалық  қабықша  ретінде 



csh қолданылса, .cshrc файлына келесі командалық жолды қосу керек:

setenv PVM_ROOT=/pvm3 

Егер  командалық  қабықша  ретінде  sh  немесе  ksh қолданылса,  онда  .profile 

файлына келесі командалық жолды қосу керек:

export PVM_ROOT=/pvm3 

2-әдіс.  pvm_spawn()  функциясы  үшін  орындалатын  файл  қатаң  түрде  бумада 

сақталынады.    Linux  ОЖ-де    мына  каталогтар  пайдаланылады:

$PVM_ROOT/bin/$PVM  ARCH/  және 

$HOME/pvm3/bin/$PVM_  ARCH

PVM_ROOT/ usr/local/pvm/current

PVM-де  орындалу  үшін  aimk қолданылады,  сонда  master және    slave

компиляцияланады және байланысады.

PVM-ді  іске  қосу  үшін      pvmd.exe  –даемонды  пайдалану  керек.  Жаңа

компьютерлер  қосу  керек:  addhost  <хост  аты>.  Тапсырманы  орындау  үшін 

spawn->    командасы  орындалады  (консольдық  режим). PVM-ді

тоқтату exit командасының көмегімен жүзеге асады.

PVM    іске  қосу  үшін,  әрі  қарай    make  командасы  орындалады  да,  PVM 

жүйесінде жұмысты бастауға болады.

PVM-де  есептерді  басқару  белгілі  бір  функциялар  негізінде  жүргізіледі. 

Алдымен,  call  pvmfmytid(  tid  )  функциясы  шақырылады,  ол  идентификатор 

мәнін tid >= 0 қайтарады.

Әрі  қарай  есептің  қалған  бөлімдері  басқа  процессорларда  орындалады.  Ол  

мына функциялардың көмегімен іске асады:

call pvmfspawn( task, flag, where, ntask, tids, numt )

     task  - орындалатын файл аты;

     INTEGER flag   - іске қосу опциясы;

     where   - іске қосылатын орын;

     INTEGER  ntask – орындалатын программалар саны;

     INTEGER  tids  - мәндер массиві.

call pvmfkill( tid, info )- tid идентификаторымен жұмысты аяқтайды.

call pvmfexit( info )  - PVM жұмысын аяқтайды.




Хабарлама  жіберерден  бұрын  оны  мына  функциялар  көмегімен 

буферге орналастыру керек:

pvm_initsend (int encoding) – үнсіз келісім бойынша инициализациялайды; 

pvmrnkbuf  (int  encoding)  –  хабарламаны  орналастыратын  жаңа  буфер 

құрып, идентификаторды қайтарады;

pvm_setsbuf (int bufid) – ағымдағы  буферді хабарлама жіберуге дайындайды;

tid – хабарлама жіберетін есеп идентификаторы;

  msgtag – осы хабарлама тэгі;

  startAddress – бірінші бүтін сан адресі;

  nlnts – бүтін сандар саны;





Достарыңызбен бөлісу:
1   ...   47   48   49   50   51   52   53   54   ...   57




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

    Басты бет