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

Автор работы: Пользователь скрыл имя, 20 Июня 2013 в 06:31, контрольная работа

Краткое описание

Щоб підвищити продуктивність в сто, тисячу або мільйон разів, необхідно звести воєдино численні процесори і забезпечити їх ефективну взаємодію. Цей принцип реалізується у вигляді великих націнок систем і мультикомп’ютерів (кластерних комп'ютерів). Природно, об'єднання тисяч процесорів в єдину систему породжує нові проблеми, які потрібно вирішувати.
Нарешті, останнім часом з'явилася можливість інтеграції через Інтернет цілих організацій. У результаті формуються слабо пов'язані розподілені обчислювальні сітки, або грати.

Содержание

Вступ ……………………………………………………………………...........
3
1.
Закон Амдала, теоретичне і реальне зростання продуктивності при розпаралелювані обчислень

1.1
Проблема зростання продуктивності при розпаралелювані обчислень ...
4
1.2
Виішення проблеми зростання продуктивності при розпаралелювані обчислень…………………………………………………………………….
5
Висновок .................................................................................................................
7
Список використаної літератури ………………………………………….......
8

Вложенные файлы: 1 файл

Організація інфомаційно-обчислювальних процесів.doc

— 110.50 Кб (Скачать файл)

Луцький інститут розвитку людини

Університету "Україна"

 

 

 

 

Кафедра комп’ютерних технологій

 

 

 

 

Дата реєстрації   "____"   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 Система формування черги  на базі апаратного прискорювача.

 

Висновок

Розвиток обчислювальної техніки характеризується тим, що на кожному етапі розробки нових  вимоги до продуктивності значно перевищують можливості елементної бази.

Це обумовлено завданнями складних систем управління в реальному  часі, централізованим вирішенням завдань  в мережах, імітаційним моделюванням складних процесів (наприклад, в ядерній  фізиці), оперативним плануванням і управлінням. Такі завдання вимагають концентрації обчислювальних потужностей, постійно підтримуючи високу актуальність проблеми створення супер-ЕОМ.

Домогтися підвищення продуктивності комп'ютерів тільки за рахунок збільшення тактової частоти стає все складніше, тому що з'являється проблема відведення тепла. Тому розробники звернули свою увагу на паралелізм як на засіб прискорення обчислень. Паралелізм може вводитися на різних рівнях, як на самих нижніх, де елементи дуже жорстко пов'язані один з одним, так і на верхніх, де зв'язки вельми слабкі.

Паралелізм на рівні  команд має місце, коли обробка декількох  команд або виконання різних етапів однієї і тієї ж команди може перекриватися  в часі.

 

Список використаної літератури:

  1. Мураховский В.И. Устройство компьютера - Москва ,2003
  2. Корнеев В.В. Вычислительные системы.-М.:Гелиос APB, 2004.-512с., ил.- с. 34-46
  3. Головкин Б.А. Параллельные вычислительные системы. - М.: Наука, 1980. - 518 с
  4. http://knowledge.allbest.ru/programming/2c0b65635b3ac78a5d53a88521216d27_3.html
  5. http://knowledge.allbest.ru/programming/3c0b65625a3bc68a5d43b88521206d27_0.html



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