четверг, 15 апреля 2010 г.

Кластер=)


Ага вот мы и вернулись дорогие друзья=)Правда с задержкой в целых....ээээ...два месяца..Ну уж так получилось диплом,госы и так далее...
А сейчас я расскажу,как пытался сделать кластер в домашних условиях.Нахрена спросите вы? этим же вопросом задался и мой соавтор.А дело началось с того что я как обычно в один из прекрасных дней пытался заставить работать свою программу.Лирическое отступление.
Мой диплом связан в данный момент с расчетами,нахождение минимума,решение диффур и так далее.А необходимо мне найти минимальные затраты энергии на поддержание температуры в комнате.При проектировании.То есть не в реальное время.И в процессе проектирование мы и смотрим(анализируем и т.д),а какие строительные слои лучше поставить(с каким материалом,толщиной,массой и т.д),чтобы,во первых,не обнищала строительная компания при постройке этого здания,а во-вторых был доволен жилец и не умер от переохлаждения в будущем. А,так как у меня там куча расчетов и считается это все на матлабе мой ноутбук бедняга при большом количестве переменных загибается.И то это я считаю на сутки только,а по сути надо рассчитывать на огогого какое время.И модель у меня простая как топор, без окон,без дверей комната получается=)))
И я подумал а распаралеллливаются ли процессы в матлабе.То есть смогу ли я увеличить скорость расчета путем так сказать миграции.Погуглив я нашел два решения mosix и openmosix.Из названия понятно что одна открытая,другая закрытая.Однако openmosix уже не поддерживается и на новом ядре врядли будет работать.Поэтому я выбрал mosix тем паче для студентов они дают на халяву дистрибутив свой.

Скачал я mosix-2.28.0.1
В архиве как положено лежало куча бинарников,редмишка и патч для ядра.
Скачав linux-2.6.32.3 я пропатчил ядро коммандой patch -Npi patch-2.6.32.3
Включил поддержку fuse в виде модуля и собрал ядро.(как потом оказалось криво ибо модуль fat не работал)))).В архиве кстати я нашел бинарник mosix.install запустил его и по шагам про конфигурировал.Получилось у меня mosix.map c содержимым:
192.168.1.4 1 p #это мой ноутбук#
192.168.1.7 1 p

userview.map

1 192.168.1.7 1
2 192.168.1.4 1

и queue.conf
C 192.168.1.7

Ах да бинарники я сформировал у себя в пакет(ибо потом их вылавливать и удалять в случае чаво не имею желания).У себя кстати я это сделал без особых проблем

Аналогичные действия провел на убунту.Японский КОНЬ!.=))Вот нахрена ставить спрашивается grub2??толку то.А проблем больше.Вообщем я там так и не нашел как сконфигурировать его .Поэтому стер и поставил grub-legacy.Ядро как ни странно там собралось с первого раза и запустилось тоже сразу.Сформировал такие же конфиги(конфиги должны быть как две капли).Запускаем демоны на обоих машинах mosixd. и комманда mon должна показать вам две машины и их загруженность.Однако это не все.Нужно еще каким то образом сделать /proc мигрирующей.Что я пока не смог сделать(особо не красноглазил потомучто).
После того как сделано запускаем программу которую хотим помучать через комманду mosrun=).Как мне вернут машину с убунтой я продолжу извращения и буду постить результаты сюда=)


P.S Ссылки на ресурсы
http://linux.yaroslavl.ru/docs/conf/cluster.html
http://www.mosix.org/index.html


Комментариев нет:

Отправить комментарий