Паралельні та розподілені методи обчислення
Комп’ютери із NUMA архітектурою. Класифікація паралельних комп’ютерів і систем. Способи паралельної обробки. Закони Амдала та методи декомпозиції. Принципи побудови паралельних алгоритмів. Рекурсивна, спекулятивна, дослідницька та гібридна декомпозиція.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | украинский |
Дата добавления | 24.01.2012 |
Размер файла | 376,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Паралельні та розподілені методи обчислення
- Вступ
- Великі та надвеликі задачі - це такі задачі, розв`язок яких за допомогою комп'ютера неможливо знайти або він буде не актуальним на момент вирішення задачі. Приклад: створення кліматичної моделі землі; розробка ядерної зброї; задачі аеродинаміки; розшифровка геному людини. Паралельний описує процеси дійні факти і стани, які відбуваються одночасно і не залежить один від одного.
- Паралельні обчислення - сукупність питань, що відноситься до ресурсів паралелізму в процесі вирішення цих задач та управлінню реалізації паралелізму з метою досягнення найбільшої ефективності використання комп'ютерної техніки.
- Головний вектор розвитку комп'ютерних систем - це підвищення її ефективності, яка вимірюється у MIPS (мільйон операцій з плаваючою крапкою за одну секунду). Сумарну продуктивність арифметико логічних пристроїв ОС називається пікових ресурсів ОС, це теоретичне поняття не враховує тимчасових витрат. Реальна продуктивність - це продуктивність якої сягає ОС під час виконання конкретної операції. Реальна продуктивність не може перевищувати пікову, її наближення до пікового говорить про ефективність роботи ОС(відношення реальної до пікової).
- Класи паралельно обчислювальних систем в залежності від архітектури:
- 1. комп'ютери із загальною пам'яттю або мультипроцесорні системи. Комп'ютер працює з одним єдиним адресним простором
- Размещено на http://www.allbest.ru/
- 2. комп'ютери з розподіленою пам'яттю або мультикомп'ютерні системи. Кожен обчислювальний вузол є повноцінним комп'ютером з своїм процесором, пам'яттю, системою вводу виводу та операційною системою.
- Размещено на http://www.allbest.ru/
- Два класи паралельно, обчислювальних систем відображають 2 основні задачі паралельних обчислень: 1 - побудова обчислювальних систем - це легко дозволяють зробити паралельно розподілені системи; 2 - пошук методів розробки ефективного програмного забезпечення для паралельно обчислювальних систем. Дана задача легко розв'язується в системах із загальною пам'яттю, за рахунок того, що обмін інформацією через загальну пам'ять швидше, і програмувати легше. Недолік - обмеження з технологічних причин.
- Структури зв`язку між процесорами
- Процесори та модулі пам`яті системи мають бути зв'язані через комунікаційні системи, мають відповідати наступним критеріям:
- 1. забезпечувати високу колективність, гарантувати зв'язок між будь-якими елементами ОС без потреби переходу через проміжні пункти комутації; має забезпечуватись найбільша кількість одночасних зв'язків. Проте існують різноманітні обмеження на реалізацію цих критерій: кількість ліній зв`язку на один процесор не може збільшуватись безмежно, ширина частотного пропускання каналу теж обмежена. Витрати на виготовлення системи ліній зв'язків на один елемент та витрати під час експлуатації (дистанція між процесорних елементів). Отже дистанція між двома ПМ має бути якомога меншою а структура зв`язку має бути масштабованою.
- Структури зв'язку поділяються на 3 класи.
- Найпростіший спосіб «сітка» зв'язку, який базується на використання загальної шини, до якого під'єднаний, як процесорні елементи так і модулі пам'яті. Використовується спеціальна схема арбітражу, яка допомагає виключити помилки з'єднання.
- Размещено на http://www.allbest.ru/
- Недолік: шина стає вузьким місцем, тому перейшли до 2 способу зв'язку: сітки з комутаторами.
- Размещено на http://www.allbest.ru/
- Кожний процесорний елемент має н-1 пункт комутації, оскільки діагональні елементи не потребують з'єднань. Загалом дана сітка має н*(н-1) пунктів комутації і дає можливість встановити будь-яку кількість з'єднань, тобто можливий повність паралельний обмін даних. Суттєвим недоліком є витрати на його побудову, тобто число н процесорів з'єднувати таким способом обмежено.
- Дельта сітки. Щоб зменшити сітки порядку (н квадрат), які виникли під час побудови сітки з звичайними комутаторами, використовуються дельта мережі, які базуються на використанні дельта-перемикача.
- Размещено на http://www.allbest.ru/
- За допомогою таких перемикачів можна побудувати більш об'ємні мережі, при цьому потреби у комутаторах зменшуються і будуть дорівнювати (n*logn)/2.
- Структури, які забезпечують прямі зв'язки між процесорними елементами. Розглянемо статичні структури, при цьому n - кількість процесорів, V- кількість ліній зв'язку на кожен процесор, A - максимальна відстань між процесорами.
- Топологія кільце:
- Топологія граф:
- Топологія решітки:
- Тор - це замкнений варіант решітки.
- Гіпер-куб нульової вимірності - це єдиний елемент; вимірності і+1 виникає з двох гіперкубів вимірності і, причому всі елементи об'єктів, що взаємодіють з'єднані між собою.
- V=log2(N);
- А= log2(N);
- В порівнянні топології з'єднань можливо тільки на основі показників В і А. В залежності від умов застосування одна топологія може бути краща за іншу. Бажано щоб системи дозволяли динамічно змінювати топологію мереж.
Комп'ютери із NUMA архітектурою
Класифікація Флінина: (1966) - базується на поняття потоку, під яким розуміється послідовність команд. На основі числа потоків команд даних флін виділяє 4 класи архітектури:
1. STS (single Instruction Stream) - до цього класу відносяться машини фоннеймінського типу, в яких дані обробляються послідовно один за одним.
УУПК ПРПЄ ПДП
2. SIMD - у архітектурі подібного класу зберігається один потік команд (векторні операції), що дозволяють виконувати одні і ті самі операції над багатьма даними. Частіш за все - це матриці процесорів, які отримають результат від пристроїв керування і виконують операції.
Способи паралельної обробки
Незважаючи на різноманітність форм проявлення паралелізму способів паралельної обробки існують лише 2:
1. чистий паралелізм
2. конвеєрна обробка
Чистий паралелізм. Приклад: нехай нам потрібно знайти суму двох двох-розрядних векторів. Є пристрій додавання, який виконує одну операцію за 5 тактів.
C=A+B.
Размещено на http://www.allbest.ru/
Чистий паралелізм полягає у прямому збільшенні об'єктів. В загальному випадку тривалість роботи, це l*n, де l - довжина вхідних векторів, а n - кількість тактів, за яких виконується операція. Система з N векторів виконає цю саму роботу на час tn=l*n/N.
Конвеєрна обробка. Приклад:
Размещено на http://www.allbest.ru/
Кожна частина конвеєрного пристрою називається кроком конвеєра, а загальна частина кроків - довжиною конвеєра. Якщо конвеєрний пристрій містить Л кроків, а кожен крок спрацьовує за час Т, то час обробки Н незалежних операцій буде дорівнювати Л+Н-1. якщо цей пристрій використовувати в монопольному режимі як послідовний, то цей час складе Л*Н. якщо знайти співвідношення, то при Нбезмежності =Л. команда у якої всі операнди є скалярні величини називається скалярною. Якщо хоча б один операнд вектор, то така команда називається векторною. При використання векторних команд у формулі з`являється ще один операнд сігма - це час ініціалізації векторної команди. Оскільки ні сігма ні Л не залежить від довжини вектора, то із збільшенням довжини вхідних векторів, ефективність конвеєрної обробки зростає. Під ефективністю розуміємо реальну ефективність, яка дорівнює відношенню загальної кількості операції до сумарного часу виконання. Можна отримати такі результати:
Пар = n/t=n/((l-n+б-1)/tt)=1/(l*tt/n-tt+б*tt/n-tt/n),
де tt - це тривалість роботи системи.
E=1/(tt+tt/n*(l+5-1))1/tt;
Закони Амдала
Будь-яка обчислювальна система є сукупність функціональних пристроїв, які працюють в часі. Оцінимо її за допомогою наступних характеристик, для цього введемо ряд понять:
Функціональний пристрій називається простим, якщо жодна наступна операція не може починатися поки не закінчилася попередня. На відміну від простого, конвеєрний функціональний пристрій розподіляє своє обладнання для реалізації декількох операцій. Простий ФП завжди можна вважати конвеєрним з довжиною конвеєра = 1.
Вартість - час реалізації операції, а вартість роботи - сума всіх вартості операції.
Завантаженістю пристрою на даному відрізку часу назвемо відношення вартості виконаної роботи до максимально можливої вартості. 0<=p<=1.
Має місце твердження 1. максимальна вартість роботи, яку можна виконати за час Т, для простого функціонального пристрою дорівнює Т, а для конвеєрного пристрою з довжиною м, то максимальна вартість буде м*Т.
Назвемо реальною продуктивністю систему пристроїв, кількість операції реально виконаних в середньому за одиницю часу. Піковою продуктивністю незважатимемо максимальну кількість операцій, яка може бути виконана за одиницю часу, нехтуючи втратами при передачі. Отже як реальна так і пікова продуктивність в цілому є сума в цілому реальних і пікових продуктивностей всіх складових систем.
Твердження 2. нехай система складається з s пристроїв, які працюють з піковими продуктивностями від і1 до іs, тоді реальна продуктивність системи буде дорівнювати
П=сума(рі*Пі).
Прискорення - нехай алгоритм реалізується за час Т на обчислювальної системи з s пристроями, які мають пікові продуктивності від І1 до Іs, і зв'язані наступними співвідношення: P= прискорення реалізації алгоритму на даній обчислювальній системі,
R=Ппар/Ппосл.
Як видно з формули, прискорення системи, яка складається з S пристроїв ніколи не перевищує S і досягає S лише в тому випадку, якщо всі S пристрої працюють з однаковою продуктивністю і є повністю завантаженими. Розглянемо систему з S пристроїв. Побудуємо мультограф, в якому вершини символізують пристрої, а ребра - зв'язки між ними. Дугу з однією вершини в іншу проводимо лише в тому випадку, якщо результат спрацьовування однієї вершини виступає аргументом для спрацьовування іншої вершини. Будемо називати цей граф - графом системи. Дослідимо максимальну продуктивність системи.
Твердження 3. нехай система складається з S пристроїв з піковими продуктивностями від П1..ПS, то максимальна продуктивність системи визначається формулою: Смах= SПмін.
Rmax=S?тип
Тобто продуктивність системи визначається найнепродуктивнішим елементом
Припустимо, що всі пристрої зручні та універсальні. Нехай на такій системі реалізується певний алгоритм, а сама реалізація відповідає якісь його паралельній формі. Допустимо, що висота форми рівна m, ширина q, а всього виконується N операцій. Тому в цій системі, максимально можливе прискорення буде не більше ніж N/m. Тобто мінімальне число пристроїв системи, при якому може бути досягненим максимально можливе прискорення рівне ширині алгоритму.
З певних причин н операцій ми вимушені виконувати послідовно. Одна з основних причин послідовного виконання операцій - це в'язанні за даними. Введемо поняття b=n/N - частка послідовних обчислень.
2-й закон Амдала. Нехай система складається з S універсальних пристроїв. Припустимо, що при виконанні паралельного алгоритму всі пристрої завантажені повністю, тоді
R=S/(bS+(1_b)).
Позначимо через p - пікову продуктивність. Якщо система складається з S пристроїв однакової продуктивністю, то прискорення системи буде рівна сумі всіх завантажених пристроїв. Якщо виконуються всі N операцій, то bN - кількість послідовних операцій виконуються на першому пристрою. Загальна кількість паралельних операцій (1-b)N/S. R=sum(pi). Всього алгоритм реалізується за час T1=(bN+(1-b)*N/S)/p. На паралельній частині алгоритму працює як перший так і решта алгоритмів, витрачаючи час
T1=((1-b)*N/S)/p.
P1=1
Pi=((1-b)*N/S)/(b*N+(1-b)*N/S).
R=sum(pi)=1+sum( ((1-b)*N/S)/(b*N+(1-b)*N/S) )=…=S/(bS+(1-b)).
Якщо система складається з однакових універсальних пристроїв то при будь-яких режимах роботи максимальне прискорення не може перевищувати b.
Принципи побудови паралельних алгоритмів
декомпозиція алгоритм комп'ютер
Паралельний алгоритм - це інструкція по розв'язання заданої задачі на процесорних елементів. Для його проектування необхідно:
1. ідентифікувати режими роботи, які можуть виконуватись одночасно
2. відобразити ці частини на множині процесів
3. розподілити вхідні, вихідні і проміжні дані асоційовані з програмою
4. реалізувати керування доступом до даних
5. синхронізувати роботу процесів на всіх етапах.
Процес розподілу обчислень можуть бути …. декомпозиції
Задачі - це виділені програмістом модулі, на які поділене основне завдання за допомогою декомпозиції. Задачі можуть мати довільний розмір, але визначені 1 раз або розсіюються як неподільні.
Граф залежності задач - це ациклічний граф, в якому вузли являють собою задачі, а дуги вказують залежність між ними. Граф може бути роз'єднаний, і множина може бути пустою.
Обробка запиту до бази даних.
ID |
MODEL |
YEAR |
color |
…… |
|
1 |
Livie |
2002 |
Blue |
||
2 |
Covolla |
1999 |
While |
||
3 |
Camry |
2001 |
Green |
||
4 |
livie |
2001 |
White |
||
5 |
Acerod |
2000 |
Green |
||
6 |
Givie |
2001 |
Red |
Select * from T1 where
Model = “Civic” and Year=2001
And (Color=”Green” or Color=”White”)
Результат декомпозиції запитом зображений на рис.3. один із шляхів розв'язку задач:
Размещено на http://www.allbest.ru/
Число задач, на які розбите вхідне завдання визначає ступінь деталізації декомпозиції. Декомпозицію на велику кількість задач називають мілко модульною, і на невелику кількість об'ємних задач - крупно модульною. Ту ж саму задачу можна деком позувати по різному. Якщо об'єднувати в одне завдання кілька модулів, то отримаємо крупно модульною декомпозицією. Поняття пов'язане з ступенем декомпозиції - це ступінь паралелізму та мах число задач, які можуть бути виконані паралельною програмою одночасно, відомою як максимальною ступенем паралелізму. Більш корисний - це середній ступінь паралелізму, ступінь залежить від форми графа залежності задач. І той самий ступінь декомпозиції не гарантує ту ж саму ступінь декомпозиції паралелізму.
Sp=w/t; Q=Sp/p;
w - кількість операцій; t - висота; р - процесори
Найдовший направлений шлях між початкової пари та кінцевого вузлів називається критичним шляхом. Модель взаємодії задач фіксується графом взаємодії задач. Його вершини - це задачі, а ребра зв'язують лише ті задачі, які взаємодіють. Вершини і ребра можуть бути пропорційно до кількості пропозицій і … ребра зазвичай не орієнтовані, вони можуть бути одно направлення, коли існує один напрямок задачі. Масив ребер є над множиною масиву ребер ГЗЗ. Для прикладу №1 граф взаємодії задач ідентичний графу залежності задач.
Приклад розрідженого векторно-матричного множення
Матрицю називають розрідженою, якщо більшість її елементів є нульовим а локалізація ненульових елементів не відповідають певній структурі. Такі операції легко передаються оптимізації.
0 1 2 3 4 5 6 7 8 9 10 11
* |
* |
* |
* |
|||||||||
* |
* |
* |
* |
* |
||||||||
* |
* |
* |
* |
* |
||||||||
* |
* |
* |
||||||||||
* |
* |
* |
* |
* |
||||||||
* |
* |
* |
* |
* |
* |
|||||||
* |
* |
* |
||||||||||
* |
* |
* |
* |
|||||||||
* |
* |
* |
* |
* |
* |
|||||||
* |
* |
* |
* |
* |
||||||||
* |
* |
* |
||||||||||
* |
* |
Механізм, згідно з яким задача призначають процеси на виконання називають картою процесів. Вона будується на основі графів залежності та взаємодії задач. Здається, що ідеальна карта буде сформована, якщо в певній задачі буде поставлено у відповідність певний процес.
Методи декомпозиції
Декомпозиція - один із фундаментальних кроків розпалалелювання задач.
Існують наступні методи декомпозиції:
1. рекурсивний
2. декомпозиція даних
3. дослідницька декомпозиція
4. спекулятивна декомпозиція.
Перші 2 методи призначені для розв'язку широкого розв'язку задач і є універсальними. Спекулятивна і дослідницька декомпозиція є спеціалізоване і вузько напрямлене.
Рекурсивна декомпозиція
Це метод для виявлення паралелізму в задач, які можуть бути розв'язані за допомогою методу «розподіляйте та володарюйте». При використанні цієї методики на першому етапі завдання розподіляються на набір незалежних задач. На кожному наступному етапі відбувається подальша деталізація задач за цим самим принципом. Саме за такою схемою декомпозуються більше задач сортування. Приклад: знаходження мінімального елементу з масиву чисел. {7,3,10,6,8,1,2,9}. Розіб'ємо масив на пару елементів:
7 3 10 6 8 1 2 9
3 6 1 2
3 1
1
Декомпозиція за даними
Часто застосовуваний спосіб для виявлення паралелізму в задачах, які оперують великими задачами. 2 етапи:
- дані над якими виконується обчислення розділяються
- попереднє секціонування використовується для розбиття на окремі задачі. Як правило ці задачі є подібними.
Декомпозиція за даними буває декількох типів:
- за вихідними даними - такий тип розподілу задач можливий, коли кожний вихідний елемент може бути обчислений як функція входу не залежно від решти вихідних елементів. Приклад матричного множення
| A11 A12| * | B11 B12| = | C11 C12|
| A21 A22| * | B21 B22| | C11 C12|
розподіл за вхідними даними. Він може бути здійснений лише в тому випадку, якщо кожен вихідний результат є функцією від вхідних даних, але секціонування з вхідними даними неможливе. Приклад: знаходження мінімуму, максимуму функції.
- Декомпозиція за проміжними даними.визначаються як багатоступінчасті обчислення, результат одного завдання є входу до решти, зазвичай призводять до більш високого ступеня розпаралелювання, але частіш за все не існують. Розглянемо повторно приклад матричного множення:
| A11|| * | B11 B12|
| A21|
… = | C11 C12|
| A12| * | B21 B22| | C11 C12|
|A22|
Дослідницька декомпозиція
Вона використовується, щоб секціонувати завдання, які передбачають декілька шляхів знаходження розв`язку (існує простір для рішень). Приклад «задача 15». Задача типово розв'язується використовуючи методи пошуку дерева, набір просторових конфігурацій можна розглядати як граф, кожен вузол графа - це конфігурація, а ребра сполучають конфігурації, які можуть бути отримані єдиним рухом клітинки.
1 |
2 |
3 |
4 |
|
5 |
6 |
7 |
8 |
|
9 |
10 |
12 |
||
13 |
14 |
11 |
15 |
|
1 |
2 |
3 |
4 |
|
5 |
6 |
7 |
8 |
|
9 |
10 |
12 |
||
13 |
14 |
11 |
15 |
|
1 |
2 |
3 |
4 |
|
5 |
6 |
8 |
||
9 |
10 |
7 |
12 |
|
13 |
14 |
11 |
15 |
|
1 |
2 |
3 |
4 |
|
5 |
6 |
7 |
8 |
|
9 |
10 |
12 |
||
13 |
14 |
11 |
15 |
…
Аномальні прискорення
Tпар=м Апар=4м tпар=1
Tпосл=м Апосл=м tпосл=3м+1
Апар=4; Апосл=3м
Размещено на http://www.allbest.ru/
Перевагою дослідницькій декомпозиції є у пришвидшенні знаходження результату порівняно із послідовним алгоритму, хоча іноді в залежності від локалізації результату, час роботи між паралельним і послідовним алгоритмом буде однаковим, а об'єм роботи буде більшим.
Недолік: надлишкова завантаженість апаратної частини, оскільки лише одна гілка принесе вірний результат.
Спекулятивна декомпозиція. (або пан або пропав)
При спекулятивній декомпозиції, розробником вибирається най ймовірніший шлях вирішення задач і виконується обчислення цієї гілки наперед. Якщо розробник вгадав шлях розвитку подій, то результати обчислень використовуються і ми отримуємо прискорення виконання алгоритму. Якщо ж ні, обчислення згортаються, і виконуються по новій. Плюс - це виграш в часі по успішному ризику.
Концепція машин потоків даних
Всі існуючі ЕОМ бувають двох типів.
Размещено на http://www.allbest.ru/
В комп'ютерах архітектури Фоннеймона вносять …
Особливість - наявність черги команд для АЛП та оперативна пам'ять з адресацією. Саме вини стають вузьким місцем при намаганні виконати завдання паралельно. Тому був запропонований вченим Дейсом принцип машин потоків даних, який анулює ці риси, і дозволяє виявити весь паралелізм, який закладений в завданні без обмежень.
Принцип МПД
Принцип базується на правило «запалювання». Як тільки обчислені всі операнди які необхідні для її виконання, викликається команда. Команда для якої ця умова виконана називається команда, що спрацювала. Ефект спрацьовування призводить до поглинання вхідних значень і видачі вихідних. Оскільки доступних обчислених операндів дозволяє одночасне виконання декількох операторів, то паралельність дії є внутрішньою властивістю схем потоків даних. Зразок: розвязок знаходження розвязку квадратного рівняння:
Ax2+bx+c=0
D=b2-4ac
X1,2=(-b+sqr(d))/2a
|o0 -b+sqr(D)
|o0 x1
|o0 x2
1. b2 4a -b 2*a
2. 4a*c
3. b2-4ac
4. sqr(D)
5. -b+sqr(D) -b-sqr(D)
6. x1 x2
Обчислення в МПД
Машина потоків даних не працює з адресами пам'яті, в якій знаходяться певні величини. Вона оперує поняття змінної, яка представляє собою самостійний об'єкт і носить назву Token. Якщо токен - це аналог змінної, то автор - це аналог операцій над змінними. Обчислення відбуваються наступним чином: токени передаються між токенами, і коли автор отримає всі дані то він активізуються і він спалює вихідні дані і породжує токени результату і одразу пересилаються наступному автору. Програма МПД може бути представлена як дводольний орієнтований граф вузлами якого є автори, а дуги вказують шлях по яким між авторами передаються токени. Розглянемо основні елементи машин потоків даних.
Перша група - це основні лінії зв'язку. Вони бувають двох типів:
Размещено на http://www.allbest.ru/
Рис2 а - для передачі передачі даних
Асинхронна паралельність
Відповідно до двох класів паралельної обробки розрізняють синхронну та асинхронну паралельність. Процеси, як привило виконують великі за обміном задачі, оскільки деталізація до арифметичних виразів призводить до великих накладних витрат на синхронізацію, а це знижує ефективність паралельної програми. З цією причиною асинхронна паралельність називають великоблокове програмування. Асинхронні моделі паралельності відповідають ЕОМ - МІМД структури. Процесори - це самостійні машини, які можуть виконувати програми, незалежності одна від одної. В залежності від архітектури, вони можуть мати локальну пам'ять, або звертатись до глобальної пам`яті.
Асинхронне паралельне програмування є складним і дуже прийнятна до помилок. Вини пов'язані із невдалою синхронізацію і призводить до виникнення наступних типів помилок.
Размещено на http://www.allbest.ru/
Після виконання паралельної організації відношення між даними стає несумісним, в тому випадку, якщо воно не дорівнює числу, отриманому при послідовному виконанні цих самих задач.
Типи помилок:
1. витрачення модифікація даних - ця помилка залежить від часу, це нескоординована робота процесора.
2. несумісний аналіз -
3. взаємоблокування. Є два типи блокувань: DeadLock - описує стан, в якому всі процеси блоковані і не можуть вийти з стану блокування. У випадку LiveLock - процеси активні, тобто виконують операції, наприклад очікування.
4. балансування завантаження процесора. Невмілий розподіл по процесорах призводить до втрати ефективності. Існує 2 види розподілу процесора: 1) статичний - на момент виконання програми перерозподіл не відбувається, недолік - нерівномірний розподіл процесора. 2) динамічний - перерозподіл під час виконання програми. Існують три способи керування міграцією процесора:
- ініціатива адресації - метод ефективний у разі високої завантаженості процесора
- ініціатива відправника. Ініціюють спробу віддати частину підпорядковану їм процесів іншим процесам.
- Гібридний - перехід від ініціативи адресата до ініціативи відправника.
Переваги та недоліки методів балансування завантаженості:
- процесор завантажується рівномірну продуктивність зростає
- запобігання циркуляційної міграції процесів.
- Недолік: навантаження на комутаційну мережу.
- Недолік: всі методи балансування завантаженості вступають в роботу надто пізно, коли вже йдуть втрати ефективності.
Синхронна паралельність
У разі синхронної паралельності процесори, що використовуються працюють за єдиною для них командою від центральнокеруючого процесу в однакові моменти часу. Процесори не можуть функціонувати незалежно, оскільки при синхронній паралельності існує лиш один керуючий потік команд. Оскільки такий підхід має свої недоліки і обмеження, але дозволяє інтегрувати за рахунок спрощеної побудови велике число процесорів, тому ще одна назва синхронної паралельності - це масивний паралелізм. Оскільки в системі з десятка тисяч процесорів, але один керуючий потік команд, відповідно жодної синхронізації не потрібно, а це спрощує програмування для спрощених систем. Архітектура, яка відповідає для синхронної паралельності є SIMD.
Паралельні процесорні елементи не виконують своєї програми а отримують від керуючий ЕОМ. З особливості архітектури випливають певні обмеження:
1. процесорні елементи не можуть виконувати різні операції в один момент часу. Двоетапне виконання команд if є неефективним.
Віртуальні процесори
Про певних задач навіть об'єму процесорів SIMD машин недостатньо, тому використовують віртуальні процесори, концепція яких аналогічно концепції віртуальної пам'ять. Користувачу виділяються всі необхідні процесори, ті процесори, яких не вистачає то відображаються віртуально як фізичні процесори. Незважаючи на обмеження, за рахунок використання і поєднання великої кількості процесорів, вони є широко використовуваними.
Размещено на Allbest.ru
Подобные документы
Функціонально розподілені системи. Паралельні комп’ютери та їх продуктивність. Методи розподілення доступу до спільної пам’яті в багатопроцесорних системах. Системи з розподіленою пам’яттю. Класичні матричні системи, метакомп’ютери та трансп’ютери.
курсовая работа [485,9 K], добавлен 20.06.2010Аналіз паралельного обчислення, під яким розуміють сукупність питань, що відносяться до створення ресурсів паралелізму в процесах вирішення задачі з метою досягнення більшої ефективності використання обчислювальної техніки. Другий та третій закони Амдала.
реферат [127,2 K], добавлен 13.06.2010Історія виникнення квантових комп’ютерів. Структура квантових комп’ютерів та принципи роботи. Квантовий комп’ютер на ядерних спінах у кремнію. Квантовий комп’ютер на електронному спіновому резонансі в структурах Ge–Si. Надпровідниковий суперкомп’ютер.
курсовая работа [579,4 K], добавлен 15.12.2008Поняття пам’яті в комп’ютері. Класифікація сучасних персональних комп’ютерів за їх ознаками. Основні принципи будови та функціонування комп'ютерних систем. Функціональність смартфонів і комунікаторів в порівнянні із звичайними мобільними телефонами.
курсовая работа [70,3 K], добавлен 31.01.2014Стандарти OpenMP i MPI як основні засоби програмування для багатопроцесорних систем. Розробка програми паралельного розрахунку інтеграла для функції з певним кроком дискретизації, паралельної програми множення квадратної матриці на квадратну матрицю.
курсовая работа [2,5 M], добавлен 11.12.2013Класифікація систем комп’ютерної графіки, її різновиди та сфери використання. Міні-комп’ютери як зменшена версія магістральних. Загальна структура і функції комп’ютерної графіки. Растрова графіка, класифікація, призначення і функції її прикладних систем.
контрольная работа [12,5 K], добавлен 12.10.2010Описання видів загроз безпеки інформації. Комп’ютерні віруси як особливий клас руйнуючих програмних дій, їх життєвий цикл та стадії виконання. Засоби і методи захисту інформації у комп’ютерних системах, механізм їх дії. Класифікація антивірусних програм.
курсовая работа [48,9 K], добавлен 28.09.2011Способи виявлення й видалення невідомого вірусу. Спроби протидії комп’ютерним вірусам. Способи захисту комп’ютера від зараження вірусами та зберігання інформації на дисках. Класифікація комп'ютерних вірусів та основні типи антивірусних програм.
реферат [17,1 K], добавлен 16.06.2010Технологія OpenMP як найпопулярніший засіб програмування комп'ютерів із загальною пам'яттю. Типи конструкцій OpenMP: функції виконуючого середовища OpenMP, директиви pragma. Аналіз параметрів операційного середовища OpenMP, особливості типів блокувань.
реферат [397,2 K], добавлен 09.06.2012Принцип роботи конвеєрних комп’ютерних систем. Опис можливостей паралельної обробки інформації обчислювальною системою. Конвеєрна обробка на кожному з рівнів. Розширення трирівневої моделі паралелізму засобами опису потенційних можливостей конвейєризації.
лабораторная работа [44,0 K], добавлен 21.10.2014