Grid computing
Grid computing (gridové výpočty) je v informatice způsob provádění výpočtu, při kterém je pro dosažení společného cíle použito více počítačů nacházejících se na různých místech. Gridem může být myšlen distribuční systém s neinteraktivní pracovní zátěží, která zahrnuje velký počet souborů. To co odlišuje gridování od běžných vysoce výkonných výpočetních systémů, jako jsou clusterové výpočty je, že gridy mají tendenci být více volně vázané, heterogenní a rozmístěné na různých místech.[1] Ačkoli jediný grid může být věnován na konkrétní aplikaci, obvykle se grid používá pro různé účely. Gridy jsou často konstruovány s univerzálními gridovými middleware softwarovými knihovnami.
Gridová velikost se pohybuje ve velkém rozsahu. Gridy jsou forma distribuovaných výpočtů, kdy je "super virtuální počítač" složen z mnoha síťových volně vázaných počítačů, které společně plní velké úkoly. Pro některé aplikace, "distribuční" nebo "gridové" výpočty, lze chápat jako zvláštní druh paralelních výpočtů, které se opírají o kompletní počítač (vestavěné procesory, uložiště dat, napájecí zdroje, síťové rozhraní, atd.) připojený k síti (soukromé, veřejné nebo Internetu) pomocí běžného síťového rozhraní, jako je Ethernet. To je rozdíl od tradičního pojetí superpočítače, který má mnoho procesorů spojených vysokorychlostními sběrnicemi počítače.
Přehled
Gridové výpočty kombinují počítače z více administrativních domén pro dosažení společného cíle, vyřešit jeden úkol, a pak může zmizet rychle.
Jednou z hlavních strategií gridových výpočtů je použití middleware k oddělení a přidělení kousků programu mezi několika počítači, někdy až mnoho tisíc. Gridové výpočty vyžadují výpočet distribučním způsobem, který může zahrnovat i agregaci rozsáhlých clusterů.
Velikosti gridů se mohou lišit od málo stíněných sítí počítačových stanic v rámci společnosti, například k velkým, veřejně spolupracujícím s mnoha firmami a sítěmi. Pojem uzavřený grid může být také známý jako vnitřní spolupráce uzlů, zatímco pojem větší, širší grid tak může odkazovat na spolupráci mezi jednotlivými uzly.
Gridy jsou formou distribučních výpočtů, kdy je "super virtuální počítač" složen z mnoha síťových volně vázaných počítačů, které společně vykonávají velmi velké úkoly. Tato technologie byla použita pro výpočetně náročné vědecké, matematické, a akademické problémy prostřednictvím dobrovolných výpočtů, a to se používá v komerčních podnicích pro různorodé použití jako jsou léčiva, ekonomické prognózy, seismické analýzy, a back office zpracovávání dat na podporu e-commerce a webových služeb .
Koordinační aplikace na Gridy může být složitý úkol, a to zejména při koordinaci toku informací přes distribuční výpočet zdrojů. Gridové workflow systémy byly vyvinuty pro specializovanou formu řízení workflow systému navrženému speciálně sestavit a realizovat řadu aritmetických a manipulačních kroků s daty, nebo pracovními postupy, v rámci Gridu.
Srovnání sítí a konvenčních superpočítačů
Distribuční nebo Gridové výpočty jsou obecně speciální typ paralelních výpočtů, které se opírají o kompletní počítače (vestavěné procesory, skladování, napájecí zdroje, síťové rozhraní, atd.) připojené k síti (soukromé, veřejné nebo Internetu) pomocí běžného síťového rozhraní produkovaného komoditním hardwarem, v porovnání s nižší účinností navrhování a výrobě malého počtu klientských superpočítačů. Základní nevýhodou je, že různé procesory v lokálních pamětech nemají vysokou rychlost připojení. Toto uspořádání je tedy velmi vhodné pro aplikace, ve kterých je více paralelních výpočtů probíhajících nezávisle na sobě, aniž by bylo nutné, aby komunikace mezi procesory byla s mezivýsledky. Konečná škálovatelnost geograficky rozptýlených sítí je obecně výhodná, vzhledem k nízké potřebě připojení mezi uzly ke kapacitě veřejného internetu .
Tady jsou také nějaké rozdíly v programování a rozmístění. To může být nákladné a obtížné k psaní programů, které mohou běžet v životním prostředí superpočítače, který může mít zakázkový operační systém, nebo vyžadovat adresu programu souběžného vydání. Jestliže problém může být adekvátně obdobný, tenká vrstva gridové infrastruktury může konvenčně, samotné programy, vzhledem k rozdílné části téhož problému nechat běžet na multi strojích. Tohle dělá možné psaní a ladění chyb v samotném konvenčním stroji a eliminuje komplikace díky mnoha příčinám stejného programu běžícího ve stejném čase.
Konstrukční úvahy a varianty
Jedna z vlastností distribučních gridů je, že mohou být vytvořeny z výpočetních zdrojů patřících do různým osobám nebo organizacím, (známé jako více správní domény). To může usnadnit obchodní transakce, jako utility výpočty, nebo usnadnit montáž dobrovolné počítačové sítě.
Nevýhodou této vlastnosti je, že počítače, které ve skutečnosti provádějí výpočty nemusí být zcela důvěryhodné. Konstruktéři systému musí tedy zavést opatření, aby se zabránilo poruchám nebo škodlivým účastníkům vytvářet falešné, zavádějící nebo chybné výsledky, a z používání systému jako je útok vektoru. Často se jedná o přiřazení práce náhodně různým uzlům (pravděpodobně s různými majiteli) a kontrola, že alespoň dva různé uzly mají stejnou odpověď pro danou pracovní jednotku. Nesrovnalosti by identifikovali nefunkční a škodlivé uzly.
Vzhledem k nedostatku centrální kontroly nad hardwarem, není žádný způsob, jak zaručit, že uzly nevypadnou ze sítě v náhodných časech. Mohou být také některé uzly (jako jsou notebooky nebo vytáčený internetový uživatel) k dispozici pro výpočet, ale ne k síťové komunikaci pro nepředvídatelné období. Tyto změny mohou být přizpůsobeny přiřazením velké pracovní jednotky (čímž se sníží nutnost neustálého připojení k síti) a přerozdělím pracovní jednotky, když daný uzel neoznámí své výsledky v předpokládaném čase.
Dopady důvěry a dostupnosti na výkonnost a rozvoj obtížnosti může mít vliv na výběr, zda chcete nasadit na vyhrazený cluster, na volnoběh stroje vnitřně se rozvíjející organizace, nebo na otevřené vnější sítě dobrovolníků a dodavatelů. V mnoha případech, zúčastněné uzly musí důvěřovat centrálnímu systému o nezneužití přístupu, který je udělil tím, že manipuluje s provozem jiných programů, mandluje uložené informace, přenáší soukromá data, nebo vytváří nové bezpečnostní díry. Jiné systémy využívají opatření ke snížení množství důvěry "klientských" uzlů, které se musí umístit do centrálního systému, jako je umístění aplikací ve virtuálních strojích.
Veřejné systémy nebo ty, přes administrativní domény (včetně různých oddělení ve stejné organizaci) mají často za následek, že je třeba spustit na heterogenních systémech, za použití různých operačních systémů a hardwarové architektury. U mnoha jazyků je kompromis mezi investicemi do vývoje softwaru a počtu platforem, kterých lze dosáhnout (a tím i velikost výsledné sítě). Cross-platformní jazyky mohou snížit potřebu tohoto kompromisu, i když potenciálně na úkor vysokého výkonu na daném uzlu (kvůli run-time výkladu nebo nedostatku optimalizace pro konkrétní platformu). K dispozici jsou různé vědecké a komerční projekty, jak využít konkrétní spojené gridy nebo pro účelné zřizování nových gridů. BOINC je společný pro různé akademické projekty hledající veřejné dobrovolníky.
Ve skutečnosti middleware může být viděn jako vrstva mezi hardwarem a softwarem. Na vrcholu middleware, mají řadu technických oblastí obsahujících požadavky, a ty mohou nebo nemusí být na middleware nezávislé. Příkladná oblast zahrnující správu SLA, důvěry a bezpečnosti, virtuální organizace řízení, licence pro správu, portály a správu dat. Tyto technické oblasti se mohou postarat v komerční řešení, i když ostří každé oblasti se často vyskytuje v rámci konkrétních výzkumných projektů zkoumajících pole.
Reference
- ↑ What is grid computing? - Gridcafe. E-sciencecity.org. Retrieved on 2013-09-18.