Мощь домашних компьютеров для научных проблем
«Если у вас есть приставка PlayStation 3, начинайте спасать жизни. Реальные жизни». Именно так один блогер описал свои впечатления от знакомства с игрой Folding@home для PS3 — первым в мире проектом распределенных вычислений только для геймеров.
Распределенная вычислительная система — это своеобразный краудсорсинговый проект для компьютеров. Она объединяет через интернет сотни тысяч компьютеров во всем мире в гигантский виртуальный суперкомпьютер для проведения сложных расчетов, которые не под силу отдельному компьютеру.
В течение долгих лет ученые пытались объединить вычислительную мощь домашних компьютеров для решения реальных научных проблем. Наиболее известный пример такого рода — проект SETI@home, или Search for Extraterrestrial Intelligence at home («Поиск внеземного разума, не выходя из дома»). Эта программа использовала ресурсы ПК для анализа радиосигналов из космоса на предмет признаков разумной жизни во Вселенной.
Folding@home — аналогичная система, созданная биологами и исследователямимедиками из Стэнфордского университета, чтобы разгадать одну из величайших загадок биологии человека — фолдинг (сворачивание) белка.
Каково значение фолдинга белка? Из белков строится любая биологическая активность. Все, что происходит в нашем теле, — результат работы этих сложных органических веществ: они формируют скелет, заставляют сокращаться мышцы, управляют пятью чувствами, переваривают пищу, защищают от инфекций и помогают мозгу генерировать эмоции. В человеческом теле более ста тысяч видов протеинов, каждый из которых состоит из множества компонентов — от ста до тысячи. Строительным материалом для них служат различные комбинации из двадцати разных аминокислот.
Для выполнения этой специфической работы каждый вид белка приобретает уникальную пространственную структуру. Биологи описывают этот процесс как своего рода невероятно сложное оригами. Отдельные компоненты могут располагаться в любой последовательности и сворачиваться в любую структуру.
Даже когда известно, какие именно аминокислоты формируют белок и какие элементы он содержит, все равно невозможно точно предсказать, какую форму он примет. Исследователи знают наверняка только одно: иногда по непонятным причинам протеины перестают сворачиваться правильно.
Они «забывают», какую структуру им следует приобрести, и когда происходит подобное, это приводит к болезни. Например, болезнь Альцгеймера, муковисцидоз, синдром коровьего бешенства и многие онкологические заболевания считаются следствием неправильного сворачивания белка.
Ученые хотели бы понять, как происходит фолдинг белка, чтобы выяснить, можно ли предотвратить неправильное сворачивание. Но учитывая способность этих сложных органических веществ принимать практически бесчисленное количество форм, их тестирование может затянуться надолго.
Компьютерная программа может сымитировать любую возможную форму белка, состоящего из известного набора аминокислот. Но на тестирование всех вероятных комбинаций только для одного вида белка понадобится около тридцати лет, а в нашем теле сотни тысяч видов белка.
Как говорится в разделе ЧАВО на сайте Folding@home, «это слишком долго для одного результата!». Поэтому исследователи используют распределенные вычисления. Если распределить работу между несколькими процессорами, она будет продвигаться намного быстрее.
И геймеры объединились
С 2001 года любой человек в мире может подсоединить свой ПК к сети Folding@home. Находящийся в режиме ожидания компьютер подключается к сети и загружает небольшое расчетное задание — симуляцию белкового фолдинга продолжительностью всего несколько минут, — а после его выполнения передает полученные результаты в сеть.
После почти десяти лет использования дополнительной вычислительной мощности персональных компьютеров команда сайта Folding@home поняла, что существует более мощная вычислительная платформа для виртуального суперкомпьютера — игровые консоли PS3.
С точки зрения обработки данных, игровые приставки гораздо производительнее, чем обычный ПК. Это обусловлено тем, что вычислительная мощность, требуемая для визуализации постоянно меняющегося трехмерного изображения, гораздо больше, чем для рутинных задач вроде интернет браузинга или набора текстов, выполняемых на ПК.
Несмотря на то что в наших домах чаще встретишь компьютеры, если бы исследователям удалось привлечь к участию в проектах распределенных вычислений хотя бы малую часть геймеров, играющих на игровых консолях, они могли бы удвоить, утроить, а то и вчетверо увеличить вычислительную мощность своего суперкомпьютера. Но захотят ли геймеры это делать?
Компания — производитель игровых консолей Sony была уверена, что захотят. И оказалась права.
В качестве благотворительной акции компания Sony разработала специализированное приложение Folding@home для PS3. Геймеры могли войти в систему под своим логином, заявить о приверженности миссии по раскрытию секрета фолдинга белка и предоставить вычислительный ресурс своих консолей для ее реализации. Они имели возможность наблюдать симуляцию фолдинга в режиме реального времени, а также отслеживать объем вычислений, проведенных в рамках проекта.
«Помогите спасти реальные жизни, пока не спасаете виртуальные» — месседж оказался весьма убедительным и привлек множество желающих. В течение нескольких дней после выхода приложения появились тысячи постов в блогах и статей в электронных журналах о возможности объединить игру с благим делом, мгновенно разлетевшиеся по геймерской онлайнвселенной.
Сообщество сплотилось вокруг вышеупомянутого месседжа с необыкновенным энтузиазмом. В онлайнстатьях и постах в блогах с гордостью провозглашалось: «Геймеры PS3 пытаются спасти мир!». На форумах геймеры подбадривали друг друга: «Тебе недавно удалось побороть рак? Настало время присоединиться к нам и поучаствовать в акции борьбы с раком».
Они быстро сформировали команды для соревнования и всячески поощряли друг друга к более активным действиям. «Твоя PS3 не может сделать это без тебя». «Пришло время внести свой вклад в дело спасения человечества».
Помогли победить рак, а не просто прошли уровень
В течение шести месяцев геймеры коллективно помогли сети Folding@ home достичь такого уровня вычислительной мощности, который и не снился ни одной другой системе распределенных вычислений в мире. В итоге в официальном блоге PlayStation было заявлено:
Наконец-то случилось событие, которого с нетерпением ожидало сообщество проекта Folding@home и компьютерный мир в целом — достигнута вычислительная мощность в петафлопс. Петафлопс равен одному квадриллиону операций с плавающей запятой в секунду (FLOPS). Если вы хотите представить себе эту гигантскую мощность, вспомните, как рассчитываете чаевые в зависимости от суммы счета в ресторане. Теперь сделайте это для 75 тысяч разных счетов, а затем вообразите, что это надо делать ежесекундно. И наконец, представьте, что все население планеты ежесекундно производит эти расчеты — это и есть петафлопс вычислений. Теперь вы понимаете, почему я называю эту цифру гигантской.
Учитывая такой эпический контекст, неудивительно, что геймеры оказались на высоте. Они жили в ожидании шанса послужить великой цели, и он им выпал.
Как сказал один геймер: «Вы можете хвастаться тем, что помогли победить рак, а не просто рассказывать о том, что прошли самый сложный уровень, умудрившись ни разу не умереть».
Сегодня пользователи PS3 предоставляют 74 процента вычислительной мощности, используемой в Folding@home. Итак, свыше миллиона игроков с игровой консолью PS3 на шести континентах предоставляли временно не задействованные вычислительные мощности проекту Folding@home. Иначе говоря, это каждый двадцать пятый геймер в сети игровых консолей. Вклад геймеров в проект существенно превосходит вклад всех остальных его участников; причем они самые активные участники тематических форумов, пристально следящие за тем, как используются результаты их труда.
Сегодня каждая консоль PS3 продается с предустановленным программным обеспечением Folding@home, что облегчает геймерам доступ к исследовательской работе. Несмотря на то что с момента первого выпуска программы в сентябре 2008 года прошло уже много времени, игроки продолжают активно на нее подписываться — в среднем по три тысячи человек в день или два человека в минуту.
Проект Folding@home для PS3 — прекрасный пример удачного сочетания возможности и способности чтото сделать, которые представляют собой краеугольный камень любого краудсорсингового проекта. Недостаточно просто привлечь внимание общественности, надо еще и предложить людям сделать нечто реально осуществимое.