Aktuální vydání

celé číslo

08

2020

Mozaika novinek a informací

Restart ekonomiky

celé číslo

Control Web v kritických průmyslových aplikacích

Automa 3/2001

Pavel Cagaš,
Moravské přístroje a. s.

Control Web v kritických průmyslových aplikacích

Zařízení pracující libovolně dlouhou dobu bez jakýchkoliv poruch jsou bohužel pouze doménou sci-fi – kosmické lodě létají mezi hvězdami tisíce let a jejich řídicí systémy pracují zcela spolehlivě. Kdo by ale skutečně svěřil svůj život automatu, který jej má vzbudit za tisíc let, až loď dorazí k cizí hvězdě? Kdo by věřil, že za tisíc let nenastane jediný nepředvídaný problém? V reálném světě naprostá spolehlivost neexistuje – existují jen zařízení více či méně spolehlivá: i ten nejlepší automobil musí někdy do servisu, i ta nejspolehlivější počítačová paměť někdy selže.

Spolehlivé musí být technické i programové prostředky
Spolehlivost každého výrobku se samozřejmě odráží v jeho ceně. Například robustní a spolehlivé automobily jsou vždy dražší než masověji vyráběné vozy. Totéž platí téměř všude – počítače, jejichž výrobci se snaží dosáhnout určitého výkonu při co nejmenší ceně, zdaleka nedosahují spolehlivosti řídicích systémů letadel či kosmických lodí. Stačí, aby se v moderním stolním počítači zastavil ventilátor aktivního chlazení procesoru, a systém přestane fungovat během několika desítek sekund či pár minut. Výpadek stolního počítače a s ním spojená možná ztráta dat, i když velmi nepříjemná, ale zpravidla neohrozí chod celé firmy. V případě firemních serverů udržujících podnikové databáze či řídících klíčové technologie je ale situace jiná. Proto se např. v serverech používá jiný systém chlazení procesorů, takový, u něhož výpadek jediného ventilátoru neohrozí celý počítač, a navíc jsou v takovýchto kritických systémech zabudovány prostředky pro diagnostiku a hlášení podobných poruch. Samozřejmě, že server je oproti stolnímu počítači patřičně dražší.

Obr. 1.

Technické vybavení ale pouze přispívá ke spolehlivosti počítačových systémů. Přinejmenším stejně podstatná je spolehlivost používaných programů. Programové vybavení je zpravidla tou vrstvou, která činí systém unikátní, která plní specifické požadavky uživatele a která také jednotlivé systémy navzájem odlišuje. Programy jsou tedy zákonitě mnohem variabilnější a flexibilnější než technické prostředky. Bankovní transakce, digitální triky v novém filmu, simulace fyzikálního děje nebo počítačová hra – nelze ani vyjmenovat byť jen nepatrný zlomek úloh prováděných na téměř shodných počítačích. Zatímco finanční analytik, filmový výtvarník, vědec či počítačový hráč mohou používat shodný počítač se stejným procesorem, určitě budou používat jiné programové vybavení. Přitom komplexnost programového vybavení je často nesmírná a snad jen komplexnost samotného procesoru je srovnatelná s rozsáhlými programovými systémy. Velká variabilita a rychlejší inovační cyklus programového vybavení ale neumožňují firmám, které programy vyvíjejí, investovat stejné množství prostředků do testování svých produktů, jako to dělají firmy vyvíjející procesory. Množství chyb vyskytujících se např. u různých verzích procesorů Intel Pentium je dokladem toho, že ani největší firmy s obrovskými zdroji nejsou zárukou naprosto spolehlivého výrobku. A tak vlivem chyb programového vybavení havarují civilní letadla s mnoha cestujícími, umírají pacienti na následky překročení dávek při ozařování, kosmické sondy se rozbíjejí o povrch Marsu a explodují nosné rakety s komunikačními satelity.

Redundance – záruka spolehlivosti
Přestože naprosto spolehlivé technické prostředky ani programy nelze vytvořit, existují vysoké požadavky na spolehlivost, které není možné uspokojit ani nejpropracovanějšími návrhy daných systémů. Jediné řešení je zálohovat – použít v systému redundantní prvky, takže je schopen činnosti (byť s menší výkonem) i při poruše nějaké komponenty. Redundance může být použito na úrovni chladicích ventilátorů, napájecích zdrojů a diskových pamětí, a porucha těchto komponent tedy nemusí být kritická. Je ale nutné zdůraznit, že redundance poruchu nevylučuje, jen výrazně zmenšuje její pravděpodobnost.

Návrh redundantních chladicích prvků nebo napájecích zdrojů je dosti prostý, neboť tyto komponenty neuchovávají žádnou informaci o stavu systému.

V případě diskových pamětí je to již horší, protože na discích jsou uchovávána data a jejich ztráta v důsledku poruchy disku je nepřípustná. Nejjednodušší z používaných metod je zrcadlení – data jsou uchovávána současně na dvou discích. Za svou jednoduchost platí zrcadlení zmenšením dostupné kapacity diskových pamětí na polovinu. Existují však i propracovanější mechanismy rozprostírání dat na větší počet disků tak, že poměr skutečné kapacity disků k využitelné je výrazně větší než 2 : 1 (např. RAID5).

Ovšem navrhnout systém, který pomocí redundance dokáže přestát poruchu procesoru nebo modulu paměti, je ještě nepoměrně složitější a ekonomicky velmi náročné. Proto bývá mnohem častěji používána redundance na úrovni celých počítačů – dva nebo více počítačů pracuje na shodném úkolu s tím, že v případě výpadku jednoho systému jeho práci převezme druhý (aktivní záloha), popř. druhý počítač jen pasivně čeká a monitoruje stav aktivního počítače a začíná pracovat v okamžiku, kdy první počítač selže (pasivní záloha). Skupina takto spolupracujících počítačů je nazývána cluster (česky chumel nebo nakupení).

Obr. 2.

Co dokáže cluster a jak jej realizovat
Pojem cluster počítačů se ovšem používá mnohem obecněji. Vědeckovýzkumné instituce často spojují mnoho počítačů do jediného systému a využívají velký výpočetní výkon paralelně pracujících strojů k řešení rozsáhlých simulací apod. V těchto případech ale nejde o zálohování: jednotlivé počítače si sice vyměňují data, ale zpravidla nesdílejí žádné prostředky a navenek vystupují jako jednotlivé samostatné systémy. Běh distribuované aplikace bývá často zajišťován aplikací samotnou, a nikoliv operačním systémem.

Jako cluster může taktéž vystupovat skupina serverů služby www (world wide web), před něž je předřazen tzv. vyvažovač zátěže (load balancer). Z hlediska klientů se celý systém jeví jako jediný server s jedinou IP adresou, ale ve skutečnosti vykonává práci na pozadí řada serverů, které dostávají jednotlivé požadavky podle momentální zátěže systému.

Skutečný cluster ale dokáže mnohem více. Z hlediska klientů vystupuje jako jediný počítač s unikátní IP adresou a s množstvím služeb, které poskytuje. Tyto služby zahrnují nejen www, ale taktéž přístup k databázím, výměnu zpráv apod. Systém trvale monitoruje stav všech prostředků, které byly administrátorem určeny jako sdílené, a v okamžiku jejich výpadku je spouští na záložním počítači. Důvod výpadku není důležitý – služba může vysadit v důsledku poruchy techniky nebo vlastní chybou programu, popř. může být dokonce ukončena chybným zásahem obsluhy. Situace může být i natolik fatální, že porucha procesoru, čipové sady či paměti způsobí odstavení celého systému. Ve všech případech přebírá její činnost záložní systém. Tento způsob práce clusteru však již vyžaduje podporu na úrovni operačního systému.

Ačkoliv historicky jde o dosti starý koncept, bývá cena takového řešení v prostředí sálových počítačů IBM či vlastnických systémů Unix velmi vysoká. Schopnost budovat zálohované clustery je ale začleněna i do rodiny Advanced Server systémů Microsoft Windows NT a Windows 2000, čímž se celá technologie stává podstatně přístupnější.

Aplikace při řízení technologie
Potřeba dosahovat velmi velké spolehlivosti a odolnosti proti náhodným selháním jednotlivých komponent systému se ale netýká jen rozsáhlých databází či serverů www. Existují i náročná použití technologických řídicích a vizualizačních systémů, kdy je nepřetržitý běh podmínkou. Proto byl systém Windows 2000 Advanced Server konfigurovaný do clusteru vybrán jako platforma, běžící pod systémem Control Web 2000, pro aplikaci komplexního řízení energetiky závodu Škoda-auto v Mladé Boleslavi (obr. 1).

Uvedená aplikace dosud pracovala na dvojici počítačů s průmyslovým systémem Control Panel v3. Svým rozsahem ojedinělá aplikace, komunikující s desítkami průmyslových automatů a jejich prostřednictvím s více než deseti tisíci vstupních a výstupních veličin a obsluhující tisíce archivních souborů, ale vyžaduje další rozšiřování, efektivnější navázání na podnikový informační systém, lepší distribuci na větší počet počítačů a zabudování služby www. Proto se realizační firma DMS rozhodla pro zavedení systému Control Web 2000 v prostředí clusteru Windows 2000 (obr. 2).

Ačkoliv Windows 2000 Advanced Server dokáže konfigurovat jako sdílený prostředek téměř jakoukoliv službu nebo aplikaci, je toto řešení často nevyhovující, protože pokud aplikace nedokáže se správou clusteru komunikovat, spouští se a zastavuje pomocí standardních prostředků API Win32. To s sebou nese značné prodlevy, spojené se zaváděním a ukončováním aplikace, rovněž tato situace nerespektuje její vnitřní stav. Chod aplikace se z jednoho serveru na druhý přepíná jako její zastavení a opětovné spuštění. Z těchto důvodů byl systém Control Web 2000 rozšířen o prostředky komunikace se správou clusteru Windows 2000. Toto rozšíření nejen dovoluje správně uchovávat vnitřní stavy aplikace, ale také mnohonásobně zkracuje reakční dobu systému při výpadku jednoho serveru. Integrací s Windows 2000 Advanced Server potvrdil Control Web 2000 svou pozici mocného nástroje pro tvorbu rozsáhlých podnikových aplikací vizualizace, sběru dat a řízení průmyslových procesů.

Moravské přístroje a. s.
tel.: 067/363 06
e-mail: info@mii.cz
http://www.mii.cz