Наука@Home: распределенные вычисления на ПК
18.06.2014 Андрей Белокриницкий Андрей
В недалеком прошлом под научные расчеты создавались специальные вычислительные кластеры, однако их мощность не безгранична и ее постоянно не хватает для обработки всех данных. Следовательно, ученым пришлось искать доступ к новым вычислительным ресурсам. Вместо покупки очередных дорогих компьютеров пошли альтернативным путем и начали использовать ПК обычных пользователей, которые те безвозмездно отдавали для расчетов во имя науки.
Сначала эта затея выглядела малоперспективной, ведь в середине девяностых, когда лишь начали появляться первые сети распределенных вычислений в их текущем виде, частота процессоров едва преодолела порог в 100 Мгц, Интернет был редкостью, а о доступе к действительно большому числу компьютеров не шло и речи.
Тем не менее, развитие Всемирной Сети и увеличение производительности процессоров в полном соответствии с законом Мура привело к тому, что сейчас распределенные сети на равных конкурируют с топовыми суперкомпьютерами, причем, в отличие от них, постоянно совершенствуются и не стоят ни копейки.
Если взглянуть на изменения в распределенных сетях за последние несколько лет, то можно сразу отметить несколько ключевых моментов.
Наверное, самым важным и пока еще не до конца раскрывшим себя шагом стал переход на GPU-вычисления, в некоторых случаях ускоряющий расчеты на порядок. Значительную роль сыграла и оптимизация вычислительных алгоритмов под многоядерные процессоры, возможность одновременного выполнения расчетов на CPU и GPU, поддержка 64-битных вычислений, появление клиентов для игровых консолей, поддержка альтернативных операционных систем (Mac OS X, Linux), быстрое распространение Интернета, и что немаловажно, заметное упрощение клиентов, которые больше не требуют от пользователей запуска вычислений через командную строку.
Сравнение с суперкомпьютерами
Сети распределенных вычислений уже называют виртуальными суперкомпьютерами, и приставка «виртуальные» здесь скорее используется для дифференциации от классических суперкомпьютеров, поскольку по скорости работы оба типа вычислительных систем находятся практически на одном уровне.
По состоянию на октябрь 2012 года проект Folding@home «завербовал» 219 тыс. процессоров, 20 тыс. GPU, 16 тыс. консолей PlayStation 3, и его суммарная мощность составила 3.7 petaFLOPS (пиковая мощность 6 petaFLOPS была зарегистрирована в ноябре 2011 г.). По данным за этот же месяц, производительность BOINC (всех проектов, входящих в состав этой сети) составляет 6.6 petaFLOPS (на момент публикации материала — 7.4 petaFLOPS, по данным официального сайта, но эта цифра подсчитывается лишь за последние 24 часа).
Если эти виртуальные вычислительные системы разместить в списке суперкомпьютеров, то они втиснутся между третьей и четвертой строчкой рейтинга, заметно опережая ближайшего конкурента (производительность SuperMUC, занимающего сейчас четвертое место, составляет 3.1 petaFLOPS).
Для того, чтобы подняться на первое место, Boinc необходимо быть быстрее приблизительно в три раза, поскольку рейтинг Sequoia (самого производительного на текущий момент суперкомпьютера в мире) составляет 20.1 petaFLOPS. Учитывая, что этот компьютер в полную мощность заработал лишь летом этого года, можно предположить, что распределенные вычислительные системы смогут вырваться вперед уже в течение нескольких лет, даже с учетом появления новых суперкомпьютеров.
Основные направления исследований
Без сомнения, распределенные вычисления уже стали распространенным феноменом, следовательно, среди них можно отыскать проекты, занимающиеся решением практически любых научных задач. Тем не менее, самые популярные проекты сконцентрированы на решении довольно узкого круга проблем. В первую очередь это медицина (исследование белков и поиск лекарств), предсказание климата, изучение космоса (поиск внеземных сигналов, правильных моделей вселенной, экзопланет), проверка математических и физических теорий.
Как подключиться к сети распределенных вычислений
Если вы решили, что поиск лекарств от неизлечимых пока болезней или предсказание изменения климата Земли – задачи, достойные того, чтобы выделить под них свой компьютер, то добровольно пожертвовать вычислительную мощность под любой из этих проектов совсем не сложно.
Проще всего это сделать, скачав клиент BOINC и запустив мастер добавления нового проекта. На одном из шагов необходимо будет зарегистрироваться (что можно сделать прямо в программе), вот и все трудности. Если возникли затруднения с выбором конкретного проекта, то можно указать сразу несколько, и они будут считаться по очереди.
По умолчанию BOINC использует компьютер все свободное время, однако выставляет для своих расчетов самый низкий приоритет, так что процессорные ресурсы используются клиентом в самую последнюю очередь.
Что касается памяти, то здесь понятие приоритета неприменимо, а поскольку на многоядерных процессорах BOINC запускает сразу несколько копий расчетов, каждая из которых может занимать в памяти несколько сотен мегабайт (такие объемы нужны не для всех проектов), то в играх и других требовательных приложениях все же лучше ставить расчеты на паузу, что можно сделать непосредственно в клиенте.
Более тонкую настройку можно провести в опциях BOINC, указав программе часы использования компьютера, период бездействия ПК, после которого можно запускать расчеты, а также количество процессорной мощности (в процентах), доступной клиенту.
Очки за участие
В большинстве проектов за участие начисляют очки. Их количество напрямую зависит от сложности расчетов, следовательно, чем производительнее компьютер и чем дольше он используется, тем больше очков начисляется. У каждого пользователя есть собственная страница со статистикой, где можно посмотреть личное и командное место в общем зачете (в качестве команды по умолчанию используется страна, указанная во время регистрации).
Популярные проекты Boinc
Boinc — это не распределенная сеть в традиционном понимании, а скорее посредник между проектами и пользователями. Изначально Boinc разрабатывался как клиент для SETI@home, но сейчас с его помощью можно подключиться и к десяткам других проектов.
ClimatePrediction
Самый мощный проект по изучению климата Земли. Занимается моделированием погодных условий будущего (до 2080 года) с учетом различных входных данных. На текущий момент имеет в активе несколько миллионов просчитанных комбинаций. Проект был запущен в 2003 г.
Einstein@home
Проект занимается поиском гравитационных волн, существование которых еще не доказано, но их наличие теоретически было предсказано Эйнштейном почти сто лет назад.
Для обнаружения гравитационных волн обрабатываются данные с радиотелескопов и специальных спутников, наблюдающих за вращающимися нейтронными звездами (пульсарами). За время существования проекта таких объектов было обнаружено более трех десятков.
Результаты проверки, опубликованные в июле 2012 г., свидетельствуют о том, что на текущий момент даже самые чувствительные датчики гравитационных волн не смогли зарегистрировать их наличие, но проект продолжает свою работу, анализируя новые данные и ожидая ввода в эксплуатацию более точных инструментов.
Einstein@home запущен в 2005 г. и на текущий момент его вычислительная мощность составляет приблизительно 0.5 petaFLOPS.
Rosetta@home
Один из наиболее популярных медицинских проектов, занимающихся виртуальным проектированием и изучением свойств новых протеинов, что может способствовать открытию лекарств от неизлечимых на данный момент болезней.
Проект запущен в 2005 г. и по состоянию на октябрь 2011 г. его вычислительная мощность составляла приблизительно 60 teraFLOPS (0.06 petaFLOPS)
Folding@home
Возможно, самый популярный проект распределенных вычислений. По вычислительной мощности уже сопоставим со всеми проектами, входящими в состав BOINC. Занимается практически тем же, что и Rosetta@home, т.е. изучением свойств белка, и с момента запуска благодаря ему были опубликованы более ста научных работ.
Большой мощности проект смог достичь как за счет раннего старта (2000 год), так и за счет выпуска очень производительного клиента для PlayStation 3 (2007 год), а также оптимизации расчетов под многоядерные процессоры и видеокарты, выполняющие вычисления, как правило, в несколько раз эффективнее самых современных CPU.
SETI@home
Один из ветеранов распределенных вычислений. Запущен в 1999 году, и таким образом, после десятилетий поиска внеземных сигналов в застенках научных лабораторий, к дешифровке космических радиоволн подключились и обычные компьютеры.
Несмотря на тринадцатилетний стаж, проект до сих пор не получил ни одного результата, сравнимого по скандальности с сигналом «Wow!», зарегистрированном в 1975 г. Тем не менее, на небе было найдено несколько точек — кандидатов на более тщательное сканирование, в связи с повышенной интенсивностью сигналов на фоне обычного шума. Вычислительная мощность проекта составляет приблизительно 0.5 petaFLOPS.
Milkyway@home
Проект воссоздания трехмерной модели нашей Галактики, позволяющий узнать историю формирования Млечного Пути.
Помимо этого, просчитываются процессы столкновения и слияния Галактик.
Cosmology@home
Проект занимается созданием виртуальных моделей Вселенной и последующим сравнением их свойств со свойствами наблюдаемой Вселенной с целью поиска наиболее соответствующей модели. Полученные данные затем могут использоваться для планирования новых астрофизических исследований и экспериментов, а также для лучшей подготовки к анализу данных, поступающих от новейших космических миссий.
Хотите принять участие в распределенных вычислениях, тогда, Вам сюда:
https://boinc.ru/