Автор работы: Пользователь скрыл имя, 20 Июня 2013 в 06:31, контрольная работа
Щоб підвищити продуктивність в сто, тисячу або мільйон разів, необхідно звести воєдино численні процесори і забезпечити їх ефективну взаємодію. Цей принцип реалізується у вигляді великих націнок систем і мультикомп’ютерів (кластерних комп'ютерів). Природно, об'єднання тисяч процесорів в єдину систему породжує нові проблеми, які потрібно вирішувати.
Нарешті, останнім часом з'явилася можливість інтеграції через Інтернет цілих організацій. У результаті формуються слабо пов'язані розподілені обчислювальні сітки, або грати.
Вступ ……………………………………………………………………...........
3
1.
Закон Амдала, теоретичне і реальне зростання продуктивності при розпаралелювані обчислень
1.1
Проблема зростання продуктивності при розпаралелювані обчислень ...
4
1.2
Виішення проблеми зростання продуктивності при розпаралелювані обчислень…………………………………………………………………….
5
Висновок .................................................................................................................
7
Список використаної літератури ………………………………………….......
8
Луцький інститут розвитку людини
Університету "Україна"
Кафедра комп’ютерних технологій
Дата реєстрації "____" 2013 р. Варіант № 10
КОНТРОЛЬНА РОБОТА
з дисципліни:
Організація інформаційно-обчислювальних процесів
Виконав:
ст.гр. Пзз(с)-1.1
Макарук Є.В.
Перевірив:
викладач
_________________
ЛУЦЬК 2013
Зміст
Вступ …………………………………………………………………….... |
3 | |
1. |
Закон Амдала, теоретичне і реальне зростання продуктивності при розпаралелювані обчислень |
|
1.1 |
Проблема зростання продуктивності при розпаралелювані обчислень ... |
4 |
1.2 |
Виішення проблеми зростання продуктивності при розпаралелювані
обчислень……………………………………………………… |
5 |
Висновок .............................. |
7 | |
Список використаної літератури …………………………………………....... |
8 |
Вступ
Розробники комп'ютерів прагнуть до того, щоб підвищити продуктивність своїх машин. Один із способів змусити процесори працювати швидше - підвищення їх тактової частоти, однак при цьому існують технологічні обмеження. Тому більшість розробників для підвищення продуктивності при даній тактовій частоті процесора використовують паралелізм (виконання двох або більше операцій одночасно).
Існують дві основні форми паралелізму: паралелізм на рівні команд і паралелізм на рівні процесора. У першому випадку паралелізм реалізується за рахунок запуску великої кількості команд кожну секунду. У другому випадку над одним завданням працюють одночасно кілька процесорів. Кожен підхід має свої переваги.
Паралелізм можна вводити
на різних рівнях. На найнижчому рівні
він може бути реалізований в процесорі
за рахунок конвеєризації і
На наступному рівні можливе впровадження в систему зовнішніх плат ЦП з поліпшеними обчислювальними можливостями. Як правило, в підключаються процесорах реалізуються спеціальні функції, такі як обробка мережевих пакетів, обробка мультимедійних даних, криптографія. Продуктивність спеціалізованих додатків за рахунок цих функцій може бути підвищена в 5-10 разів.
Щоб підвищити продуктивність в сто, тисячу або мільйон разів, необхідно звести воєдино численні процесори і забезпечити їх ефективну взаємодію. Цей принцип реалізується у вигляді великих націнок систем і мультикомп’ютерів (кластерних комп'ютерів). Природно, об'єднання тисяч процесорів в єдину систему породжує нові проблеми, які потрібно вирішувати.
Нарешті, останнім часом з'явилася можливість інтеграції через Інтернет цілих організацій. У результаті формуються слабо пов'язані розподілені обчислювальні сітки, або грати.
1. Закон Амдала, теоретичне і
реальне зростання родуктивності при
розпаралелювані обчислень
1.1 Проблема зростання продуктивності при розпаралелювані обчислень
Закон Амдала - ілюструє обмеження зростання продуктивності обчислювальної системи із збільшенням кількості процесорів/ядер.
Джин Амдал сформулював закон
в 1967 році, виявивши просте по суті, але
непереборне з утримання
Залежність зростання продуктивності можна знайти за даною формули:
Де N - кількість процесорів, a - частина алгоритму, яка може бути виконана тільки послідовно, отже 1 - a - частина, яка може бути виконана паралельно.
Якщо весь алгоритм може бути виконаний паралельно, то P = 1 / (0 + (1 / N)) = N, тобто в цьому випадку приріст продуктивності безпосередньо залежить від кількості процесорів.
На рисунку 1 відображено залежність кількості ядер та приріст продуктивності.
Рис.1. залежність прирісту продуктивності від кількості ядер/процесорів.
1.2 Вирішення проблеми зростання продуктивності при розпаралелювані обчислень
Всі дослідження в області паралельного програмування сходяться в одному: одних тільки програмних рішень недостатньо - необхідні зміни на апаратному рівні. Компанія Intel в рамках проекту Anaphase пропонує новий метод: розширений варіант програмного компілятора розділяє програми (у тому числі ті, які не підтримують паралелізації) на різні потоки інструкцій і передає їх спеціальному обчислювальному блоку, який розташований поруч з ядрами CPU і управляє доступом до пам'яті.
Більш комплексний підхід використовується у системі Explicit Multi-Threading (ХМТ), автором якої є професор Мерілендського університету передових комп'ютерних досліджень Узі Вішкін. Він доповнив мову програмування Сі командами Spawn і Join. Spawn активує режим паралельних обчислень, в якому процесором можуть оброблятися одночасно кілька потоків. Одночасно з цим Spawn задає кількість потоків, які можуть виконуватися паралельно, a Join завершує роботу даного режиму. Те, як проводиться обробка коду, є завданням апаратної частини.
Узі Вішкін створив прототип комп'ютера, всі ядра якого отримують доступ до великої кеш-пам'яті з високою пропускною здатністю. Одне з ядер бере на себе управління потоками і виконує код, який працює в послідовному режимі.
Ефективним важелем, що дозволяє спростити управління процесами, є механізм організації черг, заснований на апаратній прискоренні (рис. 2). Черговість - головний аспект програмування, її метою є поділ коду програми на якомога більшу кількість потоків. Однак список черг зберігається не в самому CPU, а в кеш-пам'яті. Учасники проекту Hardware-Accelerated Queueing (апаратне прискорення організації черг) університету Північної Кароліни мають намір впровадити блок керування потоками в CPU, що дозволить ядру безпосередньо управляти своєю чергою.
Рис. 2 Система формування черги на базі апаратного прискорювача.
Висновок
Розвиток обчислювальної техніки характеризується тим, що на кожному етапі розробки нових вимоги до продуктивності значно перевищують можливості елементної бази.
Це обумовлено завданнями складних систем управління в реальному часі, централізованим вирішенням завдань в мережах, імітаційним моделюванням складних процесів (наприклад, в ядерній фізиці), оперативним плануванням і управлінням. Такі завдання вимагають концентрації обчислювальних потужностей, постійно підтримуючи високу актуальність проблеми створення супер-ЕОМ.
Домогтися підвищення продуктивності комп'ютерів тільки за рахунок збільшення тактової частоти стає все складніше, тому що з'являється проблема відведення тепла. Тому розробники звернули свою увагу на паралелізм як на засіб прискорення обчислень. Паралелізм може вводитися на різних рівнях, як на самих нижніх, де елементи дуже жорстко пов'язані один з одним, так і на верхніх, де зв'язки вельми слабкі.
Паралелізм на рівні команд має місце, коли обробка декількох команд або виконання різних етапів однієї і тієї ж команди може перекриватися в часі.
Список використаної літератури: