Приголомшлива паралельність
У паралельних обчисленнях, приголомшливо паралельним навантаженням (або приголомшливо паралельною задачею) називають задачу, для якої практично непотрібно докладати зусиль, щоб розділити її на декілька окремих паралельних задач. Це часто той випадок, коли не існує залежності (або зв'язку) між цими паралельними задачами.[1]
Приголомшливо паралельні задачі, як правило, практично не вимагають комунікації між результатами виконання задач, і, таким чином, відрізняються від задач розподілених обчислень, які потребують зв'язку між задачами, особливо зв'язку проміжних результатів. Вони легкі для виконання на серверних фермах (серверних кластерах), які не мають будь-якої спеціальної інфраструктури, що використовуються в справжньому суперкомп'ютерному кластері. Таким чином, вони добре підходять для великих розподілених платформ, що базуються в Інтернеті, таких як BOINC.
Типовий приклад приголомшливо паралельної задачі — робота графічного процесора (GPU) при виконанні таких завдань, як розрахунок 3D проєкції, де кожен піксель на екрані можна опрацьоввувати окремо.
Деякі приклади приголомшливо паралельних задач:
- Обслуговування статичних файлів на вебсервері.
- Множина Мандельброта та інші фрактальні розрахунки, де кожну точку можна обчислити незалежно.
- Рендеринг у комп'ютерній графіці. У трасуванні променів, кожен піксель можна опрацьовувати окремо. У комп'ютерній анімації, кожен кадр може бути опрацьований незалежно (див. паралельний рендеринг).
- Повні перебори або пошуки грубої сили (англ. brute force) у криптографії. Яскравим прикладом є мережа розподілених обчислень distributed.net.
- BLAST пошуки в біоінформатиці.
- Великомасштабні системи розпізнавання облич, що передбачають порівняння тисяч вхідних зображень (наприклад знімків облич із систем безпеки або відеоспостереження) з багатьма раніше збереженими зображеннями людей (наприклад, портретами злочинців).[2]
- Комп'ютерне моделювання порівняння багатьох незалежних сценаріїв, таких як кліматичні моделі.
- Генетичні алгоритми та інші еволюційні моделювання метаевристичних алгоритмів.
- Статистичний ансамбль з чисельного прогнозу погоди.
- Моделювання і реконструкція подій у фізиці елементарних частинок.
- Етап збору відношень у варіації кратних многочленів методу квадратичного решета — алгоритму факторизації цілих чисел (MPQS).
- При генеруванні електронної валюти Bitcoin, блоки з різними криптографічними нонсами (одноразовими номерами) можуть хешуватись окремо.
- Клітинні автомати.
- У мові програмування R — пакет «сніг» (англ. Snow (Simple Network of Workstations) — проста мережа робочих станцій) реалізує простий механізм для використання колекції робочих станцій або кластера Beowulf для приголомшливо паралельних обчислень.
- ↑ Designing and Building Parallel Programs, by Ian Foster. Addison-Wesley (ISBN 9780201575941), 1995. Section 1.4.4 — Проєктування і будівництво паралельних програм, Ян Фостер. Розділ 1.4.4 (англ.)
- ↑ How we made our face recognizer 25 times faster (developer blog post) — Як можна зробити наш розпізнавач облич у 25 разів швидшим (англ.)
- Embarrassingly parallel[недоступне посилання з вересня 2019], Parallel algorithms — Паралельні алгоритми (англ.)
- Embarrassingly Parallel Computations, Engineering a Beowulf-style Compute Cluster — приголомшливо паралельні обчислення, розробка обчислювального кластеру у стилі Беовульфа. (англ.)
- [1], «Star-P: High Productivity Parallel Computing» — Зірка-P: Висока продуктивність паралельних обчислень" (англ.)
![]() | Це незавершена стаття про програмування. Ви можете допомогти проєкту, виправивши або дописавши її. |