http://voyager.in.chv.ua
PortfolioCarpathiansArticlesMiscForum
Left

Распределённые вычисления.


О чём речь?

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

Distributed Computing

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

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

Где взять задачу? Существует множество проектов на основе распределённых вычислений, целями которых являются решения тех или иных задач в науке и вообще.

Зачем это Вам нужно? Ну, может быть для того, чтобы сделать мир лучше? Думаю, это достойная цель. Вообще, в поисках более развёрнутого ответа на этот вопрос, люди находят для себя ту или иную мотивацию - например, Вы можете каким нибудь образом пересекаться с предметом научных изысканий того или иного проекта, или испытывать банальный интерес к тематике решаемой задачи, или же попросту иметь желание как-то помочь.


Как это работает?

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

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


Как принять участие в том или ином проекте?

Для того, чтобы "сделать всем хорошо", Калифорнийский университет в Беркли (University of California, Berkeley) разработал и поддерживает "открытую программную платформу (университета) Беркли для сетевых вычислений" (англ. - "Berkeley Open Infrastructure for Network Computing", сокращённо и далее по тексту - "BOINC").

Платформа BOINC распространяется как свободное программное обеспечение с открытым исходным кодом, работает на разных операционных системах и позволяет осуществлять распределённые вычисления для тех или иных проектов.

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

Distributed Computing

Скачиваем и устанавливаем на свой компьютер BOINC-клиент, далее необходимо выбрать тот или иной проект (или несколько), в котором Вы хотите принимать участие. Запустите BOINC-клиент...

В меню BOINC-клиента выбираем "Инструменты --> Добавить проект..." (смотри иллюстрацию ниже).

Distributed Computing

Откроется окно выбора проекта (см. ниже).

Distributed Computing

Проекты в окне можно отсортировать по категориям.

Так, например, выбираем категорию "Биология и Медицина".

Distributed Computing

Далее Вам будут показаны только те проекты, которые имеют отношение к таким наукам как биология и медицина.

Теперь следует выбрать интересующий Вас проект, например выбираем проект "Rosetta@home".

Обратите своё внимание на то, что BOINC-клиент предоставляет краткую информацию про выбираемый проект - в окне выбора проекта можно увидеть кто "во всём виноват" и нафига это вообще кому-либо нужно :)

Distributed Computing

Итак, мы выбрали проект "Rosetta@home". BOINC-клиент предложит Вам залогиниться в этот проект (см. ниже).

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

Distributed Computing

Если Вы уже участвовали в рассматриваемом проекте, то выбираем "Да, существующий пользователь" и вводим свой логин/пароль.

Выбранный Вами проект добавится в BOINC-клиент.

Distributed Computing

Далее проект потянет через интернет задания для их дальнейшей обработки на Вашем компьютере (см. ниже).

Distributed Computing

После того, как BOINC-клиент получит задания от проекта, он начнёт их обрабатывать. Весь процесс автоматический и происходит по циклу "приём - обработка - отправка результатов", но каждое задание можно контроллировать вручную - останавливать или запускать.

Distributed Computing

Обратите внимание на то, что у каждого полученного задания есть свой так называемый "дедлайн" - то есть окончательная дата, до которой задание должно быть обработано и отправлены результаты этой обработки. Это значит, что если Вы, скажем, накачаете заданий, начнёте их обрабатывать и потом, не закончив, не будете включать компьютер (уедете куда-нибудь отдыхать, например), то результаты заданий по прошествию дедлайна уже никому не будут нужны и дообрабатывать их лишено смысла.

Если интересно, то можно посмотреть на графическое представление того, что же там такого Ваш компьютер считает в том или ином задании проекта...

Distributed Computing

Например, в проекте "Rosetta@home" это выглядит как-то так... (см. ниже).

Distributed Computing

На иллюстрации выше показана "какая-то неведомая хрень" показан процесс решения задания от проекта "Rosetta@home", суть которого заключается в вычислении третичной структуры белка, о чём подробнее - далее.

Белок - органическое вещество, конструкция из соединённых в цепочку аминокислот. Набор аминокислот и порядок их соединения (аминокислотный состав) для того или иного белка в живом организме определён генетическим кодом этого организма.

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

Вернёмся к понятию третичной структуры белка. Строение белка рассматривают как первичную, вторичную и третичную структуру.

Первичная структура - порядок чредования определённых аминокислот в цепочке, которая представляет собой рассматриваемый белок.

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

Третичная структура - спираль сворачивается в клубок, форма которого уникальна для того или иного белка.

В проекте "Rosetta@home" третичная структура белка моделируется (предсказывается) путём поиска структуры с наименьшей энергией для заданной последовательности аминокислот. Идея в том, что третичная структура с наименьшей энергией будет пребывать в наиболее устойчивом состоянии, к которому стремится белок при своём формировании.

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

Проект "Rosetta@home" занимается не только вычислением третичной структуры белка, но и моделирует взаимодействие белков между собой.

Рассматриваемый проект способствует исследованиям в борьбе с различными заболеваниями (болезнью Альцгеймера, онкологией, ВИЧ и другими).

За участие в проекте "Rosetta@home" выдаётся сертификат (см. ниже).

Distributed Computing

Такие сертификаты выдаются большинством проектов и содержат информацию о Вашем личном вкладе в тот или иной проект.

Сертификат можно (нужно) распечатать и поставить в рамочку :) Также на интернет-ресурсе того или иного проекта доступен электронный вариант Вашего сертификата с актуальной информацией про Ваши достижения.

Напомню, что в этой статье речь идёт про волонтёрство в распределённых вычислениях - всё бесплатно, Вашу работу никто не оплатит, а сертификат от проекта - способ сказать Вам спасибо за участие.

Вернёмся к BOINC-клиенту...

Distributed Computing

BOINC-клиент устроен так, чтобы "не отсвечивать". Здесь имеется ввиду, что как только Вы нагружаете свой компьютер какой-нибудь нужной для Вас лично задачей, то BOINC-клиент обнаруживает это и прекращает свою работу; когда нагрузка на процессор Вашего компьютера уменьшится до нужного уровня (в зависимости от настроек), BOINC-клиент автоматически возобновит обработку заданий.

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

Distributed Computing Distributed Computing

Так, например, сейчас одно задание от проекта "Rosetta@home" обрабатывается приблизительно 6-7 часов на процессоре "AMD Phenom II X4 965 Black Edition (четыре ядра по 3.4 ГГц)", не учитывая времени, на протяжении которого задание по какой-либо причине не обрабатывалось.

Волонтёры-фанатики специально модернизируют свои компьютеры для увеличения вычислительных мощностей, отдаваемых любимому проекту :)


Кроме "Rosetta@home", какие ещё есть интересные проекты?

Проектов немало и какой именно будет интересен именно Вам - трудно сказать, сами решайте. Я обратил Ваше внимание на проект "Rosetta@home" только потому, что лично считаю его интересным и важным.

Напомню, что можно одновременно принимать участие в нескольких проектах (хоть во всех сразу).

Вот ещё несколько интересных, как на мой взгляд, проектов:

  • SETI@home - поиск "зелёных человечков" внеземных цивилизаций путём анализа радиосигналов из космоса;
  • LHC@home - проект даёт Вам возможность помочь учёным из CERN создать в Большом Адронном Коллайдере "чёрную дыру", чтобы всё вокруг пи*дой накрылось в проведении исследований на Большом Адронном Коллайдере ("БАК", англ. - "LHC");
  • Distributed Computing

  • ATLAS@Home - моделирование в области физики элементарных частиц для установленного на БАК детектора частиц "ATLAS" ("A Toroidal Lhc ApparatuS");
  • Distributed Computing

  • World Community Grid - проект от IBM (исследования на разную тематику).

  • P.S.

    Ещё есть проекты распределённых вычислений, основанные не на BOINC, а использующие собственное программное обеспечение...


    --- 07.12.2015 ---

    Danger!

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


    Начиная с 13.09.2011, Вы посетитель №5677
    Эта страница сгенерирована за 0.002529 секунд
    Страница взята с сайта http://voyager.in.chv.ua/
    Copyright © Vladimir Zenko (voyager.cv), 2010-2017.

    Besucherzahler
    счетчик посещений
    Яндекс.Метрика