Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Жалпы ақпарат. ОЖ-де ағымдар есептеулердi параллельдерге бөлу құралы ретінде пайда болды



ОЖ-де ағымдар есептеулердi параллельдерге бөлу құралы ретінде пайда болды.

Әрбір процесс әрқашан кем дегенде бір ағыннан тұрады, егер ішкі параллелизм болса, онда программалаушы бір ағынды бірнеше параллельге бөліп тастай алады. Ағымдарға деген қажеттілік бірпроцессорлық есептеуші жүйелерде туды, өйткені олар есептемелерді неғұрлым тиімді ұйымдастыруға мүмкіндік берді. Ортақ жадысы бар көппроцессорлық жүйелердің артықшылықтарын қолдану үшін ағындар міндетті түрде керек. Өйткені олар параллельдерге бөлінетін есептерді орындауды тездетумен қатар процессорлық элементтер бос тұрмас үшін оларды жұмыспен жүктейді. Ағымдардың өзара әсерлесуін минимумға жеткізу керек, өйткені параллель ағымдарды қатар орындау кезінде синхрондау және және мәлімет алмасу әрекеттерінен үдеу минимумға кетуі мүмкін. Әрбір ағын қатаң рет-ретімен орындалады, өздерінің программалық санауышы және стектері бар. Ағымдар процестер сияқты ұрпақ-ағын тудыра алады. Әрбір ағын активті күйлердің бірінде болуы мүмкін. Бір ағын блокта тұрғанда (немесе орындауға дайын программалардың кезегінде тұрғанда), сол процестің басқа ағыны орындалып жатуы мүмкін. Мысалы, ағымдар процессорлық уақытты әдеттегі процесстер сияқты қадағалаудың түрлі нұсқаларына сәйкес бөледі. Ағымдарды қолдану параллель есептемелер арқасында жүйе өнімділігін көтеруге ғана байланысты емес, сонымен қатар жақсы оқылатын, логикасы жоғары программалар құру мақсатында да қолданылады. Бірнеше орындаушы ағымды қодану программалауды жеңілдетеді.

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

P={P1, Р2,..., Рn } процестер және Е={Е1 Е2,..., Еm} ресурстар жиыны болсын делік, мұнда n және m-сәйкесінше процестер және ресурстар жиыны. Кез келген уақыт мезетінде кейбір ресурстар бос болмауы мүмкін, сәйкесінше қол жетімсіз.

А=(А1 А2,..., Аm) векторы - қол жетімді ресурстар векторы болсын. Сонымен қатар Аj<=Ej қатынасы орындалсын, мұнда j=l, 2,..., m.

Сонымен қатар екі матрица қарастырылады:

C={cij}, i=1,2,…,n; j=1,2,…,m – бір мезеттегі ресурстарды бөлу матрицасы, мұнда cij – Pі процесін алатын j-нші кластағы ресурстардың саны;

R={rij}, i=1,2,…,n; j=1,2,…,m – сұралатын ресурстар матрицасы, мұнда rij – Pі процесін алғысы келетін j-нші кластағы ресурстардың саны;

Ресурстар бойынша m қатынас айқын:

, мұнда j=1,2,…,m. (7.1)

Өзара блокталуды анықтау алгоритмі қол жетімді және қажетті ресурстар векторын салыстыруға негізделген. Бастапқы күйде барлық процестер белгіленбеген. Алгоритмді іске асыру барысында процестерге «жұмысын бітіреді» деген белгі қойылады, яғни олар тығырықта емес. Алгоритмді бітіргеннен кейін кез келген белгіленбеген процесс тығырықтық күйде болады.

Тығырықты анықтау алгоритмі келесі қадамдардан тұрады:

1) R матрицасының і-нші жолы А векторынан кіші болатындай Pі процесі ізделеді, яғни Rі<=Aj немесе rij<Aj, мұнда j=1,2,…,m.

2) Егер ондай процесс табылса, бұл оның аяқталатындығын және ол ресурстарды босататынын білдіреді. Табылған процесс белгіленеді, С матрицасының і-ші жолы А векторына қосылады, яғни Аj= Аjij, мұнда j=1,2,…,m және 1-ші қадамға қайту орындалады.

3) Егер ондай процесс болмаса, онда алгорим жұмысы аяқталады, ал белгіленбеген процестер тығырыққа түседі.

Көрсетілген алгоритмді көпресурстық жүйелерде тығырықтық күйді және блокталған процестерді анықтау есептерін шешуде қолдануға болады.





Дата публикования: 2015-10-09; Прочитано: 489 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...