LINUX.ORG.RU
ФорумTalks

[коммунизм][распределённые вычисления][субботний трёп] Инфосфера?

 


0

0

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

Всё бы хорошо, но есть сразу же приходящая на ум проблема - спам, вирусы и т.п.

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

Как с этим бороться?

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

Какие ещё есть мысли?

Система, ведь, на сегодняшний день вполне уже реальная, если подумать :)

★★★★★

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

Evgueni ★★★★★
()

>Можно предположить дальнейшее развитие идей p2p-сетей и распределённых вычислений и представить модель, когда каждый желающий пользователь сможет предоставлять часть ресурсов своей машины в единый кластер.

Зачем всё это будет нужно обычному пользователю?

anonymous20090302
()
Ответ на: комментарий от supreme

>Только это мало кому надо, ящитаю.

Опыт p2p/SETI@Home/BOINC/etc. говорит о том, что желающие найдутся :)

KRoN73 ★★★★★
() автор топика

Собственно бояться надо не вирусов, а последствий их действий.

Например вы вычисляете какую-то сумму n-чисел (конечного числа n). Скажем каждый компьютер считает сумму m чисел (m<n) и отправляет на сервер. Если вирус на одном компьютере изменил промежуточный результат перед отправкой, то весь результат будет неверен. Как с этим бороться?

P.S. Конечно, когда некоторые свойства результата известны заранее (например контрольная сумма), то задача решается легко. Но что делать, когда о результате наперед ничего не известно?

shamazmazum
()

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

Последнее предложение твоё не понял. ЧТо ты подразумеваешь под "агент" ?

unrealix
()

Комьюнити со своим Удостоверяющим центром выдающим сертификаты участникам. Парные ассиметричные ключи, ЭЦП.

vvn_black ★★★★★
()

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

unrealix
()
Ответ на: комментарий от shamazmazum

>Собственно бояться надо не вирусов, а последствий их действий.

Само собой. Поэтому и предлагаю одним из вариантов урезание ресурсов низкорейтинговым программам. Правда, вирусы могут использоваться и для накручивания рейтинга... Но с этим тоже что-то можно пытаться сделать. А при избытке ресурсов - фиг с ним, пускай живут :)

>Если вирус на одном компьютере изменил промежуточный результат перед отправкой, то весь результат будет неверен. Как с этим бороться?


1. Это, как раз, методика уже много лет отработанная - избыточность вычислений + мажоритация данных.

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

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от Elverion

>Gentoo компилить

Да, как вариант. Почему бы и нет? :) (Правда, агент-связка в виде GCC+массы либ, да всё это в виртуальной машине (понятно, что система должна быть мультиплатформенной, так что, боюсь, сегодня это будет JVM-базис без вариантов) будет очень уж тяжёлой, не факт, что в каждый узел поместится в ограничения пользователя :) )

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от unrealix

>ЧТо ты подразумеваешь под "агент" ?

То же, что и остальные сегодня :) Замкнутый автономный объект (код+процесс+данные), живущий в большой виртуальной машине, способный перемещаться с одной машины на другую.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от vvn_black

>Комьюнити со своим Удостоверяющим центром выдающим сертификаты участникам.

Хочется видеть такую систему полностью децентрализованной. Понятно, что с жёстким центром сертификации всё становится проще. Но система начинает зависеть от этого центра.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от unrealix

>И вообще это утопия ибо своим благом никто делится не будет

Практика подтверждает обратное: http://boinc.berkeley.edu/

>в добавок надёжность такой системы обработки данных сомнительна.


Практика подтверждает обратное :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от Elverion

> Gentoo компилить

Может проще бинарные репы с прекомпилированными пакетами сделать? Будут ранжированы по архитектуре и профилям, профили - набор USE-флагов от наиболее популярных, до специфичных.

vvn_black ★★★★★
()
Ответ на: комментарий от KRoN73

Ну тогда вопрос как бы решен. Подписываться и шифроваться. Данные, пришедшие без подписи игнорируются и всё здорово. Не?

shamazmazum
()
Ответ на: комментарий от shamazmazum

>Как с этим бороться?

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

jcd ★★★★★
()
Ответ на: комментарий от unrealix

>битые данные ?

Избыточность + мажоритация. Как reCAPTCHA работает? ;) И уже упомянутые распределённые добровольные вычисления.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от shamazmazum

>Подписываться и шифроваться. Данные, пришедшие без подписи игнорируются и всё здорово. Не?

Не всё. Единый центр сертификации - плохо.

Как вариант - делать набор таких центров с рейтингом. Но нужно предусматривать защиту от накруток :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

> Хочется видеть такую систему полностью децентрализованной. Но система начинает зависеть от этого центра.

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

vvn_black ★★★★★
()
Ответ на: комментарий от vvn_black

>Мне кажется без этого никак.

Давайте, подумаем, как быть без этого :) В природе же как-то организмы справляются...

>Иначе и виноватых не найдёшь


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

>да и доверие самоподписанным участникам немногие выразят.


Вот это - серьёзный прокол рейтингового варианта. Нужно думать :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

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

unrealix
()

> Всё бы хорошо, но есть сразу же приходящая на ум проблема - спам, вирусы и т.п.

Это про обновления оффтопика? :)

Если серьезно - вычисления можно построить, исходя из следующих соображений (и учитывая опыт проектов типа SETI@home, distributed.net и прочее).

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

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

oami ★★
()
Ответ на: комментарий от unrealix

*предположение
*общественных мощностей

Сплю, однако

unrealix
()
Ответ на: комментарий от KRoN73

> Давайте, подумаем, как быть без этого

Ну, явно надо не так как было в CentOS и zen-sources! :)

vvn_black ★★★★★
()
Ответ на: комментарий от KRoN73

> Давайте, подумаем, как быть без этого :) В природе же как-то организмы справляются...

Нет. Не справляются. Вирусы спокойно живут и плодятся в организме. Пока на ум ничего не идет

shamazmazum
()

Я думаю "задача" реализуема на следующем витке эволюции - онлайновые ОС и службы. Остался ведь шаг - покрыть все пространство Земли глобальным доступом к сети.

TGZ ★★★★
()
Ответ на: комментарий от unrealix

>Как ты заставишь народ сидеть в онлайне ?

См выше про уже существующие распределённые вычисления и p2p

>Кстати, есть предположения что нужно вводить ограничение на использованые общественные мощности.


Да, наверное. Но тут тоже сразу облом - нужно кому-то сразу много мощности. Что делать? Покупать? Кстати, вот и вариант заставить сидеть неэнтузиастов - платить копеечку за затраченные ресурсы.

Типа, энтузиасты сидят так, но и крутят свои задачи забесплатно, по рейтингу.

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

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

> Давайте, подумаем, как быть без этого :)

Что щас идет на ум - это то, что прога-клиент сама будет генерировать некий ключ по закрытым алгоритмам. Хотя умный вирус, вероятно, сможет этот алгоритм "разгадать"

shamazmazum
()
Ответ на: комментарий от oami

>а для большой задачи вполне можно разработать специализированные клиенты для разных платформ

Нет, хочется универсальной и свободной в использовании системы. Но понятие «специализированного клиента» тут итак легко модифицируется в понятие «специализированного агента».

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


Это-то само собой. Только формат нужен распределённый, что-то типа нынешних p2p-идентификаторов. Если не заморачиваться вопросом анонимизации (у неё будут свои плюсы и минусы), то вопросы адресации источников/приёмников упрощаются.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от shamazmazum

>Нет. Не справляются. Вирусы спокойно живут и плодятся в организме.

Но организмы редко болеют и умирают. А вполне себе функционируют. Это я и называю «справляются» :) Впрочем, вирусы далеко не все и не всегда спокойно живут и плодятся. Организмы с ними, всё же, борются.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от shamazmazum

>Что щас идет на ум - это то, что прога-клиент сама будет генерировать некий ключ по закрытым алгоритмам. Хотя умный вирус, вероятно, сможет этот алгоритм "разгадать"

Система должна быть открытой. Это обязательно, сегодня без этого никак :) И, таки да, закрытый алгоритм - взломают.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от shamazmazum

>Чисто благодаря "антивирусам", а не своему особому строению.

Так я с самого начала и упомянул антивирусы как одну из мер :)

KRoN73 ★★★★★
() автор топика

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

Zenom ★★★
()

Как вариант ещё, это пересылать ключи новым пользователям по шифрованным каналам, похожим на те, по которым рассылают данные.

Что-то по типу DHT в торрентах, но шифрованное.

Ну и менять их можно. Скажем так: первые семь дней прога работает со старым ключом, потом 3 дня с новым и старым (что-бы было время всем пользователям обновить ключ), потом ещё 7 дней только с новым. И цикл повторяется. Но есть минусы - как быть если юзер не был онлайн в те 3 дня? И кто будет генерировать этот новый ключ?

shamazmazum
()
Ответ на: комментарий от Zenom

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

Да, но это не спасёт. Каждый вирус сможет подписаться чем-то умным :)

...

Кстати, при коммерческом использовании ресурсов проблема отпадает (кто будет оплачивать вирус?). Нельзя ли подумать как-то на этот счёт и по поводу свободного использования? Т.е. плясать надо, всё же, наверное, от рейтингов. Вопрос как их честно и безопасно учитывать? Опять же, через общественные организации учёта ресурсов? Возвращаемся к идее цифровых подписей, но сделать этот механизм менее централизованным? Т.е. желающие предоставить свои ресурсы в халявное пользование, проставляют галочку «отдавать ресурсы агентам, подписанным службой LOR», а тот, кому нужно затратить ресурсы на что-то общественно полезное - шлёт туда запрос?

...

Правда, тут всё, опять, плохо становится на тему совсем халявного использования системы. Тот же emerge делать :)

Предоставить возможность участнику системы отдавать ресурсы нахаляву, если простаивает и коммерческая и свободная (подписанная) часть?

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

>Да, но это не спасёт. Каждый вирус сможет подписаться чем-то умным :)

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

В общем, если будете пытаться реализовать --- зовите. ЖИД в профиле. Я всё равно по выходным в потолок плюю.

Zenom ★★★
()

>Как с этим бороться?

Если ты серьезно задаешься вопросом, а не ради потроллить, то ключевые слова для гугления - sybil attack. Также применяются экономические модели, например как в GNUNet.

Задача актуальная и активно обсуждается на тематических конференциях. К сожалению, не все материалы доступны нахаляву, того же IEEE, например.

Macil ★★★★★
()
Ответ на: комментарий от KRoN73

>Нельзя ли подумать как-то на этот счёт и по поводу свободного использования?

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

Zenom ★★★
()

Есть чья-то теорема про договаривающихся генералов: у каждого генерала есть армия определённого размера и они хотят договорится на счёт того, начинать ли войну. Войну начинают если суммарно объём арммии > $somenumber, но генералы (некоторые, кто неизвестно) могут произвольно врать про объём своей армий. Так вот, теорема утверждает что можно договорится начиная с 2/3 говорящих правду. Иначе - fail. При чём в условиях ненадёжной связис - в любом случае fail. Так что без централизации никак.

theos ★★★
()
Ответ на: комментарий от Zenom

>В общем, если будете пытаться реализовать --- зовите.

Не то, чтобы решить пытаться, но подумываю на тему связки этой идеи и http://www.linux.org.ru/view-message.jsp?msgid=1998739

Не смотря на то, что прошло уже более двух лет с момента, как я этой идеей занялся, я её не забросил. Правда, продвижение очень уж медленно идёт. В одиночку мало стимулов :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от theos

>Так что без централизации никак.

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

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

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

>А на самом низком уровне, глядишь, оные энтузиасты и придумают способы зажать кислород вирусам :)

Вообще-то вирусы детектить надо на верхних уровнях - что мешает мне отсылать намеренно неверные результаты?

theos ★★★
()
Ответ на: комментарий от shamazmazum

>Несколько не понятно, на что это будет похоже.

Там в процессе обсуждения шла детализация. Если вкратце, то идея в разработке распределённого (но не децентрализованного) 3D-протокола. Скажем, что-то типа HTTP и HTML, но в 3D и без привязки к одному серверу. А уже потом на этом протоколе можно и 3D-миры делать, и игры...

Прямого отношения эта тема к сабжу не имеет, но косвенное - почему бы описанный 3D-протокол не реализовать в рамках сабжа?

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от theos

>что мешает мне отсылать намеренно неверные результаты?

См. выше. Те же мажоритация, рейтинги, шифрование канала обмена. Этот-то вопрос, как раз, уже много лет как отработан. Когда там SETI@Home появилась?

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

> Там в процессе обсуждения шла детализация.

Сорри, не читал. Спасибо, стало понятно)

shamazmazum
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.