Н. Г. Аксак, О. Г. Руденко, А. М. Гуржій
Підручник призначений для опанування навчального курсу «Паралельні та розподілені обчислення» студентами або фахівцями, які не знайомі з методами програмування для паралельних комп’ютерів, але володіють навичками послідовного програмування мовою С++. Для цього подано стислу характеристику організації обчислень у багатопроцесорних системах, наведено переваги паралельного й розподіленого програмування, розглянуто математичні моделі паралельних алгоритмів. Велику увагу приділено технології програмування в середовищі MPI. Значну частину підручника присвячено вивченню стандарту OpenMP, який забезпечує простий метод розпаралелювання однопотокових додатків. Наведено велику кількість прикладів налагоджених паралельних програм.
Для студентів і викладачів технічних вищих навчальних закладів, програмістів.
Підручник: А-5 формату, 480 стор., українською мовою, обкладинка м’яка.
Основний сайт: www.parallel.ru
оядерного процесора потенційно може бути суперскалярним, тобто виконувати по кілька інструкцій з одної ниті.
|
|
Синхронна багатонитевість (найвідомішою з яких є технологія HyperThreading від Intel) була ранньою формою псевдо-багатоядерності. Процесор, що здатен до синхронної багатонитевості має лиш одне ядро, але при простоях ядра (наприклад під час очікування підвантаження даних в стек), використовує це ядро для роботи з іншою ниттю. Мікропроцесор Cell від IBM, що створений для використання в консолях Sony PlayStation 3 є іншим прикладом багатоядерного процесора.
[ред.]Симетрична багатопроцесорність
Детальніше: Симетрична багатопроцесорність
Симетричний мультипроцесор (SMP) це комп'ютерна система з багатьма ідентичними процесорами, що поділяють пам'ять, та з'єднуються через шину.[24] Шинна суперечка (en:Bus contention перешкоджає маштабуванню шинних архітектур. В результаті, SMP зазвичай не містить більше 32-x процесорів.[25] «Через малий розмір процесорів, та значне зменшення вимог до пропускної здатності шини, що досягається завдяки великим кешам, такі симетричні багатопроцесорні системи є дуже рентабельними за умови, що існує достатня кількість пропускної здатності у пам'яті».[24]
[ред.]Розподілені обчислення
Детальніше: Розподілені обчислення
Розподілений комп'ютер (також відомий як мультипроцесор з розподіленою пам'яттю) це комп'ютерна система з розподіленою пам'яттю, у якій обчислювальні елементи з'єднані мережею. Розподілені комп'ютери чудово маштабуються.
[ред.]Кластерні обчислення
Детальніше: Комп'ютерний кластер
Кластер Beowulf
Кластер — це група слабо зв'язаних комп'ютерів, що тісно співпрацюють, так що в певною мірою, вони можуть розглядатись як один комп'ютер.[26] Кластери складаються з багатьох окремих машин, з'єднаних мережею. І хоча машини в кластері не мають бути симетричними, якщо вони не є, то це ускладнюєбалансування навантаження. Найпоширенішим типом кластера є кластер Beowulf, який є кластером, реалізованим на багатьох ідентичних фабричних комп'ютерів з'єданих в локальну мережу TCP/IPEthernet].[27] Вперше технологію Beowulf розробили Томас Стерлінг та Дональд Беккер. Більшість суперкомп'ютерів зі списку TOP500 є кластерами.[28]
|
|
[ред.]Масово паралельні обчислення
Детальніше: Масово паралельні обчислення
Масивно паралельний процесор (MPP) це один комп'ютер з багатьма процесорами з'єднаними в мережу. MPP мають багато спільного з кластерами, та MPP мають спеціалізовані з'єднувальні мережі (тоді як кластери використовують стороннє обладнання для мережі). MPP також в основному більші ніж кластери, зазвичай мають «набагато більше ніж 100 процесорів».[29] В MPP, «кожен процесор має свою власну пам'ять та копію операційної системи з програмами. Кожна підсистема спілкується з іншою через високошвидкісне з'єднання.»[30]
Шафка Blue Gene/L, що має рейтинг четвертого найшвидшого суперкомп'ютера в світі, згідно з рейтингомTOP500 11/2008. Blue Gene/L масивно паралельний процесор.
Blue Gene/L, має рейтинг четвертого найшвидшого суперкомп'ютера в світі, згідно з рейтингом TOP50011/2008. Blue Gene/L масивно паралельний процесор.
[ред.]Обчислення Ґрід
Детальніше: Ґрід мережі
Обчислення Ґрід — найбільш розподілена форма паралельних обчислень. Вона використовує для розв'язання задачі комп'ютери зв'язані мережею Інтернет. Через низьку швидкість передачі даних, та надзвичайно високий час доступу до даних в Інтернет, ґрід обчислення проводять тільки дляпроголомшливо паралельних задач. Створена багато застосувань ґрід системам, найвідомішими з яких є SETI@home та Folding@Home[31]
Більшість програм ґрід обчислень використовують проміжне програмне забезпечення, що слугує інтерфейсом між операційною системою, та програмою, та керує ресурсами мережі, і стандартизує інтерфейс. Найпоширенішим програмним забезпеченням цього типу є Berkeley Open Infrastructure for Network Computing (BOINC). Часто програми ґрід обчислень користуються «запасними циклами», виконуючи обчислення під час простою системи. Тому їхні реалізації під виглядом екранних заставок доволі поширені.
[ред.]Спеціальні паралельні комп'ютери
У галузі паралельних обчислень є спеціальні паралельні пристрої, що займають свої ніші. І хоча вони не є предметно-орієнтованими, та все ж вони зазвичай застосовуються лише для певних класів паралельних задач.