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á obsahuje 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 přidělen 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 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ě plní rozsáhlé úkoly. Některé aplikace, „distribuční“ nebo „gridové“, lze chápat jako zvláštní druh paralelních výpočtů, které se opírají o kompletní počítač (vestavěné procesory, úlož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,[2] vyřešit jeden úkol, a pak rychle zmizet. 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ž mnoha 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 omezený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.[3]
Tato technologie byla použita pro výpočetně náročné problémy (vědecké, matematické, a akademické) 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ý procesor, paměť, 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í zřízeného komoditním hardwarem, porovnávajícím nižší účinnost navrhování a výrobu 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.[4] Konečná škálovatelnost různě rozmístěných sítí je obecně výhodná, vzhledem k nízké potřebě připojení mezi uzly ke kapacitě veřejného internetu .
Také tady jsou nějaké rozdíly v programování a rozmístění. To může být nákladné a složité pro zápis 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 problému. Jestliže problém bude 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 více strojích. Toto dělá možným psaní a ladění chyb v samotném konvenčním stroji a odstraňuje komplikace díky mnoha příčinám stejného programu běžícího ve sdílené paměti a úložném prostoru 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 k různým osobám nebo organizacím, (známé jako vícesprá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 vytváření falešných, zavádějících nebo chybných výsledků škodlivými účastníky, a z použití systému jako vektorový útok. Často se jedná o přiřazení práce náhodný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 identifikovaly 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 uživatelské připojené pomocí vytáčeného připojení) 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 je možné 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, musí zúčastněné uzly 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 jsou umístěny aplikace 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 se 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čtem platforem, kterých lze dosáhnout (a tím i velikosti 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 může být middleware viděn jako vrstva mezi hardwarem a softwarem. Na vrcholu middleware, existuje řada technických oblastí obsahujících požadavky, které mohou nebo nemusí být na middleware nezávislé. Příkladem je oblast zahrnující správu SLA, důvěry a bezpečnosti, virtuální organizační řízení, licence pro správu, portály a správu dat. Tyto technické oblasti se mohou postarat o komerční řešení.
Reference
- ↑ What is grid computing? - Gridcafe Archivováno 10. 2. 2013 na Wayback Machine. E-sciencecity.org. Retrieved on 2013-09-18.
- ↑ What is the Grid? A Three Point Checklist [online]. [cit. 2014-03-06]. Dostupné v archivu pořízeném dne 2014-11-22. (anglicky)
- ↑ Pervasive and Artificial Intelligence Group :: publications [Pervasive and Artificial Intelligence Research Group] [online]. Diuf.unifr.ch, May 18, 2009 [cit. 2010-07-29]. Dostupné v archivu pořízeném dne 07-07-2011. (anglicky)
- ↑ Computational problems - Gridcafe Archivováno 25. 8. 2012 na Wayback Machine. E-sciencecity.org. Retrieved on 2013-09-18.
Externí odkazy
- Obrázky, zvuky či videa k tématu grid computing na Wikimedia Commons