Կլաստեր (համակարգիչների խումբ)

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Տեխնիկները աշխատում են մեծ Linux կլաստերի հետ Գերմանիայի Քեմնից տեխնոլոգիական համալսարանում

Կլաստերհամակարգիչների խումբ՝ միավորված գերարագ կապի ուղիներով, որը օգտվողի տեսանկյունից ներկայացնում է մեկ ապարատային ռեսուրս։ Կլաստերային տեխնոլոգիայի առաջին ճարտարապետներից մեկը՝ Գրեգորի Պֆիսթերը, կլաստերը սահմանեց հետևյալ կերպ․ 《Կլաստերը զուգահեռ կամ բաշխված համակարգի տեսակ է, որը.

  1. բաղկացած է համակարգչային մի քանի համակարգերից.
  2. աշխատում է որպես մեկ հաշվարկային համակարգ

Կլաստերների դասակարգում[խմբագրել | խմբագրել կոդը]

Բարձր հասանելիության կլաստեր[խմբագրել | խմբագրել կոդը]

Sun Microsystems Solaris Cluster՝ In-Row սառեցմամբ
Թայվանիայի շարքը օգտագործում է կլաստերային ճարտարապետություն՝ մեծ հզորությամբ, որն օգնել է Թայվանի գիտնականներին և շատ ուրիշներին COVID-19-ի ժամանակ։

Նշանակվում են HA հապավումով (անգլ High Availability — բարձր հասանելիություն)։ Կլաստերում հանգույցների ավելորդ թիվը երաշխավորում է ծառայության մատուցումը մեկ կամ մի քանի սերվերների խափանումների դեպքում։ Հանգույցների հաճախ հանդիպող քանակը երկուսն է, ինչը նվազագույն թիվն է, որ կհանգեցնի հասանելիության բարձրացմանը։

Բարձր հասանելիության կլաստերները և համակարգերը բաժանված են 3 հիմնական տեսակի.

  • սառը ռեզերվի կամ ակտիվ / պասիվ։ Ակտիվ հանգույցը կատարում է հարցումները, իսկ պասիվը սպասում է ակտիվի ձախողմանը և ձեռնամուխ է լինում աշխատանքին նրա ձախողումից հետո։
  • տաք ռեզերվի կամ ակտիվ / ակտիվ: Բոլոր հանգույցները կատարում են հարցումները, մեկի ձախողման դեպքում բեռը վերաբաշխվում է մնացածների միջև։ Այսինքն՝ բեռների հավասարակշռման կլաստեր՝ ձախողման դեպքում հարցումների վերաբաշխման աջակցությամբ։ Հետևյալ կերպ են աշխատում գրեթե բոլոր կլաստերային տեխնոլոգիաները, օրինակ՝ Microsoft Cluster Server-ը։ OpenSource OpenMosix նախագիծ.
  • մոդուլային ավելցուկով։ Կիրառվում է միայն այն դեպքում, երբ համակարգի խափանումը բացառապես անընդունելի է։ Բոլոր հանգույցները միաժամանակ կատարում են նույն հարցումը (կամ դրա մասերը, բայց այնպես, որ արդյունքը հասանելի լինի նույնիսկ եթե որևէ հանգույց ձախողվի)[1]։

Բեռների հավասարակշռման կլաստեր[խմբագրել | խմբագրել կոդը]

Դրանց գործունեության սկզբունքը հիմնված է հարցումների բաշխման վրա մեկ կամ մի քանի մուտքային հանգույցների միջոցով, որոնք դրանք վերաուղղորդում են մշակման այլ հաշվողական հանգույցներ։ Նման կլաստերի առաջնային նպատակը արտադրողականությունն է, այնուամենայնիվ, նրանք հաճախ օգտագործում են մեթոդներ, որոնք բարելավում են հուսալիությունը։ Այս կոնստրուկցիաները կոչվում են «սերվերային ֆերմաներ»։

Բաշխված հաշվարկների համակարգեր (grid)[խմբագրել | խմբագրել կոդը]

Նման համակարգերը չեն համարվում կլաստերներ, սակայն դրանց սկզբունքները հիմնականում նման են կլաստերային տեխնոլոգիաներին։ Հիմնական տարբերությունը բոլոր հանգույցների ցածր հասանելիությունն է, այսինքն՝ ժամանակի տվյալ պահին դրանծ շահագործումը երաշխավորելու անհնարինությունը (հանգույցները միացվում և անջատվում են շահագործման ընթացքում), ուստի առաջադրանքը պետք է բաժանվի մի շարք անկախ գործընթացների։ Նման համակարգը, ի տարբերություն կլաստերների, նման չէ մեկ գերհամակարգչի, այլ ծառայում է որպես հաշվարկների բաշխման պարզեցված միջոց։ Կոնֆիգուրացիայի անկայունությունը, այս դեպքում, փոխհատուցվում է մեծ թվով հանգույցներով։

[2]

Պատմություն[խմբագրել | խմբագրել կոդը]

Կլաստերների ստեղծման պատմությունը արմատներով կապված է համակարգչային ցանցերի ոլորտում վաղ զարգացումների հետ։ Համակարգիչների միջև գերարագ հաղորդակցության առաջացման պատճառներից մեկը հաշվողական ռեսուրսների միավորման հույսն էր։ 1970-ականների սկզբին TCP/IP պրոտոկոլի թիմը և Xerox PARC-ը սահմանեցին ցանցային ստանդարտներ։ Հայտնվեց նաև Hydra օպերացիոն համակարգը DEC PDP-11 համակարգիչների համար, որի հիման վրա ստեղծված կլաստերը կոչվեց C.mpp (Պիտսբուրգ, Փենսիլվանիա, ԱՄՆ, 1971 թ.): Այնուամենայնիվ, միայն 1983 թվականին ստեղծվեցին մեխանիզմներ, որոնք հեշտացնում էին առաջադրանքների և ֆայլերի բաշխումը ցանցի միջոցով, որոնց մեծ մասը մշակումներ էին SunOS-ում (Sun Microsystems' BSD-ի վրա հիմնված օպերացիոն համակարգ)։

Կլաստերի առաջին կոմերցիոն նախագիծը ARCNet-ն էր, որը ստեղծվել է Datapoint-ի կողմից 1977 թվականին։ Նախագծի ոչ շահութաբեր լինելը հանգեցրեց կլաստերների կառուցուման գործընթացի սառեցմանը մինչև 1984 թվականը, երբ DEC-ը կառուցեց իր VAXcluster-ը VAX / VMS օպերացիոն համակարգի հիման վրա։ ARCNet-ը և VAXcluster-ը նախատեսված են ոչ միայն համատեղ հաշվարկների, այլ նաև ֆայլային համակարգի և ծայրամասային սարքերի համատեղ օգտագործման համար՝ հաշվի առնելով տվյալների ամբողջականության և միանգամայնության պահպանումը։

Սովորական անհատական համակարգիչներից կլաստերների ստեղծման մեջ գերկարևոր դեր է ունեցել Parallel Virtual Machine նախագիծը։ 1989 թվականին համակարգիչները վիրտուալ սուպերհամակարգչի մեջ միավորելու այս ծրագիրը բացեց ակնթարթորեն կլաստերներ ստեղծելու հնարավորությունը։ Արդյունքում, բոլոր էժանագին կլաստերների ընդհանուր և միասնական աշխատանքը գերազանցեց «լուրջ» առևտրային համակարգերի աշխատանքը իր կատարողունակությամբ։

Տվյալների փոխանցման ցանցով կառավարվող էժանագին անհատական համակարգիչների վրա հիմնված կլաստերների ստեղծումը շարունակվել է 1993 թվականին ամերիկյան օդատիեզերական գործակալության ՆԱՍԱ-ի կողմից, այնուհետև շարունակվել է 1995 թվականին, երբ մշակվեցին Beowulf կլաստերները՝ հատուկ նախագծված այս սկզբունքի հիման վրա[3]։

Ծրագրային ապահովում[խմբագրել | խմբագրել կոդը]

Սերվերից սերվեր հաղորդակցության կազմակերպման լայնորեն օգտագործվող գործիք է MPI գրադարանը, որն աշխատում է C և Fortran լեզուների միջոցով։ Այն օգտագործվում է, օրինակ, MM5 եղանակի մոդելավորման համար։

Solaris օպերացիոն համակարգը տրամադրում է Solaris Cluster ծրագրակազմ՝ ապահովելու բարձր հասանելիություն Solaris-ով աշխատող սերվերների համար։

Լինուքս օգտագործողների շրջանակում հայտնի են հետևյալ ծրագրերը.

  • distcc, MPICH և այլն՝ ծրագրերի աշխատանքը զուգահեռացնելու մասնագիտացված գործիքներ։ distcc-ը թույլ է տալիս զուգահեռ կոմպիլյացիան GNU Compiler Collection-ում։
  • Linux վիրտուալ սերվեր, Linux-HA - հոսթ ծրագրակազմ՝ հաշվարկային սերվերների միջև հարցումները բաշխելու համար։
  • MOSIX-ը, openMosix-ը, Kerrighed-ը, OpenSSI-ն միջուկում ներկառուցված լիարժեք կլաստերային միջավայրեր են, որոնք ավտոմատ կերպով բաշխում են առաջադրանքները միատարր հանգույցների միջև։ OpenSSI-ը, openMosix-ը և Kerrighedստեղծում են մեկ օպերացիոն համակարգի միջավայր հանգույցների միջև։

Կլաստերավորման մեխանիզմները նախատեսվում է նաև ներկառուցել DragonFly BSD միջուկում, որը 2003 թվականին առաջացել է FreeBSD 4.8-ից։

Microsoft-ը թողարկում է HA կլաստերը Windows օպերացիոն համակարգի համար։ Ենթադրվում է, որ այն ստեղծվել է Digital Equipment Corporation տեխնոլոգիայի հիման վրա, աջակցում է մինչև 16 (2010 թվականից) հանգույցներ կլաստերում, ինչպես նաև աշխատում է SAN (Storage Area Network) ցանցում։

Windows Compute Cluster Server 2003 (CCS), որը թողարկվել է 2006 թվականի հունիսին, նախատեսված է բարձր տեխնոլոգիական ծրագրերի համար, որոնք պահանջում են կլաստերային հաշվարկներ։ Windows Compute Cluster Server-ի յուրաքանչյուր կլաստեր բաղկացած է մեկ կամ մի քանի հիմնական մեքենաներից, որոնք բաշխում են աշխատանքները և մի քանի ենթարկվող մեքենաներ, որոնք կատարում են հիմնական աշխատանքը։ Windows HPC Server 2008-ը ներկայացվել է 2008 թվականի նոյեմբերին՝ փոխարինելու Windows Compute Cluster Server 2003-ին[4]։

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]

Գրականություն[խմբագրել | խմբագրել կոդը]

  • Gregory F. Pfister, In Search of Clusters: The Coming Battle in Lowly Parallel Computing, 1995։
  • David H. M. Spector, Building Linux clusters, 2000։
  • Algorithms and Tools for Parallel Computing on Heterogeneous Clusters, 2007։
  • Matei Zaharia, An Architecture for Fast and General Data Processing on Large Clusters, 2007։

Ծանոթագրություններ[խմբագրել | խմբագրել կոդը]

  1. «Кластеры - Андрей Борзенко».
  2. «Понимание распределенных систем».
  3. «История компьютерных кластеров».
  4. «Implementation and Analysis of Clustering Techniques Applied on Pocket Switched Network».