Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PRO-lectons.doc
Скачиваний:
82
Добавлен:
09.11.2018
Размер:
4.38 Mб
Скачать

[Ред.]Дивіться також

  • Обмін повідомленнями,

  • Взаємне блокування,

  • Виклик віддалених процедур,

  • Ґрід.

[Ред.]Ресурси інтернету

  • Розподілені обчислення в Україні

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

Способи паралельної обробки:

  1. Чистий паралелізм .

  2. Конвеєризація.

Чистий паралелізм характеризується повторним використанням однакових елементів, об’єктів, модулів і дає прямо пропорційне зростання використаним елементам продуктивності.

Конвеєризація. Якщо кожну мікро операцію задачі виділити в окремий пристрій і розташувати їх у порядку виконання, причому вхід п–нного мікропристрою пов'язаний з виходом n-1 , то такий спосіб організації обчислень носить назву конвеєрної обробки. Кожен мікро пристрій називається кроком конвеєра , а загальне число кроків визначає довжину конвеєра.

Якщо конвеєр кроків містить n кроків і кожен з них спрацьовує за 1 часу, то час обробки n незалежних операцій складе <L + n – 1.

Всі операції бувають двох типів: векторні і скалярні.

Якщо хоча б один елемент команди є вектором, то команда називається векторною. Тоді кількість операцій визначається: L+n-1+, де  - час ініціалізації вектора. Векторні операції ефективні тоді, коли n>>, в протилежному випадку вектори перетворюються в скаляри, тобто, оскільки ні , ні L не залежать від n, то із збільшенням довжини вхідних векторів, ефективність конвеєрної обробки зростає.

Формула ефективності:

E = n/t = n /( + L + n - 1) = 1 /((/n) + (L/n) +  - (/n)) = 1 / + (( + L – 1)/n)

При n  E 1/

Для формування паралельного алгоритму необхідно:

  1. ідентифікувати частини роботи, які можуть бути виконані одночасно

  2. відобразити зазначені частини на множину одночасно застосовуваних процесорів

  3. розподілити вхідні, вихідні і проміжні дані між процесами відповідно до поставленої задачі

  4. керувати доступом до спільно використовуваних даних

  5. синхронізувати процеси на різних стадіях виконання програми

Паралельні та розподілені обчислення

Н. Г. Аксак, О. Г. Руденко, А. М. Гуржій

Підручник призначений для опанування навчального курсу «Пара­лельні та розподілені обчислення» студентами або фахівцями, які не знайо­мі з методами програмування для паралельних комп’ютерів, але володіють навичками послідовного програмування мовою С++. Для цього подано стислу характеристику організації обчислень у багатопроцесорних системах, наведено переваги паралельного й розподіленого програмування, розгля­нуто математичні моделі паралельних алгорит­мів. Велику увагу приділено технології програмування в середовищі MPI. Значну частину підручника присвячено вивченню стандарту OpenMP, який забезпечує простий метод розпаралелювання однопотокових додатків. На­ве­дено велику кількість при­кладів налагоджених паралельних програм.

Для студентів і викладачів технічних вищих навчальних закладів, програмістів.

Підручник: А-5 формату, 480 стор., українською мовою, обкладинка м’яка.

Основний сайт: www.parallel.ru

оядерного процесора потенційно може бути суперскалярним, тобто виконувати по кілька інструкцій з одної ниті.

Синхронна багатонитевість (найвідомішою з яких є технологія HyperThreading від Intel) була ранньою формою псевдо-багатоядерності. Процесор, що здатен до синхронної багатонитевості має лиш одне ядро, але при простоях ядра (наприклад під час очікування підвантаження даних в стек), використовує це ядро для роботи з іншою ниттю. Мікропроцесор Cell від IBM, що створений для використання в консолях Sony PlayStation 3 є іншим прикладом багатоядерного процесора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]