Uživatelé se konečně zbaví padajícího softwaru

Technika mikro-rebootování by mohla významně zlepšit stabilitu aplikací, a zvýšit tak dostupnost dat. Po celé dlou...


Technika mikro-rebootování by mohla významně zlepšit stabilitu aplikací, a
zvýšit tak dostupnost dat.

Po celé dlouhé roky znělo základní pravidlo IT: Když všechno selže, proveďte
reboot. Rebootování v takovém případě opravdu často funguje, ale možná je na
čase klást si otázku: Neexistuje lepší řešení problémů s nefunkčním softwarem,
který s oblibou shodí počítač a někdy vás i připraví o cenné údaje v něm
uložené?
Uvedenou myšlenkou se zabývali i výzkumníci na Stanfordské a Kalifornské
univerzitě, kteří horečně pracují na nalezení lepších způsobů, jak počítači
zabránit zřítit se do propasti, na jejímž okraji občas stojí. Cíl je jasný:
Najít novou alternativu k rebootování. Hned na počátku realisticky usoudili, že
bude dobré vzdát se ideálu totiž myšlenky na tvorbu zcela bezproblémového
softwaru. Místo toho začali hledat způsoby, jak v případě havárie provést
obnovu funkčnosti systému beze ztráty dat nebo času. Výše nastíněná idea je
konceptem, z něhož vychází programování zaměřené na rychlou obnovu po selhání.
Tradiční myšlení je tu doslova postaveno na hlavu. Vychází se totiž z
postulátu, že není možné vytvořit naprosto bezchybný software. Proto by měl být
alespoň napsán tak, aby bylo možné jej rychleji rebootovat, a tím uživatelům
umožnit téměř okamžitý návrat k jejich práci.

Snadno a rychle
"Na úsvitu programování si lidé mysleli, že softwarové problémy vymizí. Ale
nevymizely, takže potřebujeme najít způsoby, jak s nimi žít. Myslím, že to je
prostě fakt, který musíme přijmout," vysvětluje David Patterson, profesor
počítačových věd na Kalifornské univerzitě v Berkeley. "Pokud je pro uživatele
nezbytná rychlá dostupnost dat, pak může být rychlá obnova důležitější než
redukce počtu spadnutí počítače," dodává.
Jeden ze způsobů, jak toho dosáhnout, představuje rozvíjející se technika zvaná
mikro-rebootování. Ta zajišťuje rychlé vypnutí a nové zapnutí procesů programu.
Tím má být zajištěna jeho stabilizace a možnost dalšího využití.
Mikro-rebootování se přitom dotkne jen dané problematické oblasti softwarového
kódu a nemá naprosto žádný vliv na ostatní části aplikace. Data připravená ke
zpracování tak nejsou rebootováním ovlivněna. Projekt mikro-rebootování, vedený
Davidem Pattersonem a Armandem Foxem, asistentem počítačových věd ve Stanfordu,
odstartoval již na konci roku 2000. Patterson, Fox a tým absolventů přišli na
to, že spolehlivost systémů je možné prostřednictvím rychlých rebootů vylepšit.
Některé IT systémy používané v letectví, kosmonautice a zdravotnictví jsou
ultra spolehlivé, protože prostě musejí být ale současně jsou nákladné a
složité. Takový druh spolehlivosti byl nepraktický pro typické využití v
oblasti běžných IT. Mikro-rebootování představuje jinou, cenově efektivnější
cestu.

Předcházení havárii
Výzkumníci experimentují s algoritmy, které dohlížejí na systémové procesy a
sledují, kdy se stane něco špatného a hrozí havárie. Při své práci se zaměřují
na určení normálních hodnot parametrů provozu aplikací, a pokud dojde k
významné odchylce, může systém rychle provést mikro-reboot a to dokonce i bez
toho, že by uživatel věděl, že došlo k nějakému problému. Klíčem k úspěchu je
izolování softwarových závad od okolí a zajištění redundancí, takže systém
zůstane naživu i v době, kdy dochází k jeho okamžité obnově. Výzkumníci nyní
hledají dostupné techniky, které by podporovaly softwarové a hardwarové
projekty, jež drasticky zlepšují restartovatelnost programů a zařízení.
Problémem tradičního rebootováním je fakt, že proces vyvolaný známou kombinací
kláves [Ctrl]+[Alt]+[Del] trvá příliš dlouho. Fox říká, že mikro-rebootování je
o několik řádů rychlejší. "Není zaručeno, že se tím problém vyřeší, ale je
zaručeno, že se věci nezhorší, takže není důvod to nevyzkoušet," říká.
Výzkumníci během svých prací používají aplikační server Java 2 Enterprise
Edition. Ten je totiž velmi populární mezi uživateli a jako open source
software je rychle modifikovatelný. J2EE je dobrým výchozím bodem pro výzkum,
protože jeho aplikace používají strukturu modulárního designu s jasnými
hranicemi mezi softwarovými moduly takže je jednodušší zastavit a rebootovat
jeden proces v rámci aplikace.

Rozšíření technologie
I když se výzkum dosud zaměřoval na internetové aplikace na firemních serverech
založených na J2EE, Fox tvrdí, že se technologie mikro-rebootování pomalu
rozšíří i do dalších oblastí. "Stolní počítače dnes mají takový výkon, že by
mohla být nakonec určitá jeho část obětována právě za vyšší spolehlivost,"
říká. Některé problémy ale přetrvávají. "Na metodách mikro-obnovy se stále musí
pracovat," tvrdí Fox. "Našli jsme způsob, jak využít zkušenosti lidí, kteří
používají algoritmy statistického monitorování, ale vyvstaly nám nové problémy
s dalšími algoritmy a s bezpečností," dodává. "Vědci stále doufají, že se
přesně dozvědí, co je na J2EE dobré a co špatné, pokud jde o řešení problémů s
rebootováním," říká Fox. A pak získané zkušenosti budou moci aplikovat i jinde.
Podle Foxe je rovněž potřebný vznik dalších výzkumných orgánů, které se budou
zabývat stejnými problémy u jiných široce používaných počítačových systémů.
"Mikro-rebootování by mohlo být zabudováno do aplikačního serveru J2EE během
příštích dvou až tří let," tvrdí Fox. "Nicméně aby se tato technika pevně
zakořenila v současném světě IT, je evidentně potřeba udělat ještě hodně
práce," upozorňuje. Výrazně komplikovanější zřejmě bude zahrnutí podpory
mikro-rebootování do velkých proprietárních aplikací. Často totiž nejsou
složeny z modulů. Fox ale tvrdí, že by výzkumníci mohli pracovat na usnadnění
implementace této funkce do budoucích verzí některých druhů softwaru.

Častý reboot
"Definitivní verze systému pro mikro-rebootování by mohla profylakticky
procházet celým stolním počítačem nebo serverem a pravidelně provádět
rebootování na pozadí. Tím by se stroje posilovaly bez toho, že by rebootování
způsobovalo uživatelům problémy," říká Patterson. Podle Foxe nyní firemní IT
sektor začíná myšlenku rychlého a automatického rebootování pomalu akceptovat.
"Teď již nemusíme přesvědčovat lidi o potřebnosti takové funkce," říká. "Oni
moc dobře chápou, proč je důležité bránit se selháním jejich firemních IT
systémů a tuší, že toto by mohla být správná cesta," uzavírá.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.