LINUX.ORG.RU

Пара нубских вопросов по компиляции по распределенным вычислениям

 , , ,


0

2

Всем привет! Не знаю куда адресовать такие нубские вопросы, поэтому спрошу здесь))) все вопросы теоретические.

Вопрос 1 - Вот есть 5 VPS, на всех установлен Debian 9.0, плюс домашний ПК, который будет управляющим. Возможно ли как то простым образом объединить их в вычислительную сеть? Например задача - расшифровка хэша пароля. Хочется увеличить скорость перебора, раньше я решал это просто - разбивал словарь на 5 частей, загружал на каждую VPS хэш и 1/5 словаря. Грубо говоря, получал 5 потоков. Но, есть вот такой проект World Community Grid!. То есть ты просто устанавливаешь ПО на свой комп - и все, его мощности уже используют научные центры, никаких настроек, никакого геморроя для пользователя. Есть ли какие-то проекты для новичков, как я?

Вопрос 2 - на гитхабе нашел нескольно не понятных проектов, но там только код, чистый C или С++. Я правильно понимаю, что взяв этот код, я могу его скомпилировать под любую систему? То есть сейчас у меня Debian, процессор от AMD, а если я захочу поставить Ubuntu на intel x86, или на RasbperryPi с архитектурой Arm? Просто нужно будет по новой скомпилировать исходный код для нужной архитектуры и все, или программа на C может не работать на определенной архитектуре, типо ARM или MIPS? От чего это зависит? Можете объяснить как это работает?

Спасибо за ответы!



Последнее исправление: alizonjohn (всего исправлений: 1)

Вопрос 1 - Вот есть 5 VPS, на всех установлен Debian 9.0, плюс домашний ПК, который будет управляющим. Возможно ли как то простым образом объединить их в вычислительную сеть? Например задача - расшифровка хэша пароля. Хочется увеличить скорость перебора, раньше я решал это просто - разбивал словарь на 5 частей, загружал на каждую VPS хэш и 1/5 словаря. Грубо говоря, получал 5 потоков.

Примерно, досюда всё логично и понятно.

Но, есть вот такой проект World Community Grid!. То есть ты просто устанавливаешь ПО на свой комп - и все, его мощности уже используют научные центры, никаких настроек, никакого геморроя для пользователя. Есть ли какие-то проекты для новичков, как я?

Отсюда начинается какой-то непонятный трэш. Кто на ком стоял и что делал решительно невозможно понять.

Вопрос 2 - на гитхабе нашел нескольно не понятных проектов, но там только код, чистый C или С++. Я правильно понимаю, что взяв этот код, я могу его скомпилировать под любую систему?

Ну, возьми и попробуй скомпилировать. Страшно что ли или в чём проблема?

justAmoment ★★★★★
()

Есть ли какие-то проекты для новичков, как я?

Используй RPC (удалённые вызовы процедур).

программа на C может не работать на определенной архитектуре, типо ARM или MIPS? От чего это зависит?

Может и не работать. А может работать. Зависит от программы. Если в ней используются какие-то особенности той или иной оси или железа, то для других осей/железа она может не компилироваться или компилироваться, но работать неправильно. Если программа проектировалась как кроссплатформенная и отлаживалась в разных ОС и на разном железе, то скорее всего проблем не будет.

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

А вот для переноса программы на принципиально другое железо (например, с x86 на arm) или на принципиально другую ось (например, с Linux на Wiondows), она должна быть кроссплатформенной на уровне исходников, чего не всегда удаётся легко добиться.

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