Программа дисциплины для студентов


Лекция. Процестер мен синхрондау. Аппараттық синхронизациялау деңгейі



бет12/45
Дата06.01.2022
өлшемі0,76 Mb.
#12433
түріБағдарламасы
1   ...   8   9   10   11   12   13   14   15   ...   45
6 Лекция. Процестер мен синхрондау. Аппараттық синхронизациялау деңгейі.



  • Параллель бағдарламалар күйі.

  • Параллель бағдарламалар іс-әрекеті мен тарихы.

  • Параллель бағдарламалар қасиеттері.

Параллель бағдарламаның күйі уақыттың кейбір сәттеріндегі бағдарламаның айнымалылар мәндерінен тұрады. Айнымалылар бағдарламалаушымен айқын анықталған немесе күйі туарлы жасырын ақпаратты сақтайтын айқын емес (әрбір процестің бағдарламалық есептегіш сияқты) түрде болады. Параллель бағдарлама орындауды кейбір бастапқы күйде бастайды. Бағдарламаның әрбір процесі тәуелсіз орындалады және орындалуына қарай ол бағдарлама күйін тексереді және өзгертеді.

Берілген тарауда тізбекті және параллель программалаудың аксиомалық семантикасында қысқаша шолу келтірілген. Параллель программаларда пайда болатын жаңа фундаментальды мәселе - өзара ықпал ету мүмкіндігі. Оны жоюдың 4 әдісі сипатталады: қиылыспайтын айнымалылар жиыны, нашарлаған тұжырымдар, кең ауқымды инварианттар және синхрондау. Процесстерді синхрондаудың негізгі құралдары құрасытылады: тосқауылдар, блоктар, семафорлар, мониторлар. Осы құралдардың практикада қолданылуы көрсетілген.

Параллель бағдарламалар күйі, әрекеті, тарихы және қасиеттері

Параллель программаның күйі белгілі бір уақыттағы программа айнымалысының мәндерінен тұрады. Айнымалыларды программист айқын анықтауы және айқын емес (әрбір процесстің программалық санауышы ретінде), олар күйдің жасырын ақпараттарын сақтайды (Gregory R. Andrews, 2002). Параллель программа белгілі бір алғашқы күйде орындала бастайды. Программаның әрбір процесі тәуелсіз орындалады, және орындалуына қарай программаның күйін тексереді және өзгертеді.

Процесс операторлар тізбегін орындайды. Оператор өз кезегінде бөлінбейтін амалдар тізбегін орындайды. Бұл амалдар программаның күйін бөлмей тоексереді және өзгертеді. Бөлінбейтін амалдар мысалына жады сөздерін жүктейтін және сақтайтын үздіксіз машиналық инструкциялар жатады.

Параллель программаның орындалуы әрбір процесс орындайтын бөлінбейтін амалдар тізбегінің алмасуына алып келеді. Әрбір программаның нақты орындалуын тарих s0→s1→...sn деп қарастыруға болады, мұндағы s0 – бастапқы күйі. Күйлер арасындағы ауысулар күйлерді өзгертетін бөлінбейтін амалдар арқылы жүзеге асырылады. Тарихты да күйлердің тізбегінің трассасы деп атайды. Параллель орындауды сызықтық тарих түрінде көрсетуге болады, себебі бөліебейтін амалдар жиынтығын праллель орындау олардың белгілі бір ретпен орындалуына эквивалентті. Бөлінбейтін амалдармен шақырылған күйлердіғ өзгеруі бөлінбейді, және, сондықтан оған осы уақытта пайда болатын бөлінбейтін амалдар әсер ете алмайды.

Параллель программаның әрбір орындалуы тарих тудырады. Тривиальды программалардан өзге барлық программалар үшін мүмкін тарихтар саны аса көп, өйткені кез-келген процесстің бөлінбейтін амалы келесі тарих болуы мүмкін. Яғни, программаның орындалуы бір ғана алғашқы күйден басталса да амалдарды ауыстырудың әдістері көп.

Синхрондаудың мақсаты – параллель программаның күтпеген тарихын шығарып тастау. Өзара шығарып тастаулар бөлінбейтін әрекеттердің араласып келуінде, олар тізбекті бөлінбейтін сым секциялары деп аталатын аппараттық жасаумен іске асырылады.

Олар бөлінбейтін болуы керек, яғни оларды сол айнымалыларға нұсқайтын басқа процесстердің әрекетімен үзуге болмайды.

Шарт бойынша синхрондау (шартты синхрондау) күй белгілі логикалық шартты қанағаттандырғанда әрекет іске асырылады. Синхрондаудың екі түрі де келесі кезектегі бөлінбейтін әрекеттер жиынын шектей отырып процесстерді тоқтатуы мүмкін.



Достарыңызбен бөлісу:
1   ...   8   9   10   11   12   13   14   15   ...   45




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

    Басты бет