LINUX.ORG.RU

Помогите разобраться с кластерами


0

1

Добрый день. Помогите пожалуйста разобраться с кластерами распределенной нагрузки. Хотелось бы узнать какие процессы возможно перемещать между кластерами, то есть, может ли другая нода выполнять системные процессы или же в системе распределяются только пользовательские процессы?

И возможно ли распределять между кластерами работу :

  • - Приложений не рассчитанных на работу в кластере или же необходимо будет править исходники и вносить возможность работы в кластере?
  • - Многопоточных приложений

Заранее прошу прощения, если что-то напутал, просто вот решил немного разобраться в теме. Был бы благодарен за ссылки которые помогут разобраться в вопросе организации и работы кластеров

Что именно тебе нужно? Просто размазывать нагрузку? Практически любое приложение можно запустить на кластере, и не нужно никакой модификации исходников. А вообще огласи задачу.

leave ★★★★★ ()

Знаешь почему так мало комментов? Потому что ты задал вопрос «Как работает кластер? Объясните мне в двух словах, вчера открыл букварь и ниасилил».

просто вот решил немного разобраться в теме

И разбор пошел на неверном уровне абстракции. Кластер строится под задачу, т.е. «кластер» может подразумевать бесконечное число вариантов реализации оного. И конкретное приложение разрабатывается под конкретную задачу и под конкретную модель кластера. Сначала - задача, потом - кластер. Наоборот изучать - хз.

shahid ★★★★★ ()

Ох, виноват, просто возникло много вопросов по этой теме и за время иучения вопроса всё смешалось в кучу :)

Да, необходимо просто размазать нагрузку по нескольким машинам. То есть, имеются приложения требующие больших вычислительных мощностей. Например одно из них занимается просчётом физической модели некоего абстрактного мира. Второе занимается отображением модели. Отсюда и возник вопрос - возможно ли разнести вычисление, нагрузку, на несколько машин и что для этого потребуется.

Mr_Jke ()
Ответ на: комментарий от Mr_Jke

просчётом физической модели некоего абстрактного мира. Второе занимается отображением модели.

Вооот, уже ближе к делу.

Раньше такие кластеры поднимались на MPI. MPI - это message passing interface. Общая задача разбивается на вычислительные подзадачи (например расчет абстрактного мира в диапазоне x = 0.1-0.35, y = 5, ...). Эти подзадачи оборачиваются в сообщения и рассылаются по узлам, узлы проводят рассчеты в этих диапазонах, а затем на главный узел возращаются результаты вычислений. Т.е. одна подзадача - это просто один процесс на одном узле. Потом это всё суммируется и т.д.

MPI - это спека под С/C++. Реализации - OpenMPI, IntelMPI и т.д.

Похожие на MPI вещи: BOINC и даже Map-Reduce парадигма.

Но сейчас для подобных задач есть новая мода - OpenCL, ибо возникла необходимость распараллеливать на видяху, CPU уже не справляются.

Короче, в этих задачах главное - написать функцию (или прогу) рассчета в определенном интервале значений, и чтоб процесс в этой функции мог работать абсолютно независимо/изолированно от других. Никаких глобальных переменных, разделяемых состояний и т.д.

И перенос процесса между узлами в таком случае становится довольно простой задачей:
1. экспорт состояния процесса куда-то
2. остановка процесса
3. запуск процесса на другой ноде
4. импорт сохраненного состояния в запускаемый процесс на новой ноде.

shahid ★★★★★ ()
Ответ на: комментарий от post-factum

Дык. Может, ты с OpenMOSIX попутал, который в 2008-м закрыли?

Может быть. Но проблемы в 5-м году уже были, ЕМНИП.

mv ★★★★★ ()
Ответ на: комментарий от post-factum

http://www.mosix.cs.huji.ac.il/

Когда-то с вот этим баловался. Работало. Модификация приложений не требовалась.

да. интересная штука. Я к сожалению так и ниасилил поставить у себя. Не работало че-то. Жалко, что проект рипнулся.

dikiy ★★☆☆☆ ()
Ответ на: комментарий от shahid

Спасибо, весьма интересно, надо будет посмотреть в сторону данных решений и попробовать их =)

Mr_Jke ()
Ответ на: комментарий от dikiy

Эээ. Не рипнулся он. Вот только патчи отдельно по каждому запросу выдают.

post-factum ★★★★★ ()
Ответ на: комментарий от post-factum

хм. Не понял. А в чем разница между OpenMOSIX и MOSIX?

dikiy ★★☆☆☆ ()
Ответ на: комментарий от dikiy

хм. то есть патч у них открыт, а тулзовины закрыты... Хитрожопые они.

dikiy ★★☆☆☆ ()
Ответ на: комментарий от shahid

MPI - это спека под С/C++

Я не спец: в бытность свою студентом физфака МГУ был на паре лекций про MPI. ЕМНИП, там не только C и C++, у нас, например, юзался фортран.

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