Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
open mp.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
54.17 Кб
Скачать
  1. Параллельді архитектураның классификациясы

Параллель есептеу жүйелерінің жалпы құрылу идеясын бөліп қарастыратын болсақ, онда тек екі класс қана қалатынын көреміз.

Бірінші класс – бұл ортақ (жалпы) жадылы компьютерлер. Осы принциппен құрылған жүйелерді әдетте мультипроцессорлық жүйелер немесе жай мультипроцессорлар деп те атайды. Жүйеге, ортақ жадыға қатынауға тең құқылы бірнеше процессорлар кіреді (12 сурет).

12 сурет. Ортақ жадылы параллель компьютерлер

Барлық процессорлар өзара жалпы жадыны «бөледі», осы себепті бұл класқа жататын компьютерлердің тағы бір атауы - бөлінген жадылы компьютерлер. Барлық процессорлар ортақ адрестік кеңістікте жұмыс істейді: егер бір процессор 1050 адресі бойынша, сөзде 61 мәнін жазса, онда басқа процессор 1050 адресінде орналасқан сөзді оқып, 61 мәнін қабылдап алады.

Екінші класс – бұл таратылған жадылы компьютерлер, кей кезде оларды мультикомпьютерлі жүйелер деп те атайды (13 сурет).

13 сурет. Таратылған жадылы параллель компьютерлер

Әрбір есептеу торабы өзінің процессорымен, жадысымен, енгізу/шығару ішкі жүйелерімен және операциялық жүйесімен бір бүтін компьютер болып саналады. Бұл жағдайда, егер бір процессор 1024 адресі бойынша 79 мәнін жазса, онда сол адрес бойынша басқа процессордың не оқығанына әсері жоқ, себебі, олардың әрқайсысы өз адрестік кеңістігінде жұмыс істейді.

Ортақ жадылы компьютерлерге Symmetric Multi Processors (SMP) класының барлық жүйелері жатады. SMP жүйесінде бірнеше процессорлардан басқасынан бәрі бір экземплярдан: бір жады, бір операциялық жүйе, бір енгізу/шығару бағыныңқы жүйесі. Архитектураның аталуындағы «симметриялық» сөзі, әрбір процессор басқа процессорлар атқара алатын барлық қызметті атқара алады дегенді білдіреді.

Қазіргі уақытта, көбіне SMP-ны ортақ жадылы компьютерлер үшін альтернативті атау ретінде қарастырады. Бұған SMP-ның мүмкін болатын екі шартбелгіні ашу нұсқасы да қосымша демеу болды: Symmetric Multi Processors және Shared Memory Processors.

  1. OpenMp негізгі принциптері

OpenMP интефейсі SMP-жүйелерінде (SSMP, ccNUMA және т.б.) бағдарламалау үшін стандарт ретінде ойластырылған. OpenMP стандартына компилятор директиваларының, көмекші функциялардың және орта айнымалыларының жиыны спецификациялары кіреді. Стандарт көптеген UNIX-платформаларында және Windows NT ортасында қолжетімділікке ие.

OpenMP параллель есептеулерді көпағындылық UNIX көмегімен іске асырады, онда «басты» (master) ағын «бағыныңқы» (slave) ағындардың жиынын құрады және есеп солардың арасында таратылады. Ағындар бірнеше процессорлы машиналарда параллель орындалады деп болжанады және онда процессорлар саны ағындар санынан үлкен немесе тең болуы міндетті емес.

Бастапқы уақыт мезетінде жіп-мастер (нить-мастер) немесе "басты" жіп туындайды және ол бағдарламаның орындалуын стартты нүктеден бастайды. Сонымен қатар ол тек өзі ғана бағдарламаның барлық тізбекті облыстарын орындайды.

Параллель облысқа енген кезде жіп-мастер қосымша жіптерді туындатады . Одан кейін әрбір қосымша жіп өзінің бірегей нөмірін алады, ал жіп-мастердің нөмірі әрқашан 0. Барлық қосымша туындаған жіптер пареллель облысқа сәйкес келетін бір кодты ғана орындайды. Параллель облыстан шығар мезетте басты жіп қалған жіптердің аяқталуын күтеді және бағдарламаның ары қарай орындалуын өзі ғана жалғастырады.

Параллель облыста бағдарламаның барлық айнымалылары екі класқа бөлінеді: жалпы (SHARED) және жергілікті (PRIVATE). Жалпы айнымалылар бағдарлама үшін әрқашанда бір экземплярда ғана болып, барлық жіптерге бір атпен ғана қолжетімді болады. Жергілікті айнымалыларды хабарлау әр жіп үшін әрбір айнымалының өз экземплярын туындатады. Жіптің өзінің жергілікті айнымалысының мәнін өзгертуі, басқа жіптердегі дәл осы жергілікті айнымалының мәнінің өзгеруіне ешқандай әсері жоқ. Негізінде, бағдарлама облыстарының соңғы қарастырылған түсініктері және айнымалылар кластары ОреnМР шеңберінде параллель бағдарламалар жазудың жалпы идеяларын анықтайды: бағдарлама текстінің кейбір фрагменттері параллель облыстар болып хабарланады; тек осы облыстар ғана жіптер жиынымен орындалады, ал олар жалпы айнымалылармен де жергілікті айнымалылармен де жұмыс істей алады.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]