Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Параллельные вычисления лекция(Шалданбаев).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
602.62 Кб
Скачать

3.1.2. Хабар беру мультикомпьтері және үлестірілген жадылы мультикомпьютерлер

бұл компьютерлік жүйелер байланыс жүйелері арқылы өзара байланысқан компьютерлер жиыны.

Әрбір компьютерлер поцессор мен жергілікті жадыдан тұрады. Жады компьютерлер арасында үлестірілген.

Әрбір компьютердің өз адрестік кеңістігі бар. Поцессорлар үшін өзара байланыс бір-біріне хабар беру немесе алу арқылы қамтамасыз етіледі. Хабарларға басқа поцессорлардың есептеуіне қажетті деректер кіруі мүмкін.

Сонымен, берілген жүйеде кэш пен жадының келісушілік проблемасы тумайды. Үлестірілген жадылы микрокомпьютер 5-суретте көрсетілген.

Байланыс желісі

Хабар

Процессор

Жергілікті жады

Компьютерлер

5-сурет. Хабар беру көппроцессорлы жүйесінің моделі (мультикомпьютерлер).

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

Жұмыс станциясы жиынынан тұратын желілік жүйе көбінесе жұмыс станциясының желісі (NOW – network of workstations) немесе жұмыс станциясының кластері деп аталады (COW – cluster of workstions). Барлық жұмыс станциялары өзара байланысты бір немесе бірнеше қосымшаларды орындайды. Үлестірілген жадысы немесе бірнеше қосымшаларды орындайды. Үлестірілген жадысы бар қымбат емес мультипоцессор құрудың кең тараған әдісі Beowulf машинасын жинау. Ол базалық ақпараттық жасау және Pentium поцессорның чипсеттері, желілері, дискілері және Linux операциялық жүйесі сияқты ақысыз программалардан тұрады.

Үлестірілген жадылы мультикомпьютерлердің өте кең комбинациясы – бөлінетін жүйесі сияқты жадыны қолдайтын машина.

Мұндай типті мультикомпьютерлердің программалауға бірнеше әдістермен жетуге болады:

● Арнайы параллель программалау тілін жобалау (мысалы, Occam параллель программалау тілі),

● Хабар жеткізуді өңдеу үшін тізбекті жоғары деңгейлі тілдің түйінді сөздерін кеңейту (мысалы, С++, Фортран HPF);

● Бар тізбекті жоғары деңгейлі тілді қолдану және хабар беру үшін сыртқы процедуралардың кітапханасын жасау (мысалы, PVM, MPI).

Келесі тарауда программалаудың осы әдістеріне толығрақ тоқталамыз.

4-лекция

Параллель компьютерлер типтері. Флинн таксономиясы. Жаңа таксономия құру спецификациясы.

4.1. Флинн таксономиясы

Бір поцессорлы компьютерлерде деректерге амалдар қолданылатын бір командалар ағыны программа арқылы генерацияланады. Бұл схеманы 1972 жылы Стэфорд университетінің процессоры Флинн ойлап тапты. Оның классификацилау схемасын Флинн таксономиясы деп атажы (Flynn, 1966, 1995).

Флинн таксономиясына сәйкес компьютерлік жүйелер командалар ағыны және деректер ағыны сандарымен классификацияланады (6-сурет).

● SISD (Single Instruction Single Data): бір командалар ағыны және бір деректер ағыны;

● SIMD (Single Instruction Multiple Data): бір командалар ағыны және көп деректер ағыны;

● MIMD (Multiple Instruction Multiple Data): көп командалар ағыны және көп деректер ағыны;

● MISD (Multiple Instruction Single Data): көп командалар ағыны және бір деректер ағыны;

Деректер ағының саны

Single Multiple

SISD SIMD

MISD MIMD

Single

Командалар ағынының саны

Multiple

6-сурет. Флинн таксономиясы

Осы келтірілген компьютерлер конфигурациясының әрбіреуі қарастырамыз:

SISD – бір командалық ағыны бір деректер ағыны

SISD компьютер әдеттегі тізбекті комиьютерді сипаттайды (7-сурет).

Басқа модулі

Өңдеу модулі

К оманда

Нәтиже

Деректер

7-сурет. SISD құрымылыим.

Бір командалар ағыны және бір деректер ағыны бар машина мысалы:

● CDC 6600 көптеген функционалдық модулдері бар;

● CDC 7600 конвейерлік арифметикалық модулдері бар;

●Cray-1 векторлық өңдеуді қолдайды.

SIMD моделі бір командалар ағыны және көптеген деректер ағыны.

Бұл модельде бір ған командалар ағыны бар, әрбір процессор сол командалар жиынынан кейін жүреді және әртүрлі функционалдық элементтері бар көптеген деректер ағыны әрбір процессор арасында үлестіріледі.

SIMD компьютерлер үлестірілген жадылы.

Мұндай құрылымының жалпы түрі 8- суретте көрсетілген:

Басқару модулі

Команда

Өңдеу модулі

Д еректер Нәтиже

Өңдеу модулі

Д еректер Нәтиже

Өңдеу модулі

Д еректер Нәтиже

8-сурет. SIMD құрылымы

Берілген құрылымда барлық элементар процессорлар біруақытта бірдей команданы орындайды және синхронды бірге «аяқ басады». Әрбір процессор өзінің жеке жадысының деректерімен жұмыс істейді және сондықтан деректердің әртүрлі ағынымен жұмыс істейді.

Әрбір процессорға келесі команда әрекет жасалғанға дейін команда орындалуын аяқтауға мүмкіндік берілуі керек. Командалардың орындалуы синхронды.

SIMD модельді компьютерлер мысалы:

● ILLIAC-IV;

● BSP;

● MPP;

● Conection Machine (CM 1).

SIMD компьютерлер нейтрондық желілер типті параллель қосымшалар үлестірілген деректер үшін жиі қолданылады.

MIMD көп командалар ағыны және көп MIMD компьютер әрбіреуінің өзінің жеке басқару блогы бар, көптеген байланысқан элементар процессорлардан тұрады (9-сурет).

Процессорлар өзінің жеке жеке деректеріне өзінің жеке командаларымен әсерін тигізеді. Әртүрлі процессорлар орындаған есептер әртүрлі уақытта босатылып немесе аяқталуы мүмкін. Олар SIMD компьютерлернідегі сияқты бірге «аяқ баспай» асинхронды орындайды.

MIMD құрылымды компьютерлер үлестірілген жадылы, немесе жалпықатынау жадысын бірлесіп қолдануы мүмкін. Мұндай компьютерлер мысалы:

● Cray-2, S1;

● Cray X-MP;

● IBM 370/168 MP, iPSC.

Ж

Е

Л

І

Команда

Деректер

Команда

Нәтиже

Деректер

Нәтиже

9-сурет. MIMD модуль

MIMD SPMD SIMD

5-6-лекция

Параллель программалау тиімділігін бағалау. Орындалу уақыты, жылдамдату коэффициенті, орындау шығына, қызмет көрсету бағасы, тиімділігі. Амдал заңы. Густафсон заңы.

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

Процестер мен синхронизация

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

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