გჭირდებათ მანქანა, რომელსაც შეუძლია შეასრულოს ტრილიონობით მცურავი წერტილის გამოთვლა წამში? ან გჭირდებათ მაგარი ამბავი თქვენი პირადი სუპერკომპიუტერის შესახებ, რომელმაც შუქი ჩააქრო თქვენს სოფელში? სუპერკომპიუტერის შექმნა საინტერესო გამოწვევაა, თუ თავისუფალი დროის მდიდარი გენიოსი ხარ. ტექნიკურად, მულტიპროცესორული სუპერკომპიუტერი არის კომპიუტერების ქსელი, რომლებიც ერთად მუშაობენ პრობლემის გადასაჭრელად. ეს სტატია მოკლედ განიხილავს მისი შექმნის თითოეულ ეტაპს, აქცენტს აპარატურასა და პროგრამულ უზრუნველყოფაზე.
ნაბიჯი
ნაბიჯი 1. პირველ რიგში, გაარკვიეთ რა აპარატურის კომპონენტები დაგჭირდებათ
ერთი ძირითადი კვანძი, სულ მცირე ათეული გამოთვლითი კვანძი, Ethernet გადამრთველი, ენერგიის განაწილების ერთეული (PDU) და სერვერის თარო. ასევე გაეცანით ელექტროენერგიას, გაგრილებას და სივრცის საჭიროებებს. მიუთითეთ კერძო ქსელის IP მისამართი, კვანძების სახელები, პროგრამული პაკეტები, რომელთა ინსტალაცია გსურთ და რა ტექნოლოგიის გამოყენება გსურთ, რათა მათ ყველა ერთად იმუშაოს პარალელური გამოთვლების შესასრულებლად (მეტი ქვემოთ).
- მიუხედავად იმისა, რომ აპარატურა დაგჭირდებათ ძვირი, ამ სახელმძღვანელოში არსებული პროგრამა უფასოა და მისი უმეტესობა ღიაა.
- თუ გსურთ ნახოთ რამდენად სწრაფი იქნება თქვენი სუპერკომპიუტერი (თეორიულად), გამოიყენეთ ეს:
ნაბიჯი 2. გამოთვალეთ კვანძები
თქვენ შეგიძლიათ შეაგროვოთ თქვენთვის საჭირო გამოთვლითი კვანძები ან გამოიყენოთ მზა სერვერი.
- შეარჩიეთ კომპიუტერის სერვერის ჩარჩო, რომელიც მაქსიმალურად გაზრდის სივრცეს, გაგრილებას და ენერგიის ეფექტურობას.
- ან შეგიძლიათ გამოიყენოთ დაახლოებით ათეული მოძველებული სერვერი. ერთად გამოყენებისას, ისინი ბევრად უფრო სასარგებლოა, ვიდრე ინდივიდუალურად გამოყენებისას და შეგიძლიათ დაზოგოთ საკმაოდ. ყველა პროცესორი, ქსელის გადამყვანები და დედაპლატები უნდა იყოს იგივე, რათა უზრუნველყოს სისტემის გამართული მუშაობა. რა თქმა უნდა, არ დაივიწყოთ RAM და შენახვის მოცულობა თითოეული კვანძისათვის და მინიმუმ ერთი ოპტიკური დისკი მთავარი კვანძისათვის.
ნაბიჯი 3. დაამონტაჟეთ სერვერი, რომელიც თქვენ გაქვთ ჩამონტაჟებული სერვერის თაროზე
დაიწყეთ ქვემოდან, რომ თავიდან აიცილოთ წინააღმდეგობები. მოიწვიე მეგობარი დაგეხმაროს, რადგან გადატვირთული სერვერების ნაკრები შეიძლება გახდეს იმდენად მძიმე, რომ ართულებს მათ უჯრაში მოთავსებას.
ნაბიჯი 4. დააინსტალირეთ Ethernet გადამრთველი სერვერის ჩარჩოს თავზე
გამოიყენეთ ეს შესაძლებლობა მისი კონფიგურაციისთვის: მიეცით მას ჩარჩოს ზომა 9000 ბაიტი, დააყენეთ IP მისამართი სტატიკურ მისამართზე, რომელიც თქვენ მიუთითეთ 1 ნაბიჯში და გამორთეთ არასაჭირო მარშრუტიზაციის პროტოკოლები, როგორიცაა SMTP Snooping.
ნაბიჯი 5. დააინსტალირეთ ენერგიის განაწილების ერთეული
შეიძლება დაგჭირდეთ 220 ვოლტი მაღალი ხარისხის გამოთვლისთვის, ეს დამოკიდებულია იმაზე, თუ რამდენ დენს მოითხოვს კვანძი მაქსიმალური დატვირთვისას.
ნაბიჯი 6. მას შემდეგ რაც ყველაფერი დაინსტალირდება, შეგიძლიათ დაიწყოთ კონფიგურაციის პროცესი
Linux არის სავალდებულო ოპერაციული სისტემა მაღალი ხარისხის გამოთვლითი კლასტერებისთვის, რადგან ის არ არის იდეალური სამეცნიერო გამოთვლებისთვის, ის ასევე 100% უფასოა. კვანძებით, რომლებიც აღწევენ ასობით ან თუნდაც ათასობით, ეს ნამდვილად იქნება ძალიან ძვირი, თუ იყენებთ Windows- ს!
- დაიწყეთ დედაპლატის BIOS და firmware უახლესი ვერსიის დაყენებით. დაინსტალირებული ვერსია იგივე უნდა იყოს ყველა კვანძისათვის. დაიწყეთ დედაპლატის BIOS- ისა და ფირმის უახლესი ვერსიის დაყენებით, რომელიც ერთნაირი უნდა იყოს ყველა კვანძზე.
- დააინსტალირეთ Linux დისტრიბუცია, რომელიც გსურთ თითოეულ კვანძზე, გრაფიკული ინტერფეისით მთავარ კვანძზე. პოპულარული არჩევანია CentOS, OpenSuse, Scientific Linux, RedHat და SLES.
- ავტორი მკაცრად გირჩევთ გამოიყენოთ კლდეების კლასტერული განაწილება. Rocks მყისიერად დააინსტალირებს ყველა იმ პროგრამას, რომელიც თქვენს სუპერკომპიუტერს სჭირდება ფუნქციონირებისთვის და გამოიყენებს ყველა არსებულ კვანძში საკუთარი თავის „გაზიარებას“Red Hat– ის PXE ჩატვირთვისა და „Kick Start“პროცედურის გამოყენებით.
ნაბიჯი 7. დააინსტალირეთ შეტყობინებების ინტერფეისი, რესურსების მართვა და სხვა აუცილებელი პროგრამული ბიბლიოთეკები
თუ თქვენ არ დააინსტალირეთ Rocks წინა ეტაპზე, თქვენ უნდა მოამზადოთ საჭირო პროგრამული უზრუნველყოფა, რომელიც საჭიროებს პარალელური გამოთვლის მექანიზმის მუშაობას.
- პირველი, თქვენ დაგჭირდებათ პორტატული bash მართვის სისტემა, როგორიცაა Torque Resource Manager, რომელიც შეასრულებს სამუშაოს მანქანებს შორის.
- დააწყვილეთ ბრუნვის მომენტი მაუის კლასტერის განრიგთან დაყენების დასასრულებლად.
- შემდეგი, თქვენ უნდა დააინსტალიროთ შეტყობინებების ინტერფეისი, რომელიც საჭიროა ცალკეული გამოთვლითი კვანძების ერთიდაიგივე მონაცემების გასაზიარებლად. OpenMP არის გარკვეული არჩევანი.
- არ დაივიწყოთ მათემატიკის ბიბლიოთეკები და შემდგენლები, მრავალფუნქციური ძაფებით, რათა შექმნათ თქვენთვის საჭირო პარალელური კომპიუტერული პროგრამები. ან, უბრალოდ დააინსტალირეთ Rocks, რომ გაგიადვილდეთ.
ნაბიჯი 8. შეუთავსეთ ყველა გამოთვლილი კვანძი ქსელში
მთავარი კვანძი გამოაგზავნის გამოთვლილ ამოცანებს გამოთვლილ კვანძში, რომელმაც უნდა გამოაგზავნოს შედეგები ერთმანეთთან შეტყობინებების გაცვლისას. რაც მალე მით უკეთესი.
- გამოიყენეთ კერძო Ethernet ქსელი თქვენს სუპერკომპიუტერულ კლასტერში ყველა კვანძის დასაკავშირებლად.
- პირველადი კვანძი შეიძლება იყოს NFS, PXE, DHCP, TFTP და NTP სერვერი ethernet ქსელში.
- თქვენ უნდა გამოყოთ ეს ქსელი საჯარო ქსელისგან, რათა დარწმუნდეთ, რომ გაგზავნილი პაკეტები არ შეაფერხებს თქვენს ადგილობრივ ქსელში არსებულ სხვა ქსელებს.
ნაბიჯი 9. შეამოწმეთ თქვენ მიერ შექმნილი სუპერკომპიუტერი
სანამ სხვები გამოიყენებენ, ჩვენ გირჩევთ, რომ ჯერ შეამოწმოთ თქვენი სუპერკომპიუტერის მოქმედება. HPL (High Performance Linpack) არის პოპულარული ეტალონი სუპერკომპიუტერების გამოთვლის სიჩქარის გასაზომად. თქვენ დაგჭირდებათ შედგენა წყაროდან, ყველა იმ ოპტიმიზაციის ვარიანტით, რომელსაც გთავაზობთ შემდგენელი, რომელსაც თქვენ იყენებთ თქვენ მიერ არჩეული არქიტექტურისთვის.
- რა თქმა უნდა, თქვენ უნდა შეადგინოთ წყარო თქვენი პლატფორმის ოპტიმიზაციის ყველა შესაძლო ვარიანტით. მაგალითად, თუ იყენებთ AMD პროცესორს, შეადგინეთ იგი Open64– ის გამოყენებით ოპტიმიზაციის დონეზე –0 სწრაფი.
- შეადარეთ თქვენი ტესტის შედეგები TOP500.org– ზე, რომ შეადაროთ თქვენი სუპერკომპიუტერი მსოფლიოს 500 უსწრაფეს სუპერკომპიუტერს!
Რჩევები
- ქსელის მაღალი სიჩქარისთვის გადახედეთ InfiniBand ქსელის ინტერფეისს. რა თქმა უნდა, თქვენ მზად უნდა იყოთ პრემიის საფასურის გადახდაზე.
- IPMI– ს შეუძლია გაამარტივოს დიდი სუპერკომპიუტერული კლასტერების ადმინისტრირება KVM – over-IP– ით, ელექტროენერგიის ციკლის დისტანციური მართვით და სხვა მახასიათებლებით.
- გამოიყენეთ Ganglia კვანძებზე დატვირთვის გამოსათვლელად.