Если бы я был крупной компанией которой требуются постоянно большие вычислительные мощности, то я бы выкупал все это время монетки за дешего а после запуска платформы разогнал бы цену до луны и после этого тратил бы на их вычисления. Офигенная экономия.
Я так понимаю что цена за вычисления будет плюс минус рыночная в $, а платится будет в эквиваленте в rlc.
Так в том то и дело, что здесь большие вычислительные мощности взять негде.
Чтобы было проще говорить. Допустим, есть некоторая задача с огромными вычислениями. Сейчас есть, грубо говоря, 100 пользователей готовых отдать свои мощности в аренду. У одних 2 ядерные процессоры, у других 32 ядерные, это не столь суть важно. Так вот все эти 100 пользователей не могут выполнять эту задачу совместно, каждый свою часть расчетов,
для того чтобы сократить время для нахождения результата в 100 раз. Т.е. в проекте нет распараллеливания вычислений. Совместный майнинг в пуле это из другой темы, это тупой перебор для нахождения нужного хэша. А если задача линейная, то под нее придется писать свой софт, под всех этих рабочих, чтобы задействовать их мощность суммарно. Если где неправ, правьте.
Впринципе ты все верно говоришь. Но кое в чем внесу уточнение.
Майнинг это тупое нахождение нужного хэша, да все верно, но каждый риг получает свой диапазон для перебора nonce. Тогда чем от майнинга отличается задача поиска просторо числа, где каждый работник получает свой диапазон вычислений. Или например шахматный интеллект, где суть работника сводится к обсчету своих комбинаций ходов. Обучение нейросети можно также подвести к тривиальной задачи, где обучение сводится к подстройке сумматоров до такой степени чтобы нужный нейрон, в свое время, имел максимальный импульс и был максимально приближен к эталону во время обучение, это поидее как и майнинг тупая задача (гениально только создание такой сети)! На обучение нейронной сети нужны очень большие мощности, конечно все зависит от сложности самой сети.
Но я уловил твою основную мысль о распараллеливании вычислений (по правильному это называется многопотоковость, это когда один процесс делится на потоки и каждому ядру ЦПУ достается 1 или более потоков). В нашем случае каждый поток должен достаться отдельному рабочему.
Но ты абсолютно прав, иксек этим не обладает. Скажу даже больше, этим вообще в мире никто не обладает. Когда разнародные или однородные ПК объединяются это называется кластер. Так вот не один в мире кластер не сможет взять любую многопотоковую прогу и заставить каждому узлу отдать свой поток.
Я объясню это очень просто и понятно, эта проблема разделяемой памяти: Когда вы запускаете многопотоковую программу на 1 ПК, то прога находится в одной области оперативной памяти (плюс подкачка) с которой может работать каждое ядро процессора, они просто при помощи мьютексов, семафоров и т.д перехватывают определенные области памяти на время для работы и после отпускают для других ядер. Процессор одного ПК никогда не сможет попасть в адресное пространство некой запущеной программы другого ПК.
Так что ты верно пишешь, если хочешь кластер использовать как то по хитрому, то придется писать специальное ПО под него.
В обычном ПК Проц и оператива соединяется шиной данных на материнской плате и конечно самый большой плюс этого от кластера это именно в том что задача может быть сведена к нескольким потокам
В кластерной системе (iexec) много ПК соединяются тоже шиной данных, но на этот раз это оптоволокно, но его можно рассматривать как единый ПК. Да он не умеет распараллеливать задачи на разные ПК ( только внутри 1 ПК), но он имеет другие плюсы: например я могу запускать тысячи задач и кластер на автомате будет раздавать задачи самым разгруженным работникам, он отказоустойчив, если один из работников отвалился, то задача перейдет другому работнику.