Розподілені обчислення

Розподілені обчислення — спосіб розв'язання трудомістких обчислювальних завдань з використанням двох і більше комп'ютерів об'єднаних в мережу.

Розподілені обчислення є окремим випадком паралельних обчислень, тобто одночасного розв'язання різних частин одного обчислювального завдання декількома процесорами одного або кількох комп'ютерів. Тому необхідно, щоб завдання, що розв'язується було сегментоване — розділене на підзадачі, що можуть обчислюватися паралельно. При цьому для розподілених обчислень доводиться також враховувати можливу відмінність в обчислювальних ресурсах, які будуть доступні для розрахунку різних підзадач. Проте, не кожне завдання можна «розпаралелити» і прискорити його розв'язання за допомогою розподілених обчислень.

Зміст [сховати] · 1 Список проектів розподілених обрахунків · 2 Список українських проектів розподілених обчислень o 2.1 Біологія та медицина o 2.2 Математика та криптографія o 2.3 Природничі науки o 2.4 ПЗ для організації розподілених обчислень · 3 Дивіться також · 4 Ресурси інтернету

[ред.]Список проектів розподілених обрахунків

Нижче приведений список найбільш популярних проектів розподілених обчислень в інтернеті. Більш повний список практично всіх існуючих і закінчених проектів розподілених обчислень в інтернеті можна прогялнути на сайті Distributed Computing(англ.).

[ред.]Список українських проектів розподілених обчислень

§ Magnetism@Home

§ SLinCA@Home

[ред.] Біологія та медицина

§ Rosetta@home — вирахування структури білка із самою низькою енергією;

§ Folding@Home — проект з вирахування третинної структури білків;

§ World Community Grid — дослідження, пов'язані із генетикою людини, а також із різноманітними важкими захворюваннями. Вивчення білків, та їх каталогізація;

§ grid.org — проект з пошуку ліків від Карциноми (закінчений 27 квітня 2007 року (не знайдено));

§ Find-a-Drug — проект з пошуку ліків від різноманітних хвороб шляхом обрахунку докінгу білків із різними молекулами (закінчено 2005 року), приєднався до WCG;

§ DrugDiscovery@Home — Російський проект, Згортання білків, скрінінг баз даних біологічно активних сполук;

§ Proteins@home.

[ред.] Математика та криптографія

§ Seventeen or Bust — проект, який займається підтвердженням задачі Серпінського;

§ GIMPS — проект з пошуку простих чисел Мерсенна;

§ ZetaGrid — перевірка гіпотези Рімана (закінчено 2005 року).

§ distributed.net — проекти зі злому RC5-72 повним перебором, пошуком оптимальних лінійок Голомба - OGR-27;

§ RainbowCrack;

§ ABC@home — проект з пошуку ABC-трійок.

[ред.] Природничі науки

§ SETI@Home — проект з обробки сигналів радіотелескопу, для пошуку радіосигналів поаземних цивілізацій.

§ Einstein@Home — проект з перевірки гіпотези Ейнштейна про гравітаційні хвилі за допомогою аналізу гравітаційних полів пульсарів чинейтронних зірок.

§ Climate Prediction — проект з моделювання впливу відходів вуглекислого газу на клімат Землі.

§ Spinhenge@home — проект в області нанотехнологій, вивчення магнітних молекул.

§ LHC@home — розрахунки магнітної підсистеми прискорювача заряджених частинок — Великого адронного колайдера (LHC).

§ Muon1 DPAD — розрахунки з проектування ще потужнішого прискорювача — Neutrino Factory/Muon Collider.

§ Cosmology@home — пошук моделі, яка кращим чином описує наш Всесвіт, а також визначення діапазону моделей, які узгоджуються із сучасними астрономічними та фізичними даними;

§ AQUA@home — моделювання роботи адіабатичного квантового надпровідного комп'ютера;

§ MilkyWay@home — створення трьохмірної моделі зорь у Галактиці;

§ EDGeS@Home — проект в областіи фізики плазми, моделювання поведінки заряджених частинок в магнітному полі термоядерного реактора ITER.

[ред.] ПЗ для організації розподілених обчислень

§ Apache Hadoop

§ BOINC — відкрита інфраструктура для розподілених обрахунків Університету Берклі (Berkeley Open Infrastructure for Network Computing), яка поширюється за ліцензією LGPL.

§ Condor(англ.)

§ Globus Toolkit(англ.) — набір програм, який значно спрощує створення та керування розподіленими обрахунками.

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

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

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

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

§ Ґрід.

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

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

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

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

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

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

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

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

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

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

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

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

E = n/t = n /(s + L + n - 1)t = 1 /((st/n) + (Lt/n) + t - (t/n)) = 1 /t + ((s + L – 1)/n)t

При n ®¥ E ®1/t

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: