Розділяй і обчислюй

GRID-системи наочно ілюструють закон переходу кількості в якість.

У 1949 році журнал «Популярна механіка» написав, що в майбутньому комп’ютери важитимуть не більше півтори тонни. Тоді, на світанку розвитку обчислювальних пристроїв, ніхто й уявити собі не міг, яку величезну продуктивність ПК зможуть продемонструвати вже через кілька десятиліть. Лише через двадцять років розвиток комп’ютерів дозволив відправити першу людину на Місяць. Відтоді технології пішли ще далі: будь-який сучасний смартфон значно продуктивніший за комп’ютер NASA, що використовувався наприкінці 60-х років.

Швидкість процесорів­ подвоюється в середньому кожні 18 місяців. Це приводить до того, що суперкомп’ютери, на яких ще недавно лежала оборона цілих держав, зараз можна порівнювати з калькуляторами. На світ чекає черговий перехід кількості в якість, завдяки якому доступну обчислювальну потужність можна буде підняти на недосяжний колись рівень.

Ключову роль у новому «квантовому стрибку» відіграє Інтернет. Будь-який користувальницький­ комп’ютер, яким би потужним він не був, неможливо використовувати для більш-менш серйозних розрахунків. Однак за допомогою Всесвітньої павутини навіть розташовані в різних кінцях світу ПК можна поєднувати в надпотужні обчислювальні мережі. Такі кластери називають «розподіленими мережами» або GRID (від англ. grid — ґрати, мережа).

Мурахи проти динозаврів

13 комп’ютерів, які працюють у GRID (система складена американським ентузіастом)Щоб краще уявити собі можливості GRID, треба порівняти їх із суперкомп’юте­рами — найпотужнішими комп’ютерами на планеті, які використовуються переважно з науково-дослідною метою.

Наразі перший рядок у рейтингу найпродуктивніших комп’ютерів займає  K computer, швидкодія якого оцінюється в 8 Пфлопс (8·1015 флопс — операцій із плаваючою комою на секунду). Tianhe-1A, який іде за ним, уже значно повільніше і його швидкість — лише 2,5—4,5 Пфлопс. Замикає першу десятку Roadrunner, продуктивність якого ледь перевищує 1 Пфлопс.

Японський K computer потрапив на перший рядок лише влітку 2011 року, а до цього перше місце в рейтингу найшвидших обчислювальних систем займала мережа розподілених обчислень Boinc, на базі якої працює більше 60 проектів. Ще в травні 2010 року Boinc демонструвала продуктивність у 5,2 Pflops, тобто вдвічі більше, ніж у найпотужнішого суперкомп’ютера на той час. Із запуском K computer системи GRID не втратили своєї переваги, оскільки в ті ж 8 Pflops зараз оцінюють продуктивність розподіленої мережі Folding@home.

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

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

Чудеса в решеті

Перш ніж ми дізнаємося, чому майбутнє серйозних обчислень — за GRID, а не за суперкомп’ютерами (які, утім, нікуди не зникнуть), треба докладніше зупинитися на тому, що ж це за мережі.­

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

Сучасна мережа розподілених обчислень складається зі звичайних ПК, на яких користувачі запускають програму (клієнт), що одержує завдання для розрахунку. Обчислення можуть виконуватися від декількох хвилин до декількох днів, після чого застосунок відправляє отримані результати назад. З огляду на те, що в деяких проектах беруть участь по декілька сотень тисяч комп’ютерів, розрахунки провадяться дуже швидко, хоч і не всі ПК доступні 24 години на добу.

Розрахунки можна робити не тільки на персональних комп’ютерах. Для цих потреб добре підходять і ігрові консолі. Так, PlayStation 3 успішно використовують у­ проекті Folding@home. Дуже довго консоль навіть випереджала за продуктивністю звичайні комп’ютери, поки розробники не випустили оптимізовані клієнти для багатоядерних процесорів і графічних прискорювачів.

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

Обчислювальні потужності для всіх, недорого

Машинний зал K computer (фрагмент)Розподілені обчислення сьогодні застосовують фактично в будь-якій галузі науки: астрономії, фізиці, хімії, біології, медицині, математиці та багатьох інших.

У медицині комп’ютери найчастіше дозволяють краще зрозуміти можливості людського організму, допомагають у пошуку ефективних ліків. Найвідоміший проект Folding@home займається симуляцією згортання білків для розробки нових медикаментів проти раку, хвороби Альцгеймера та інших захворювань. F@H — не єдиний такий проект. Декілька великих організацій і інститутів розробили схожі програми для моделювання поводження білків.­

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

Фізики й астрономи завжди робили багато розрахунків, і саме їм, як нікому іншому, стали в пригоді нові обчислювальні потужності. За допомогою GRID ведуть пошук гравітаційних хвиль у проекті Einstein@home, установлюють структуру Чумацького Шляху (MilkyWay@home) і навіть шукають сигнали інших цивілізацій (SETI@home). Великий адронний колайдер також робить частину розрахунків у GRID. Для основних обчислень у нього є і власний суперкомп’ютер, однак деякі другорядні деталі все-таки відправляють для обрахування на доступні ПК ентузіастів.

Говорять, що коли винахід починають масово застосовувати з комерційною метою, можна вважати, що він довів свою життєздатність і має майбутнє. У зв’язку із цим слід відзначити цікавий факт: зовсім недавно на інфраструктурі BOINC запущений проект BURP, призначений для рендерингу 3D графіки, тобто для використання розподілених мереж у розв’язанні звичайних побутових завдань. Звідси ми плавно перейдемо до того, що відбудеться з GRID у найближчому майбутньому.

У майбутнє разом

Системи GRID чимось схожі на пірингові мережі P2P (BitTorrent, eMule). Швидко скачати файл будь-якої миті можна завдяки тому, що у світі завжди увімкнена певна кількість комп’ютерів, які роздають цей файл. Імовірно, у майбутньому з такою ж легкістю ми зможемо одержувати доступ не до файлів, а до обчислювальних ресурсів інших комп’ютерів. Усе, що треба для цього — розробити спеціальну програмну платформу, яка дозволятиме застосовувати ПК як осередок обчислювальної системи. У невеликих масштабах такі експерименти вже проводяться. Наприклад, досить популярний клієнт обміну текстовими повідомленнями Digsby уже кілька років поширюється з убудованим модулем Digsby Research Module, який під час простою комп’ютера використовує процесор для різних наукових обчислень. Звичайно, у майбутньому було б краще, щоб такі модулі вбудовувалися безпосередньо в операційну систему, або, скажімо, у драйвера відеокарти, але при цьому залишали користувачеві можливість відключити програму будь-коли.

Найближчим часом можна чекати на серію послідовних стрибків продуктивності GRID мереж. Завдяки переходу на обчислення за допомогою відеокарт мережі зможуть значно збільшити швидкодію, оскільки процесори графічних прискорювачів виконують специфічні розрахунки набагато швидше центральних процесорів. За наступні п’ять років продуктивність GRID цілком може підвищитись у 10 разів і навіть більше. Для порівняння, швидкодія Folding@home зросла в 7 разів за попередні 3,5 роки, і темпи зростання лише збільшуються з часом.

Можливо, слід чекати й випуску GRID-клієнтів для мобільних пристроїв. Сучасні смартфони за продуктивністю майже зрівнялися з консолями поточного покоління, а саме останні дозволили кілька років тому проекту Folding@home увійти до Книги рекордів Гіннесса як найшвидшому обчислювальному кластеру у світі. Смартфони цілком можуть робити розрахунки й під час підзарядки, тому користувачам не доведеться буде турбуватися про їхню автономність.

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

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

А що в нас?

Підключаючись до проектів GRID, користувач найчастіше може вказати  команду або країну, від якої він бере участь. Усі віртуальні бали, отримані ним за успішно обраховані завдання, також зараховуватимуться в скарбничку обраної країни. За статистикою сайта distributed.org.ua, у деяких проектах Україна займає дуже високі місця, у тому числі й перші. У середньому ж на платформі Boinc ми зараз на 41-му місці.

You may also like...