Владельцам современных компьютеров и мобильных гаджетов доступны мощнейшие вычислительные ресурсы, которые используются на полную катушку только изредка. При этом существует масса интересных задач, решением которых можно загрузить простаивающую технику. Объединившись, тысячи персоналок, ноутбуков и даже смартфонов могут выступать наравне с суперкомпьютерами.
 

Grid вместо суперкомпьютера

Идея объединить девайсы из разных уголков планеты в большой кластер не нова, но реально достижимой она стала только с развитием скоростного интернета. Один в поле не воин, а мировая паутина легко позволяет собрать цифровое войско. Те, кто встал на темную сторону, создают для своих черных дел ботнеты. Они досят сайты, брутфорсят пароли, рассылают спам и заставляют чужие устройства майнить для них криптовалюту. Те, кто остался на светлой стороне, используют распределенные вычисления для доброго и вечного — развивают исследовательские проекты, двигают науку и улучшают жизнь в целом, как это и подобает настоящим хакерам.

Организация распределенных вычислений — трудоемкое занятие, которое требует специфических знаний. В зарубежной литературе их обычно называют словом grid или гетерогенными вычислениями. Первый термин прижился потому, что каждый компьютер образует узел сети (grid), а второй — поскольку все узлы разные по своей архитектуре и набору установленного софта. Основная сложность заключается именно в том, чтобы заставить этот зоопарк работать как единое целое.

 

Наука начинается там, где появляется математика

В свое время мне доводилось обрабатывать тонны статистических данных, выполнять квантово-химические расчеты и работать с исследователями, увлеченными самыми разными областями. Иными словами, у меня есть некоторое представление о роли вычислений в науке и о том, как дела обстоят в реальности.

По образованию я врач, поэтому начну с близкой мне темы. В современных медицинских исследованиях диагностика и лечение множества заболеваний связаны с изучением структуры белков и их взаимодействия на молекулярном уровне. Фолдинг полипептидных цепочек, докинг лигандов, генетические и биохимические расчеты — все это требует колоссальных вычислительных ресурсов, которые научному коллективу негде взять. Они либо стоят запредельно дорого, либо теоретически есть, но на практике к ним не подступиться. Такая ситуация сложилась не только в России.

Лет восемь назад вице-президент компании CDI Джейсон Фарке (Jason Farqué) проникся этой проблемой сполна. Тогда выяснилось, что его отец страдает от хореи Гентингтона — неизлечимого наследственного заболевания. Проявляется оно обычно на второй половине жизненного пути, и что с ним делать — никто не знает. Исследования вяло идут аж с конца XIX века, но даже механизмы развития болезни толком не были известны, когда отцу Джейсона поставили этот страшный диагноз.

Фарке начал читать о заболевании всю доступную литературу. В клинической практике описывалась только поддерживающая терапия и симптоматическое лечение, но он быстро нашел перспективные исследования. Обработка их данных выполнялась в проекте Folding@Home — первой сети для биомедицинских распределенных вычислений на добровольной основе. Суть проекта проста: любой пользователь может установить бесплатное приложение (первая версия была скринсейвером), и, когда компьютер не занят другими тяжелыми задачами, он будет выполнять расчеты белковых молекул в поисках новых лекарств и методов лечения.

Посмотрев статистику проекта, Фарке понял, что большая часть добровольцев не вносит заметного вклада. Когда-то они присоединились, но теперь не выполняют даже одного задания в месяц. Мертвые души, с которыми разработка новых методов лечения так и останется призрачной надеждой, если не убедить людей заняться проблемой всерьез.

Лучше всего мотивирует личный пример, поэтому Фарке собрал мощный кластер (или, как сейчас бы сказали, ферму) из 17 топовых на тот момент видеокарт Nvidia GeForce GTX 295 и процессоров AMD Phenom X4 9550 с общей потребляемой мощностью под 7 киловатт. В дальнейшем он добавил в стойку еще пять видеокарт — можешь посмотреть на эту конструкцию на видео.

Его ферма получила название Atlas Folder, быстро вырвалась в топ и послужила хорошим мотиватором. Добровольцы сотнями в день подключали свои игровые компьютеры и приставки PlayStation 3, а суммарная производительность Folding@Home перевалила за 19 «чистых» петафлопс. В последующие годы и в свои лучшие дни она превышала 100 петафлопс — это больше, чем у Sunway TaihuLight — самого мощного в мире суперкомпьютера.

Atlas Folder — фрагмент кластера из 23 видеокарт
Atlas Folder — фрагмент кластера из 23 видеокарт

Присоединиться к Folding@Home проще простого. Достаточно открыть в Google Chrome эту страничку, и браузер автоматически загрузит и начнет выполнять расчет очередного белка. Ты можешь ввести свои данные или выполнять расчеты анонимно. В примере ниже моделируется докинг протеинкиназы С (PKC) с различными лигандами. Главным образом — с белковыми рецепторами клеточной мембраны. Механизм этого взаимодействия важен для разработки новых лекарственных препаратов от болезни Альцгеймера.

Биохимические расчеты прямо в браузере
Биохимические расчеты прямо в браузере

Если тебе неудобно запускать расчеты в браузере, то на главной странице проекта есть ссылка на классическое десктопное приложение. На большинство вопросов поможет найти ответы страница FAQ.

Результаты Folding@Home уже помогли заполнить многие пробелы в изучении наследственных заболеваний. Установлены определенные белки, вызывающие развитие патологии, кодирующие их гены и непосредственно дефектные кодоны; выяснены молекулярные механизмы патогенеза. Однако это только начало. Чем глубже мы хотим разобраться в какой-то проблеме, тем больше ресурсов потребуется для этого на каждом последующем этапе.

 

Тем временем на сервере

На стороне клиента научные расчеты выглядят очень просто, а на сервере — чертовски сложно. Чтобы создать очередное биохимическое задание, ученым надо выбрать подходящий белок (или другую молекулу) и формализовать его с точностью до электрона. Сначала по этим данным будет рассчитана приблизительная модель, выполнены проверки, а затем лучшие кандидаты отправятся на компьютеры волонтеров.

Клиентское приложение автоматически загрузит задания и будет вычислять уже точные углы и межатомные расстояния в крупной молекуле. Отдельные задания моделируют взаимодействие двух и более молекул, а также учитывают влияние растворителя и вносят другие поправки.

После того как несколько компьютеров выполнят одно и то же задание, сервер сравнит результаты и примет решение: считать его правильным или требующим повторной проверки. Такой подход позволяет выполнять надежные вычисления в постоянно меняющейся сети, узлы которой нельзя считать доверенными.

Для построения 3D-модели полипептидных цепочек обычно используется термодинамическая гипотеза фолдинга белков, выдвинутая Кристианом Бемером Анфинсеном. За нее он в 1972 году получил Нобелевскую премию по химии. По точной трехмерной структуре белка и других органических молекул можно рассчитать положение их активных центров и всех функциональных групп. Эта информация позволяет довольно точно оценить реакционную способность, биологическую активность, потенциальные области применения и уровень токсичности соединения, еще не имея на руках самого вещества. Благодаря квантово-химическим методам на порядки ускоряется разработка лекарств и диагностических маркеров.

 

В далекой-далекой галактике

Моделирование белковых структур — важная, но далеко не единственная задача, которую можно решать с помощью распределенных вычислений. Вопреки закону Мура, в научных коллективах постоянно нарастает нехватка ИТ-ресурсов. Во всем мире их львиная доля задействована в индустрии развлечений и в обработке коммерческих данных.

Острая фаза эксперимента может длиться секунды, а вот анализ иногда растягивается на месяцы, если не годы. К суперкомпьютерам выстраиваются очереди ученых, либо же необходимые гигабайты с гигафлопсами собираются по крохам среди волонтеров. Приведу несколько цифр для лучшего понимания масштабов.

Эксперименты на Большом адронном коллайдере генерируют с полсотни петабайт данных ежегодно. Для их хранения и обработки построена отдельная сеть WLCG (Worldwide LHC Computing Grid), которая объединяет 170 вычислительных центров в 42 странах (включая Россию), но даже с ней расчеты растягиваются на многие месяцы.

Каждый год автоматические обсерватории получают больше данных, чем удавалось собрать за всю историю астрономии вплоть до начала XXI века. Я сказал «каждый год»? Простите, вспомнил доклад пятилетней давности. Тут мне подсказывают — уже каждые два-три месяца, а скоро будет каждую неделю. Постоянно совершенствуются инструменты и растут объемы наблюдений.

Продолжение статьи доступно только подписчикам

Вариант 1. Оформи подписку на «Хакер», чтобы читать все статьи на сайте

Подписка позволит тебе в течение указанного срока читать ВСЕ платные материалы сайта, включая эту статью. Мы принимаем оплату банковскими картами, электронными деньгами и переводами со счетов мобильных операторов. Подробнее о подписке

Вариант 2. Купи одну статью

Заинтересовала статья, но нет возможности оплатить подписку? Тогда этот вариант для тебя! Обрати внимание: этот способ покупки доступен только для статей, опубликованных более двух месяцев назад.


3 комментария

Подпишитесь на ][, чтобы участвовать в обсуждении

Обсуждение этой статьи доступно только нашим подписчикам. Вы можете войти в свой аккаунт или зарегистрироваться и оплатить подписку, чтобы свободно участвовать в обсуждении.

Check Also

Конкурс хаков: пишем на PowerShell скрипт, который уведомляет о днях рождения пользователей Active Directory

В компаниях часто встречается задача уведомлять сотрудников о приближающихся днях рождения…