Форум

Пожалуйста или Регистрация для создания записей и тем.

Science United

На сайте боинка появилось новое приложение, Science United.

Вот перевод того, что они там понаписали:

ЦЕЛИ
BOINC выдающееся платформа для добровольных распределенных вычислений. Платформа используется в большинстве проектов РВ включая SETI@home, Einstein@home, Climateprediction.net, IBM World Community Grid и Rosetta @ home.

Science United - новый способ участвовать в распределенных вычислениях. С Science United владельцы компьютеров работают не с каким то конкретным проектом, а сразу с целой научной областью. Science United сам управляет тем какие конкретно проекты в выбранной научной области будет считать ваш компьютер, со временем проекты могут меняться (внутри выбранной научной области).

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

Пользовательский интерфейс Science United предназначен для более широкой аудитории, чем нынешняя пользовательская база BOINC, которая в основном ориентирована на технически подкованных мужчин. Например, у Science United нет таблицы лидеров.

Science United также призвана служить объединенным «брендом» для РВ, чтобы его можно было более эффективно продвигать.

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

Если вы ученый, рассматривающий возможность использования BOINC, пожалуйста, свяжитесь с нами. Возможно, мы сможем гарантировать включение вашего проекта и предоставить оценку вычислительной мощности, которую он получит.

Проект
Science United разрабатывается в Калифорнийском университете в Беркли под руководством Дэвида П. Андерсона, основателя BOINC. Проект финансируется Национальным научным фондом под наградами 1550601 и 1664190. Как только эти награды будут завершены, мы планируем перевести Science United на модель сообщества.

Программное обеспечение
Программное обеспечение Science United распространяется по лицензии LGPL v3. Он размещен на Github.

Требуется помощь
Вы можете помочь Science United следующими способами:

Планирование и дизайн: это делается с помощью Github. Не стесняйтесь создавать и / или комментировать созданное.
Программирование. Если у вас есть необходимые технические навыки (PHP, MySQL, HTML, CSS, Bootstrap), вы можете помочь в разработке и отладке Science United. Перейти к Github и проверьте чем можете помочь.
Перевод: большая часть сайта Science United переведена на неанглийские языки. Эти переводы выполняются в системе перевода BOINC

AlexA и PinkFloyd отреагировали на эту запись.
AlexAPinkFloyd

Интересно, но до конца непонятно. Надо разбираться.

Science United: UI/UX Цели
Дэвид П. Андерсон
Лаборатория космических наук
Калифорнийский университет, Беркли
27 ноября 2017
В этом документе обсуждаются предположения, цели и проектные решения, связанные с
Пользовательским интерфейсом и опытом использования Science United (SU).
1. Целевая аудитория
Одной из целей SU является привлечение группы добровольцев с некоторыми или со всеми из этих свойств:
- Не понимающие компьютерной технологии или жаргона; могут следовать указаниям, не понимая их суть.
- Владеть довольно современным настольным компьютером или ноутбуком.
- В основном молодые: 20-30 лет.
- Примерно половина женщин.
- Мотивация научными целями: лечение рака, сохранение окружающей среды и т. Д.
- Мотивируется защитой самой науки и тем, что является частью сообщества, поддерживающего науку.
- Не мотивирован и, возможно, не участвует из за соревновательной части.
Это сильно отличается от текущего набора пользователей BOINC, для которых SU не предназначен.
2. Принципы проектирования
Исходя из вышеуказанных свойств целевой группы населения, я предлагаю следующие принципы для
дизайн интерфейса SU.
2.1 Нет таблицы лидеров
Во-первых, у нашего целевого пользователя нет компьютера с несколькими графическими процессорами. Они никогда не появятся высоко на таблице лидеров. Таблица лидеров не имеет для них личного значения.
Во-вторых, навязчивая потребность конкурировать, и неявный личный рейтинг, основанный на конкуренции,
отторгает многих людей, в том числе я думаю и большинство женщин.
Так что у SU не будет лидеров. Однако, SU покажет пользователям информацию о производительности их
компьютеров, в виде формы поощрения продолжать и расширять участие. Эта информация будет в компьютерном времени, а не ФЛОПС.
2.2 Без жаргона
Когда интерфейс использует жаргон, люди, которые не понимают его, предполагают, что система находится за пределами их
понимания, и они уходят.
ПЛОХО: «FLOPS», «CPU», «GPU», «RAM»
ХОРОШО: «компьютер», «работа»
2.3 Простота функции
В BOINC у добровольца могут быть сложности: больше возможностей, больше отображаемой информации.
Проблема в том, что когда графический интерфейс отображает много информации, пользователь считает, что это важно, и он должен понимать это. Если у них нет времени на это или они не могут этого понять, они уходят.
Так, например, SU сократит текущую систему компьютерных предпочтений до 3 вариантов: «ограничение использования энергии»,
«стандарт», «макс. вычисления».
2.4 Избегайте текстового отображения данных
В той степени, в которой SU отображает сложную информацию (например, историю вкладов пользователя с течением времени), он будет делать это графически, а не текстуально.
3. Проекты
Основной целью SU является устранение необходимости для добровольцев знать или думать о проектах.
Однако, поскольку интерфейс BOINC показывает проекты, мы не можем полностью скрыть их существование. Так
интерфейс SU, например, покажет набор проектов, в которых в данный момент участвует пользователь.
4. SU против BOINC
Основная цель SU - предоставить единый бренд для работы на добровольных началах. В какой-то момент мы могли бы
сделать фирменную версию BOINC, чтобы «BOINC» никогда не появлялся. До тех пор, мы должны объяснить
что такое BOINC, а именно - программное обеспечение, лежащее в основе SU.
5. Упрощение волонтерского опыта
Интерфейс добровольца BOINC развивался таким образом, чтобы обслуживать технически подкованных «опытных пользователей». Это предоставляет много информации и много элементов управления. Эта сложность отгоняет нетехнических людей.
Мы заметили, что если человеку показывают информацию, которую он не понимает, он приходит к выводу, что cистема слишком сложна для него, и он уходит.
Мы хотим, чтобы координационный веб интерфейс привлек всех, кто интересуется компьютерами и наукой. Поэтому мы используем следующие принципы при разработке его основного интерфейса:
- Не думайте, что пользователь знает такие термины, как CPU, GPU, ядро, RAM и т. Д., или понятия, которые они представляют.
- Показывать количества графически, а не с помощью текстовых чисел.
- Минимизировать клики. Избегайте необходимости детализации.
Кроме того, в то время как опытные пользователи любят соревнование на основе производительности (то есть лидеры по очкам), нетехнические пользователи не похожи на них: они не хотят видеть списки, в лидеры которых у них нет надежды попасть.
Поэтому координатор не будет показывать списки, упорядоченные по вычислительной мощности.
5.1 Вычислительные предпочтения
BOINC имеет сложную систему для указания компьютерных предпочтений: когда считать, сколько задействовать ядер процессора, использование оперативной памяти, использование дисков и т. д. Координатор предоставит упрощенный интерфейс, в котором волонтер выбирает один из трех вариантов: «макс. вычисления»,
«Стандарт» и «ограничение использования энергии». Каждый из них будет соответствовать набору предпочтений.
5.2 Процесс регистрации добровольцев
Мы переработали процесс регистрации, чтобы минимизировать количество кликов. Начиная с точки когда волонтер прибывает на сайт координатора, процесс выглядит следующим образом:
- Домашняя страница содержит поле для добровольных вычислений, за которым следует форма регистрации. Она
запрашивает у пользователя учетные данные для входа (адрес электронной почты и пароль, Facebook или Google) и
их научные предпочтения (только ключевые слова верхнего уровня).
- Это приведет их к странице загрузки, объясняющей, что им нужно будет загрузить и установить программу. Кнопка Download запускает загрузку клиентского программного обеспечения.
- Информация передается клиентскому программному обеспечению (через имя файла загрузки), которое
заставляет клиента присоединяться к координатору, и это связывается с вновь созданной учетной записью.
- После этого программное обеспечение BOINC запускается автоматически при запуске системы. Дальнейшнего взаимодействия не нужно.
6. Волонтерские стимулы
После того, как добровольцы присоединились, мы хотели бы призвать их:
- Продолжать участие.
- Использовать дополнительные вычислительные устройства.
- Привлекать других добровольцев посредством личного общения, электронной почты или социальных сетей.
- Участвовать в общественных мероприятиях, таких как форумы.
Мы можем сделать это с помощью целевой информации и поддержки, а также предлагая различные типы
награды. Это может быть сделано через различные каналы:
- Письма от координатора.
- Социальные сети.
- Веб-сайт координатора.
- Уведомления клиентов: менеджер BOINC может отображать мультимедийные сообщения из проектов и
аккаунт менеджеров.
О появлении таких сообщений объявляется с «предупреждениями», например, всплывающие окна панели задач на Windows.
Некоторые возможные типы информации и стимулов:
- Периодическое сообщение, гарантирующее добровольцу, что его устройства выполняют работу, и что это
ценится учеными.
- Сообщите волонтеру, что устройства перестали работать или нуждаются в обновлении.
- Сообщать волонтерские научные новости о проектах, которые они поддерживают.
- Определите виртуальную «систему поощрений» для дипломированных медалей или уровней достижений.
- Награда добровольца за добавление дополнительных устройств.
- Награда добровольца за набор других добровольцев.

AlexA отреагировал на эту запись.
AlexA
Цитата: AlexA от 18.11.2019, 20:28

Интересно, но до конца непонятно. Надо разбираться.

Как я вижу ситуацию. В SU нет соревнований и очков. Какой проект считать будет решать комитет ученых. Доброволец может вообще не понимать чего он делает, кроме "помогает науке" и от него требуется действий не больше и не сложнее чем зарегистрироваться в каком нибудь вконтакте или однокласниках. За помощь будут давать всякие медальки и ачивки. Короче Plug and Play только с РВ ).

И походу они хотят максимально разделить понятия боинк и SU.

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

Еще хотел бы привлечь внимание руководителей наших проектов. В SU еще в апреле посчитали уже 4,063,984 jobs . А была ли среди них хоть одна job  с Герасима например? Может надо этому Дэвиду Андерсону написать, и как то попросить его не забыть добавить наши проекты?

Насколько я понимаю, Science United - это попытка сделать единую площадку для подключения. То есть чтобы человек мог подключиться, а его компьютер бы "что-то считал" из проектов, которые были включены в пул Science United. Более-менее знакомым с нынешней моделью распределённых вычислений этот вариант будет, наверное, не очень интересен, но так как он не мешает и тому, что есть сейчас - то почему бы и нет?

Что интересно - после регистрации, на почту стало приходить регулярное напоминание о том, что в Science United нет ни одного моего компьютера. (Ну, потому что нет особого смысла подключать их именно туда).

Категорически не согласен с концепцией Science United, о чём писал Дэвиду Андерсену и группе разработчиков Боинк более 10 лет назад.

Есессно, как предложение по развитию инфраструктуры Боинк. Ребятки из Беркли оставили моё предложение без внимания.

Суть моего предложения состояла в том, чтобы "упростить жизнь", в первую очередь учёным, заинтересованных в результатах, а не участникам РВ. То есть, кардинально упростить создание проекта, добавление/удаление приложений, данных для обработки и получения посчитанных результатов.

Боинк-серверы должны были быть не только для Линукс, но и для Виндовс. И установка их должна быть не труднее, чем Микрософт Оффис.

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

*****

И что мы видим на сегодняшний день? Очередное предложение облегчить жизнь участникам. А авторов интересных приложений(учёных) - всё также нетути. У них хватает проблем и без изучения Боинка.

 

AlexA, PinkFloyd и 2 отреагировали на эту запись.
AlexAPinkFloydciterraV0d01ey

Организация распределённых вычислений в виде BOINC-проекта естественным образом делится на два крупных блока:

  • Настройка BOINC-сервера;
  • Создание приложения - либо как полноценного BOINC-приложения, взаимодействующего с клиентом через API, либо как просто "какого-то приложения", взаимодействующего через wrapper.

После получения некоторого опыта работы с перечисленными выше компонентами сначала в SAT@home, затем - у себя в виртуалках, а потом - и в RakeSearch, у меня сложилось следующее мнение:

  1. В развёртывании серверной части - вроде бы ничего страшного нет. Да, крайне желателен опыт работы с Linux, но ничего особо хитрого там нет. Вопрос скорее в наличии (или нахождении) небольшого описания, которое говорило бы как развернуть базу, файлы проекта, запустить его сервисы, зарегистрировать приложение и дробавлять задания. Для начала - этого вполне хватит;
  2. Причём всё вышеописанное и в замечательном виде есть как минимум у коллег из Петрозаводска и, думаю, у коллег из ИППИ РАН. И, что ещё важнее - личный опыт!;
  3. Вне зависимости от типа сервера проекта (Gerasim от SerVal-а или BOINC от Андерсона), развёрнутый сервер надо как-то сопровождать, архивировать данные, выкладывать новости, общаться с участниками, делать бэйджики, строить графики, решать какие-то проблемы с заданиями и workunit-ами и т.д. и т.п. Очень большая (если не бОльшая) часть этой работы - связана с базой данных проекта, а всевозможные дополнительные, "инфраструктурные" задачи могу потребовать написания дополнительных скриптов или даже небольших программулин. Например, если у вас число workunit-ов и результатов будет исчисляться сотнями тысяч или миллионами, то вам точно придётся задуматься о том, как это лучше хранить, и как раскладывать и генерируемые workunit-ы и результаты к ним, получаемые не в совсем упорядоченном виде. Или что делать с данными о завершённых workunit-ах и result-ах в базе? Учёный (или исследовательская группа), которому (или которой) в первую очередь и нужны результаты вычислений - могут это всё сделать. Но никакого смысла ему (или им) тратить на это всё время - нет, ибо всё тоже самое, только и быстрее и оптимальнее... сделает энтузиаст или группа энтузиастов в свободное от работы время - просто потому что на своей работе они занимаются чем-то подобным, только намного интенсивнее и в гораздо больших объёмах. У них просто на этом уже набита не только рука, но и куча шишек;
  4. Из перечисленных выше пунктов следует один очень простой вывод - "Как минимум для начала, нет никакого смысла самостоятельно поднимать свой сервер проекта. Лучше воспользоваться либо опытом, либо и опытом и инфраструктурой коллег, которые это уже знают и умеют. А свои силы - направить на написание приложения, которое и должно добывать научно значимые результаты". Тут можно вспомнить, что когда-то Олег Заикин сам запустил SAT@home (за что ему большой почёт), но: 1) на то он и один из первопроходцев в этой части в России; 2) Это было в 2012 году, а сейчас - 2019, а я говорю именно о том, что лучше делать сейчас; 3) лично я исхожу из того, что время - это очень важный ресурс и действовать надо в зависимости от предполагаемых его затрат. Если человек сходу может развернуть серверную часть - отлично. Если же нет, то лучше сначала потратить время на приложение, а с инфраструктурными вещами - помогут. А дальше - видно будет;
  5. А теперь - самое интересное, с чего можно было бы и начать, но тогда не было бы понятно почему с него начали. :) Приложение, расчётный модуль для проекта! Лично я, сейчас, думаю, что его создание должно проходить по следующим стадиям:
    1. Формирование математической модели: формулы, операции преобразования, алгоритмы изменения данных в формализованном, математическом виде.
    2. Преобразование построенной математической модели в структуры данных и алгоритм их обработки, записанные либо в псевдокоде, либо в виде, близком к языкам программирования, либо уже на каком-то языке программирования, с чётким, жёстким раздением на две части - ядро из данных, полностью описывающих состояние расчёта и обособленное так, чтобы в процедурах обработки не было и не возникало каких-то дополнительных переменных или структур, от которых зависело бы состояние расчёта, но которые бы не входили в это ядро. Поясню - речь не о том, чтобы это ядро было как-то хитро так написано, а наоборот - чтобы в конце написания программы, она должна быть такой, чтобы в ней это ядро и сформировалось. Это очень важно, потому что...
    3. ... на следующем этапе, именно это ядро, полностью описывающее состояние расчёта и становится содержимым файла контрольной точки, а с другой, функционал формирование контрольных точек, скорее всего, будет задействован в генераторе workunit-тов! Просто потому что workunit - это и есть контрольная точка, только пришедшая с сервера и которую, на всякий случай, нельзя затирать до окончания расчёта! На этом этапе расчётный модуль уже окончательно формируется в виде программы, делающей почти всё необходимое: запуск с некоего нулевого состояния; запуск с промежуточного состояния; запись данных в файл результата; корректное завершение расчёта;
    4. А когда уже есть расчётный модуль, который умеет запускаться и с контрольной точки, и без неё (начиная расчёт с начала), в него нужно добавить вызов нескольких функций, связанных с BOINC API, после чего он станет полноценным BOINC-приложением. Если у вас под руками будет либо хороший пример, либо вы будете сотрудничать с человеком, который это уже делал, скорее всего - это будет самая простая часть от всей работы.
  6. Реальность, конечно, может задавать задачки, далеко выходящие за рамки озвученных пунктов. Ну, например, если в нашем расчёте используются сторонние библиотеки, которые надо исполнять в каком-то хитром окружении, или использовать виртуальную машину, docker или что-то ещё. Или, например, если у расчёта может быть несколько выходных файлов, которые надо отправлять время от времени, как это ранее было в ClimatePrediction.net (а может есть и сейчас). В этом случае взаимодействие с BOINC-клиентом может усложняться, но и в этом случае - всё равно сначала надо разобраться с checkpoint-ами!

Итого: Чтобы запустить расчёты в виде BOINC-проекта, в первую очередь нужно иметь интерес к решению некоторой проблемы; во-вторую очередь - алгоритм вычислений, разбивающий задачу на независимые, меньшие по размеру подзадачи; в-третью очередь - реализацию этого алгоритма в виде программы с выделенной структурой данных, полностью описывающих состояние расчёта (и вот тут, возможно, человеку придётся удалить из своей памяти "накодированное непосильным трудом" и просто-напросто написать расчётный модуль заново!) и уже только после этого могут начаться какие-то сложности, связанные с настройкой инфраструктуры проекта, которые, как уже выше было сказано, вполне могут быть решены либо прямо на инфраструктуре тех, кто это уже умеет делать, либо с их помощью. Особо отмечу, что на мой взгляд, возможность формирования контрольной точки и перезапуска расчёта с неё, является не каким-то специфичным требованием, выдвигаемым распределёнными вычислениями, а наоборот - одно из базовых требований, которому должно соответствовать, в идеале, любое расчётное приложение запускаемое что в BOINC-проекте, что на суперкомпьютере, что на отдельно взятом компьютере или сервере. Это просто признак хорошо написанного расчётного модуля. Ну, если конечно, сами задания не являются очень короткими, из-за чего контрольные точки, действительно, могут быть просто  не нужны.

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

AlexA, SerVal и 2 отреагировали на эту запись.
AlexASerValciterraV0d01ey
BOINC.RU