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


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



Pdf көрінісі
бет62/82
Дата06.01.2022
өлшемі11,68 Mb.
#15553
1   ...   58   59   60   61   62   63   64   65   ...   82
Байланысты:
malikova narbekova paral

№ 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   ...   58   59   60   61   62   63   64   65   ...   82




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

    Басты бет