Արդյո՞ք անհրաժեշտ է մի մեքենա, որը կարող է վայրկյանում կատարել տրիլիոնավոր լողացող կետերի հաշվարկներ: Թե՞ ձեզ հարկավոր է սառը պատմություն ձեր անձնական գերհամակարգչի մասին, որն անջատեց լույսերը ձեր գյուղում: Սուպերհամակարգիչ կառուցելը հետաքրքիր մարտահրավեր է, եթե դու ազատ ժամանակ ունեցող հարուստ հանճար ես: Տեխնիկապես, բազմամշակող գերհամակարգիչը համակարգիչների ցանց է, որոնք միասին լուծում են խնդիրը: Այս հոդվածը հակիրճ կքննարկի դրա ստեղծման յուրաքանչյուր փուլ ՝ կենտրոնանալով ապարատային և ծրագրային ապահովման վրա:
Քայլ
Քայլ 1. Սկզբում պարզեք, թե ինչ ապարատային բաղադրիչներ են ձեզ անհրաժեշտ:
Մեկ հիմնական հանգույց, առնվազն մեկ տասնյակ նույնական հաշվարկային հանգույց, Ethernet անջատիչ, էներգիայի բաշխման միավոր (PDU) և սերվերային դարակ: Իմացեք նաև էլեկտրաէներգիայի, հովացման և տարածքի կարիքների մասին: Նշեք մասնավոր ցանցի IP հասցեն, հանգույցների անունները, ծրագրային փաթեթները, որոնք ցանկանում եք տեղադրել, և ինչ տեխնոլոգիա եք ցանկանում օգտագործել, որպեսզի դրանք բոլորը միասին աշխատեն զուգահեռ հաշվարկներ կատարելու համար (ավելին ՝ ստորև):
- Թեև ձեզ անհրաժեշտ սարքավորումները թանկ են, այս ուղեցույցի ծրագրակազմն ամբողջությամբ անվճար է, և դրա մեծ մասը բաց կոդ է:
- Եթե ցանկանում եք տեսնել, թե որքան արագ կլինի ձեր գերհամակարգիչը (տեսականորեն), օգտագործեք սա ՝
Քայլ 2. Կառուցեք հաշվիչ հանգույցներ:
Դուք կարող եք ինքներդ հավաքել ձեզ անհրաժեշտ հաշվիչ հանգույցները կամ օգտագործել պատրաստի սերվեր:
- Ընտրեք համակարգչային սերվերի շրջանակ, որն առավելագույնի կհասցնի տարածքը, սառեցումը և էներգիայի արդյունավետությունը:
- Կամ կարող եք օգտագործել մոտ մեկ տասնյակ հնացած սերվերներ: Միասին օգտագործելու դեպքում դրանք շատ ավելի օգտակար են, քան առանձին օգտագործելու դեպքում, և դուք կարող եք բավականին քիչ խնայել: Բոլոր պրոցեսորները, ցանցային ադապտերները և մայրական սալիկները պետք է լինեն նույնը `ապահովելու համար, որ համակարգը սահուն աշխատի: Իհարկե, մի մոռացեք RAM- ի և պահեստավորման հզորությունը յուրաքանչյուր հանգույցի համար և առնվազն մեկ օպտիկական սկավառակ հիմնական հանգույցի համար:
Քայլ 3. Տեղադրեք այն սերվերը, որը դուք կառուցել եք սերվերների դարակում:
Սկսեք ներքևից ՝ վերևի առարկություններից խուսափելու համար: Հրավիրեք ձեր ընկերոջը օգնել ձեզ, քանի որ գերբեռնված սերվերների հավաքածուները կարող են այնքան ծանրանալ, որ դժվարանում է դրանք գզրոցներում տեղավորելը:
Քայլ 4. Տեղադրեք Ethernet անջատիչը սերվերի շրջանակի վերևում:
Օգտվեք այս հնարավորությունից ՝ այն կազմաձևելու համար. Տվեք շրջանակի չափը 9000 բայթ, սահմանեք IP հասցեն 1 -ին քայլում նշված ստատիկ հասցեին և անջատեք SMTP Snooping- ի նման անհարկի երթուղային արձանագրությունները:
Քայլ 5. Տեղադրեք էներգիայի բաշխիչ միավորը:
Ձեզ կարող է անհրաժեշտ լինել 220 վոլտ բարձր արդյունավետության հաշվարկման համար ՝ կախված նրանից, թե որքան հոսանք է պահանջում հանգույցը առավելագույն բեռնվածության դեպքում:
Քայլ 6. Երբ ամեն ինչ տեղադրվի, կարող եք սկսել կազմաձևման գործընթացը:
Linux- ը պարտադիր օգտագործման օպերացիոն համակարգ է բարձրակարգ հաշվարկային կլաստերների համար, քանի որ բացի գիտական հաշվարկման համար իդեալական լինելուց, այն նաև 100% անվճար է: Հարյուրավոր կամ նույնիսկ հազարավոր հասնող հանգույցներով դա հաստատ շատ թանկ կարժենա, եթե Windows եք օգտագործում:
- Սկսեք `տեղադրելով մայր տախտակի BIOS- ի և որոնվածի վերջին տարբերակը: Տեղադրված տարբերակը պետք է նույնը լինի բոլոր հանգույցների համար: Սկսեք տեղադրել մայրական BIOS- ի և որոնվածի վերջին տարբերակը, որը պետք է նույնը լինի բոլոր հանգույցների վրա:
- Տեղադրեք ձեր ուզած Linux բաշխումը յուրաքանչյուր հանգույցի վրա ՝ հիմնական հանգույցի գրաֆիկական ինտերֆեյսով: Հանրաճանաչ ընտրանքներն են CentOS, OpenSuse, Scientific Linux, RedHat և SLES:
- Հեղինակը խստորեն խորհուրդ է տալիս օգտագործել Rocks Cluster Distribution- ը: Rocks- ը ակնթարթորեն կտեղադրի բոլոր ծրագրերը, որոնք անհրաժեշտ են ձեր գերհամակարգչին աշխատելու համար և կօգտագործի հիանալի միջոց ՝ «կիսվելու» բոլոր գոյություն ունեցող հանգույցներում ՝ օգտագործելով Red Hat- ի PXE բեռնախցիկը և «Kick Start» ընթացակարգը:
Քայլ 7. Տեղադրեք հաղորդագրությունների միջերեսը, ռեսուրսների կառավարումը և այլ հիմնական ծրագրային գրադարաններ:
Եթե նախորդ քայլին չեք տեղադրել Rocks- ը, ապա ինքներդ պետք է պատրաստեք այն ծրագրակազմը, որն անհրաժեշտ է զուգահեռ հաշվողական մեխանիզմը գործարկելու համար:
- Նախ, ձեզ հարկավոր կլինի շարժական բաշ կառավարման համակարգ, ինչպիսին է Torque Resource Manager- ը, որը կկատարի աշխատանքը մեքենաների միջև:
- Paուգտեք ոլորող մոմենտը Maui Cluster Scheduler- ի հետ `կարգավորումն ավարտելու համար:
- Հաջորդը, դուք պետք է տեղադրեք հաղորդագրությունների միջերեսը, որն անհրաժեշտ է, որպեսզի առանձին հաշվարկային հանգույցները կիսեն նույն տվյալները: OpenMP- ը որոշակի ընտրություն է:
- Մի մոռացեք մաթեմատիկական գրադարանների և կոմպիլյատորների մասին ՝ ձեզ անհրաժեշտ զուգահեռ հաշվողական ծրագրեր կառուցելու համար: Կամ, պարզապես տեղադրեք Rocks- ը ՝ էլ ավելի հեշտացնելու համար:
Քայլ 8. Միացրեք բոլոր հաշվիչ հանգույցները ցանցի մեջ:
Հիմնական հանգույցը հաշվողական հանգույցին կուղարկի հաշվողական առաջադրանքներ, որոնք այնուհետև պետք է հետ ուղարկեն արդյունքները ՝ միմյանց հետ հաղորդագրություններ փոխանակելիս: Որքան շուտ, այնքան լավ.
- Ձեր գերհամակարգչային կլաստերի բոլոր հանգույցները միացնելու համար օգտագործեք մասնավոր ethernet ցանց:
- Առաջնային հանգույցը կարող է լինել NFS, PXE, DHCP, TFTP և NTP սերվեր ethernet ցանցում:
- Դուք պետք է տարանջատեք այս ցանցը հանրային ցանցից `ապահովելու համար, որ ուղարկված փաթեթները չեն միջամտում ձեր տեղական ցանցի այլ ցանցերին:
Քայլ 9. Ստուգեք ձեր ստեղծած գերհամակարգիչը:
Նախքան ուրիշների կողմից օգտագործվելը, խորհուրդ ենք տալիս նախ ստուգել ձեր գերհամակարգչի աշխատանքը: HPL (High Performance Linpack) գերհամակարգիչների հաշվարկման արագությունը չափելու հանրաճանաչ նշաձող է: Դուք պետք է կազմեք աղբյուրից ՝ օպտիմալացման բոլոր տարբերակներով, որոնք առաջարկում է կոմպիլյատորը, որն օգտագործում եք ձեր ընտրած ճարտարապետության համար:
- Իհարկե, դուք պետք է կազմեք աղբյուրից ՝ ձեր հարթակի համար օպտիմալացման բոլոր հնարավոր տարբերակներով: Օրինակ, AMD պրոցեսոր օգտագործելու դեպքում այն կազմեք Open64- ի միջոցով `օպտիմալացման մակարդակով -0 արագ:
- Համեմատեք ձեր թեստի արդյունքները TOP500.org կայքում ՝ ձեր գերհամակարգիչը համեմատելու համար աշխարհի 500 ամենաարագ գերհամակարգիչների հետ:
Խորհուրդներ
- Networkանցի բարձր արագությունների համար նայեք InfiniBand ցանցի միջերեսին: Իհարկե, պետք է պատրաստ լինել պրեմիում գին վճարելուն:
- IPMI- ն կարող է պարզեցնել մեծ գերհամակարգչային կլաստերների կառավարումը `տրամադրելով KVM- ից ավելի IP, էլեկտրական ցիկլի հեռակառավարման վահանակ և այլ հնարավորություններ:
- Օգտագործեք Ganglia- ն `հանգույցների հաշվարկային բեռը վերահսկելու համար: