Подпомагане на учени, копаене на криптовалути, търсене на далечни галактики, как да използвате ресурсите на „спящия“

Браузърът vc.ru измисли как да използва ресурсите на "спящ" компютър - хардуер и мрежа - така че да не стоят празни.

Защо да го правиш

Неизползваната изчислителна мощност може да е необходима на някой друг - съсед в локална мрежа, който се занимава с триизмерно моделиране; учени в малки изследователски центрове, които нямат собствени суперкомпютри и са налични само доброволчески ресурси; ентусиасти, търсещи извънземен живот. И те също са много необходими за хакерите, които създават „зомби мрежи“, за да организират DDoS атака, но повече за това отделно.

Идеологическите основи на разпределените изчисления са положени отдавна. Първият опит за достъп до ресурсите на "бездействащи" устройства датира от 1973 г., когато двама служители на изследователския център Xerox PARC - Джон Хъп и Джон Шох - написаха програма, която извършва изчисления през нощта на компютри, свързани към локалната мрежа на центъра.

Двадесет години по-късно, през 1993 г., Ерик Шмид, тогава в Sun Microsystems, заявява: „Когато мрежата стане толкова бърза, колкото процесорът, компютърът като такъв ще престане да съществува, той ще се разпространи из цялата мрежа.“ Тази идея формира основата на концепциите за облачни услуги и мрежи, при взаимодействие с които потребителят вече не се интересува колко бързо работи устройството му, а има значение само честотната лента на канала.

Но облачните изчисления са централизацията и концентрацията на изчисленията от страна на сървърните компании. Има и друг начин, който позволява на отделните потребители да се обединяват за решаване на глобални проблеми, без да включват големи корпорации в тези процеси.

Година след речта на Шмид беше предложена идеята за доброволен разпределен компютърен проект, който в крайна сметка стана най-най-известният от тях е SETI@Home, който търси сигнали от извънземни цивилизации.

Идеята за изоставяне на концентрацията на изчислителна мощност на едно място също има важно предимство пред суперкомпютрите - разпределените системи имат потенциала да увеличават своята производителност за неопределено време поради свободното мащабиране.

Еднакво важни за разбирането на стойността на доброволното изчисление и метакомпютинга са идеите за краудсорсинг и полезно изчисление. В основата на UC е идеята, че възможността за достъп до отдалечени ресурси, които потребителите желаят да споделят помежду си, може значително да подобри цялостната производителност на компютрите по света.

Например Дейвид Андерсън, ръководител на SETI@home, вижда развитието на разпределените изчисления като възможност за създаване на това, което той нарича "интернет базирана световна операционна система" - Internet-scale Operating System (ISOS), в която потребителите могат не само да споделят своите ресурси, но и да печелят от тях.

В същото време разпределеното изчисление не е хоризонтална структура, за разлика например от P2P. Съществува определена йерархия и подчинение на общи големи задачи, към които потребителите насочват ресурсите си.

Какво да правим със спящ компютър

Участието в доброволно изчисление не е единствената възможност да използвате „пълноценно“ изчислителната си мощ.

Всички свободни неактивни ресурси представляват интерес за хакери, които създават "зомби мрежи". От друга страна, има редица проекти, които използват DDoS атаки като форма на актове на гражданско неподчинение, когато потребителите по собствена инициатива предоставят ресурсите си за създаване на изкуствени натоварвания на определени сайтове.

Доброволноизчисления

Има доста от тях. Някои са организирани на напълно доброволен принцип, някои предлагат на участниците финансови стимули под една или друга форма, някои са създали мощна общност около себе си, състезавайки се „кой ще изневери най-много“, докато трети се ръководят от факта, че задачите, които решават, са привлекателни поради значимостта си за човечеството.

Днес повечето доброволчески компютърни проекти са фокусирани върху BOINC, софтуерен пакет, който позволява на изследователи по целия свят да имат достъп до ресурси, предоставени от доброволци.

BOINC е междуплатформен, сравнително лесен за настройка и изисква минимално внимание от страна на потребителя. Неговият клиент се стартира "под скрийнсейвъра" и не докосва ресурсите, от които се нуждае самият собственик, като се позовава само на безплатните (или, ако го конфигурирате по различен начин, на тези, които са му разпределени).

За шест години интегрираната производителност на проектите в BOINC е нараснала от 5,2 петафлопа до 28,7, оставяйки далеч зад себе си върховата производителност на най-мощните суперкомпютри в света (например японският "K computer" обработва 8,16 петафлопа данни).

Основни проекти на BOINC

SETI@home, проект на Калифорнийския университет в Бъркли, търси извънземни цивилизации и от 1999 г. обработва радиосигнали, записани от телескопа на обсерваторията Аресибо. През това време бяха изследвани сигналите, идващи от 98% от наблюдаваното небе (макар и в доста тесен диапазон). Повече от четири милиона потребители успяха да участват в проекта.

Einstein@Home търси пулсари в открития космос, източници на специален вид електромагнитно излъчване. Основната цел на проекта отдавна се счита за потвърждаване на теорията на Айнщайн за гравитационните вълни, но презв резултат на това сигналът, доказващ съществуването им, се оказа твърде кратък, за да попадне в областта на данните, обработвана от проекта. Въпреки това Einstein@Home продължава да работи, идентифицирайки нови източници на гравитационно излъчване.

MilkyWay@Home е друг проект за дълбокия космос. В неговата рамка разпределената изчислителна мощност се използва за триизмерно моделиране на процесите на формиране на галактики.

Проекти по-близо до Земята - Asteroids@home, изучаващи малки космически тела, и Climate Prediction, занимаващи се с моделиране на времето - все още има много места на Земята, където метеоролозите нямат достатъчно изчислителна мощност, за да изчислят прогнозите за времето.

В BOINC има и проекти, които работят върху задачите на микросвета. Например LHC@Home е предназначен да помогне на физиците, работещи с Големия адронен колайдер в CERN, с изчисления. Ресурсите на собствената им разпределена мрежа, въпреки че е най-мощната в света, понякога не са достатъчни.

Rosetta@home моделира протеинови структури, за да помогне да се намерят лечения за ХИВ, рак, болест на Алцхаймер и малария. Има и отделни проекти, чиито мощности са насочени към борбата с конкретни заболявания.

Математическите изчисления се правят например от PrimeGrid и Yoyo@home.

Отделен клон от проекти е WorldCommunityGrid на IBM. В рамките на WCG се правят изчисления, свързани с възобновяемите енергийни източници, търсенето на лекарства (например от вируса Ебола) и декодирането на генома.

Има и проекти, чиято инфраструктура не е изградена на BOINC. Сред тях са TeraGrid, който търси натрупвания на „тъмна материя“ във Вселената, MoneyBee, който изчислява възможните колебания на фондовите пазари, или NEESgrid, който позволява на геолози и архитекти да симулират сеизмична активност.

"Лотария" и търговски проекти

Проекти, които по някакъв начин предлагат директен доход, изглеждат твърде шарлатански, но има и такива, които работят на принципа на лотарията - тук се изплаща предварително определена премия на участник, на чието устройство са достигнати някакви междинни или крайни условия на проекта.

GIMPS, който опитва специален вид просто число, е спонсориран от Electronic Frontier Foundation, предлагайки $100 000 за намиране на просто число на Мерсен с 10 милиона цифри. Оттогава са получени още три номера.

Проекти като ProcessTree Network и Parabon Computation насърчават потребителите да предоставят своите ресурси на търговски клиенти.

Как работи

За да участвате в разпределени изчисления на ниво обикновен доброволец, не е необходимо почти нищо – просто инсталирайте клиент (например софтуер за BOINC), изберете подходящ проект (например на уебсайт на българоговоряща общност), конфигурирайте конфигурацията, като посочите максимално допустимото натоварване и време за връзка – и готово: черупката зарежда задачите, устройството ги обработва, когато има такава възможност, а след това самият клиент изпраща резултатите обратно на родителския сървър.

Напреднало ниво

Ако се интересувате и имате умения за разпределени изчисления, можете да използвате компонентите на "Интернет на нещата" или игрови конзоли - в PlayStation 3, например, програмата за изчисления в рамките на Folding@Home е предварително инсталирана от разработчиците.