Направете клъстер дома

Работата по една машина вече не е на мода
или се струпват в дома.

Мнозина от вас имат локална мрежа няколко Linux машини, с почти винаги свободен процесор. Също така, много от тях са чували за системите, в които машината обединява в един суперкомпютър. Но в действителност, малко хора са се опитвали да се извършват такива експерименти по време на работа или у дома. Нека се опитаме да събере малък клъстер. Чрез изграждане на клъстер, че наистина може да се ускори изпълнението на задачите. Например компилация или едновременна работа на няколко интензивни процеси. В тази статия ще се опитам да ви кажа как можете да обедините усилия машини във вашата локална мрежа в един клъстер с MOSIX.







В началото на инсталацията, която искате да се препоръча да се вземат с MOSIX възел не само него, но и свързаните с тях услуги - mproc, mexec и др.
В MOSIX архив е инсталационния скрипт mosix_install на. Не забравяйте да е задължително да разопаковате източниците на ядрото в /usr/src/linux-*.*.*, като аз го направих - за по-нататъшно /usr/src/linux-2.2.13 тичам mosix_install и да отговори на всичките си въпроси, като посочите собствената си стартиращ мениджър (LILO), по пътя на кода на ядрото източник и управляват нивата.
При конфигуриране на опциите на ядрото включват CONFIG_MOSIX, CONFIG_BINFMT_ELF и CONFIG_PROC_FS. Всички тези възможности са подробно описани в ръководството за монтаж на MOSIX.
Създадена? Е - претоварвайте Linux с новото ядро, името на което ще бъде много подобен на mosix-2.2.13.

Сега, когато рестартирате компютъра си, вече mosix ще работи в клъстер, който може да се види, като пуснете командния монитор MON на. Ако видите в монитора само колата му или не видя никого, а след това, както се казва - трябва да се копае. Най-вероятно имате грешка в него /etc/mosix.map.
Е, вие виждате, но не спечели. Каква е следващата стъпка? Друг много проста :-) - трябва да се съберат средства за работа с променено / ргос от mproc пакет. По-специално, този пакет е добър модификация отгоре - mtop, към който се прибавя възможност да показва възел (възел) на възли процес на прехвърляне от текущия възел към другия сортиране и установяване на минимално натоварване на процесора на възловата точка, след което обработва започват да мигрират към други MOSIX - възли ,
Изпълнете mtop, изберете любимите не спи процес (аз препоръчвам да се започне bzip) и смело можем да натиснете бутона "G" на клавиатурата, след това въведете PID да заявите избрана като жертва на този процес, а след това - броя на възлите, където искаме да го изпратите. И едва след това се вгледате внимателно в резултатите показват пн екип - че машината трябва да започне да поеме натоварването на избрания процес.
И всъщност mtop - #N в областта за показване на броя на възлите, където тя се извършва.
Но това не е всичко - всъщност наистина не искате да изпратите на други възли процеси ръчно? Не исках. MOSIX Ние сме изградили добър баланс в рамките на клъстера, което позволява по-голяма или по-малко равномерно разпределение на натоварването между всички възли. Е, тук ние трябва да работим усилено. За да започнете, аз ще ви покажа как да направите фина настройка (мелодия) за клъстер от два възел? по време на която MOSIX получава информация за скоростта на процесора и мрежата:
Запомнете веднъж завинаги - мелодия може да се извърши само в един режим. В противен случай, или ще получите не съвсем правилен резултат, или колата си, може просто да се мотае.
Така че, изпълнява мелодия. След операционната система в една-единствена - команден режим например 1 или първоначален първоначален S стартира скрипт prep_tune, което повиши Networking
интерфейси и стартират MOSIX. След това на една от машините работят мелодия, да го въведе при различен брой възел за установяването и в очакване на резултата - помощната програма трябва да бъдете помолени да въведете шестте числа, получени от -а командния мелодия <узел> на друг възел. Всъщност трябва да се повтори операцията по друг възел мелодия -а команда <узел>, и резултатът от шест числа, вписани в първия възел. След като тунинг на вашата система трябва да подаде / и т.н. / режийни разходи ще се появят, съдържащ информация за MOSIX, тъй като някои числени данни. Ако по някаква причина не е в състояние да се настройва, за да го направи, просто копирайте текущата директория mosix.cost файла в / и т.н. / режийни разходи. Това ще ви помогне ;-).






Когато настройка на групата от повече от две машини, което трябва да се използва като инструмент, който също идва с MOSIX - tune_kernel. Тази програма ви позволява да
ти по прост и познат вид конфигуриране на клъстера, отговорите на няколко въпроса и прекарва настройка с две машини в клъстера.
Между другото, от моя собствен опит мога да кажа, че когато конфигурирате клъстер, ви препоръчвам да не се зареди мрежа, както и обратното - да се спре всички активни операции в локалната мрежа.

За да контролирате възел клъстер има малък набор от команди, включително:

mosctl - управляващ блок. Позволява да се променят параметрите на възли - като блок, престой, lstay, забави и т.н.
Нека да разгледаме няколко варианта това комунални:
остане - тя позволява да се спре миграцията на процесите към други възли от сегашните машината. Анулиране или параметър nostay-поддържат
lstay - тя забранява само процеси и процеси, свързани с други машини местните миграция може да продължи да го прави. Анулиране или параметър nolstay -lstay.
блок - забранява отдалечени / процеси гости изпълняват на този възел. Отменен параметър noblock или -блок.
донесе - връща всички процеси с текущия възел работи на друга машина в клъстера. Тази опция може да не работи, докато мигрират процес не получава прекъсване от системата.
setdelay определя времето, след което процесът започва да мигрират.
Трябва да приемете - ако изпълнението на процеса по-малко от секунда смисъл да го прехвърля на други машини в мрежата изчезва. Това е това време и е изложен на параметър полезност mosctl setdecay. например:
mosctl setdecay 1500200
определя времето на преминаване към други възли на 500 милисекунди, ако процесът се изпълнява по-бавно и 200 милисекунди за бързи процеси. Имайте предвид, че бавно възможност винаги трябва да бъде по-голяма или равна на параметъра бързо.

mosrun - започва прилагането в клъстера. например mosrun -e -j5 направи стартирането направи петия клъстер възел, в който всички деца своите процеси също се изпълняват на петия възел. Истината е, има протест, на това, което е доста значителен:
ако процесът на деца се движат по-бързо от предварително зададен помощен mosctl латентност (забавяне) на процеса няма да мигрират към други възли в клъстера. mosrun има все още доста много различни интересни възможности, но и да се научат в подробности
за тях ще от ръководството на тази програма. (Man mosrun)

Понеделник - както вече знаем, това е монитора на клъстера, в който се показва псевдо натоварване на всяка работна единица на вашия клъстер, броят на свободните и използвани блокове памет и осигурява много други, не по-малко интересна информация.

mtop - модифицирани за използване в възли на клъстера версия на най-добрите отбори. Тя показва динамична информация за процесите, протичащи на този възел, а вашите прехвърлени върху процесите на възела, където.

депутати - също е модифицирана версия на командния Пс. Добавен още едно поле - възел номер, на който мигрирал от процеса.

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

За съжаление, аз не можех да се изпълнява всеки един процес едновременно на няколко възли. Максималната че са постигнати в хода на експериментите с използване на процеси касетъчни интензивно да се движат по друг възел.
Нека разгледаме един пример:
Да приемем, че имаме клъстер работи две коли (два броя), едната с номера 1 (Celeron 366), а другият - с номер 5 (PIII450). Експериментирайте ние ще бъдем на петия възел. Първата единица е празен по това време. ;-)
Така че, ние започне в петия възел crark помощната програма за отгатване пароли за RAR arhivu.Esli някой от вас се опита да работи с такава програма, той трябва да знае, че процесът на избор на паролата "яде" до 99 на сто от процесора. Е - след старта, видяхме, че процесът остава на този, на петия възел. Разумна - тя е на този сайт е над изпълнението на първия блок почти се е удвоил.
Тогава ние просто започна монтаж KDE 2.0. Радвайки се на масата за процес и да видите, че crark успешно мигрирали към първия възел, освобождавайки процесора и паметта (да, да - точно както на паметта се освобождава), за да се направи. Щом аз правя завърши работата си - crark връща в родния си пети възел.
Интересен ефект се получава, ако crark тече по-бавно първият възел.
Там виждаме почти обратен ефект - процес само на едни и същи мигрира към 5-ти, по-бързо събрание. Когато той се върне, когато хост компютъра петият започне някакво действие със системата.

Нека да се разбере в края на краищата, защо и как можем да използваме клъстера в тяхното ежедневие.
Първо трябва да веднъж завинаги да се помни - на клъстера е от полза само ако вашата мрежа има определен брой машини, които често са в покой и искат да използват своите ресурси, като KDE или монтаж за сериозни процеси. В действителност, благодарение на клъстер от 10 машини могат да бъдат едновременно
съставят до 10 тежки програми на една и съща C ++. Или вземете някои парола
без да спира за момент на процеса, независимо от натоварването на компютъра си.
И като цяло - това е просто интересно ;-).

В заключение, искам да кажа, че тази статия не се занимава с всичко възможно на MOSIX, защото Аз просто трябва да още не е достигнал. Ако вие ще получите - очакваме да продължи. -)