Первая страница
Наша команда
Контакты
О нас

    Головна сторінка



Тема 1: Основні поняття про паралельні обчислення

Тема 1: Основні поняття про паралельні обчислення




Сторінка1/17
Дата конвертації24.05.2017
Розмір1.49 Mb.
  1   2   3   4   5   6   7   8   9   ...   17



Зміст


Вступ

6

Тема 1: Основні поняття про паралельні обчислення

7




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

7




2. Області застосування і задачі паралельної обробки

7




3. Конвеєризація і паралелізм

8




4. Засоби для проведення паралельних обчислень

8




5. Рівні розпаралелення

8




6. Паралельні операції

10




7. Основні принципи паралелізму (розпаралелення)

11




8. Класифікація структур паралельної обробки

11




Вправи і завдання до теми №1

13

Тема 2: Методи оцінки продуктивності паралельних алгоритмів і систем

13




1. Загальні зауваження стосовно оцінки продуктивності паралельних алгоритмів та систем

13




2. Фактори, які необхідно враховувати при оцінці продуктивності

14




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

15




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

15




5. Порівняння MIMD i SIMD структур за продуктивністю

19




Вправи і завдання до теми №2

22

Тема 3: Організація мереж Петрі

22




1. Поняття про мережі Петрі

22




2. Прості мережі Петрі

23




3. Розширені мережі Петрі

26




4. Приклади реалізації мереж Петрі

27




Вправи і завдання до теми №3

29

Тема 4: Розробка паралельного алгоритму

29




1. Паралелізм даних

30




2. Паралелізм задач

30




3. Етапи розробки паралельного алгоритму:

30




Вправи і завдання до теми №4

35

Тема 5: Структури зв’язку між процесорами

35




1. Основні положення

35




2. Шинні мережі

36




3. Мережі з комутаторами

36




4. Структури, що забезпечують зв’язок типу “пункт-пункт

39




5. Методи комутацій

43




Вправи і завдання до теми №5

44

Тема 6: Основні класи паралельних комп’ютерів

44




Вступ

44




1. Масивно-паралельні системи

45




2. Симетричні мультипроцесорні системи

45




3. Системи з неоднорідним доступом до пам’яті

46




4. Паралельні векторні процесори

47




5. Кластерні системи

47




Вправи і завдання до теми №6

47

Тема 7: Схеми паралельних алгоритмів задач

48




1. Класи алгоритмів задач

48




2. Алгоритми перемноження матриці на матрицю і їх реалізація на структурах типу: кільцева, 2D, 3D

49




Вправи і завдання до теми №7

53

Тема 8: Мови паралельного програмування

53




1. Загальні зауваження

54




2. Класифікація мов і систем паралельного програмування

54




3. Особливості організації паралельної програми

55




4. Технології паралельного програмування Message Passing Interface

57




5. Операції обміну повідомленнями

57




Вправи і завдання до теми №8

58

Висновки

59

Література

60

Додатки

61

Додаток А. Ресурси Інтернет стосовно паралельних обчислень

61

Додаток Б. Концепції паралельної обробки

62

Додаток В. Проблеми асинхронної паралельності

65

Додаток Г. Проблеми синхронної паралельності

68


ВСТУП
Для розв’язання багатьох задач (прогноз погоди, задачі гідро- і газодинаміки, квантової хімії, астрономії, спектроскопії, біології, ядерної фізики) необхідна висока продуктивність та висока швидкість передачі інформації по каналах зв’язку, великі об’єми оперативної і постійної пам’яті, які не можуть забезпечити типові обчислювальні засоби.
Спектроскопíя - розділ фізики, присвячений вивченню спектрів електромагнітного випромінювання. Слово "спектроскопія" походить від латинського слова "spectrum" (привид) і грецького "skopos" (спостерігач).
Комуніка́ція (від лат. communicatio - єдність, передача, з'єднання, повідомлення, пов'язаного з дієсловом лат. communico - роблю спільним, повідомляю, з'єдную, похідним від лат. communis - спільний) - це процес обміну інформацією (фактами, ідеями, поглядами, емоціями тощо) між двома або більше особами, спілкування за допомогою вербальних і невербальних засобів із метою передавання та одержання інформації.
Ква́нтова хі́мія - міждисциплінарна галузь науки, яка використовує засади квантової механіки для чисельних розрахунків структур та властивостей хімічних молекул.
Я́дерна фі́зика - розділ фізики, який вивчає структуру і властивості атомних ядер, та механізми ядерних реакцій (в тому числі радіоактивний розпад).
Одним з шляхів забезпечення таких вимог є організація паралельних та розподілених обчислень і відповідних технічних засобів їх реалізації.

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

Зале́жність - набута гостра потреба здійснювати якісь дії або вживати якісь речовини. У практиці, цей термін має кілька значень.
Компілятор (англ. Compiler від англ. to compile - збирати в ціле) - комп'ютерна програма (або набір к. програм), що перетворює (компілює) вихідний код, написаний певною мовою програмування (мова джерела, англ. source language)
Матема́тика (грец. μάθημα - наука, знання, вивчення) - наука, яка первісно виникла як один з напрямків пошуку істини (у грецькій філософії) у сфері просторових відношень (землеміряння - геометрії) і обчислень (арифметики), для практичних потреб людини рахувати, обчислювати, вимірювати, досліджувати форми та рух фізичних тіл.
Дослі́дження, до́сліди - (широко розуміючи) пошук нових знань або систематичне розслідування з метою встановлення фактів; (вузько розуміючи) науковий метод (процес) вивчення чого-небудь.
Розподі́лені обчи́слення (розподілена обробка даних) - спосіб розв'язання трудомістких обчислювальних завдань з використанням двох і більше комп'ютерів, об'єднаних в мережу.
Чи́сельні ме́тоди - методи наближеного або точного розв'язування задач чистої або прикладної математики, які ґрунтуються на побудові послідовності дій над скінченною множиною чисел. Основні вимоги до чисельних методів, щоб вони були стійкими та збіжними.
Електро́нна обчи́слювальна маши́на (ЕОМ) - загальна назва для обчислювальних машин, що є електронними (починаючи з перших лампових машин, включаючи напівпровідникові тощо) на відміну від електромеханічних (на електричних реле тощо) та механічних обчислювальних машин.
Операці́йна систе́ма, скорочено ОС (англ. operating system, OS) - це базовий комплекс програм, що виконує управління апаратною складовою комп'ютера або віртуальної машини; забезпечує керування обчислювальним процесом і організовує взаємодію з користувачем.
Такий широкий обсяг параметрів вимагає проведення досліджень на різних рівнях: на рівні розпаралелення алгоритмів, створення спеціальних мов програмування, компіляторів, багатопроцесорних систем, неоднорідних систем, кластерів і систем, що розподілені на великих територіях.
Пара́метр (від дав.-гр. παραμετρέω) - відмірюю, розмірюю)(рос. параметр, англ. parameter, нім. Parameter m, Kennwert m, Kenngrösse f, Kennzahl f) - величина, що нею характеризують якусь властивість, стан, розмір або форму об'єкта, робочого тіла, процесу, явища або системи тощо.

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

Для тих, хто хоче краще орієнтуватися в перспективних напрямках розвитку обчислювальної техніки і краще розуміти специфіку паралельних та розподілених обчислень радимо, насамперед, скористатись матеріалами сайту www.

Багатопроцесорність (англ. Multiprocessing) - це використання двох або більше центральних процесорів (CPU) в одній комп'ютерній системі. Термін також відноситься до здатності системи підтримувати більше одного процесора і/або здатність розділити завдання між ними.
Перспекти́ва (фр. perspective, від лат. perspicio - ясно бачу) - система зображення об'ємних тіл на площині або якій-небудь іншій поверхні, яка враховує їх просторову структуру й віддаленість окремих їх частин від спостерігача.
Матеріа́л - речовина, або суміш речовин, первинний предмет праці, який використовують для виготовлення виробу (основний матеріал), або які сприяють якимось діям. У останньому випадку уточнюють, що це допоміжний, чи витратний матеріал.
Теритóрія (лат. territorium - область, територія; від terra - земля) - регіон, обмежена частина земної поверхні в природних, державних, адміністративних або умовних межах: визначається протяжністю, як специфічним видом «просторового» ресурсу, площею, географічним розташуванням, природними умовами, господарською освоєністю.
Обчи́слювальна систе́ма (англ. computer system) - сукупність ЕОМ та їх програмного забезпечення, що призначені для організації ефективного обчислювального процесу;
parallel.ru



Метою вивчення дисципліни є засвоєння основних методів та алгоритмів організації паралельних та розподілених обчислень, принципів побудови відповідних структур, набуття початкових практичних навиків проектування таких засобів.
Структу́ра (лат. structūra, англ. structure, рос. структура, нім. Struktur) - це характеристика складу та просторова картина складу об'єкта, речовини (ізотропна, анізотропна, кристалічна, аморфна, гомогенний чи колоїдний розчин, фазові суміші) взаєморозміщення формацій, частин, деталей, елементів, певний функціональний взаємозв'язок складових частин об'єкта, внутрішня будова.
Практика (грец. πράξις «діяльність») - доцільна і цілеспрямована діяльність, яку суб'єкт здійснює для досягнення певної мети. Практика має суспільно-історичний характер і залежить від рівня розвитку суспільства, його структури.
Принцип (лат. principium - начало, основа) - це твердження, яке сприймається як головне, важливе, суттєве, неодмінне або, принаймні, бажане. У повсякденному житті принципами називають внутрішні переконання людини, ті практичні, моральні та теоретичні засади, якими вона керується в житті, в різних сферах діяльності.

В результаті вивчення курсу студент повинен знати основні методи, алгоритми і засоби паралельної та розподіленої обробки інформації, засоби програмування на паралельних та розподілених структурах, склад апаратних засобів та програмного забезпечення обчислювальних систем з елементами паралельної та розподіленої обробки і класи мов програмування високого рівня для них;

Результат, пі́дсумок, (заст. ску́ток, вислід) - кінцевий наслідок послідовності дій. Можливі результати містять перевагу, незручність, вигоду, збитки, цінність і перемогу. Результат є етапом діяльності, коли визначено наявність переходу якості в кількість і кількості в якість.
вміти виконувати елементарні вправи з розпаралелення задач та алгоритмів, проводити розрахунки параметрів процесорів, проектувати окремі вузли.

В розділі курсу “Організація паралельних обчислень” розглядаються такі основні питання: 

- основні поняття про паралельні обчислення;

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

- методи оцінки продуктивності паралельних алгоритмів;

- організація мереж Петрі;

- розробка паралельного алгоритму;

- структури зв’язку між процесорами;

- основні класи паралельних комп’ютерів;

- схеми паралельних алгоритмів задач;

- мови паралельного програмування.


Тема №1: Основні поняття про паралельні обчислення

  1   2   3   4   5   6   7   8   9   ...   17



  • Тема 1: Основні поняття про паралельні обчислення
  • Тема 2: Методи оцінки продуктивності паралельних алгоритмів і систем
  • Тема 3: Організація мереж Петрі
  • Тема 4: Розробка паралельного алгоритму
  • Тема 5: Структури зв’язку між процесорами
  • Тема 6: Основні класи паралельних комп’ютерів
  • Тема 7: Схеми паралельних алгоритмів задач
  • Тема 8: Мови паралельного програмування
  • Висновки 59 Література
  • ВСТУП Для розв’язання багатьох задач (прогноз погоди, задачі гідро- і газодинаміки, квантової хімії
  • Метою вивчення дисципліни
  • результаті
  • Організація паралельних обчислень
  • Тема №1: Основні поняття про паралельні обчислення