Comments 87
Только хотел сам что-то подобное написать, а тут вы. Спасибо, отличная статья.
Очень интересно будет увидеть какие-либо результаты, особенно после попадания статьи на главную.
У меня диплом бакалавра такая штука была. Подбирала md5 по словарю. Работала правда на Flash+ PHP \MYSQL сервер(который гораздо быстрей бы все посчитал сам =) )
Программы для вычислений, которые устанавливаются на клиентскую машину, имеют один немаловажный плюс — работа в самом минимальном приоритете. Т.е. они не мешают пользователю работать. JS не даст такой возможности, будет нагружать всю систему и вызывать потоки ненависти, закрепляя стойкий негативный рефлекс на словосочетание «распределенные вычисления». Подумайте, это стоит того?
У меня час уже в фоновой вкладке идут вычисления. Никакого дискомфорта замечено не было.
Процессор какой?
Зависит от конкретной реализации Workers API — в опере подлагивает, в хроме летает.
Уважаемый ТС, если найдете способ запустить на ECDC тот самый браузерный BitIcoin generator что вчера(?) на хабре представлялся — я не только себя озолочу, но и вашу лохматость :)
А ведь есть гипотетическая возможность вставлять такое на очень посещаемые сайты без ведома пользователей. Не всегда, периодически. Много разной выгоды можно с этого поиметь.
Пользоватли (нодов) таких систем получают два существенных минуса:
1) Более высокое эноргопотребление компьютера.
2) Более высокое тепловыделение.
Так что вряд ли удасться уговорить миллиарды ползователей безвозмездно предоставлять ресурсы их ПК.
PS: Я включаю у себя BOINC два раза в год: весной и осенью, когда холодает, а отопление еще/уже не работает. Кстати, результат весьма заметен.
1) Более высокое эноргопотребление компьютера.
2) Более высокое тепловыделение.
Так что вряд ли удасться уговорить миллиарды ползователей безвозмездно предоставлять ресурсы их ПК.
PS: Я включаю у себя BOINC два раза в год: весной и осенью, когда холодает, а отопление еще/уже не работает. Кстати, результат весьма заметен.
А почему статистика сбрасывается:
Yours finished tasks: 1 (0.02% of total)
при перезагрузке старницы статистики?
Yours finished tasks: 1 (0.02% of total)
при перезагрузке старницы статистики?
Не удивили. Возможность была и раньше, IndexedDB и прочие плюшки тут не причем. Да, JS-движки нынче пошустрее, но опять же. Что сейчас хорошо так это эфеективные трансляторы других языков в JavaScript (Java, C#, F#). Но в принципе можно и без этого.
Помнится в свое время были популярны статьи про то, как это все делать на Java Applets, потом на Flash и Silverlight.
Да, и не забывайте, нужен ооочень популярный интернет-ресурс чтобы на него зашло (и на нем просидело) столько народу чтобы эта затея имела смысл.
Помнится в свое время были популярны статьи про то, как это все делать на Java Applets, потом на Flash и Silverlight.
Да, и не забывайте, нужен ооочень популярный интернет-ресурс чтобы на него зашло (и на нем просидело) столько народу чтобы эта затея имела смысл.
Не смешивайте в одну кучу BOINC и SETI@home, Einstein@Home, Rosetta@home. Первое — инфраструктура, второе — конкретные вычислительные проекты, на этой инфраструктуре построенные.
Сижу с нетбука. В Firefox открыто одновременно порядка 20-25 вкладок. Переключение с одной на другую занимает секунд 5. Лагает SmoothWheel. Во время набора комментария периодически возникала задержка с вводом символов.
Уважаемый автор, я вас ненавижу.
Уважаемый автор, я вас ненавижу.
Идея разумная, хоть и не новая, но вот в контексте javascript как-то странно звучит. Пусть ядро процессора и может обрабатывать 8GFLOPS, но сколько реально можно получить из js?
Да и в сравнении одна видяха игрового домашнего компьютера даст порядка 1 TFLOPS.
Когда сетевые технологии научатся адекватно использовать эти мощности можно будет строить подобную сеть.
Да и в сравнении одна видяха игрового домашнего компьютера даст порядка 1 TFLOPS.
Когда сетевые технологии научатся адекватно использовать эти мощности можно будет строить подобную сеть.
Тоже об этом подумал, но как смотивировать пользователей? И в какое приложение завернуть чтоб прошло предмодерацию?
Голоса давать, народ будет доволен.
например, в качестве замены рекламных постов или для всевозможных розыгрышей через репост(кто подобрал пароль по хешу или нашел оптимальную конфигурацию белка — выиграл)
«Опера» 11.10, MacBook Air этого года, тормозит прокрутка этой страницы, если на другой странице считается ваша md5.
А чем у Вас md5 считается?
Высокооптимизированный алгоритм md5 от jkm
Понятно.
Но, он не такой и «Высокооптимизированный алгоритм» для брутфорса.
1.начало:
a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
После инициации мд5 контекста, это всё константы, поэтому здесь лучше так:
a = md5_ff(x[i+0], 0xd76aa477)
2.
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
в конце — не надо постоянно прибавлять константы, лучше один раз вычесть.
3. раунд «ii» для не длинных паролей легко можно пре-вычесть.
Всё это должно хорошо повлиять на производительность, поскольку это вам не компилируемые языки.
Но, он не такой и «Высокооптимизированный алгоритм» для брутфорса.
1.начало:
a = md5_ff(a, b, c, d, x[i + 0], 7, -680876936);
После инициации мд5 контекста, это всё константы, поэтому здесь лучше так:
a = md5_ff(x[i+0], 0xd76aa477)
2.
a = safe_add(a, olda);
b = safe_add(b, oldb);
c = safe_add(c, oldc);
d = safe_add(d, oldd);
в конце — не надо постоянно прибавлять константы, лучше один раз вычесть.
3. раунд «ii» для не длинных паролей легко можно пре-вычесть.
Всё это должно хорошо повлиять на производительность, поскольку это вам не компилируемые языки.
Спасибо. Учту, если буду переделывать. Я взял алгоритм судя по тестам и немного изменил интерфейс.
В вышеперечисленных сетях чаще используются неиспользуемые и простаивавшие мощности. У большинства система нагружена всяким барахлом: разными фоновыми процессами, антивирусниками. Любая нагрузка будет несколько болезненно восприниматься неприятными подлагиваниями во время работы. Тот же фокс нагруженный плагинами и так торомзит, а если его еще пригрузить, будет ползать совсем.
Другое дело когда компьютер не используется, вместо скринсейвера будет что-то рассчитываться.
Кстати, не все браузеры умеют распараллеливать нагрузку по ядрам. Потому на данном этапе данная затея не очень приживется.
Тут надо использовать не мощности CPU, а мощности GPU, для вычисления хэшей некоторые видеокарты дадут 50-100 кратное приемущество перед обычным процессором. И по сути процессор остается свободным. Вот только JS не сможет получить доступ к GPU без дополнительных плагинов. Но сделать такой плагин реально. А есть его еще поставлять в комплекте с каким-то известным браузером…
Думаю будующее за чем-то подобным. Появятся плагины и сервисы, которые смогут аккумулировать неиспользованные ресурсы и при необходимости например, продавать другим участникам, или менять на другие ресурсы, на то же процессорное время в облаке для мгновенных вычислений. Думаю это вполне логично и более чем уверен что это станет продолжением развития облачной сферы, рассредоточив нагрузку не только между серверами, а и между частными людьми и коммерческими структурами.
Другое дело когда компьютер не используется, вместо скринсейвера будет что-то рассчитываться.
Кстати, не все браузеры умеют распараллеливать нагрузку по ядрам. Потому на данном этапе данная затея не очень приживется.
Тут надо использовать не мощности CPU, а мощности GPU, для вычисления хэшей некоторые видеокарты дадут 50-100 кратное приемущество перед обычным процессором. И по сути процессор остается свободным. Вот только JS не сможет получить доступ к GPU без дополнительных плагинов. Но сделать такой плагин реально. А есть его еще поставлять в комплекте с каким-то известным браузером…
Думаю будующее за чем-то подобным. Появятся плагины и сервисы, которые смогут аккумулировать неиспользованные ресурсы и при необходимости например, продавать другим участникам, или менять на другие ресурсы, на то же процессорное время в облаке для мгновенных вычислений. Думаю это вполне логично и более чем уверен что это станет продолжением развития облачной сферы, рассредоточив нагрузку не только между серверами, а и между частными людьми и коммерческими структурами.
Тут надо использовать не мощности CPU, а мощности GPU, для вычисления хэшей некоторые видеокарты дадут 50-100 кратное приемущество перед обычным процессором.Безусловно, с силой NaCl мы и не такие цифры сможем выжать. Проблема в том, что не все пользователи будут ставить какие-то подозрительно полезные плагины. Охват аудитории немаловажен.
у меня шкурный интерес: чего посчитать можно с практической пользой? просто так мд5 хэши перебирать неинтересно.
имею: 1 лям в сутки посетителей на сайтах, средняя время сессии 5-10 минут.
или это мелкие объемы?
имею: 1 лям в сутки посетителей на сайтах, средняя время сессии 5-10 минут.
или это мелкие объемы?
Как было много написано красивых фраз про просчет свертываемости белков — а свели все к взлому md5 да и еще имейлы собираете.
Email указывать совсем не обязательно, кстати.
Вы можете использовать любой email или любое имя, они используются для ведение вашей статистики — вашего вклада в объем вычислений (хранятся в виде md5 хэша)Код открыт, вы можете посмотреть как я ловко сплавляю md5 хэши от email'ов злым спамерам :)
Вполне возможно, проблема в том будут ли их устанавливать. Получается аналогичная ситуация как с клиентами вычислительных сетей.
Не забывайте только, что выбросы углекислоты вырастут пропорционально росту используемой вычислительной мощности :)
Лучше бы что-нибудь полезное придумали, чем пароли подбирать, например, как World Community Grid.
Интересно посмотреть сколько людей «компов» считает с тобой прямо сейчас задачу
Потрясающая статья!
С упоением перечитал от слова до слова! Спасибо автору!
С упоением перечитал от слова до слова! Спасибо автору!
А как защититься от «вредителей», т.е тех, кто по каким-либо причинам будут слать на сервер заведомо неправильные результаты расчетов?
Как было рассчитано AMD Athlon 64 2,211 ГГц у каждого пользователя?
AMD Athlon 64 — процессор 2003 года, думаю, сейчас у каждого стоит не хуже такого.
Гм. Вы забыли, что есть огромное количество мобильных устройств. Там процессоры проще. Куча нетбуков, где мощности меньше.
Ну и забыли многих пользователей, особенно конторских, где компьютеры не меняют, потому что появилась новая модель. Меняют, когда работать уже невозможно и появились новые требования для программ.
У меня дома два компьютера, один Athlon XP 2 ГГц, а второй Celeron 1.83 ГГц. И этих мощностей точно хватает для чтения сайтов.
Ну и забыли многих пользователей, особенно конторских, где компьютеры не меняют, потому что появилась новая модель. Меняют, когда работать уже невозможно и появились новые требования для программ.
У меня дома два компьютера, один Athlon XP 2 ГГц, а второй Celeron 1.83 ГГц. И этих мощностей точно хватает для чтения сайтов.
Я брал в расчет только пользователей интернет с ПК (хотя я не уверен, что цифра 2ккк описывает только их). Не хочу заставлять пользователей мобильных устройств страдать (особой выгоды с них все равно не получить): 1н слабый процессор, затратные по батарейке вычисления, да и нет подходящих технологий (нет Воркеров, ибо 1 процессор).
Насчет процессора. Точных данных у меня нет. Я прикинул, что сейчас каждый домашний ПК имеет что-то в районе Атлона 64 есть слабее есть производительней, в среднем же будет в районе Атлона 64. Буду рад если вы покажете точные сведения.
Насчет процессора. Точных данных у меня нет. Я прикинул, что сейчас каждый домашний ПК имеет что-то в районе Атлона 64 есть слабее есть производительней, в среднем же будет в районе Атлона 64. Буду рад если вы покажете точные сведения.
Прикинуть какое количество пользователей появляется в интернете ежегодно можно. Из этого можно сделать вывод, что они недавно купили компьютер. То есть, чем более старый пользователь, тем больше шансов, что у него старый компьютер. Как-то так.
Мне почему-то кажется, что восьмисимвольный пароль с алфавитом в 96 символов, это 8 в 96 степени, а не наоборот.
А как бы вы реализовали распараллеливание задачи поиска коллизий для SHA-1?
Можно ли такую задачу эффективно решать описанным подходом?
Можно ли такую задачу эффективно решать описанным подходом?
Не думал над этим вопросом. Полный перебор — безусловно, не эффективный метод он займет 2160 операций, но есть алгоритмы нахождения за 280-63 операций.
Интересно было бы запустить bellard.org/jslinux/ в этаком «браузерном облаке», но проект пока закрытый, а практической пользы ноль.
не прокатит. проще сделать кластер из мощных компьютеров, который будет принадлежать тебе, либо folding@home систему — добровольная установка, чем вот так по крупицам делать нестабильную, рассчитанную на огромную популярность и траффик систему.
вот систему вычислений по типу торент скачивания интересно было бы увидеть(+последов. выч-ия в том числе)
вот систему вычислений по типу торент скачивания интересно было бы увидеть(+последов. выч-ия в том числе)
Как то странно считается статистика, было 0.05% 145 задач выполненных, теперь 0.04% 139 задач, поначалу думал показалось, но теперь явно заметна такая закономерность.
Считаю блоки в Bitcoin. 24шт * radeon 5870 = 9 TH/s ;)
ASUS? Окупаются ли ваши вложения в 180000р?
На данный момент прошло 13 суток с момента запуска. Намайнили около 25% в фантиках по текущему курсе от 10 килобаксов инвестиций. Запустили бы раньше — было бы лучше )
А где можно найти скажем пароль для md5 хеша?
Уже можно пользоваться данным которые сгенерированы?
Уже можно пользоваться данным которые сгенерированы?
Что то лежит.
Forbidden
Forbidden
Интересно досчитали ли?
Интересно было бы использовать вычислительные мощности в качестве «ресурсовой валюты» наряду с распределенным хранилищем и сетевым каналом.
Чтобы можно было на бирже менять по плавающим курсам между собой и с «валютами внимания»:
-активными: игровыми, оценочными(всевозможные лайки, оценки фильмов, роликов, качества сайтов(WoT) и пр.)
-пассивными: просмотр рекламы
В качестве меры внимания предлагаю концентрацию внимания: отношение между степенью и объемом. Индикатором степени внимания может быть, например, изменение диаметра зрачка. Объем внимания количество элементов на которых сосредоточен пользователь(составляет 3-4 элемента, максимум 6).
Тогда можно было справедливо оценить объем вычислений, эквивалентный просмотру рекламы.
Чтобы можно было на бирже менять по плавающим курсам между собой и с «валютами внимания»:
-активными: игровыми, оценочными(всевозможные лайки, оценки фильмов, роликов, качества сайтов(WoT) и пр.)
-пассивными: просмотр рекламы
В качестве меры внимания предлагаю концентрацию внимания: отношение между степенью и объемом. Индикатором степени внимания может быть, например, изменение диаметра зрачка. Объем внимания количество элементов на которых сосредоточен пользователь(составляет 3-4 элемента, максимум 6).
Тогда можно было справедливо оценить объем вычислений, эквивалентный просмотру рекламы.
Sign up to leave a comment.
Распределенные вычисления на JavaScript: Сегодня