- •Зміст вступ
- •Розділ 1. Основні поняття
- •1. Загальні питання розв’язку "великих задач"
- •2. Сучасні задачі науки і техніки, необхідні для розв’язку суперкомп’ютерних потужностей
- •3. Паралельна обробка даних
- •3.1 Принципова можливість паралельної обробки
- •3.2 Абстрактні моделі паралельних обрахунків
- •3.3. Способи паралельної обробки даних, похибки обчислень
- •4. Поняття паралельного процесу і гранули розпаралелювання
- •5. Взаємодія паралельних процесів, синхронізація процесів
- •6. Можливе прискорення при паралельних обрахунках (закон Амдаля)
- •Висновки
- •Список використаних джерел
- •Додатки
Зміст вступ
Ще на зорі комп'ютерної ери, приблизно в середині минулого століття, конструктори електронно-обчислювальних машин задумалися над можливістю застосування паралельних обчислень в комп'ютерах. Адже збільшення швидкодії тільки за рахунок вдосконалення електронних компонентів комп'ютера - досить дорогий спосіб, який, до того ж, стикається з обмеженнями, що накладаються фізичними законами. Так паралельна обробка даних і паралелізм команд були введені в конструкцію комп'ютерів і зараз будь-який користувач "персоналки", можливо, сам того не знаючи, працює на паралельному комп'ютері.
Однією з помітних тенденцій розвитку людства є бажання максимально строго моделювати процеси навколишньої дійсності з метою як покращення умов життя в сьогоденні, так і максимально достовірного пророкування майбутнього. Математичні методи і прийоми цифрового моделювання у багатьох випадках дозволяють вирішувати подібні проблеми, проте з плином часу має місце серйозне якісне і кількісне ускладнення технології вирішення завдань. У багатьох випадках обмеженням є недолік обчислювальних потужностей сучасних електронно-обчислювальних машинах, але значимість вирішуваних завдань залучили величезні фінансові ресурси в область створення надскладних електронно-обчислювальних машин.
З деяких пір підвищення швидкодії комп'ютерів традиційної (іменованої "фон нейманівську") архітектури стало надмірно дорого внаслідок технологічних обмежень при виробництві процесорів, тому розробники звернули увагу на інший шлях підвищення продуктивності - об'єднання електронно-обчислювальних машин в багатопроцесорні обчислювальні системи. При цьому окремі фрагменти програми паралельно (і одночасно) виконуються на різних процесорах, обмінюючись інформацією за допомогою внутрішньої комп'ютерної мережі.
Ідея об'єднання електронно-обчислювальних машин з метою підвищення, як продуктивності, так і надійності відомі з кінця п'ятдесятих років.
Вимоги отримати максимум продуктивності при мінімальній вартості привели до розробки багатопроцесорних обчислювальних комплексів; відомі системи такого роду, що поєднують обчислювальні потужності тисяч окремих процесорів. Наступним етапом є спроби об'єднати мільйони різнорідних комп'ютерів планети в єдиний обчислювальний комплекс з величезною продуктивністю за допомогою мережі Internet. На сьогоднішній день застосування паралельних обчислювальних систем є стратегічним напрямком розвитку обчислювальної техніки. Розвиток "заліза" з необхідністю підкріплюються вдосконаленням алгоритмічної та програмної компонент - технологій паралельного програмування.
Метод розпаралелювання обчислень існує вже давно, організація спільного функціонування безлічі незалежних процесорів вимагає проведення серйозних теоретико-практичних досліджень, без яких складна і щодо дорога багатопроцесорна установка часто не тільки не перевершує, а поступається по продуктивності традиційного комп'ютера. Потенційна можливість розпаралелювання неоднакова для обчислювальних задач різного типу - вона значна для наукових програм, що містять багато циклів і тривалих обчислень і істотно менше для інженерних завдань, для яких характерний розрахунок за емпіричними формулами.