Distribuované prostředí

Zapojení více procesorů je velmi starý způsob jak urychlit výpočet. Zatímco ještě v osmdesátých letech minulého století se pozornost soustředila primárně na paralelní počítače, od druhé poloviny devadesátých let se zájem jednoznačně posunul do oblasti distribuovaných systémů, využívajících vlastností stále výkonnějšího Internetu. V této době i výkon běžně dostupných počítačů (pracovních stanic) dosáhl hodnot dříve vyhrazených pro superpočítače. Kombinací takových systémů vznikly clustery, kde uzly jsou propojeny běžnou sítí s vysokou propustností (typicky Ethernet). S tím, jak propustnost linek v Internetu překročila parametry lokálních sítí, začalo být efektivní propojovat i vzdálené clusteru do stále výkonnějších celků. Vznikly Gridy, výpočetní distribuované systémy, propojující desítky tisíc uzlů po celém světě.

Další zájem o kombinované prostředí paralelních a distribuovaných systémů se objevuje v souvislosti s praktickým zastavením dalšího růstu výkonu jednotlivých procesorů. Moorův zákon se již netýká konkrétního procesoru, ale jejich skupiny -- vznikají vícejaderné procesory, i běžné pracovní stanice jsou osazovány více jak jedním procesorem. Jednotlivé uzly clusterů pak již nejsou tvořeny jedním procesorem, ale dnes 8--16 jádry a tento počet se stále zvyšuje. Vzniká stále složitější distribuované prostředí., které na jedné straně nabízí bezprecedentní výpočetní výkon, na straně druhé však jeho efektivní využití představuje problém, který informatika stále uspokojivě nevyřešila.

Relativně jednoduchá situace existuje v případě tzv. "překvapivě paralelních úloh" (embarrassingly parallel jobs), kde řešenou úlohu lze rozdělit na obrovský počet zcela nezávislých výpočtů. Příkladem je SETI@Home, program hledání mimozemských civilizací analýzou signálů přijatých radioteleskopy. Signálů je obrovské množství, lze je ale zpracovávat zcela nezávisle. Na výpočtech se tak může podílet více jak milion stanic, dohromady poskytující obrovský výpočetní výkon.

V případě "běžných" algoritmů je však paralelizace mnohem obtížnější a pro výpočty je třeba vytvořit vhodné prostředí, které distribuované výpočty umožňuje. V této souvislosti se dlouhodobě věnujeme problematice budování univerzálně použitelného distribuovaného prostředí a rovněž konkrétním způsobům jeho využití.

Praktické aspekty budování distribuovaného prostředí a související především vývojové otázky řeší ve spolupráci s námi sdružení CESNET. Na FI a ÚVT se zabýváme zejména následujícími oblastmi:


Bezpečnost

Zejména se zaměřujeme na metody autentizace za použití různých identifikačních údajů a mechanismů, jako je Kerberos, digitální certifikáty, běžná a jednorázová hesla, a na možné transformace mezi jednotlivými mechanismy. Soustředíme se také na využití federací identit, založených na technologii Shibboleth a SAML a na možnost jejich integrace do distribuovaných aplikací. Příkladem těchto aplikací je patologický atlas, který umožňuje přístup z několika akademických federací v Evropě nebo on-line certifikační autorita, jejíž certifikáty obsahující dodatečné uživatelské atributy jsou základem našeho řešení pro bezpečné videokonferenční systémy.

Jelikož řada současných systémů používá digitální certifikáty, věnujeme se otázkám nasazení PKI v široce distribuovaném prostředí a problémům PKI, které nejsou patrné v malém měřítku. Řešíme možnosti pro jednodušší získávání digitální certifikátů a např. napojení na institucionální systémy pro správu uživatelů. Např. vyvíjené napojení na autentizační mechanismus v Celouniverzitní studovně umožní transparentní přístup na zabezpečené stránky MU. K aspektům, kterým jsme se zabývali v nedávné době patří spolehlivá distribuce seznamu revokovaných certifikátů nebo podpora čipových karet v distribuovaných systémech.

Distribuované úložné prostory

Dostatečná disková kapacita se stále více stává jedním z hlavních hodnotících faktorů při pořizování nového počítače. Schopnost počítat, od níž mají i počítače své jméno, se s růstem výkonu procesorů stává stále podružnější a na první místo pozornosti se dostávají data a možnosti jejich zpracování. Analogický trend pozorujeme i v oblasti rozsáhlých distribuovaných systémů, kde se v posledních letech zkoumají možnosti nových způsobů využití diskové kapacity systémů propojených počítačovou sítí.

Distribuované ukládání dat s sebou přináší řadu zajímavých teoretických problémů. V současné době vzniká celá řada distribuovaných systémů ukládání dat, což poukazuje na to, že o distribuovaná úložiště je velký zájem a že není jednoduché vytvořit dostatečně univerzální distribuované úložiště. Náš současný výzkum se zaměřuje do těchto oblastí:

Jedním z našich prvních projektů zabývající se distribuovaným ukládáním dat byl v roce 2003 projekt DiDaS (Distribuované datové sklady), v rámci kterého jsme vybudovali síť datových úložišť ve velkých městech České republiky. Pilotní aplikací využívající výsledky projektu DiDaS je distribuované zpracování přednášek (v rámci projektu DEE, který je názornou ilustrací propojení distribuovaných úložišť a distribuovaných výpočtů). Tato aplikace se používá dodnes, zpracovala stovky hodin záznamů přednášek fakulty informatiky a proteklo jí několik stovek terabytů dat.

Navazujícím projektem týkající se distribuovaného ukládání dat byl v roce 2006 projekt PADS (Protokoly a aplikace distribuovaných skladů). V rámci tohoto projektu jsme se věnovali dosud opomíjenému tématu - zabezpečení dat v distribuovaných úložištích. Vznikl návrh a implementace systému autentizace a autorizace v distribuovaném prostředí, který považujeme za poměrně unikátní řešení.

V současné době se věnujeme nasazení NFSv4 pro domovské adresáře uživatelů výpočetního clusteru. Zároveň řešíme podporu IPv6 a podporu keyringu pro NFSv4. Zkoumáme systémy jako Lustre FS, PVFS2 či Glusterfs pro rychlé síťové odkládací prostory. Přímo na univerzitě zkoumáme a vyvíjíme možnosti poskytování síťových úložných kapacit Ústavu výpočetní techniky pro celou univerzitu.

Virtualizace

Poskytování virtuálních počítačů uživatelům namísto tradičního spouštění úloh a fyzických uzlech přináší novou kvalitu služby zejména v podpoře interaktivních úloh, preempce a možnostech uživatelského řízení takové infrastruktury.

V tradičních výpočetních systémech správce instaluje operační systém a aplikace a spravuje je. Uživatelé zadávají svoje výpočetní úlohy do plánovače úloh a mají pouze minimální kontrolu nad prováděním úloh. Virtualizací počítačů v clusteru se zavede další "úroveň nepřímosti", oddělí se instalace operačního systému od fyzického stroje.

Uživatelé tak mohou dostat výrazně větší práva v řízení zdrojů. Mohou použít vlastní instalace operačního systému (a mít k němu za běhu administrátorská práva), instalovat vlastní aplikace, použít vlastní plánovač úloh ve virtuálním clusteru.

To vede na výraznou změnu pohledu při správě takové infrastruktury. Zabýváme se zejména, nikoli však výhradně, následujícími problémy.

Haptické interakce

Zajímavou oblastí výzkumu v rámci virtuální reality je haptická (doteková) interakce s deformovatelnými objekty. Uživatel vybaven haptickým zařízením se zpětnou silovou vazbou pomocí proby (testovacího objektu) interaguje s virtuálním objektem, který mění svůj tvar podle polohy proby.

Jednou z aplikací těchto modelů jsou tzv. chirurgické simulátory, které umožňují provádět virtuální operace, což lze využít pro trénování budoucích chirurgů, plánování složitých zákroků na modelu konkrétního pacienta anebo nácvik operací v nestandardních podmínkách (např. mimo gravitačního pole).

Základním požadavkem kladeným na tyto simulátory je v první řadě realistické chování simulovaných objektů, což vyžaduje fyzikální formulaci daného problému. Simulace je ale v tomto případě výpočetně náročná, protože obvykle vede na řešení rozsáhlých systémů nelineárních rovnic. Na druhou stranu realistická haptická interakce vyžaduje vysokou obnovovací frekvenci (více než 1kHz), a tak výpočet není proveditelný v reálném čase. V rámci výzkumu na Fakultě informatiky se zabýváme návrhem algoritmů, které umožní skloubit haptickou interakci s výpočetně náročnými nelineárními modely. Algoritmy jsou založeny na předpočítání stavového prostoru, který je pak interpolován během samotné interakce. Předvýpočet je realizován v distribuovaném prostředí, což vede k výraznému zkrácení čekání na předpočítaná data.

V současnosti se zabýváme také modifikací tohoto přístupu, kdy je stavový prostor potřebný pro interpolaci generován přímo v průběhu interakce, čímž odpadá fáze předpočítání, přičemž jsou ale kladeny vyšší nároky na rychlost řešení. K dosažení těchto cílů v současnosti testujeme nejnovější technologie, jako jsou nízkolatenční sítě (Infiniband) a výpočty akcelerované pomocí GPU. V budoucnu plánujeme návrh složitějších modelů umožňujících např. řezání a trhání tkáně.

Informace pro studenty

Problematika distribuovaných výpočtů a distribuovaného ukládání dat nabízí řadu velmi zajímavých výzkumných témat, vznikla zde celá řada bakalářských a diplomových prací. Nadále však hledáme zájemce, kteří by rádi přispěli svými novými myšlenkami a nápady. Do činnosti naší skupiny se může každý zájemce zapojit buď formou bakalářské či diplomové práce, formou doktorského studia, nebo prostou externí spoluprací na některém námi řešeném projektu. V IS MU je možno nalézt odkazy na řadu volných bakalářských a magisterských prací vedených jednotlivými členy výzkumného týmu, na základě osobní dohody je navíc možné navrhnout nová zadání z výzkumných oblastí skupiny.

Mezinárodní a národní spolupráce

Naše skupina úzce spolupracuje s řadou mezinárodních institucí, mezi nejvýznamnější z nich patří:

Naše skupina se podílí na řadě mezinárodních projektů, mezi nejvýznamnějším patří:

Našim hlavním partnerem na národní úrovni je sdružení CESNET z.s.p.o., Zikova 4, Praha
mezi pracovníky týmu patří také zaměstnanci Ústavu výpočetní techniky MU.

Aktuální grantové projekty

Výzkumný tým z MU

Kontakt

doc. RNDr. Luděk Matyska, CSc.
ludek@ics.muni.cz