Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Принципи організації паралелізму виконання машинних команд в процесорах

Реферат Принципи організації паралелізму виконання машинних команд в процесорах





м того, щоб повністю реалізувати можливості розширеного конвеєра, необхідно підвищити тактову частоту, а це, як ми знаємо, призводить до підвищеним енергоспоживанню і тепловіддачі. p> Нарешті, можна реалізувати багатопоточність. Перевага цієї технології полягає у введенні додаткового програмного потоку, дозволяє ввести в дію ті апаратні ресурси, які в іншому випадку простоювали б. За результатами експериментальних досліджень розробники Intel з'ясували, що збільшення площі мікросхеми на 5% при реалізації багатопоточності для багатьох програм дає приріст продуктивності на 25%. Першим процесором Intel з підтримкою багатопоточності став Хеоn 2002 року. Згодом, починаючи з частоти 3,06 ГГц, багатопоточність була впроваджена в лінійку Pentium 4. Intel називає реалізацію багатопоточності в Pentium 4 гіперпоточностью (hyperthreading). p> 7 Закон Амдала. Закон Густафсона

В 

7.1 Прискорення, ефективність, завантаження і якість


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

Розглянемо паралельне виконання програми з наступними характеристиками:

О (n) - загальне число операцій (команд), виконаних на n-процесорної системі;

Т (n) - час виконання О (n) операцій на n-процесорної системі у вигляді числа квантів часу.

У загальному випадку Т (n) <О (n), якщо в одиницю часу n процесорами виконується більш ніж одна команда, де n> 2. Приймемо, що в однопроцесорній системі T (1) = О (1). p> Прискорення (speedup), або точніше, середнє прискорення за рахунок паралельного виконання програми - це відношення часу, необхідного для виконання найкращого з послідовних алгоритмів на одному процесорі, і часу паралельного обчислення на n процесорах. Без урахування комунікаційних витрат прискорення S (n) визначається як

В 

Як правило, прискорення задовольняє умові S (n) n. Ефективність (efficiency) n-процесорної системи - це прискорення на один процесор, яке визначається виразом

В 

Ефективність зазвичай відповідає умові 1/n Е (n) n. Для більш реалістичного опису продуктивності паралельних обчислень необхідно промоделювати ситуацію, коли паралельний алгоритм може зажадати більше операцій, ніж його послідовний аналог.

Досить часто організація обчислень на n процесорах пов'язана з істотними витратами. Тому має сенс ввести поняття надмірності (redundancy) у вигляді

В 

Це відношення відображає ступінь відповідності між програмним і апаратним паралелізмом. Очевидно, що 1 R (n) n. p> Визначимо ще одне поняття, коефіцієнт корисного використання або утилізації (utilization), як

В 

Тоді можна стверджувати, що

В 

Розглянемо приклад. Нехай найкращий з відомих послідовних алгоритмів займає 8 с, а паралельний алгоритм займає на п'яти процесорах 2 с. Тоді:

S (n) = 8/2 = 4;

Е (n) = 4/5 = 0,8;

R (n) = 1/0, 8 - 1 = 0,25. p> Власне прискорення визначається шляхом реалізації паралельного алгоритму на одному процесорі.

Якщо прискорення, досягнуте на n процесорах, одно n, то кажуть, що алгоритм показує лінійне прискорення.

У виняткових ситуаціях прискорення S (n) може бути більше, ніж n. У цих випадках іноді застосовують термін суперлінейное прискорення. Дане явище має шанси на виникнення у двох наступних випадках:

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

Інша причина підвищеного прискорення ілюструється прикладом. Нехай нам потрібно виконати логічну операцію A1 v A2, де як A1 так і А2 мають значення В«ІстинаВ» з імовірністю 50%, причому середній час обчислення Ai, позначене як T (Ai), істотно розрізняється залежно від того, чи є результат істинним або хибним.

Нехай

В 

Тепер отримуємо чотири рівноймовірно випадку (Т - В«істинаВ», F - В«брехняВ»):


В 

Таким чином, паралельні обчислення на двох процесорах ведуть до середнього прискоренню:

В 

Зазначимо, що суперлінейное прискорення викликано жорсткістю послідовної обробки, так як після обчислення ще потрібно перевірити А2. До чинників, які обмежують прискорення, слід віднести:

- Програмні витрати. Навіть якщо послідовні і паралельні алгоритми виконують одні й ті ж обчислення, паралельним алгоритмам притаманні додаткові програмні витрати - додаткові індексні обчислення, неминуче виникають через декомпозиції даних і розподілу їх по процесорах; різні види облікових операцій, вимагаються у паралельних алгоритмах, але відсутні в алгоритмах послідовних.

- Витрати через дисба...


Назад | сторінка 20 з 23 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Кутова швидкість обертання і кутове прискорення. Прискорення руху вантажів ...
  • Реферат на тему: Прискорення дифузійних процесів з метою оптимізації операцій хіміко-термічн ...
  • Реферат на тему: Кутове прискорення Закон Авогадро. Закон збереження енергії
  • Реферат на тему: Прискорення оборотності грошових коштів
  • Реферат на тему: Товарооборачиваемости: аналіз та шляхи прискорення з метою збільшення прибу ...