Без малого десять лет назад, в октябре 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 в открытый доступ. Неужели не наберем четыре с небольшим сотни терафлопс, как у самого мощного российского суперкомпьютера "Ломоносов"? Главное - придумать - что будет полезно и важно вычислять в первую очередь. Ждем ваших идей в комментариях к этой статье.