Смекни!
smekni.com

Паралельноє програмирование (стр. 6 из 10)

end Ada.Synchronous_Task_Control;

Ідея монітора, яку запропонував Б. Хансен і розвинув С. Хо ґрунтується на об'єднанні змінних, що описують спільний ресуpc, і дій, які визначають засоби доступу до спільного ресурсу. Монітор - програмний модуль, що містить змінні та процедури роботи над ними, причому доступ до змінних можливий тільки

в процедурі.

Монітор - засіб розподілу ресурсів і взаємодії процесів Це назначення монітора реалізується за допомогою властивостей, якими наділені процедури монітора. Характерна особливість процедур монітора - взаємне виключення ними одне одного. У будь-який момент часу може виконуватися тільки одна процедура моні­тора. Якщо будь-який процес викликав і виконуй процедуру моні­тора. то жоден процес не може виконувати будь-які процедури цьо­го монітора. За спроби виклику іншим процесом процедури, що виконується, або іншої процедури монітора цей процес блокується і розміщується в черзі блокованих процесів доти, доки активний процес не закінчить виконання процедури монітора. Тобто в моні­торі не може "знаходитись" більше одного процесу. Така власти­вість процедур монітора забезпечує взаємне виключення процесів. які працюють з монітором.

Загальна структура монітора:

monitor ім'я Монітора;

-- Опис локальних даних

-- Опис процедур для доступу до даних begin

-- Ініціалізація локальних даних end ім'я Монітора;

У моніторі декларуються локальні змінні (спільні змінні), які захищені монітором, і процедури монітора. Значення локальних змінних можуть бути встановлені під час створення монітора. Далі значення цих змінних можуть бути прочитані або змінені процеса­ми тільки за допомогою процедур, визначених у моніторі.

Концепцію моніторів у новому стандарті мови Ада95 реалізо­вано у вигляді спеціальних програмних модулів - захищених мо­дулів (protected units). їх призначення - розши­рення можливості мови для програмування паралельних процесів. зокрема, для вирішення проблеми доступу до спільних ресурсів і синхронізації процесів. Крім того, захищені модулі забезпечують підтримку різних парадигм систем реального часу, для розроб­лення яких мову Ада використовують в першу чергу.

Спільні дані і операції над ними (захищені операції) об'єднуються в захищеному модулі, аналої ічно тому, як це робить­ся в інших модулях мови Ада- пакетах. Доступ до спільних ресур­сів можливий тільки через захищені операції, які мають властивості, що дозволяють вирішити завдання взаємного виключення під час роботи зі спільними ресурсами.

Як і всі модулі в мові, захищені модулі складаються зі специ­фікації і тіла.

PROTECTED [TYPE] імя _Захшценого_Модуля

[Дискримінант] IS

Опис_Захищених_Операцій

[PRIVATE]

Опис_Захищених_Елемєнтів

END імя_Захищєного_Модуля;

Захищені операції - це:

• захищені функції.

• захищені процедури,

• захищені входи.

Захищені функції забезпечують доступ тільки до читання захищених і елементів. Але дозволяють робити це одночасно всім процесам автоматичним копіюванням елементів, які зчитуються.

67

Це порушує головну властивість процедур монітора, яка дозволяє зна­ходитися в моніторі тільки одному процесу, але це ''порушення" дозволяє скоротити час доступу до захищених елементів і не має будь-яких наслідків, оскільки зміна даних заборонена і не викону­ється.

Захищені процедури забезпечують ексклюзивний доступ до захищених елементів через читання і запис.

Захищені входи забезпечують ті самі функції, що й захище­ні процедури, додатково реалізуючі за допомогою бар 'єрів екс­клюзивний (умовний) доступ до тіла захищеного входу. Це Дозволяє реалізувати за допомогою входів вирішення завдання синхронізації.

\

3 АПАРАТНИЙ КОМПЛЕКС

3.1 Компютерна система

Табл 3.1 Структура комп’ютерної системи.

Процесор: AMD PHENOM II X4 945(3.00GHz,AM3) 1213.00 Грн.
Материнська плата: AMD 780V 559 грн.
Оперативна пам'ять: DDR II 4GB PC6400 KINGSTONE(HYNIX) 1 115,80 грн.
Жорсткий диск: 500GB SATA II 16MB(WD,SEAGATE) 470.82 грн.
Відеокарта: onboard VGA(DVI) up to 512MB
CD: DVD-RW 184 грн.
Звук: 6-Channel HD Audio
Корпус ATX 400W FSP(CHIEFTEC) 4U 701 624,1
4166,72

3.2 Процесор

AMD PHENOM II X4 945(3.00GHz,AM3)

Лінійка Phenom II X4
Сокет AM3
Тактова частота 3000 Мгц
Частота шини HT
Коефіцієнт множення 15
Напруга на ядрі 0.875 B
Інструкції MMX, SSE, SSE2, SSE3, SSE4, 3DNow!
Підтримка AMD64/EM64T є
Підтримка NX Bit є
Підтримка Virtualization Technology є
Ядро Deneb
Кількість ядер 4
Техпроцесс 45 нм
Об'єм кеша L1 128 Кб
Об'єм кеша L2 2048
Об'єм кеша L3 6144
Типове тепловиділення 125 Вт
Максимальна робоча температура 62 °C
Додаткова інформація напруга на ядрі 0.875-1.5В

Табл 3.2 Характеристика процесора.

3.3 Системна плата ASUS| M3A78-CM| 6xSATA

Socket AM2+
Кількість сокетів для процесора 1
Системна шина HyperTransport
Підтримка багатоядерних процесорів Є
Підтримувані процесори AMD PhenomFX/Phenom/Athlon64 FX/Athlon64 X2/Athlon64/Sempron
Пам'ять DDR2 DIMM, 533 - 1066 Мгц
Кількість слотів пам'яті 4
Максимальний об'єм пам'яті 8 Гб
Підтримка двоканального режиму є
Слоти розширення 1xPCI-E 16x, 1xPCI-E 1x, 2xPCI
Підтримка PCI Express 2.0 є
Ethernet 1000 Мбіт/с
S-ATA кількість слотів: 6, S-ATA II, RAID: 0, 1, 10
IDE кількість слотів: 1, ULTRADMA 133
Звук 7.1CH, HDA
Вбудований відеоадаптер Є
Роз'єм живлення процесора 4-pin
Наявність інтерфейсів 12xUSB 2.0, вихід S/PDIF, 1xCOM, LPT, D-Sub, DVI, Ethernet, PS/2 (клавіатура)
Роз'єми на задній панелі 6xUSB 2.0, D-Sub, DVI, Ethernet, PS/2 (клавіатура)
Основний роз'єм живлення 24-pin
Форм-фактор mATX
Чіпсет AMD 780V
Підтримка SLI/CrossFire Hybrid CrossFireX
BIOS AMI з можливістю аварійного відновлення

Табл 3.2 Характеристика системної плати.

3.4 Оперативна память

Hynix DDR2-800 4096MB PC6400 (HMP351U6AFR8C-S6)

Об'єм пам'яті 4 ГБ
Тип пам'яті DDR2 SDRAM
Частота пам'яті 800 Мгц
Ефективна пропускна спроможність 6400 Mб/с
Схема таймінгів пам'яті CL6

Табл 3.3 Характеристика оперативної памяті.

3.4 Жорсткий диск

Вінчестер SATA 500 GB WD WD5000AAKS 16MB 7200rpmА

Ємкість 500 Гб
Час включення 11 сек
Тип підшипників Гідродинамічний (FDB).
Інтерфейс SATA-II (Сумісно з SATA-I або SATA150 контроллерами)
Буфер 16 Мб
Швидкість обертання шпинделя 7200 оборотов/хв.
Середній час доступу 8.9 мс (читання), 10.9 мс (запис)
Час переходу з доріжки на доріжку 2 мс
Швидкість обміну між носієм і контроллером до 972 Мбіт/сек
Рівень шуму 28 дБ (А) в режимі чекання, 33 дБ (А) - Seek Mode, 29 дБ (А) - Seek Mode 3
Максимальні перевантаження 65G тривалістю 2 мс при роботі; 300G тривалістю 2 мс у вимкненому стані
Пропускна спроможність інтерфейсу 300 Мб/сек
Живлення Від SATA коннектора живлення.
Вжиток енергії 8.77 Вт (чтение/запись), 8.4 Вт (у режимі чекання)

Табл 3.4 Характеристика вінчестера.

3.5 Корпус

Корпус ATX 400W FSP(CHIEFTEC) 4U 701

5.25" 4 шт
3.5" зовнішні (для FDD,CardReader) 1шт
3.5" внутрішні (для HDD) 5шт
Додатково
USB 2.0 виходів - 2шт
Audio роз`єм(мікрофон, навушники) 2шт
Блок живлення ATX 450 Вт кулер 120мм (SATA)
Розміри:
высота*глубина*ширина (мм) 430*480*200

Табл 3.5 Характеристика корпусу

4РОЗРОБКА ПРОГРАМ

4.1 Задача

Реалізація множення матриці на матрицю у чотирьох процесорній системі із спільною пам’яттю (рис. 4.1) з використання захищеного модуля мови Ада.

Вхідні дані:

комп’ютерна система зі спільною пам’яттю, яка включає чотири процесори і два пристрої введення-виведення (рис. 2.1);

математичне завдання: реалізації множення матриці на матрицю і вектора на матрицю

;

де MА, МB, МC – вектори розмірності N.

введення вектора MВ виконується в процесорі Т2, введення матриці МС виконується в процесорі Т1, виведення результату – матриці МА – у процесі Т1.

Етап 1. Побудова паралельного алгоритму. Паралельний алгоритм можна подати у вигляді

(4.1)

де

- Н елементів матриці MB, MA.

Співвідношення (4.1) визначає дії у кожному процесорі системи під час виконання обчислень.

Спільним ресурсом у рівнянні (4.1) є MC.