Дело в том, что у меня дома компьютер работает в режиме 24/7. Однако, по причине работы и насыщенной личной жизни пользуюсь я им... скажем не более 10% времени. Но даже когда я им пользуюсь, то характер этого использования не подразумевает полной загрузки процессора задачами.
Поэтому меня давно мучил вопрос - куда девать бесполезно просранные такты? Решение очевидно - в интернете есть куча проектов по распределенным вычислениям. Скачиваешь клиента вычислений, а дальше, практически ничего не делая, ты помогаешь какому-нибудь научному проекту сделать тот ли иной расчет. Однако какой проект выбрать?
Когда-то давно, когда я ещё сидел на винде, я пару раз запускал у себя клиент distributed.net - и он тихо мирно ломал себе очередной ключ RSA или искал оптимальные линейки Голомба. Однако было это во времена диалапа, и приходилось довольно долго подбирать оптимальные параметры получения заданий с сервера, чтобы клиент был всегда загружен юнитами для вычислений. Поэтому каждый раз это дело доживало до очередного сноса винды, ибо после этого настраивать заново было как-то влом и в следующий раз я ставил эту хню года через пол. У этого проекта был ещё один очевидный минус, если линейки Голомба ещё имели какую-то практическую/научную ценность, то взлом полным перебором одного из ключей RSA ни имеет абсолютно никакой научной ценности.
Потом я открыл для себя целый ряд всяких @home'ов. Первый был SETI@home - распределенный анализ данных с радиотелескопа, направленный на поиск радиосигналов от внеземных цивилизаций. Достоинством проекта является его полная открытость, а как следствие поддержка многих платформ. Но хотя я искренне верю в то, что мы не одни во Вселенной, мне мало верится в успешность этого проекта. Тоже можно сказать и о многих других проектах со схожими названиями.
А вот затем я нашел Folding@home - проект рассчитывающий свертку белков. Это знание необходимо, для предсказания/определения функции того или иного белка. Обладая такой инфой можно создавать белки направленные на борьбу с болезнями, которые преследуют человечество тысячелетиями. Проблема лишь в том, что расчет одной наносекунды этого процесса занимает несколько часов на современном процессоре. В общем идея мне понравилась. Более того, был даже клиент под Linux, однако установка этого клиента оказалась муторным делом - надо было обвесить скриптами, обернуть в демона и прочее.
Чего хотелось? Хотелось установить какой-нибудь клиент, который запускается как демон (служба) при старте и работает себе считая и отправляя результаты на сервер не зависимо от того, залогинен юзер или нет. Вроде бы все просто, но никаких пакетов на сайте этих проектов нет - одни бинари, которые надо в ручную обвешивать скриптами.
А оказывается все это время открыто разрабатывалось ядро распределенных вычислений BOINC. Оказывается, что сейчас уже много этих проектов перешли на это ядро и все что нужно - это поставить это себе на комп, а BOINC есть как пакет в моем любимом Debian.
И так. Я поставил себе boinc-client и boinc-manager, подключился к проекту Rozetta@home, который тоже занимается расчетом белков и теперь мой железный конь трудится 24 часа на благо... кого интересно? Надеюсь не американских спец.служб :) Очень хочется верить, что на благо человечества :) А все потому что, хотя они используют BOINC, их часть является закрытой и не поддерживает много ОСов и архитектур. Поэтому вопрос чем бы полезным нагрузить мой UltraSPARC остается пока открытым.
Все на штурм!