19482

Паралельні компютерні архітектури

Доклад

Информатика, кибернетика и программирование

Паралельні комп'ютерні архітектури Швидкість роботи комп'ютерів стає все вище а й вимоги до них постійно зростають. Астрономи намагаються відтворити всю історію Всесвіту з моменту великого вибуху і до сьогоднішнього дня. Фармацевти хотіли б розробляти нові лікарськ

Украинкский

2013-07-12

42.8 KB

2 чел.

Паралельні комп'ютерні архітектури

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

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

В результаті, щоб мати можливість вирішувати більш складні завдання, розробники звернулися до комп'ютерів паралельної дії (далі - паралельні комп'ютери). Неможливо побудувати комп'ютер з одним процесором і часом циклу в 0,001 не, але зате можна побудувати комп'ютер з 1000 процесорами, час циклу кожного з яких складає 1 не. І хоча швидкодії кожного процесора в другому випадку очевидно мало, теоретично ми повинні отримати необхідну продуктивність.

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

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

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

Нарешті, останнім часом з'явилася можливість інтеграції через Інтернет цілих організацій. В результаті формуються слабо пов'язані розподілені обчислювальні сітки, або грати. Такі системи тільки починають розвиватися, але їх потенціал досить високий.

Коли два процесори або обробних елемента знаходяться поруч і обмінюються великими обсягами даних з невеликими затримками, вони називаються сильно пов'язаними (tightly coupled). Відповідно, коли два процесори або обробних елемента розташовуються далеко один від одного і обмінюються невеликими обсягами даних з великими затримками, вони називаються слабо пов'язаними (loosely coupled). У цьому розділі ми обговоримо принципи розробки систем цих форм паралелізму і розглянемо ряд прикладів. Почавши з сильно пов'язаних систем, для яких характерний внутріпроцессорний паралелізм, ми поступово перейдемо до слабо зв'язаних систем і в завершальній частині голови поговоримо про розподілених обчислювальних системах. Приблизний спектр розглянутих тим ілюструє рис. 8.1.

 

Рис. 8.1. Внутріпроцессорний паралелізм (а); співпроцесор (б); мультипроцессор (в); мультікомпьютер (г); слабо пов'язана розподілена обчислювальна система (д)

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


 

А также другие работы, которые могут Вас заинтересовать

69062. Форматирование чисел в XSLT 204 KB
  XSLT предоставляет мощные возможности для форматирования строкового представления чисел при помощи функции format-number и элемента xsl:decimal-format. Запись функции имеет следующий вид: строка format-number(число, строка-формата, имя-decimal-format)
69063. Розподiлена архітектура компонентних систем 1.78 MB
  Архітектура – це набір значущих рішень з приводу організації системи програмного забезпечення, набір структурних елементів та їх інтерфейсів, за допомогою яких компонується система, разом з їх поведінкою, обумовленою у взаємодії між цими елементами, компонування елементів у підсистеми, що поступово...
69064. Архітектура веб-застосувань ASP.NET. Розробка веб-застосувань на платформі .NET 273.54 KB
  Вона містить безліч готових елементів керування застосовуючи які можна швидко створювати інтерактивні webсайти.NET Frmework і фактично є платформою для створення вебзастосувань і вебсервісів що працюють під керуванням IIS. Також істотно скорочується обсяг коду написаного уручну за рахунок...
69065. Основи технології ASP.NET 604 KB
  Принципи розробки користувацького інтерфейсу Інтернет-застосувань. Питання побудови користувацького інтерфейсу є одними з найважливіших у процесі розробки застосування. У разі розробки Веб-застосування, вони є особливо актуальними, оскільки процес створення користувацького інтерфейсу...
69066. Архітектура ADO.NET 351 KB
  На початку 1990 років існувало декілька постачальників баз даних, кожен з яких мав власний інтерфейс. Якщо застосуванню було необхідно підключатися до кількох джерел даних, для взаємодії з кожною з баз даних був необхідний нестандартний код.
69067. Основи технології ADO.NET. Автономні дані 269.5 KB
  Коли застосовується цей підхід, дані виключають будь-які операції з ними у сховище в момент їх вилучення. Код застосування повністю відстежує всі дії користувача, зберігання інформації та визначення того, коли нова команда повинна бути сгенерирована і виконана.
69068. Основи прив’язки даних 872.5 KB
  Прив’язка даних – це засіб, який дозволяє асоціювати джерело даних з елементом керування з метою автоматичного відображення даних у цьому елементі керування. Ключовою характеристикою прив’язки даних є її декларативний, а не програмний характер.
69069. Користувацькі елементи керування 263 KB
  Він охоплює елементи керування інкапсулює базові HTMLдескриптори і елементи керування що забезпечують багату високорівневу модель такі як календар TreeView і елементи керування даними. Але навіть самий багатий набір елементів керування не в змозі задовольнити потреби кожного розробника.
69070. Крос-платформне програмування 286.5 KB
  Крос-платформність (багатоплатформність) — можливість виконувати програмне забезпечення (ПЗ) без переписування його коду на різних апаратних платформах та під управлінням різних операційних систем (інакше кажучи, на платформах різних ОС).