Без малого десять лет назад, в октябре 2000-го, был запущен проект ученых из Стэндфордского университета, получивший название Folding@home. Идея его была насколько благой, настолько и фантастической. Это сейчас мы привыкли ко всяким облачным игрушкам, вроде антивирусов или даже целых компьютеров. А в далеком 2000-м возможность объединиться всем миром и, овладев тайной свертывания молекул белка, одолеть такие страшные недуги, как болезни Паркинсона и Альцгеймера, склероз, коровье бешенство, диабет второго типа, рак и многие, многие другие, казалась настоящим чудом. И сделать-то для этого надо было всего ничего: просто установить на свой компьютер специальную программку, которая будет использовать свободные вычислительные мощности для обработки относительно небольших порций данных, скачиваемых с главного сервера. Когда расчет закончен, результаты закачиваются туда же, и цикл повторяется снова и снова. Учитывая, что у многих компьютеры работали круглосуточно уже тогда, возможность серьезно помочь человечеству, ничего, по сути, не делая, понравилась многим.
Очень скоро счет участников пошел на тысячи, потом поддержка Folding@home появилась в Google Toolbar, и это сразу увеличило число активных доноров вычислительных ресурсов примерно на 20 000. К пятилетию проекта в нем насчитывалось уже 200 000 активных машин, а производительность обещала перевалить за две сотни терафлопс. Но настоящий рывок случился 22 марта 2007-го, когда вышла версия клиента для PlayStation 3. Процессор Cell, используемый в игровой консоли, оказался потрясающе эффективным для задач Folding@home, и в считанные дни производительность проекта превысила отметку 900 терафлопс - это примерно в четыре раза выше результатов, достигнутых без участия PlayStation.
В апреле 2009-го производительность примерно 400 000 систем, постоянно участвующих в Folding@home, достигла внушительных пяти петафлопс. Это в два с нелишним раза больше, чем может сегодня обеспечить самый мощный компьютер планеты - Jaguar (напомним, его производительность составляет 2,3 петафлопс). Правда, с тех пор Folding@home немного сдал, и, по данным на 16 мая, он выдает "всего" 3,4 петафлопс. При изучении сводной статистики проекта многих может удивить, что традиционные процессоры вносят весьма незначительную лепту - около 290 терафлопс. Зато GPU компании Nvidia суммарно выдают больше 1,3 петафлопс, а второе и третье место делят GPU ATI и PlayStation 3 (880 и 883 терафлопс соответственно). Да, архитектура x86 пока идеальна далеко не везде.
Всего с момента старта вычислений клиент Folding@Home был установлен более чем на 4,2 миллиона машин, и на сегодня данный проект является самым мощным в сфере распределенных вычислений, что подтверждает и Книга рекордов Гиннесса.
Приятно отметить, что россияне находятся в авангарде проекта, и команда TSC! Russia держит пятое место в мире по скорости и второе - по числу активных пользователей. Их конкуренты из команды Russia сейчас на 54-м месте по скорости, но учитывая, что всего команд 181 012, результат очень неплохой. Нередко, приходя в проект ради борьбы с болезнями, люди исптывают азарт и желание поднять свою команду в рейтинге, тогда как все остальное отходит на второй план. Это не страшно, потому что, какой бы ни была мотивация, все идет на пользу дела. Вот только какого дела?
За десять лет Folding@home существенно изменился. Остались в прошлом, прямо скажем, недостаточно качественные версии клиента, имеющие привычку рушиться и уносить с собой результаты расчетов за сутки. Нынешние версии, как для CPU, так и для GPU, довольно стабильны, и сейчас не услышишь историй, как десять crash подряд заставили пламенного альтруиста плюнуть на благо человечества и покинуть проект. Остались в прошлом и подозрения, что под видом борьбы с раком идет расчет какой-нибудь гадости, вроде нового вида бактериологического оружия: практически все данные проекта поступают в открытом виде, и если бы там пряталось что-то нехорошее, это давно бы вычислили. В конце концов, нигде нет столько параноиков, как в тусовке альтруистов.
Скорее, некоторое снижение популярности Folding@home связано с вопросом, который начинают задавать все больше людей - "А чего, собственно, удалось достигнуть за десять лет?" Оно, конечно, не жалко запустить на постоянно работающем компьютере или игровой консоли программку, пусть это и приведет к росту ежемесячного счета за электричество на 100-200 рублей за одну машину (процессоры и, тем более, видеокарты под нагрузкой "едят" драматически больше, чем в режиме uTorrent+Miranda). Но хотелось бы узреть хоть какой-то очевидный результат!
На официальном сайте проекта об этом говорят весьма уклончиво. Цитируем: "Мы достигли определённых успехов. Вы можете прочитать об этом на странице Наука, на нашей странице Награды, или перейти по ссылке Результаты". По линкам обнаруживается список наград за саму платформу и перечень статей, написанных по результатам вычислений. Последний кажется довольно большим, но когда вспоминаешь, что 54 работы написаны за все десять лет, начинают терзать смутные сомнения. В конце концов, зная производительность ученой братии, пять с небольшим статей в год - это негусто.
Но может быть, работы настолько глубоки, что количество не имеет никакого значения? Если вы в достаточной мере владеете научным английским и разбираетесь в биологии, можете ответить на этот вопрос сами, ознакомившись с кратким описанием каждой работы. К сожалению, автор этой статьи, не может похвастаться такими знаниями, и ему пришлось прибегнуть к консультации профессора кафедры биомедицинского инжиниринга из Ben-Gurion University of the Negev (Израиль), давшего ее на условиях анонимности. По мнению профессора, если сравнить проект с попыткой понять принцип работы автомобиля, сейчас можно было бы говорить о постижении причин, из-за которых колеса сделали круглыми, а не квадратными. Но есть еще некоторые сомнение по поводу восьмиугольников. Все же остальное, от устройства двигателя внутреннего сгорания и климат-контроля до формулы краски кузова, не изучено вообще никак. Тем не менее, профессор считает Folding@home достаточно полезным и даже рекомендует подключаться к нему своим студентам. Парадокс? Ничуть не бывало. "Folding@home сильно напоминает тыкание пальцем в небо. Но иногда в науке это срабатывает, плюс нельзя переоценить важность чувства причастности к важному делу, возникающего у молодых исследователей. Да и палец сейчас стал таким мощным, что того и глядишь, попадет в нужное место".
Справедливости ради, следует заметить, что вопросы о конкретных результатах "здесь и сейчас" обычно задают новички, плохо представляющие, как работает современная наука. Между тем, участники со стажем ощущают себя кем-то вроде старателей, помогающих ученым отгребать пустую породу. Привлекать к этой неблагодарной работе высокооплачиваемых профи (читай - суперкомпьютеры) бессмысленно, они вступят в бой, когда найдут первые золотые слитки. Но случится это (если, конечно, случится) нескоро, хотя с появлением новых мощных GPU и действительно многоядерных CPU дело может пойти поживее: уже сегодня руководители проекта обещают вскорости достичь производительности порядка 100 петафлопс. То есть число пальцев, устремленных в небо, существенно увеличится…
В текущей (6.23) версии клиента Folding@home есть возможность регулировать уровень загрузки процессора, и потому его можно без ущерба для удобства работы запускать даже на очень слабеньких системах. Работает клиент на всех популярных операционных системах, так что его можно ставить даже на продвинутые NAS. А вот ставить или нет - решайте сами. Физический износ компьютера не ускорится, но шуметь он, скорее всего, будет заметно больше, да и придется ежемесячно платить несколько сотен рублей за электричество сверх обычной суммы (чем мощнее процессор и видеокарта - тем больше). Но зато, когда рак и болезнь Альцгеймера, наконец, одолеют, вы сможете почувствовать себя одним из победителей. Ну, или ваши дети. Или внуки.
Кстати, российские суперкомпьютеры никак не войдут в мировой TOP-10, а проект Союзного государства "СКИФ-ГРИД", который должен этот вход обеспечить, еще не вышел на проектную мощность. А что если создать национальный проект распределенных вычислений и устанавливать клиент на все компьютеры, закупающиеся в рамках федеральных программ? Ну и, конечно, выложить версию с поддержкой вычислений на GPU в открытый доступ. Неужели не наберем четыре с небольшим сотни терафлопс, как у самого мощного российского суперкомпьютера "Ломоносов"? Главное - придумать - что будет полезно и важно вычислять в первую очередь. Ждем ваших идей в комментариях к этой статье.