From Wikipedia, the free encyclopedia
Кластер рачунари се састоје од скупа слабо или чврсто повезаних рачунара који раде заједно, тако да се у многим аспектима они могу посматрати као један систем.
Компененте кластера су обично међусобно повезане брзим локалним мрежама, са сваким чвором (рачунар коришћен као сервер) који извршава своју инстанцу оперативног система. Кластер рачунари су настали као резултат конвенције бројних рачунарских трендова, укључујући доступност јефтиних микропроцесора.
Кластери су обично распоређени да побољшају перформансе и доступност преко једног рачунара, и обично су много исплативији него појединачни рачунари упоредиве брзине и доступности.[1]
Кластер рачунари имају широки спектар примене и развоја, у распону од малих пословних кластера са неколицином чворова до неких најбржих суперкомјутера на свету, као што је IBM-ов Sequoia.[2]
Жеља да се добије више рачунарске снаге и боља поузданост помоћу организовања бројних јефтиних комерцијалних, из продавнице, рачунара, довела је до разних архитектура у конфигурација.
Приступ рачунарском груписању обично (али не увек) повезује више лако доступних рачунарских чворова (нпр. персонални рачунари се користе као сервери) путем брзе локалне мреже.[3] Активности компјутерских чворова су организовани од стране "clustering middleware", софтверског слоја који се налази на врху чворова и омогућава корисницима да третирају кластер као једану велику кохензивну рачунарску јединицу, нпр. преко једног концепта система слика.[3]
Груписање рачунара ослања се на централизовани управљачки приступ који чини чворове доступним као усаглашени дељени сервери. То се разликује од других приступа, као што су peer to peer или grid рачунари који такође користе доста чворова, али са много више дистрибутивне природе.[3]
Кластер рачунар може бити једноставни двочворни систем који само повезује два персонална рачунара, или може бити веома брз суперкомпјутер. Основни приступ изградњи кластера је да од Beowulf кластера, који може бити изграђен са неколико персоналних рачунара, да се произведе исплатива алтернатива за традиционалне рачунаре високих перформанси. Рани пројекат који је показао одрживост концепта био је 133 nodes Stone Soupercomputer.[4] Поризвођачи су користили Linux, the Parallel Virtual Machine скуп алата и Message Passing Interface библиотеку за постизање високих перформанси за релативно ниску цену.[5]
Иако се кластер може састојати од само неколико персоналних рачунара повезаних простом мрежом, кластер архитектура се такође може користити за постизање веома високих перформанси. TOP500 организациони полугодишњи лист од 500 најбржих [Суперрачунар|суперрачунара]] често укључује многе кластере, нпр. најбржа машина на свету у 2011. години је био К рачунар који има дистрибутивну меморију, кластер архитектуру.[6][7]
Greg Pfister је изјавио да кластере није измислио ниједан конкретан произвођач, него купци који нису могли да сместе сав свој рад на један рачунар, или им је била потребна резервна копија.[8] Pfister-ове процене датирају негде 1960. године. Формалну инжињерску основу кластер рачунара као средства које ради паралелан рад било које врсте је вероватно измислио Gene Amdahl из IBM-а, који је 1967. године објавио, посматрајући оно што је дошло, као исконски папир паралелног процесирања: Amdahl's закон.
Историја раних компјутерских кластера је више или мање директно повезана са историјом раних мрежа, како је један од примарних мотива за развој мреже био повезивање рачунарских ресурса, и стварање de facto кластер рачунара.
Први комерцијални кластер производ био је ARCnet, развијен од Datapoint 1977. године. Груписање само по себи није баш кренуло док Digital Equipment Corporation није представио свој VAXcluster производ 1984. године за VAX/VMS оперативни систем. ARCnet и VAXcluster производи не само да су подржавали паралелно рачунање, већ и поделили системе датотека и периферне уређаје. Идеја је била да се обезбеди предност паралелног процесирања, задржавајући поузданост и јединственост података. Два друга вредна пажње рана комерцијална кластера су били Tandem Himalayan (око 1994 високо-доступан производ) и IBM S/390 Parallel Sysplex (такође око 1994, пре свега за пословну употребу).
У истом временском оквиру, док су кластер рачунари користили паралелизам изван рачунара на робној мрежи, суперкомпјутери су почели да их користе у оквиру истог рачунара. Након успеха CDC 6600 1964, Cray 1 је био испоручен 1976. године, и увео је интерни паралелизам преко вектора обраде.[9] Док рани суперкомпјутери искључују кластере и ослањају се на дељену меморију, у исто време неки од најбржих суперкомпјутера (нпр. К компјутер) су се ослањали на архитектуру кластера.
Кластер рачунари могу бити конфигурисани за различите намене, од општих пословних намена, као што је подршка веб-сервера, до нумеричко интензивних научних прорачуна. У сваком случају, кластер може да користи високо-доступан приступ. Треба имати на уму да атрибути описани у наставку нису ексклузивни и „кластер рачунар“ може користити високо-доступан приступ, итд.
"Баланс-учитавања“ кластера су конфигурације у којима кластер-чворови деле рачунарски посао да би се обезбедиле свеукупне перформансе. На пример, веб-сервер кластер може доделити различите упите на различите чворове, тако да укупно време одзива буде оптимизовано.[10] Међутим, приступ оптерећења-балансирања може значајно варирати међу апликацијама, на пример кластер високих перформанси коришћен за научне прорачуне би био другачије уравнотежен са другим алгоритмима од веб-сервер кластера, који можда користи једноставан round-robin метод додељивањем сваког новог захтева другом чвору.[10]
"Кластер рачунари“ се користе за интензивно израчунавање, пре него за руковања УИ-оријентисаним операцијама, као што су веб сервиси или базе података.[11] На пример, кластер рачунари могу подржавати компјутерску симулацију судара аутомобила или времена. Врло чврсто повезани кластер рачунари су дизајнирани за рад који може да приђе "суперрачунарима“.
"Високо-доступни кластери“ (познати и као failover кластери, или HA кластери) побољшавају доступност кластер приступа. Они раде тако што имају сувишне чворове, који се користе за пружање услуга када компоненте система откажу. HA кластер имплементира покушај да се користи редудантност кластер компененти за елиминацију квара једног чвора. Постоје комерцијалне имплементације Високо-Доступних кластера за многе оперативне системе. Linux-HA пројекат је један који је користио бесплатни софтвер HA пакета за Linux оперативни систем.
Ниска цена: Купци могу елиминисати трошкове и сложеност набавке, подешавањем и руковањем HPC кластера са ниском, pay-as-you-go ценом, Даље, трошкови могу да се оптимизују усклаћивањем једним од неколико ценовних модела: On Demand, Reserved or Spot Instances.
Еластичност: Могу да се додају или уклоне рачунарски ресурси да би се задовољила величина и временски захтеви за дати обим посла.
Покретање послова било када и било где: Може се покренути рачунање послова који користе једноставни APIs или управљање алатима и аутоматизација токова посла за максималну ефикасност и скалабилност. Може да се повећа брзина иновације приступањем рачунарских ресурса у минуту уместо трошења времена у редовима.
Једно од појединости у дизајнирању кластера је колико чврсто могу бити повезани индивидуални чворови. На пример, посао за један рачунар може захтевати честе комуникације међу чворовима: ово подразумева да кластер дели наменску мрежу, густо лоцирану, а вероватно има хомогене чворове. Друга крајност је где рачунарски посао користи један или више чворова, и треба мало или нимало комуникације међу чворовима, што је приближавање grid-а рачунару.
У Beowulf систему, програми апликација никаде не виде рачунарске чворове (зову се и рачунарски робови), већ су у интеракцији само са „Мастером“ који је одређени рачунар који руководи распоређивањем и управљањем робовима.[11] У типичној имплементацији Мастер има два мрежна интерфојса, један који комуницира са приватном Beowulf мрежом за робове, и други за општу намену мреже организације.[11] Роб рачунари обично имају своју верзију истог оперативног система, и локалну меморију и простор на диску. Међутим, приватне роб мреже могу имати велику и подељену серверску датотеку која складишти глобално постојане податке, приступањем робова када је потребно.[11]
Насупрот томе, посебна намена 144 чворног DEGIMA кластера је подешеност да ради астрофизичне N-body симулације коришћењем Multiple-Walk паралелног treecode-а, пре него општа намена научних израчунавања.[12]
Због све веће снаге рачунања у свкој новој генерацији играчких конзола, нова употреба се појавила где су оне промениле сврху у High-performance computing (HPC) кластере. Неки примери играчке конзоле кластера су Sony PlayStation кластери и Microsoft Xbox кластери. Други пример потрошачких играчких производа је Nvidia Tesla Personal Supercomputer радна станица, која користи више процесорских чипова са графичким акцелераторима.
Рачунарски кластери су се кроз историју кретали на физички одвојеним рачунарима са истим оперативним системом. Са појавом виртуализације, кластер чворови могу радити на физички одвојеним рачунарима са различитим оперативним системима, који су горе обојени са виртуелним слојем, да изгледају слично. Кластер такође може бити виртуелизован на различите конфигурације како се одвија одржавање. Пример имплементације је Xen као виртуелизација управљања са Linux-HA.[13]
Како су се кластер рачунари појавили током 1980. година, тако су се појавили и суперкомпјутери. Један од елемената који је разликовао три класе у то време био је тај да су се рани суперкомпјуери ослањали на дељену меморију. Данас кластери обично не користе физички подељену меморију, док су их многе суперкомпјутерске архитектуре такође напустиле. Међутим, употреба система кластер датотека је неопходна у савременим рачунарским кластерима. Пример укључује IBM General Parallel File System, Microsoft's Cluster Shared Volumes или the Oracle Cluster File System.
Два широко коришћена приступа за комуникацију измећу кластер чворава су MPI, Message Passing Interface и PVM, Parallel Virtual Machine.[14]
PVM је развијен у Oak Ridge National Laboratory око 1999. године пре него што је MPI био доступан. PVM мора бити директно инсталиран на сваком чвору кластера и обезбећује скуп софтверских библиотека које боје чвор као „паралелну виртуелну машину ". PVM обезбећује run-time окружење за преношење порука, задатке и управљање ресурсима, и обавештавање о грешкама. PVM може да се користи од стране корисничког програма написаног у C, C++, или Fortran-у, итд.[14][15]
MPI се појавио у раним 1990. годинама из дискусије између 40 организација. Почетни напори били су подржани од стране ARPA-а и National Science Foundation. Уместо новог почетка, дизајн MPI нацртан је на различитим доступним функцијама у комерцијалним системима тог времена. MPI спецификације су довеле до конкретних имплементација. MPI имплементације обично користе TCP/IP и сокет конекције.[14] MPI је сада широко доступан комуникациони модел који омогућава, да паралелни програми буду написани у језицима као што су C, Fortran, Python, итд.[15] Тако, за разлику од PVM-а који пружа конкретну имплементацију, MPI је спецификација која се имплементира у системе као што су PICH и Open MPI.[15][16]
Један од изазова у коришћењу кластер рачунара је цена администрирања која може понекад бити висока као и цена администрирања N независних машина, ако кластер има N чворова. У неким случајевима то даје предност архитектури дељене меморије са мањим трошковима администрације. Због лакше администрације направљене виртуелне машине постале су популарне.
Када велики више-кориснички кластер треба да приступи веома великој количини података, распоређивање задатака постаје изазов. У хетерогеним CPU-GPU кластерима, који имају сложено апликативно окружење, перформанса сваког посла зависи од карактеристика основног кластера, а мапирање задатака на CPU језгру и GPU уређаја обезбећује значајне изазове.[17] Ово је област текућих истраживања и алгоритама који комбинују и проширују MapReduce и Hadoop су били предложени и студирани.[17]
Кад чвор у кластеру откаже, стратегије као што су "fencing" могу се користити да би остатак система остао оперативан.[18][19] Fencing је процес изоловања чвора или заштите дељених ресурса када се појављује покварен чвор. Постоје две класе fencing методе; једна онемогућава сам чвор, а друга онемогућава приступ ресурсима као што је дељени диск.[18]
STONITH метод, је скраћеница за "Shoot The Other Node In The Head", што значи да се сумњиви чвор онемогућава или искључује. На пример, power fencing користи контролер напајања да искључи неизлечиви чвор.[18]
Ресурси fencing приступа не дозвољавају приступ ресурсима без искључивања чвора. Ово може укључити трајну резервацију fencing преко SCSI3, влакнастог Channel fencing да онемогући порт влакнастог канала или глобална мрежа блок уређаја (GNBD) fencing да онемогући приступ GNBD серверу.
Балансирање оптерећења кластера, као што су веб севери користе кластер архитектуру за подршку великог броја корисника и обично сваки кориснички захтев је усмерен на одређени чвор, постизањем паралелизма задатка без више-чворне сарадње, с обзиром да је главни циљ система омогућавање брзог приступа корисника дељеним подацима. Међутим, „кластер рачунари“ који обављају сложене прорачуне за мали број корисника траба да искористе предност могућих паралелних обрада и подела „истога рачунања " између неколико чворова.[20]
Аутоматски паралелизам програма и даље остаје технички изазов, али паралелни модели програмирања могу бити коришћени како би се извршила виши степен паралелизма путем истовременог извршавања одвојених делова програма на различитим процесорима.[20][21]
Развој и дибаговење паралелних програма на кластеру захтевају паралелне језичке примитиве као одговарајуће погодне алате као што су они расправљали у High Performance Debugging Forum (HPDF) што је резултовало HPD спецификацијама.[15][22] Алати као што су TotalView су тада развијени у циљу дибаговања паралелних имплементација на кластер рачунарима који користе MPI или PVM за пренос порука.
Берклијев NOW (Network of Workstations) систем прикупља кластер податке и складишти их у бази података, док системи као PARMON, развијени у Индији, омогћавају визуелни преглед и управљање великим кластерима.[15]
Application checkpointing може да се користи за враћање датог стања система када чвор откаже током за време више-чворног рачунања.[23] Ово је од суштинског значаја у великим кластерима, с обзиром да се број чворова повећава, па тако расте вероватноћа квара чвора под тешким рачунарским операцијама. Checkpointing може вратити систем у стабилно стање тако да обрада може да се настави без потребе за прерачунавењем резултата.[23]
Кластери могу да обезбеде значајне предности перформанси наспрам цене. Систем X суперкомпјутер на Virginia Tech, 28. најмоћнији суперкомпјуер на Земљи, до јуна 2006. године,[24] је 12.25 Tflops кластер рачунар од 1100 Apple XServe G5 2.3 GHz двопроцесорске машине (4 GB RAM, 80 GB SATA HD) која извршава Mac OS X и користи InfiniBand повезивање.
GNU/Linux свет подржава различите кластер софтвере; за апликације кластера, постоји distcc, и MPICH. Linux Virtual Server, Linux-HA директор на бази кластера који омогућава да долазни захтеви за услуге буду подељени на више кластер чворова. MOSIX, openMosix, Kerrighed, OpenSSI су потпуно кластер интегрисани у кернел да обезбеде аутоматску миграцију процеса међу хомогеним чворовима. OpenSSI, openMosix and Kerrighed су један-систем сликовних имплементација.
Windows Compute Cluster Server 2003 заснован на Windows Server платформи обезбеђује делова за High Performance Computing као Job Scheduler, MSMPI библиотека и алати за управљање.
gLite је скуп посредничкх технологија креираних од пројекта Enabling Grids за E-sciencE (EGEE).
Slurm се такође користи за распоређивање и управљање неким од највећих суперкомпјутера клатера (види top500 листу).
Иако је већина кластер рачунара стално распоређена, направљени су покушаји flash mob рачунарства да се изграде краткотрајни кластери за одређено израчунавање. Међутим, веће размере волонтерских рачунарских система, као што је BOINC-заснован систем имају више следбеника.
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.