Пользователь
0,0
рейтинг
20 мая 2011 в 18:47

Разработка → Распределенные вычисления на JavaScript: Сегодня

В настоящее в время существует огромное количество сетей распределенных вычислений. Я насчитал порядка 30. Наиболее крупные — Folding@home, BOINC, SETI@home, Einstein@Home, Rosetta@home (по результатам их вычислений было написано несколько десятков диссертаций). Вычисляют они все, что только можно вычислять распределено — от подбора md5 паролей до симуляции свертывания белка.
Каждая из эти сетей имеет необычно высокую производительность и включает в себя миллионы нодов. Производительность каждой сравнима с производительностью суперкомпьютера.
  • Rosetta@home — более 110 Тфлопс
  • Einstein@Home — более 355 Тфлопс
  • SETI@home — более 560 Тфлопс
  • BOINC — более 5.6 Пфлопс
  • Folding@home — более 5.9 Пфлопс
  • Bitcoin — более 9.4 Пфлопс
Сравните с суперкомпьютерами:
  • Blue Gene/L (2006) — 478.2 Тфлопс
  • Jaguar (суперкомпьютер) (2008) — 1.059 Пфлопс
  • IBM Roadrunner (2008) — 1.042 Пфлопс
  • Jaguar Cray XT5-HE (2009) — 1.759 Пфлопс
  • Тяньхэ-1А (2010) — 2.507 Пфлопс
  • IBM Sequoia (2012) — 20 Пфлопс
А теперь, давайте, подсчитаем существующий неиспользуемый потенциал пользователей интернет:
По расчетам на конец 2010 года пользователей Инернет было около 2000000000 (2 млрд).
Каждый пользователь имеет хотя бы 1 ядро процессора производительностью не менее 8 Гфлопс (AMD Athlon 64 2,211 ГГц).

По нехитрым математическим расчетам производительность такой сети составит:
8 * 109 * 2 * 109 = 16 эксафлопс (1018).
Такая сеть в 800 раз производительней, чем ещё не построенная IBM Sequoia (2012), в 1700 раз производительней, чем сеть Bitcoin и производительней всех суперкомьютеров и вычислительных сетей вместе взятых! Сейчас число пользователей ПК и Интерент растет, растет и число ядер. Безусловно, это число (16 эксафлопс) идеальное, никто не будет вычислять 24/7, но если каждый пользователь будет вычислять хотя бы 2 минуты в день (что, впринципе, более чем реально), то такая сеть сравнится с IBM Sequoia.

Сейчас распределенные браузерные вычислительные сети на JavaScript более чем реальны.

Эта стятья логическое продолжение моей статьи годичной давности: Распределенные вычисления на javascript

Что же изменилось за год и что мешало создать вычислительную сеть год назад?
Практически все хорошие браузеры за год получили WebWorkers, localStorage, SQL DB, IndexedDB. Нам ничего не мешало год назад вычислять в основном потоке JavaScript и использовать Flash Storage, но вычисление в основном потоке является потрясающим источником лагов, а Flash Storage ограничен по объему. Год назад у нас получилась бы распределенная сеть-инвалид: лагучая, костыльная, навязчивая.
Сейчас же мы с помощью WebWorkers можем утилизировать 100% ресурсов 1-го ядра процессора, если 2 воркера, то 2 ядер (распределение воркров по ядрам зависит от реализации воркеров в конкретном браузере). Мы практически не ограничены объемом, хранимых данных: 50Мб IndexedDB (Firefox) + 5Мб localStorage + ещё какое-то хранилище. Этих 55+Мб нам хватит для хранения данных задачи и промежуточных данных. В конце 2010 в 2011 году необычаной быстро начал развиваться Node.js. Я считаю, что это идеальное решение для сервера распределенных вычислений.

Мы имеем: Подходящие технологии Node.js + WebWorkers + localStorage + IndexedDB. 2000000000 интернет пользователей, число которых увеличивается. Количество ядер растет и их производительность увеличивается. С каждым месяцем браузеры становятся все быстрее и быстрее. Сейчас самое время направить этот поток не утилизированных мощностей размером в 16 эксафлопс в правильное русло!

Куда можно встроить клиенты сетей?


Пока вы просматриваете страницу, ваш процессор загружен на 10-20%, пока вы смотрите видео с YouTube ваш процессор загружен на 30-50% (не думаю, что больше). Вам приходится смотреть рекламу и назойливые флеш-банеры, которые могут загрузить ваш процессор. Представьте, что вместо просмотра назойливых банеров и рекламы вас просят повычислять на благое дело: вы смотрите видео с YouTube, а в это время ваш браузер вычисляет свертывание белка для Folding@home. Представьте, что пока вы скачиваете файл с вашего любимого файлообменника, а в это время ваш браузер вычисляет что-то полезное за это вы не смотрите рекламу (я прекрасно знаю про adBlock). Представьте, что пока вы читаете эту статью ваш браузер вычисляет что-то полезное. При этом каждый пользователь, пришедший на сайт, делает что-то полезное для сайта, то, что может принести доход или пользу обществу. Утопично, но реализуемо.

Что же можно вычислять?


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

Интересно? Давайте сделаем такую сеть!

Пример распределенных вычислений: Подбор пароля из md5 хэша


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

Распределение задач

Мы имеем максимум 968 потенциальных паролей. Дадим каждому паролю номер в 10-ричной системе от 1 до 968. Теперь каждый пароль можно получить переводом числа в 10-ричной системе в 96-ричную (from10toN), используя не хитрое преобразование и алфавит:
    var alphabet = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKL" + 
                   "MNOPQRSTUVWXYZ+/*-\\?=`~!@#$%^&*()_{}[];:'\"|.,<> ",
        alphabetLength = alphabet.length;
        
    function from10toN (number, base) {
        if (!base || base > alphabetLength) {
            base = alphabetLength;
        }
        if (base < 2) {
            base = 2;
        }
        var result = '';
        while (number > 0) {
            result = alphabet.charAt(number % base) + result;
            number = Math.floor(number / base);
        }
        return result;
    }

Каждая задача будет содержать промежуток из 400000 паролей для подбора (Google Chrome вычисляет около 200000 md5 в секунду). Всего у нас 18034739475 задач — много, но не так безнадежно как с паролем из 16 символов… Может случиться так, что клиент забрал задачу, но не выполнил. Для каждой задачи добавим время после которого она устареет — expires.

Логика клиента сети элементарна — в цикле перебираем пароли от N1 до N2 для каждого находим md5, полученный хэш сравниваем с эталоном. Если хэши совпадают — отправляем на сервер пароль, иначе пустую строку:
EcdcWorker.prototype.calculateSync = function (id, data) {
    var maxPasswordId = data.max,
        password,
        alphabetBase = data.base,
        hash = data.hash;

    for (var i = data.min; i <= maxPasswordId; i++) {
        // переводим ид пароля в реальный пароль
        // затем вычисляем md5
        password = from10toN(i, alphabetBase);
        if (md5(password) === hash) { // tada!
            return {id: id, data: password}; // найдено
        }
    }

    return {id: id, data: ""}; // не найдено
};

Логика Клиента

1. Клиент приходит на сервер, авторизуется
2. Клиент загружает вычисляющие скрипты и прочую промежуточную логику
3. Клиент удаляет устаревшие задачи из Хранилища
4. Клиент запускает Воркеры (количество их зависит от настройки)
5. Клиент проверяет задачи (в Хранилище), которые были выполнены, но не доставлены на сервер — Отправляет эти задачи через Воркеры
6. Каждый Воркер запрашивает задачи с Сервера или берет не выполненные задачи из Хранилища через Клиент (1-ну или несколько)
7. Клиент сохраняет задачи в Хранилище (на случай если будет перезагружена страница)
8. Каждый Воркер начинает вычислять свою задачу
9. После окончания вычисления задачи Воркер сохраняет решение в Хранилище (на случай если будет перезагружена страница или сервер не доступен)
10. Воркер отправляет решение задачи на Сервер (и так далее с пункта 6)

Пока клиент выполняет задачу другие клиенты (скрипты на других страницах в одном браузере) блокируются.

Логика Сервера

1. Сервер авторизует Клиента
2. Приходит запрос задачи от Воркера — Сервер проверяет устаревшие задачи, если такие есть — отправляет клиенту
2.1. Если устаревших задач нет — создает новую задачу, отправляет клиенту
3. Воркер отправляет ответ на задачу — Сервер проверяет ответ, отмечает задачу как выполненную
3.1. Сервер отправляет Воркеру новую задачу (и так далее с пункта 2)
4. Как только Сервер получает правильный ответ от Воркера Сервер не прекрашает работу — не выдает задачи

Общая схема

                 [Workers: EcdcWorker]
                 /                   \
    Tasks: XHR  /                     \  Messages: postMessage
               /      Page: html       \
[Server: EcdcServer] ------------ [Browser: EcdcClient] --- [User]
   |                                 |
[Database: Any]                   [Storage: localStorage]


Выше была представлена простая схема работы MD5 Брутфорс сервера, реализовать схему практически можно с использованием Фрэймворка для построения сетей распределенных вычислений JavaScript ECDC

Результат


То, что получилось у меня вы можете посмотреть вот тут: Сервер Подбора пароля из md5 хэша (при первом входе вы получите сообщение «You are unauthorized. Login»), Вы можете использовать любой email или любое имя, они используются для ведение вашей статистики — вашего вклада в объем вычислений (хранятся в виде md5 хэша).

Статистику подбора пароля можно посмотреть тут (необходима авторизация).
Клиент Сети работает только в браузерах с поддержкой Workers, localStorage, JSON, XMLHttpRequest. Если вы ведите фразу «You are calculating md5», то вы учительствуете в вычислении, ура! Я включил лог работы воркеров, то, что они делают вы можете посмотреть в любой консоли.
Вы можете встроить вычисляющий фрэйм на вашу страницу его код можно найти в исходнике главной страницы.

Ссылки


1. Рабочий пример сервера подбора пароля
2. Статистика подбора пароля (необходима авторизация на главной)
3. JavaScript Фрэймворк для создания сетей распределенных вычислений
4. Исходный код сервера в примере: md5-bruteforce-server.js, md5-bruteforce-server/

Заключение


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

Участвуете ли вы в каких-либо распределенных вычислениях? Как вы считаете есть ли будущее у браузерных распределенных вычислительных сетей? Хотели ли вы вместо просмотре рекламы и во время просмотра видео с YouTube вычислять что-то полезное?

Критика, предложения, пожелания приветствуются!
Mikhail Davydov @azproduction
карма
449,5
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (87)

  • +2
    Только хотел сам что-то подобное написать, а тут вы. Спасибо, отличная статья.
  • +1
    Очень интересно будет увидеть какие-либо результаты, особенно после попадания статьи на главную.
    • 0
      Сейчас выполняется порядка 5 задач в секунду — 2000000 переборов md5. Как пойдет спад, опубликую аватарки самых активных пользователей.
  • +1
    У меня диплом бакалавра такая штука была. Подбирала md5 по словарю. Работала правда на Flash+ PHP \MYSQL сервер(который гораздо быстрей бы все посчитал сам =) )
    • +1
      Ну это понятно. А если зафакторить сюда GPGPU, то затея с distributed JS вообще бессмысленна.
      • 0
        А Вы слышали про WebCL?
        • 0
          Вот только нагуглил. А это интересно!
  • +4
    Программы для вычислений, которые устанавливаются на клиентскую машину, имеют один немаловажный плюс — работа в самом минимальном приоритете. Т.е. они не мешают пользователю работать. JS не даст такой возможности, будет нагружать всю систему и вызывать потоки ненависти, закрепляя стойкий негативный рефлекс на словосочетание «распределенные вычисления». Подумайте, это стоит того?
    • 0
      У меня час уже в фоновой вкладке идут вычисления. Никакого дискомфорта замечено не было.
      • 0
        Процессор какой?
        • 0
          У меня MSI VX600, прямо скажем не самый мощный процессор. Тормозов не вижу.
        • 0
          Если проц двух головый вы лишних тормозов не заметите.
          К тоже я уже зазеличу на моск покапал чтобы он размазывал выполнение через таймауты чтобы вообще не заметно было.
          Так что скоро… соль хэшам не поможет
        • 0
          Двухядерный
    • –1
      Зависит от конкретной реализации Workers API — в опере подлагивает, в хроме летает.
  • 0
    Уважаемый ТС, если найдете способ запустить на ECDC тот самый браузерный BitIcoin generator что вчера(?) на хабре представлялся — я не только себя озолочу, но и вашу лохматость :)
    • 0
      В чем проблема, давай сделаем ;)
  • +7
    А ведь есть гипотетическая возможность вставлять такое на очень посещаемые сайты без ведома пользователей. Не всегда, периодически. Много разной выгоды можно с этого поиметь.
  • +6
    Пользоватли (нодов) таких систем получают два существенных минуса:
    1) Более высокое эноргопотребление компьютера.
    2) Более высокое тепловыделение.

    Так что вряд ли удасться уговорить миллиарды ползователей безвозмездно предоставлять ресурсы их ПК.

    PS: Я включаю у себя BOINC два раза в год: весной и осенью, когда холодает, а отопление еще/уже не работает. Кстати, результат весьма заметен.
  • +1
    А почему статистика сбрасывается:
    Yours finished tasks: 1 (0.02% of total)
    при перезагрузке старницы статистики?
    • 0
      your finished tasks — fix
  • 0
    Не удивили. Возможность была и раньше, IndexedDB и прочие плюшки тут не причем. Да, JS-движки нынче пошустрее, но опять же. Что сейчас хорошо так это эфеективные трансляторы других языков в JavaScript (Java, C#, F#). Но в принципе можно и без этого.

    Помнится в свое время были популярны статьи про то, как это все делать на Java Applets, потом на Flash и Silverlight.

    Да, и не забывайте, нужен ооочень популярный интернет-ресурс чтобы на него зашло (и на нем просидело) столько народу чтобы эта затея имела смысл.
  • +3
    Не смешивайте в одну кучу BOINC и SETI@home, Einstein@Home, Rosetta@home. Первое — инфраструктура, второе — конкретные вычислительные проекты, на этой инфраструктуре построенные.
  • +4
    Сижу с нетбука. В Firefox открыто одновременно порядка 20-25 вкладок. Переключение с одной на другую занимает секунд 5. Лагает SmoothWheel. Во время набора комментария периодически возникала задержка с вводом символов.

    Уважаемый автор, я вас ненавижу.
    • +3
      В обед играемся в старенький КС.
      Коллега жалуется что играть невозмножно и 4х ядерный интел коре тормозит.
      Проблема была во флешке на странице finance.ua.
      Вот авторов той флешки мы ненавидим. А это так себе.
  • 0
    Идея разумная, хоть и не новая, но вот в контексте javascript как-то странно звучит. Пусть ядро процессора и может обрабатывать 8GFLOPS, но сколько реально можно получить из js?

    Да и в сравнении одна видяха игрового домашнего компьютера даст порядка 1 TFLOPS.

    Когда сетевые технологии научатся адекватно использовать эти мощности можно будет строить подобную сеть.
  • +2
    А давайте добавим скрипт для распредлеенных вычислений на ВКонтакт?
    Столько мощностей простаивают…
    • 0
      Тоже об этом подумал, но как смотивировать пользователей? И в какое приложение завернуть чтоб прошло предмодерацию?
      • 0
        Голоса давать, народ будет доволен.
        • 0
          Дорого обходится будет, хотя если придумать систему начисления голосов если открытую страницу продержал 2-3 час 1 голос, надо подумать.
      • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        например, в качестве замены рекламных постов или для всевозможных розыгрышей через репост(кто подобрал пароль по хешу или нашел оптимальную конфигурацию белка — выиграл)
  • НЛО прилетело и опубликовало эту надпись здесь
    • +1
      Вывод: друзья, оптимизируйте программы!
  • 0
    «Опера» 11.10, MacBook Air этого года, тормозит прокрутка этой страницы, если на другой странице считается ваша md5.
    • 0
      Тоже заметил тормоза в опере. Она видимо треды воркеров запускает на одном процессоре. Мб где-то в настройках контролируется, если нет, то надо писать багрепорт, ибо толку от воркерах на 1м процессоре.
  • 0
    А чем у Вас md5 считается?
    • 0
      • +1
        Понятно.
        Но, он не такой и «Высокооптимизированный алгоритм» для брутфорса.
        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» для не длинных паролей легко можно пре-вычесть.

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

        • 0
          Спасибо. Учту, если буду переделывать. Я взял алгоритм судя по тестам и немного изменил интерфейс.
  • +4
    В вышеперечисленных сетях чаще используются неиспользуемые и простаивавшие мощности. У большинства система нагружена всяким барахлом: разными фоновыми процессами, антивирусниками. Любая нагрузка будет несколько болезненно восприниматься неприятными подлагиваниями во время работы. Тот же фокс нагруженный плагинами и так торомзит, а если его еще пригрузить, будет ползать совсем.
    Другое дело когда компьютер не используется, вместо скринсейвера будет что-то рассчитываться.
    Кстати, не все браузеры умеют распараллеливать нагрузку по ядрам. Потому на данном этапе данная затея не очень приживется.

    Тут надо использовать не мощности CPU, а мощности GPU, для вычисления хэшей некоторые видеокарты дадут 50-100 кратное приемущество перед обычным процессором. И по сути процессор остается свободным. Вот только JS не сможет получить доступ к GPU без дополнительных плагинов. Но сделать такой плагин реально. А есть его еще поставлять в комплекте с каким-то известным браузером…

    Думаю будующее за чем-то подобным. Появятся плагины и сервисы, которые смогут аккумулировать неиспользованные ресурсы и при необходимости например, продавать другим участникам, или менять на другие ресурсы, на то же процессорное время в облаке для мгновенных вычислений. Думаю это вполне логично и более чем уверен что это станет продолжением развития облачной сферы, рассредоточив нагрузку не только между серверами, а и между частными людьми и коммерческими структурами.
    • 0
      Тут надо использовать не мощности CPU, а мощности GPU, для вычисления хэшей некоторые видеокарты дадут 50-100 кратное приемущество перед обычным процессором.
      Безусловно, с силой NaCl мы и не такие цифры сможем выжать. Проблема в том, что не все пользователи будут ставить какие-то подозрительно полезные плагины. Охват аудитории немаловажен.
      • 0
        Стоп, а NaCl поддерживает GPGPU?
        • 0
          Не уверен, что поддерживает, но у него все ещё впереди.
      • 0
        Ух ты, интересная штука этот Native Client. Насколько я понял, он позволяет использовать только вычислительные мощности, но не файловую систему или сеть, правильно? То есть скомпилированный нативный код как бы остается в песочнице?
      • 0
        И не надо ставить никакие плагины, Khronos уже разрабатывает стандарт WebCL.
  • 0
    у меня шкурный интерес: чего посчитать можно с практической пользой? просто так мд5 хэши перебирать неинтересно.
    имею: 1 лям в сутки посетителей на сайтах, средняя время сессии 5-10 минут.
    или это мелкие объемы?
    • 0
      Напишите алгоритм генерации хешей в сети bitcoin и вполне вероятно, что вы сможете подзаработать.
      Хотя я несанкционированное использование мощностей и не приветствую.
  • 0
    Как было много написано красивых фраз про просчет свертываемости белков — а свели все к взлому md5 да и еще имейлы собираете.
    • 0
      Email указывать совсем не обязательно, кстати.
    • +1
      Вы можете использовать любой email или любое имя, они используются для ведение вашей статистики — вашего вклада в объем вычислений (хранятся в виде md5 хэша)
      Код открыт, вы можете посмотреть как я ловко сплавляю md5 хэши от email'ов злым спамерам :)
  • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      Вполне возможно, проблема в том будут ли их устанавливать. Получается аналогичная ситуация как с клиентами вычислительных сетей.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Пока я ничего не предполагаю. Встроить какой-то фрэйм на свой сайт, понятно дело, просто так ни кто не даст. Буду стараться продвинуть свою разработку.
  • 0
    Не забывайте только, что выбросы углекислоты вырастут пропорционально росту используемой вычислительной мощности :)
    • 0
      Что идет на пользу растениям.
  • 0
    Лучше бы что-нибудь полезное придумали, чем пароли подбирать, например, как World Community Grid.
  • 0
    Интересно посмотреть сколько людей «компов» считает с тобой прямо сейчас задачу
    • 0
      И производительность, чтоб письками помериться.
  • 0
    Потрясающая статья!
    С упоением перечитал от слова до слова! Спасибо автору!
  • 0
    А как защититься от «вредителей», т.е тех, кто по каким-либо причинам будут слать на сервер заведомо неправильные результаты расчетов?
    • 0
      Пока вопрос о защите не ставился(шанс, что нам испортят малину в этой задаче стремится к нулю), но, проблема, безусловно, актуальная.
  • 0
    Как было рассчитано AMD Athlon 64 2,211 ГГц у каждого пользователя?
    • 0
      AMD Athlon 64 — процессор 2003 года, думаю, сейчас у каждого стоит не хуже такого.
      • 0
        Гм. Вы забыли, что есть огромное количество мобильных устройств. Там процессоры проще. Куча нетбуков, где мощности меньше.
        Ну и забыли многих пользователей, особенно конторских, где компьютеры не меняют, потому что появилась новая модель. Меняют, когда работать уже невозможно и появились новые требования для программ.
        У меня дома два компьютера, один Athlon XP 2 ГГц, а второй Celeron 1.83 ГГц. И этих мощностей точно хватает для чтения сайтов.
        • 0
          Я брал в расчет только пользователей интернет с ПК (хотя я не уверен, что цифра 2ккк описывает только их). Не хочу заставлять пользователей мобильных устройств страдать (особой выгоды с них все равно не получить): 1н слабый процессор, затратные по батарейке вычисления, да и нет подходящих технологий (нет Воркеров, ибо 1 процессор).
          Насчет процессора. Точных данных у меня нет. Я прикинул, что сейчас каждый домашний ПК имеет что-то в районе Атлона 64 есть слабее есть производительней, в среднем же будет в районе Атлона 64. Буду рад если вы покажете точные сведения.
          • 0
            Прикинуть какое количество пользователей появляется в интернете ежегодно можно. Из этого можно сделать вывод, что они недавно купили компьютер. То есть, чем более старый пользователь, тем больше шансов, что у него старый компьютер. Как-то так.
            • 0
              Возможно. зависит ещё от возраста и профессии. ИТ и молодые люди чаще меняют ПК (например, я за 7 лет поменял 3 раза — флопсы возрасли раз в 5).
  • 0
    Мне почему-то кажется, что восьмисимвольный пароль с алфавитом в 96 символов, это 8 в 96 степени, а не наоборот.
    • 0
      Блин, вы мне мозг сломали. Все правильно…
  • 0
    А как бы вы реализовали распараллеливание задачи поиска коллизий для SHA-1?
    Можно ли такую задачу эффективно решать описанным подходом?
    • –1
      Не думал над этим вопросом. Полный перебор — безусловно, не эффективный метод он займет 2160 операций, но есть алгоритмы нахождения за 280-63 операций.
  • 0
    Интересно было бы запустить bellard.org/jslinux/ в этаком «браузерном облаке», но проект пока закрытый, а практической пользы ноль.
  • +1
    не прокатит. проще сделать кластер из мощных компьютеров, который будет принадлежать тебе, либо folding@home систему — добровольная установка, чем вот так по крупицам делать нестабильную, рассчитанную на огромную популярность и траффик систему.
    вот систему вычислений по типу торент скачивания интересно было бы увидеть(+последов. выч-ия в том числе)
  • 0
    Как то странно считается статистика, было 0.05% 145 задач выполненных, теперь 0.04% 139 задач, поначалу думал показалось, но теперь явно заметна такая закономерность.
  • 0
    Считаю блоки в Bitcoin. 24шт * radeon 5870 = 9 TH/s ;)
    • 0
      ASUS? Окупаются ли ваши вложения в 180000р?
      • +1
        На данный момент прошло 13 суток с момента запуска. Намайнили около 25% в фантиках по текущему курсе от 10 килобаксов инвестиций. Запустили бы раньше — было бы лучше )
        • 0
          Хм, окупаемость 2-3 месяца (с учетом роста сложности) очень не плохо. Плохо, что майнинг это гонка мощностей и доход будет только падать.
          • 0
            Можно накупить крутых мощностей, отбить, а мощности ведь останутся.
  • 0
    А где можно найти скажем пароль для md5 хеша?

    Уже можно пользоваться данным которые сгенерированы?
    • 0
      Они не сохраняются. Отмечается лишь тот факт, что в таком-то блоке есть или нет пароля.
  • 0
    Что то лежит.

    Forbidden
    • 0
      nodester может тупить. Сейчас, например, работает. В любом случае там демо пример. Вы можете скачать исходники и поднять свой сервер.
  • 0
    Интересно досчитали ли?
    • 0
      После нескольких падений nodester мне вскоре это надоело(да и посещаемость стала падать), а перевести на другую платформу не хватило энтузиазма. За 3 дня хабраэффекта перебрали ок 1%.
  • 0
    Интересно было бы использовать вычислительные мощности в качестве «ресурсовой валюты» наряду с распределенным хранилищем и сетевым каналом.
    Чтобы можно было на бирже менять по плавающим курсам между собой и с «валютами внимания»:
    -активными: игровыми, оценочными(всевозможные лайки, оценки фильмов, роликов, качества сайтов(WoT) и пр.)
    -пассивными: просмотр рекламы

    В качестве меры внимания предлагаю концентрацию внимания: отношение между степенью и объемом. Индикатором степени внимания может быть, например, изменение диаметра зрачка. Объем внимания количество элементов на которых сосредоточен пользователь(составляет 3-4 элемента, максимум 6).

    Тогда можно было справедливо оценить объем вычислений, эквивалентный просмотру рекламы.

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