Клъстерите в Linux

Клъстерите за Linux

Темата на тази статия - паралелни изчисления на Linux. Тази статия се обсъждат общи въпроси относно организацията на клъстери, клъстери софтуер, като PVM. В края на тази статия може да намерите линкове за по-нататъшно четене по този въпрос.

Обща информация за клъстерите


Първо трябва да се разбере какво е група като цяло. Като правило, на клъстера се състои от възли (индивидуални компютри) и мрежа ги обединяват. За конструиране на мрежата обикновено се използва Fast Ethernet технология (100 Mbit / сек), но в най-простия случай (например, създаването на клъстера в дома или в демонстративен цели) и подходящ един Ethernet сегмент до 10Mbit / сек.

изследователски организации обикновено клъстери се използват за симулиране на различни видове задачи или за сложни изчисления. Цената на суперкомпютри е непосилни за повечето организации, така че идеята да се съберат си "суперкомпютър" на "импровизирани материал" - работни станции, базирани на Intel процесори. производствени производителност Intel процесори практически вече са достигнали нивото на RISC архитектура процесор (Intel процесори включително Pentium III използва CISC архитектура и P4 - VLIW).

Поставяне на клъстер

Конфигурацията на възлите на касетъчни зависи от задачите, които ще се представят. Ако вашата цел - създаването на самата клъстера, без решаването на това, което някои важни задачи костюм и една стара кола с 482-ра процесор (за предпочитане DX2 или DX4). За решения по важни задачи поберат компютри с Pentium II процесор на 400Mhz или Pentium III (от 600Mhz).

Един компютър (възел) е централно. Желателно е, че той е по-мощен, отколкото останалата част от възлите на клъстера. Необходимо е да се създаде по-мощен процесор, двойно повече RAM, отколкото други възли (поне 128MB). За предпочитане на централен компютър за използване SCSI диск, но годни и ATA133 / 7200 об. По-добре е да се сложи бърз SCSI и в обектите се откажат от твърдия диск - тя ще бъде по-евтино. Всички тези изисквания - е желателно, но не задължително.

Сега към мрежата. Докато пиша това, е препоръчително да се използва Fast Ethernet. Ако броят на възлите е достатъчно (20) голям, за да сведе до минимум сблъсъци трябва да бъде разделена на отделни сегменти или да се използва за свързване им превключвател (направляваме истински), вместо ретранслатор (хъб).
В някои случаи, че има смисъл да се разделят мрежата на сегменти, дори и с малък брой възли (8), например, ако използвате Ethernet (10Mbit / сек).

Ако използвате Ethernet да се откаже от твърдия диск, не се препоръчва. клъстер ще работи ужасно бавно, ще има огромен брой сблъсъци.
Един от най-ефективните решения за възли за комуникация на клъстера е да се използва 1.28GBit-колектори Myrinet. Можете да използвате технологията Gigabit Ethernet.

софтуер

V може да се използва както от операционната система:
  1. Linux
  2. FreeBSD
  3. Windows NT

За предпочитане е да се използват каквито и Unix-базирани системи, като тези операционни системи са най-ефективното използване на ресурсите на мрежата. Оптималното решение е операционната система Linux - това е безплатно и доста лесно да се създаде.

Можете да използвате всеки Linux-система с ядро ​​версия 2.2. * И още. Аз бих препоръчал да се използва шестия Linux RedHat версия, тъй като тя има ниски системни ресурси (минимална конфигурация - 486 33Mhz / 8MB RAM / 120MB HDD) и в разпределението включва сравнително нов софтуер през версия 5.2, която също може да се използва за изграждане на клъстер. Kernel версия използва от това разпределение (RH 6) 2.2.5-15.

След инсталация и конфигурация (мрежова конфигурация) на операционната система, която искате да инсталирате специален компилатор. Фактът, че свободните разпределени компилатор GCC / Г77 / egcs не осигурява необходимото ниво на програми за оптимизация на Intel (PII, PIII). Препоръчително е да се използват търговски компилатори, например, включени в проекта за ЗГУ Workstation.
Ако използвате Windows NT като операционната система на клъстера, можете да изберете и компилатор от Intel, оптимизирана за платформата Intel.

В първия и във втория тест версия на разположение съставителите. Shareware-версия на ЗГУ пакета можете да изтеглите от интернет страницата ЗГУ Group. Тест (14 дни) Intel компилатор версия може да бъде изтеглена от сайта на Intel.

След инсталирането на компилатора трябва да инсталирате задачи разпределена среда. В тази статия ще опиша работа с PVM среда, въпреки че други средства са на разположение и MPI, Condor.

MPI хамелеон е реализация на индустрията стандарт MPI 1.1. MPI хамелеон позволява на програми, за да бъдат изпълнени в рамките на местна система или върху клъстер мрежа с помощта на TCP-връзки.
Condor среда осигурява равномерно натоварване на клъстера, като мигрират процеси в множество машини.

Аз избрах най-лесният вариант - PVM (Parallel Virtual Machine). PVM осигурява условия за изпълнението на една (или повече - в повечето случаи) задачите на няколко машини. С други думи PVM просто разпределя процесите по възлите на клъстера като планировчика на операционната система разпределя задачите процесорно време да изпълнява множество задачи.
PVM може да работи по следните архитектури:

Това не е всички архитектури, които поддържат PVM. Списък на всички налични архитектури могат да бъдат намерени в PVM на документация. Ние сме заинтересовани от (по-достъпна за нас) архитектура с удебелен шрифт.

Работа с "паралелна машина" е съвсем проста. Вие трябва да го инсталирате на всички машини в клъстера. Моето "клъстер" се състои от две машини клас Pentium (100 и 150MHz) с обем от 32Mb RAM и един (централен) Celeron 433 (128Mb). От обувка мрежа аз отказах, тъй като използването на 10Mbit-Ethernet'a. В допълнение, всички възли имат са инсталирани твърди дискове. На централно инсталиран Linux Mandrake OS 7 и Linux RedHat 6.0 Хедвиг спомагателни машини. Аз не е дала никаква търговска komplilyatorov и да използвате тези, които са включени в разпределението.
Между другото, PVM може да работи на платформа Windows 9x, но това не се препоръчва. За забавление, аз инсталиран PVM за Windows 98. Скоростта на дори тестват приложения (да не говорим за реални изчисления) е значително по-ниска. Фактът, че на клъстера е по-бавен, за да се види, дори и "просто око". Най-вероятно това се дължи на неефективността на Windows мрежа. В допълнение, много често цялото обединение "излизаш", дори когато задачите от тестовете, които са част от пакета PVM.

Използването на PVM

PVM е съставен с помощта на обичайните команди тройки:
конфигуриране; направи; правят инсталиране

Преди бягане направи инсталирате променлива PVM_ROOT среда. В тази променлива среда, трябва да се уточни директорията, в която директории PVM (например $ HOME / PVM, ако разопакова архивите в дома ви директория). Друга важна променлива е PVM_ARCH на околната среда. Тя съдържа наименованието на архитектурата на операционната система. Тази променлива трябва да се настройва автоматично, но ако това не се случи (както е в моя случай), трябва да инсталирате своя собствена архитектура. Ако използвате Linux, тази променлива трябва да съдържа стойност Linux.

Докато пиша това, е необходимо да инсталирате PVM на касетъчните възли. Цялата паралелно Машината се състои от демон и pvmd PVM конзола. Всекидневник опции демон стартиране могат да бъдат намерени, като пуснете мъж екип pvmd. В централната колата трябва да пуснете pvmd демон и изпълните командата:
PVM
Това ще стартира конзолата с помощта на която ще управлява цялата клъстера.

След стартиране на конзолата, трябва да видите подкана, която показва, че клъстера е готов за употреба:
PVM>
Въведете конф команда за отпечатване на конфигурацията на клъстер. Трябва да видите нещо подобно:
Обявата 1.

Обява 1 показва, че сега ни клъстер се състои от една машина - централна главина, която работи Linux. Сега е време да добавим към нашия клъстер има два възела. Добавянето на възел, като използвате командата:
добавете име на хост
След успешно добавяне на възел на клъстера трябва да се появи в списъка на възли в клъстера. Сега можем да стартирате програми, които поддържат PVM. Примери за такива програми могат да бъдат намерени в директорията $ PVM_ROOT / хамбар / $ PVM_ARCH / .В този случай, това е директорията / корен / PVM / хамбар / Linux (Инсталирах PVM директорията / корен). За да започнете, стартира много проста програма - здравей. Преди да го стартирате, трябва да се направят няколко забележки:
  1. Вие не можете да започнете процеси директно от конзолата PVM. Конзолата е само за управлението на клъстерите.
  2. Изпълнение на тази задача се извършва по обичайния начин - от конзолата за операционна система. Но "план паралелно" са само онези процеси, които поддържат PVM. Използвайте също може да генерира команди хвърлят хайвера си задача (см. По-долу)
Когато започнете здрасти Трябва да видите съобщение
Здравей, свят от името на хоста.
където хост - този клъстер възел. С други думи, всички възли в клъстера трябва да ви поздравят.

Тя показва версията на библиотеката libpvm

В таблица 1, не е описано всички отбори PVM конзола, всичко останало, ние можем да четат, като напишете командата човек PVM на.
А сега да разгледаме някои отбори повече. Да започнем с най-простите - псевдонима. Тя може да се използва за определяне на псевдоними за често използвани команди, например
псевдоним. помощ
Сега, вместо на помощ команда можете просто да въведете.

ID команда показва идентификатор PVM конзола:

mstat команда показва състоянието на възел, като например:

Както сме свикнали да командата к.с., команда PVM к.с. -а конзола също се използва за да се покаже на всички работещи в паралелни проблеми машини:

pstat команда показва състоянието на задачата:

Сега стигаме до един от най-интересните отбори - мицел. Тази команда създава проблема. Тя може да се използва за определяне на някои параметри на проблема, например, възел, в който тя трябва да се изпълнява.
мицел [отказване] a.out
на a.out - всеки изпълним двоичен файл - програма, която дори не поддържа libpvm библиотека. За тези програми, можете да посочите и каква кола ще се изпълнява. В среда на Windows, a.out вариант - това Търсейки или ком - файл.
Можете да зададете тези параметри мицел команда: