Съдържание
Търсите машина, способна да извършва стотици трилиони изчисления с плаваща запетая в секунда? Или просто искате да се похвалите с приятели за суперкомпютъра, монтиран във вашата стая? Изграждането на високоефективен изчислителен клъстер или суперкомпютър е предизвикателство, което всеки ентусиаст с безплатен уикенд и малко пари, останали може да се опита да постигне. Технически погледнато, многопроцесорен суперкомпютър е мрежа от компютри, които работят заедно, за да решат проблем. Тази статия ще опише накратко всяка стъпка в процеса, като се съсредоточи върху хардуера и софтуера.
стъпки
- Определете първо необходимите хардуерни компоненти и ресурси. Ще ви е необходим главен възел, най-малко 12 идентични мрежови възли, Ethernet превключвател, модул за разпределение на мощност и стелаж. Определете необходимото потребление на електроенергия, охлаждане и пространство. Също така решете кой IP адрес искате за вашите частни мрежи, как да назовете възлите, кои софтуерни пакети искате да инсталирате и коя технология ще се използва за извършване на паралелни изчисления (повече за това по-късно).
- Въпреки че хардуерът е скъп, всички програми, изброени в ръководството, са безплатни и повечето от тях са с отворен код.
- Ако искате да видите колко бърз би бил вашият суперкомпютър теоретично, използвайте този инструмент: http://hpl-calculator.sourceforge.net/
-
Създайте възлите. Ще трябва да монтирате възлите или да закупите предварително сглобени сървъри.- Изберете шаси на сървъра, което увеличава максимално пространството, охлаждането и консумацията на енергия.
- Можете също да използвате няколко остарели сървъра - общата стойност на които ще бъде по-голяма от сумата на частите, но все пак ще спестите много. Всички процесори, мрежови адаптери и дънни платки трябва да бъдат идентични, за да работи системата добре. Очевидно не забравяйте да включите RAM и съхранение на всеки възел и поне едно оптично устройство за главния възел.
-
Инсталирайте сървърите в багажника. Започнете от дъното, така че горната му част да не е твърде тежка. За това ще ви е необходима помощ от вашите приятели - плътните сървъри могат да бъдат много тежки и да ги ръководите по пистите, които ги държат, е трудно. - Инсталирайте Ethernet превключвателя над шасито на сървъра. Отделете това време, за да конфигурирате превключвателя: активирайте jumbo рамка с размери 9000 байта, задайте IP адресите на статичния адрес, определен в първата стъпка, и деактивирайте ненужните протоколи за маршрутизиране, като SMTP Snooping.
-
Инсталирайте разпределителния блок. В зависимост от това колко ток ще изискват възлите при пълно натоварване, може да са ви необходими 220 волта за високоефективни изчисления. - С всичко инсталирано можете да започнете процеса на конфигуриране. Linux е идеалната операционна система за HPC клъстери - не само, че е идеалната среда за научни изчисления, но също така е свободна за инсталиране на стотици или дори хиляди възли. Представете си колко би струвало инсталирането на Windows на всички тези възли?
- Започнете с инсталирането на най-новата версия на BIOS и фърмуера на дънната платка, които трябва да бъдат идентични на всички възли.
- Инсталирайте любимата си версия на Linux на всеки възел, с графичен интерфейс на главния възел. Популярните опции включват CentOS, OpenSuse, Scientific Linux, RedHat и SLES.
- Можете също да използвате Rocks Cluster Distribution. В допълнение към инсталирането на всички инструменти, необходими за работа на клъстера, Rocks използва отличен метод за разпределяне на множество екземпляри от себе си на възлите много бързо, използвайки PXE зареждане и процедура "Kick Start" на Red Hat.
- Инсталирайте интерфейса за съобщения, управлението на ресурси и други необходими библиотеки. Ако не сте инсталирали Rocks в предишната стъпка, ще трябва ръчно да конфигурирате софтуера, необходим за активиране на паралелните изчислителни механизми.
- Първо, ще ви е необходима преносима мащабна система за управление, като например Torque Resource Manager, която ви позволява да разделяте и разпределяте задачи на няколко машини.
- Сдвоете въртящия момент с Maui Cluster Scheduler, за да завършите инсталацията.
- След това ще трябва да инсталирате интерфейса за предаване на съобщения, необходим за отделните процеси на различните възли да споделят едни и същи данни. OpenMP е лесен за използване.
- Не забравяйте множествените математически библиотеки за паралелни изчислителни програми. Наистина е по-лесно, ако инсталирате Rocks.
- Свържете компютърните възли. Главният възел изпраща задачите към възлите на компютъра, които след това трябва да изпратят резултата обратно, както и да изпращат съобщения един до друг. Колкото по-бързо, толкова по-добре.
- Използвайте частна Ethernet мрежа, за да свържете всички възли в клъстера.
- Главният възел също може да действа като NFS, PXE, DHCP, TFTP и NTP сървър през Ethernet мрежата.
- Трябва да отделите тази мрежа от обществени мрежи, което гарантира, че предавателните пакети няма да пречат на други мрежи във вашата LAN.
- Тествайте клъстера. Последното нещо, което искате да направите, преди да пуснете цялата тази изчислителна мощност на вашите потребители, е да тествате тяхната ефективност. Показателят HPL (High Performance Lynpack) е популярен избор за измерване на изчислителната скорост на клъстера. Ще трябва да го компилирате от източник с всички възможни оптимизации, предлагани от компилатора за избраната архитектура.
- Очевидно е, че трябва да компилирате от източника с всички възможни оптимизации за вашата платформа. Например, когато използвате AMD процесори, компилирайте с Open 64 с ниво на оптимизация -0fast.
- Сравнете резултатите на TOP500.org, за да сравните своя клъстер с 500-те най-бързи суперкомпютри в света!
Съвети
- IPMI може да направи администрирането на голям клъстер лесно, осигурявайки KVM-over-IP, реле за отдалечена обработка и други.
- За да постигнете наистина високи скорости на мрежата, потърсете мрежови интерфейси InfiniBand. Цените обаче не са много достъпни.
- Използвайте Ganglia за наблюдение на изчислителното натоварване на възлите.
Предупреждения
- Уверете се, че вашата инфраструктура може да се справи с натовареното им натоварване.