Кластерный компьютер своими руками

Содержание
  1. Linux.yaroslavl.ru
  2. 2. Как,что и где.
  3. 4. Настройка
  4. 5. Управление кластером
  5. 6. Эксперементируем.
  6. 7. Использование
  7. 8. Заключение
  8. Высокопроизводительный кластер из старых компьютеров
  9. Re: Высокопроизводительный кластер из старых компов
  10. Re: Высокопроизводительный кластер из старых компов
  11. Re: Высокопроизводительный кластер из старых компов
  12. Re: Высокопроизводительный кластер из старых компов
  13. Re: Высокопроизводительный кластер из старых компов
  14. Re: Высокопроизводительный кластер из старых компов
  15. Re: Высокопроизводительный кластер из старых компов
  16. Re: Высокопроизводительный кластер из старых компов
  17. Re: Высокопроизводительный кластер из старых компов
  18. Re: Высокопроизводительный кластер из старых компов
  19. Re: Высокопроизводительный кластер из старых компов
  20. Re: Высокопроизводительный кластер из старых компов
  21. Re: Высокопроизводительный кластер из старых компов
  22. Re: Высокопроизводительный кластер из старых компов
  23. Re: Высокопроизводительный кластер из старых компов
  24. Re: Высокопроизводительный кластер из старых компов
  25. Re: Высокопроизводительный кластер из старых компов
  26. Re: Высокопроизводительный кластер из старых компов
  27. Re: Высокопроизводительный кластер из старых компов
  28. Re: Высокопроизводительный кластер из старых компьютеров
  29. Re: Высокопроизводительный кластер из старых компьютеров
  30. Re: Высокопроизводительный кластер из старых компьютеров
  31. Re: Высокопроизводительный кластер из старых компьютеров
  32. Re: Высокопроизводительный кластер из старых компьютеров
  33. Re: Высокопроизводительный кластер из старых компьютеров
  34. Re: Высокопроизводительный кластер из старых компьютеров
  35. Re: Высокопроизводительный кластер из старых компьютеров
  36. Re: Высокопроизводительный кластер из старых компьютеров
  37. Re: Высокопроизводительный кластер из старых компьютеров
  38. Re: Высокопроизводительный кластер из старых компьютеров
  39. Re: Высокопроизводительный кластер из старых компьютеров
  40. Re: Высокопроизводительный кластер из старых компьютеров
  41. Хорошая, годная статья.
  42. Re: Высокопроизводительный кластер из старых компьютеров
  43. Re: Высокопроизводительный кластер из старых компьютеров
  44. Re: Высокопроизводительный кластер из старых компьютеров
  45. Re: Высокопроизводительный кластер из старых компьютеров
  46. Re: Высокопроизводительный кластер из старых компьютеров
  47. Re: Высокопроизводительный кластер из старых компьютеров
  48. Re: Высокопроизводительный кластер из старых компьютеров
  49. Re: Высокопроизводительный кластер из старых компьютеров
  50. Re: Высокопроизводительный кластер из старых компьютеров
  51. Re: Высокопроизводительный кластер из старых компьютеров
  52. Re: Высокопроизводительный кластер из старых компьютеров
  53. Re: Высокопроизводительный кластер из старых компьютеров
  54. Re: Высокопроизводительный кластер из старых компьютеров
  55. Re: Высокопроизводительный кластер из старых компьютеров
  56. Re: Высокопроизводительный кластер из старых компьютеров
  57. Re: Высокопроизводительный кластер из старых компьютеров
  58. Re: Высокопроизводительный кластер из старых компьютеров

Linux.yaroslavl.ru

2. Как,что и где.

4. Настройка

Теперь после перезапуска mosix ваша машина уже будет работать в кластере, что можно увидеть запустив монитор командой mon. В случае, если вы увидите в мониторе только свою машину или вообще не увидите никого, то, как говорится — надо рыть. Скорее всего у вас ошибка именно в /etc/mosix.map.
Ну вот, увидили, но не победили. Что дальше? А дальше очень просто 🙂 — нужно собрать утилиты для работы с измененным /proc из пакета mproc. В частности в этом пакете идет неплохая модификация top — mtop, в который добавили возможность отображения узла(node), сортировки по узлам, переноса процесса с текущего узла на другой и установления минимальной загрузки процессора узла, после которой процессы начинают мигрировать на другие MOSIX — узлы.
Запускаем mtop, выбираем понравившийся не спящий процесс (рекомендую запустить bzip) и смело давим клавишу «g» на вашей клавиатуре, после чего вводим на запрос PID выбранного в качестве жертвы процесса и затем — номер узла, куда мы хотим его отправить. А уже после этого внимательно посмотрите на результаты, отображаемые командой mon — та машина должна начать брать на себя нагрузку выбранного процесса.
А собственно mtop — в поле #N отображать номер узла, где он выполняется.
Но это еще не все — ведь вам правда не хочется отправлять на другие узлы процессы вручную? Мне не захотелось. У MOSIX есть неплохая встроенная балансировка внутри кластера, которая позволяет более-менее равномерно распределять нагрузку на все узлы. Ну а вот здесь нам придется потрудится. Для начала я расскажу, как сделать тонкую настройку (tune) для двух узлов кластера? в процессе которой MOSIX получает информацию о скоростях процессоров и сети:
Запомните раз и навсегда — tune можно выполнять только в single-mode. Иначе вы либо получите не совсем корректный результат, либо ваша машина может просто зависнуть.
Итак, выполняем tune. После перевода операционной системы в single — mode например командой init 1 или init S запускаем скрипт prep_tune, который поднимет cетевые
интерфейсы и запустит MOSIX. После этого на одной из машин запускаем tune, вводим ему номер другого узла для настройки и ждем результата — утилита должна выдать запрос на ввод шести чисел, полученных от выполнения команды tune -a на другом узле. Собственно операцию придется повторить на другом узле командой tune -a , а результат из шести чисел ввести на первый узел. После подобного тюнинга в вашей системе должен появится файл /etc/overheads, содержащий информацию для MOSIX в виде неких числовых данных. В случае, если по каким-то причинам tune не смог сделать его, просто скопируйте из текущего каталога файл mosix.cost в /etc/overheads. Это поможет ;-).
При тюнинге кластера из более чем двух машин нужно использовать утилиту, которая также поставляется с MOSIX — tune_kernel. Данная утилита позволяет
вам в более простом и привычном виде настроить кластер, ответив на несколько вопросов и проведя тюнинг с двумя машинами кластера.
Кстати, по собственному опыту могу сказать, что при настройке кластера я рекомендую вам не загружать сеть, а наоборот — приостановить все активные операции в локальной сети.

Читайте также:  Пиноль задней бабки своими руками

5. Управление кластером

mosctl — контроль над узлом. Позволяет изменять параметры узла — такие, как block, stay, lstay, delay и т.д
Давайте рассмотрим несколько параметров этой утилиты:
stay — позволяет останавливать миграцию процессов на другие узлы с текущей машины. Отменяется параметром nostay или -stay
lstay — запрещает только локальным процессам миграцию, а процессы с других машин могут продолжать это делать. Отменяется параметром nolstay или -lstay.
block — запрещает удаленным/гостевым процессам выполнятся на этом узле. Отменяется параметром noblock или -block.
bring — возвращает обратно все процессы с текущего узла выполняемые на других машинах кластера. Этот параметр может не срабатывать, пока мигрировавший процесс не получит прерывание от системы.
setdelay устанавливает время, после которого процесс начинает мигрировать.
Ведь согласитесь — в случае, если время выполнения процесса меньше секунды смысл переносить его на другие машины сети исчезает. Именно это время и выставляется утилитой mosctl с параметром setdecay. Пример:
mosctl setdecay 1 500 200
устанавливает время перехода на другие узлы 500 миллисекунд в случае, если процесс запущен как slow и 200 милисекунд для fast процессов. Обратите внимание, что параметр slow всегда должен быть больше или равен параметру fast.

mosrun — запускает приложение в кластере. например mosrun -e -j5 make запустит make на 5-ом узле кластера, при этом все его дочерние процессы будут также выполнятся на 5-ом узле. Правда здесь есть один нюанс, при чем довольно существенный:
в случае, если дочерние процессы выполняются быстрее чем установленная утилитой mosctl задержка (delay) то процесс не будет мигрировать на другие узлы кластера. у mosrun еще довольно много различных интересных параметров, но подробно узнать
о них вы сможете из руководства по этой утилите. (man mosrun)

mon — как мы уже знаем, это монитор кластера, который в псевдографическом виде отображает загрузку каждого рабочего узла вашего кластера, количество свободной и занятой памяти узлов и выдает много другой, не менее интересной информации.

mtop — модифицированная для использования на узлах кластера версия команды top. Отображает на экране динамическую информацию о процессах, запущенных на данном узле, и узлах, куда мигрировали ваши процессы.

mps — тоже модифицированная версия команды ps. Добавлено еще одно поле — номер узла, на который мигрировал процесс.

Вот на мой взгляд и все основные утилиты. На самом деле конешно можно обойтись даже без них. Например используя для контроля над кластером /proc/mosix.
Там кроме того, что можно найти основную информацию о настройках узла, процессах запущенных с других узлов и т.д.,а также поменять часть параметров.

6. Эксперементируем.

7. Использование

8. Заключение

В заключение хочу сказать, что в этой статье не рассмотрены все возможности MOSIX, т.к. я просто до них еще не добрался. Если доберусь — ждите продолжения. 🙂

Источник

Высокопроизводительный кластер из старых компьютеров

Если у вас есть 32 старых однопроцессорных компьютера, нужно лишь найти способ, как заставить их работать сообща. Другими словами — собрать из них кластер. Да, у них всего по одному процессорному ядру, но все вместе они смогут сделать больше, чем одна двухъядерная машина. Как это сделать, рассказано в статье Т. Лемана (Tom Lehmann) «Как создать высокопроизводительный вычислительный кластер на Linux». В статье приведен обзор пакета Rocks — Linux-дистрибутива для развертывания, управления и поддержки высокопроизводительного вычислительного кластера.

Re: Высокопроизводительный кластер из старых компов

> но все вместе они смогут сделать больше, чем одна двухъядерная машина

проще сдать весь этот хлам на металлолом и купить четырехъядерную машину

Re: Высокопроизводительный кластер из старых компов

>Если у вас есть 32 старых однопроцессорных компьютера

Re: Высокопроизводительный кластер из старых компов

А я-то думал куда мне деть мои 32 старых компа.

Re: Высокопроизводительный кластер из старых компов

А также не только на старых однопроцессорных компьютерах, но и на КПК, смартфонах, и прочих ЕС ЭВМ http://ru.inferno-os.wikia.com/wiki/%D0%9F%D1%80%D0%BE%D1%81%D1%82%D0%BE%D0%B9_%D0%BF%D1%80%D0%B8%D0%BC%D0%B5%D1%80_Grid

Re: Высокопроизводительный кластер из старых компов

Т.е. 32 компа немногим лучше, чем одна двухядерная машина?

Re: Высокопроизводительный кластер из старых компов

> Т.е. 32 компа немногим лучше, чем одна двухядерная машина?

Скорее хуже, если нет своей АЭС.

Re: Высокопроизводительный кластер из старых компов

/me пошел делать кластер из 133 и 166 машинок

Re: Высокопроизводительный кластер из старых компов

у нас в европе элекричество дорогое. так что лесом эту хрень

лучше купить один мощный комп.

Re: Высокопроизводительный кластер из старых компов

А счет за киловатт-часы кто будет оплачивать?

Re: Высокопроизводительный кластер из старых компов

Это развёртывать можно разве что в университетах, где тачки одинаковые.

Re: Высокопроизводительный кластер из старых компов

> Если у вас есть 32 старых однопроцессорных компьютера

Возможно Вы серьезно больны.

Re: Высокопроизводительный кластер из старых компов

Re: Высокопроизводительный кластер из старых компов

Боюсь серверные двухканальные сетевухи будут стоить дороже этого хлама, а на обычных делать смысла нет — пересылки всё сожрут.

Читайте также:  Кухонный настенный шкаф своими руками

Re: Высокопроизводительный кластер из старых компов

> лучше купить один мощный комп.

А лучше 32 мощных компа 🙂

Re: Высокопроизводительный кластер из старых компов

> Боюсь серверные двухканальные сетевухи будут стоить дороже этого хлама, а на обычных делать смысла нет — пересылки всё сожрут.

Именно поэтому по ссылке упоминается InfiniBand.

Re: Высокопроизводительный кластер из старых компов

Вот тут тоже про кластеры.

Re: Высокопроизводительный кластер из старых компов

Это главная? Или толксы?

>Если у вас есть 32 старых однопроцессорных компьютера

Поменяйте их на один новый

>Да, у них всего по одному ядру, но все вместе они смогут сделать больше, чем одна двухъядерная машина.

Потребить электричества уж точно. А без должного распараллеливания нужных процессов такой кластер будет совершенно бесполезен.

Re: Высокопроизводительный кластер из старых компов

чОрт, у меня есть только всего один старый комп. Я смогу сделать из него кластер, который обделает все 10-ядерные ксеноны.

Re: Высокопроизводительный кластер из старых компов

Хм, интересная статья, не знал что есть готовые дистрибутивы заточенные под это.

Re: Высокопроизводительный кластер из старых компьютеров

А о том, как приготовить офигический ужин на двоих из 7 протухших сарделек там не пишут?

Re: Высокопроизводительный кластер из старых компьютеров

а почему вы интересуетесь?

Re: Высокопроизводительный кластер из старых компьютеров

Пишут как сделать ужин, а протухшие или свежие сардельки туда резать — Вам решать 😀

А по делу мне кажется что статья вполне ничего. Как ознакомительная по кластерным дистрам. Кстати, Beowulf-подобные решения вполне могут быть востребованы в тех же универах для обучения. У нас было такое дело что пришел новый класс, старый так тоже вполне себе ничего был. Там оптероны 4-процовые стояли. И их «утилизировали» подобным способом.

Re: Высокопроизводительный кластер из старых компьютеров

> чОрт, у меня есть только всего один старый комп. Я смогу сделать из него кластер, который обделает все 10-ядерные ксеноны.

и питцот галагенок

Re: Высокопроизводительный кластер из старых компьютеров

всё, бегу докупать ещё 31 однопроцессорный комп, и я буду круче чем сосед со своим 2 ядерным ноутбуком. вот я его натяну! ( а электричество.. это уже мелочи.. главное куда деть эти 32 компа?)

Re: Высокопроизводительный кластер из старых компьютеров

только сегодня думал что надо почитать про кластеры линуксовые ^_^

>Если у вас есть 32 старых однопроцессорных компьютер

Re: Высокопроизводительный кластер из старых компьютеров

Слово «старых» явно лишнее в названии статьи.

Re: Высокопроизводительный кластер из старых компьютеров

Действительно хорошая статья. Призадумался о том, чтобы реализовать описанную схему в университете.

Re: Высокопроизводительный кластер из старых компьютеров

О! У меня! У меня есть!!1111111 Вся кладовка в офисе ими завалена (на полном серьёзе, раньше юзались как ТК, потом перешли на ТК от HP) — выбросить жалко, применить некуда.

Интересно, если их все в кластер собрать — на них tomboy пойдёт?

Re: Высокопроизводительный кластер из старых компьютеров

>Если у вас есть 32 старых однопроцессорных компьютера

Еще ж не пятница. Вот как надо писать новости, эх!

Re: Высокопроизводительный кластер из старых компьютеров

Самая идея совершенно бредовая, но очень типичная для нищебродского отечественного IT. Дело-то ведь не в том, чтобы сэкономить за счёт использования кластера — да Боже упаси, эксплуатация скоренько сожрёт денег больше, чем любой Гаргантюа с Пантагрюэлем вместе взятые, — НЕТ, дело в том, чтобы уложиться в текущий бюджет, чтобы, например, обучение начальника каким-нибудь основам CRM/BPM не пошло прахом из-за покупки нового дорогого мощного сервера. Народ в организациях просто боиться тратиться единовременно на крупные суммы. Лучше вот 10 раз по 30 рублей, чем один раз аж 100 капиталовыложить! И все прекрасно понимают, что кластер из хлама — это бесполезно и бесцельно, впустую потраченное время специалистов (которое тоже чего-то ПО ИДЕЕ должно бы стоить), это неоправданно высокие затраты электроэнергии, это на порядки более геморройные и менее диагностируемые проблемы с железом, это место в серверной в конце-концов (и оно тоже денег стоит), но ё-моё, вы ж посмотрите, господин гавнюк, то мы бы купили IBM P-серии (кошмарно дорогой, аж два ваших отпуска в Европе!), а так — мы такие умные, погладщьте нас по головке и увеличьте фонд на обучение, уйму денег вам сэкономим, старую серверную рухлядь соберём в ультрамодное словечко — HA-кластер (НА — это, правда, не высокодоступный значит, это просто наше русское классическое НА <ТУДА_ТО>) и будем круче яиц, сваренных в крутую на процессорах этих 32-х машинок. УРА! Все счастливы, углекислый газ выделяется, парниковый эффект усиливается, скоро все будем жить на Канарах или хотя бы просто на острове посреди Мирового Океана — все вместе, начальнека, все вместе, в тесноте, да не в обиде.

Re: Высокопроизводительный кластер из старых компьютеров

p.s. Ъ юзают http://xcpu.org/ !111 или вообще чистую plan9!111

как пел Евгений Гудзь, «серебряные зайцы водят хоровод». теперь я знаю, он про гленду 😉

Читайте также:  Подставка для иконки своими руками

Re: Высокопроизводительный кластер из старых компьютеров

Нифигасе высер. А если я четыре сервака на кореквадах в кластер хочу, чтоб аппсервер мог не 3000 а 10000 соединений одновременных обслуживать? А тестироваться/практиковаться на чём?

Хорошая, годная статья.

Спасибо, Виктор Алексеевич. Хорошая, годная статья.

Re: Высокопроизводительный кластер из старых компьютеров

Я бы переименовал в «Как собрать обогреватель».
В принципе лето заканчивается, скоро будет актуально.

Re: Высокопроизводительный кластер из старых компьютеров

Виндовый ботнет и то выглядит перспективнее для всяких расчетов, чем старая рухлядь (еще и 32 шутки). И тише будет.

Re: Высокопроизводительный кластер из старых компьютеров

Чтобы аппсервер мог больше соединений обслуживать, прежде всего замените аппсервер на бэкенды, написанные на C и веб-фронтенды на Perl! Java-сервера приложений 80% времени своей работы тупо жрут процессорное время и память. Дай какой-нибудь веб-сфере сказать «Hello, world!», она и на это потратит столько же тактов, сколько в каком-нибудь 1970-ом году тртилось на расчёт полёта космической ракеты. У меня как у ASM-програмиста подобные вещи ничего, кроме отвращения, не вызывают. Ну и собственно очень редко узким местом является именно процессор, гораздо чаще это всё-таки ввод-вывод, ну а коли у вас все ноды кластера наверняка будут подключены к одной полке и делить одно на всех внешнее ethernet-подключение, то о каком трёхкратном росте производительности может идти речь?

Re: Высокопроизводительный кластер из старых компьютеров

>Чтобы аппсервер мог больше соединений обслуживать, прежде всего замените аппсервер на бэкенды, написанные на C и веб-фронтенды на Perl!

А потом выйдите на улицу на перекур и узнайте, что Землю сто лет назад захватили серо-зеленые жабокрылы.

Re: Высокопроизводительный кластер из старых компьютеров

32 * 300 Watt одной машины

9kWat хорошенький обогреватель, всё равно аля

Re: Высокопроизводительный кластер из старых компьютеров

Аппсервер не на жабе.

Re: Высокопроизводительный кластер из старых компьютеров

Используется принцип — нечто среднее между ВЕБ-приложением и десктоп-приложением.

Re: Высокопроизводительный кластер из старых компьютеров

Ясно, респект на самом деле, а что за продукт, если не секрет, на чём писан? Собственная разработка?

Re: Высокопроизводительный кластер из старых компьютеров

>что Землю сто лет назад захватили серо-зеленые жабокрылы
И Kill Em All? Неплохой шутер получится, а главное, что в итоге всё равно восторжествует справедливость, зелёные стандарты, энергосберегающие и те же шустрые программы на C во вставками на Асме. Ведь победить Жабокрыла очень легко — достаточно загнать его в ближайшую яму и забросать камнями, а потом сделать ему DDoS. А всё потому, что жабокрылы только плавают хорошо, но вообще ни разу не летают.

Re: Высокопроизводительный кластер из старых компьютеров

Продукт — изначально внутрикорпоративное ПО для риэлторской фирмы. Сейчас думаем его продвигать на внешний рынок. В виде законченного процесса управления риэлторским предприятием, плюс функции МЛС.

Писано на С++/Qt+WebKit (некоторые модули, в частности используемые для геренации отчётов и реализации мониторингов используют плюсы и удобство ВЕБ-представления), и PHP (серверная часть. Да-да, гнобите сколько хотите но ТАМ оно РЕАЛЬНО ОЧЕНЬ УДОБНО, и быстро).

Re: Высокопроизводительный кластер из старых компьютеров

> Пишут как сделать ужин, а протухшие или свежие сардельки туда резать — Вам решать 😀

Re: Высокопроизводительный кластер из старых компьютеров

А если есть три двухпроцессорных и два однопроцессорных, пролетаю?

Re: Высокопроизводительный кластер из старых компьютеров

А вообще, подскажите мне пожалуйста бытовое применение вычислительных мощностей, в частности кластера?

Re: Высокопроизводительный кластер из старых компьютеров

>У меня как у ASM-програмиста подобные вещи ничего, кроме отвращения, не вызывают.

мне одному вспомнился vsl? 😉

Re: Высокопроизводительный кластер из старых компьютеров

А под каким соусом он мог вспомниться? «Эх, вот бы пришел Профессор и вправил тебе мозги»?

Re: Высокопроизводительный кластер из старых компьютеров

Статистика показывает, что «узкими местами» по производительности в современных бизнес-приложениях — является достаточно малое количество мест всей программной конструкции. — Потому что программа часто ждет ввода пользователя, или тот же Java-код (опирающийся на нативные модули на С++) — показывает идентичную, как и на С++, производительность.

Программный код, состоящий из сотен модулей-подсистем — может быть неэффективен из-за недостаточной квалификации программиста, или от того, например, что в процессе разработки изменялись бизнес-требования (обычное дело) и поэтому все недостаточно оптимизировано.

С выявлением узких мест — достаточно переписать 2-3 таких узких места, чтобы приложение заработало очень эффективно.

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

Часто прирост может дать — сравнительно небольшое увеличение ОЗУ (для того же Оракла), например. И цена этого ОЗУ — будет несопоставимо ниже, в 100 раз ниже, чем написать все на Ассемблере.

Типичный пример ассемблерного коня в вакууме. 😉

Re: Высокопроизводительный кластер из старых компьютеров

Кластера всегда будут кластерами, если нужна отказоустойчивость, доступность и не геморройность при восстановлении, то кластера правильный выбор. Так, что товарищи не в ту сторону смотрите. PS все нужные приложения, которые могут повлиять на работу конторы, раскидываю по кластерам, и уже неоднократно спасало ситуацию. Будем дальше изучать.

Источник

Оцените статью
Своими руками