Nepřetržitá dostupnost počítačových systémů je v dnešní době něčím samozřejmým. Bez té by zkolabovala koordinace energetických sítí, letecké, lodní a vlakové dopravy, satelitní komunikace, služby na internetu, platby kartou telefonování,... Navzdory klastrování, virtualizaci, využívání paralelní systémů a dalších opatření k vyloučení chyb, se jejich poruchám vyhnout nejde.
Je až s podivem, že již před čtyřiceti lety byly k dispozici systémy schopné zajistit přepravu astronautů na Měsíc a zpět. Celá lunární mise, od startu, navedení na dráhu k Měsíci, jeho orbitu, přistání, následné setkání lunárního a velitelského modulu a pak navedení zpět k Zemi a že vše pracovalo téměř bezchybně.
Jak se s technologií 60-tých let podařilo dosáhnout tohoto malého zázraku?
Mise Apollo
12. dubna 1961 hodně Američanů zkoprnělo, kyž se z radia ozvalo, že Sověti s lodí Vostok 1 dopravili Jurie Gagarina na oběžnou dráhu Země. Bylo jasné, že jejich projekt se stejným cílem – Mercury, je nejméně o rok pozadu. Krátce na to John F. Kennedy přednesl v Kongresu ambiciózní plán na výzkum vesmíru s přistáním na Měsíci:
“Věřím že tento národ může ještě před koncem následujícího desetiletí zajistit přistání člověka na Měsíci a jeho bezpečný návrat zpět na Zemi. Žádný jiný vesmírný projekt nebude v tomto období více působivý nebo více důležitý. Žádný nebude tak obtížný a nákladný.”
Cíl byl splněn dne 20. července 1969, když Neil Armstrong při výstupu z modulu Eagle na Měsíci pronesl: "Je to malý krok pro člověka, ale velký skok pro lidstvo".
"Velký skok" lidstva stál americké daňové poplatníky 24 miliard USD (v cenách roku 1960). Během osmi let si je mezi sebe rozdělilo 400 000 zaměstnanců, 20 000 amerických firem a universit. A to v tom ještě nění započítána cena vesmírné lodě a rakety, dalších závratných 83 miliard dolarů. Mistrovský kousek s přitáním na Měsíci se pak podařil do roku 1972 zopakovat ještě 5x.
Počítače Apollo
Každý let k Měsíci tehdy byl v režii tří počítačových komplexů. Základní v řídícím středisku, palubní navigační a počítač pro řízení rakety.
Počítače řídícího střediska měly na starost navigační vypočty. Byly přdimenzované a část jejich kapacity zajišťovala nepřetržité testování systému.
Nešlo o levnou záležitost. Redundance bylo dosaženo propojením pěti nově postavených počítačů IBM 360 Model 75 s operačním systémem MVS. Na implementaci a testování systému se podílelo až 3500 zaměstnanců IBM. Šlo o dobu přechodu od elektronek k tranzistorům. IBM vyrobila svůj první tranzistorový počítač, IBM 7090 prakticky nedávno (1959). Počítače nasazované roku 1964 v NASA byly mezi prvními dodávanými IBM serie 360s. Serverovna IBM pro misi Apollo 11 byla plná těchto třistašedesátek a jejich celkový výpočetní výkon byl 1,7 MIPS (milionů pokynů za sekundu) a disponovala 1MB paměti, později rozšířenou na dva a pak čtyři MB pro každý počítač. Dnešní běžně dostupný procesor jako Intel Core i7 4770k má hodnotu MIPS 124.850-127.273, kde 8GB RAM je standard.
Programovácí personál byl rozdělen do tří skupin podle pracovní náplně:
- příprava specifikací a testovacích plánů
- úpravy MVS pro zpracování dat v reálném čase
- příprava postupů pro obnovení z havárie
Nový operační systém MVS byl založený na zadávání úkolů po dávkách, ale požadavek byl na práci s událostmi v reálném čase. Jedním z prvních úkolů programátorů tudíž bylo provést jeho modifikaci aby vyhovoval pro danou úlohu, což vyžadovalo vytvoření úplně nových vstupů do datové sběrnice třistašedesátek a hodně zásahů do jejich interní architektury. Tyto vstupy pak byly využity pro specializované komunikační karty pro příjem signálů z pozemních vysílačů, palubní telemetrie a dat ze sledování trajektorie v reálném čase. Připojení datových signálů do karet probíhalo přes pěticestný přepínač, umožňující směrovat pokyn do některého z pěti počítačů určených k jejich zpracování.
Počítače musely být schopné se zotavit z jakéhokoliv problému v situaci, kterou nikdo nepředvídal. Proto byl celý zvláštní tým specialistů vyčleněn jen na řešení procedur zotavení počítačů. Součástí testů byla simulace širokého spektra chyb a ověřování postupů obnovy. Komunikační chyby byly překlenovány kódem schopným opravit až tří-bitové chyby. Opravy probíhaly dosazením do 36-bitového polynomu (více zde). Neopravitelné zprávy byly zadané pro opakovaný přenos.
Chyby trajektorie musely být opravovány v reálném čase. Pokud by došlo k chybě u palubních naváděcích systémů, muselo by dojít k přenosům výpočtů na Zem, protože počítačové programy nemohly být opraveny - byly drženy v paměti ROM.
Simulace a testy probíhaly v součinosti astronautů s operátory systémů.
Celá tato aplikace pro sledování "environmentálních údajů a astronautů" na kosmických lodích měla dnes úsměvných 6MB a byla IBM popsána jako “do té doby nejkomplexněji napsaný software”.
Redundance těchto systémů byla zajištěna prostřednictvím současného zapojení tří z pěti IBM počítačů. Další dva byly k dispozici pro testování a vývoj, ale s tím že mohou být v případě nějakého selhání okamžitě zařazeny do produkčního systému.
Ze tří produkčních počítačů byl jeden primární, druhý v dynamickém pohotovostním režimu (stand-by) a poslední ve statickém stand-by. První a druhý počítač zpracovávaly všechna data paralelně. V případě vypadnutí primárního počítače, druhý okamžitě automaticky převzal kontrolu a stal se primárním. Současně byl třetí počítač probrán ze statického stand-by a nahrán daty z posledního bodu zotavení a poté urychleným přehráním dodatečných událostí uveden do režimu dynamického. Kontrolní body byly zapisovány na pásky každých patnáct minut, a ty pak sloužily k načtení dat do probouzeného počítače v statickém stand-by. Všechny události byly také zapisovány na pásku v momentě jejich zaznamenání a tato páska byla užita k dodatečné synchronizaci.
Během této doby obnovy pokračovaly všechny ostatní operace nerušeně. K celkovému selhání systému mohlo dojít pouze v momentě, pokud by došlo k selhání primárního počítače během přesunu počítače ve statickém stand-by do dynamického a jeho synchronizace. A i poté by pravěpodobně došlo pouze k malé ztrátě dat, která by se obratem dosynchronizovala dodatečným přenosem.
Protože byly během celé mise neustále vysoké nároky na výpočetní dobu, tak se statický stand-by počítač udržoval v pohotovosti pouze během kritických fází mise. Při jejím zahájení, iniciaci přechodu ze Zemské na Lunární orbitu, přistání na Měsíci a návratu na Zemi. Během mezidobí byl k dispozici pro jiné účely.
Navigační počítače
Na palubě velitelského modulu Columbia byl umístěn Apollo Guidance Computer (AGC). Lunární modul měl ten samý, ale nazvaný LM Guidance Computer (LGC). Oba tyto počítače sbíraly informace o letu a předávaly je astronautům a na Zem. Tento počítač vyvinula MIT Instrumentation Laboratory. Sestavila je společnost Raytheon. Pro práci s AGC ve velitelském modulu byl zelený manuál a žlutý pro LGC. Byly v nich instrukce pro případ problémů.
Počítač LGC se staral o navigaci. Kontrolní systém pro lunární modul a byl zálohován pomocí systému pro přerušení navádění - AGS. Tento systém mohl být v případě havárie LGC použit ke startu z Měsíce a setkání s velitelským modulem, ale nemohl sloužit pro přistání.
Systémy AGC a LGC byly první počítače využívající integrované obvody. Všech 4 100 obvodů bylo zkonstruováno shodně pomocí NOR hradel. Konfigurace byla připravena tak, aby poskytovala prostor pro ukládání dat a současně obsahovala logiku počítače. Rozhodnutí o použití jednotného návrhu plošných spojů pomohlo předejít problémům, které sužovaly ostatní časné IC návrhy používající kombinaci několika různých technologií.
Na počátku roku 1960 celých 60 % americké produkce všech integrovaných obvodů vykoupila NASA. Z tohoto pohledu projekt Apollo odstartoval revoluci ve výrobě mikročipů.
Paměť systémů AGC a LGC měla 2kB RAM a k tomu 36kB ROM 16-bitových slov, každá s dobou cyklu asi 12 mikrosekund. Procesor pracoval na frekvenci 1 MHz a mohl zpracovávat až 8 úloh najednou pomocí jejich řazení.
Současné počítače jsou lepší než AGC/LGC, ale nutno poznamenat že AGC/LGC se také staral o komunikaci s pozemní telemetrií, obsluhoval přibližovací radar, přistávací výškoměr, hlídal gyro kompasy, dokázal provádět optickou navigaci pomocí hvězd a dohlížel na pohonný systém. Dokázal by to také náš počítač?
Při prvním přistání na Měsíci došlo k zahlcení LGC údaji z přibližovacího radaru. Naštěstí se vyplatila investice do automatického oživení systému a ten byl schopen pozastavit některé nekritické úkoly a vrátit se do služby včas pro provedení bezpečného přistání.
Počítač pro řízení rakety
Posledním počítačem je ten který řídil raketu Saturn 5 při jejím startu. Navžen byl v NASA a postavila ho IBM. Digital Computer Launch Vehicle (LVDC) byl vložen do 21 metrového jeden metr vysokého prstence tvořil nervové centrum pro celý Saturn 5.
LVDC běžel na 2MHz a jeho paměť obsahovala 32K 28-bitových slov. Téměř neskutečné spolehlivosti bylo dosaženo pomocí implementace triple-redundantní logiky s hlasováním. V té byl každý logický proces byl rozdělen do sedmi fází. V každé fázi se hlasovalo a teprve až výsledek s nejlepším ohodnocením byl postoupen do další fáze. I když šlo o složitý systém, za více než 250 hodin svého nasazení prokázal spolehlivost vyšší než 99,6 %. Trochu předimenzované? Možná, ale představte si to prostředí, pro které byl počítač určen!
LVDC pak po necelých šesti hodinách skutečného provozu počítaje celým startem rakety, separaci, přenosem motorových dat rádiem zpět na Zemi, výpočetní kontrolu vedení a řízení motoru, dokončil svou životní práci. Třetí stupeň Saturnu V si to namířil nosem dolů do oceánu, a počítačový prstenec LVDC se vydal navždy obíhat Slunce.
Závěr
Poučení a zkušenosti z mise Apollo se v průběhu let přetavily a významně přispěly k rozvoji dnešních mainframe i vestavěných počítačů. Navíc jsou tyto lekce stále platné i pro současné vesmírné mise.
Například specializovaný počítač AP101 užitý v Space Shuttle byl další generací počítače AGC. Stejně tak byly užity původní počítače pro pozemní řídicí středisko a čerpaly ze stand-by architektury Apollo.
Lunární program vedl k vývoji kritických systémů z hlediska bezpečnosti a praxi softwarového inženýrství v návrhu a programování těchto systémů. Mnohé z těchto poznatků získaných při programu Apollo stále tvoří základ novodobých systémů s vysokýmy nároky na dostupnost.
Zdroje:
www.availabilitydigest.com
http://en.wikipedia.org/wiki/Apollo_11
http://www.ian.cz/detart_fr.php?id=2576
http://cs.wikiquote.org/wiki/John_Fitzgerald_Kennedy
Diskuze:
3.stupeň Saturnu
Jirka Niklík,2014-01-12 06:00:16
Nějak se mi nezdá věta "Třetí stupeň Saturnu V si to namířil nosem dolů do oceánu, a počítačový prstenec LVDC se vydal navždy obíhat Slunce."
Vzhledem k tomu, že LVDC prstenec byl součástí třetího stupně, tak tomu nerozumím. Nehledě k tomu, že třetí stupeň se pokud vím nevracel na Zem nikdy, buďto ho poslali na oběžnou dráhu kolem Slunce, nebo ho poslali na Měsíc, kde vytvořil další kráter.
linux
Hans Mahraner,2014-01-08 12:52:30
Na ISS se používá od loni jen linux: http://www.computerweekly.com/blogs/open-source-insider/2013/05/international-space-station-adopts-debian-linux-drop-windows-red-hat-into-airlock.html
Jeden z důvodů je asi tento: http://www.theguardian.com/technology/2013/nov/12/international-space-station-virus-epidemics-malware
Pavel Křivánek,2014-01-07 11:45:47
Řekl bych, že se jedná o využití efektu gravitačního praku pro brždění.
Jak kosm.zář.urychluje stárnutí PC komponentů?
Jaroslav Mrázek,2014-01-07 11:09:37
Je nějak kompenzována možná chyba při slun.protuberancích, nebo jsou odstávky a testy po restartu? Kolikrát je jištěná výp. technika na stanici a je vzájemně kompatibilní i s možností fyzického přemístění z modulu do modulu a nahrání dat, včetně stejného programu? A běží TAM také LINUX, nebo jaký jiná systém? Děkuji.
Rotace měsíce
Tomáš N,2014-01-06 22:32:06
Dobrý den,
chtěl bych se zeptat někoho, kdo se v tématu orientuje - proč přistávali proti rotaci měsíce?
Bylo to ve videu u článku a je to například i zde: http://galaxywire.net/wp-content/uploads/2009/06/lunar-landing-mission-profile-chart-2.jpg
Ale existují i obrázky, podle kterých se přistávalo po směru: http://www.tsgc.utexas.edu/archive/design/lander/Image2.gif
Nevím co je pravda (moc jsem to neporovnával), ale asi bych věřil spíše zdrojům, které uvádí jakoby překřížené dráhy tam a zpět místo oválu. Jenže potom mě zajímá proč by to tak v Nasa volili. Přistávat proti rotaci znamená zpomalovat z orbitální rychlosti na 0 (vzhledem k orbitě) a poté ještě více zpomalit kvůli rotaci měsíce (na horizontální rychlost 0 vzhledem k povrchu).
Kdežto kdyby přistávali z orbity stejně orientované jako rotace měsíce ušetřili by palivo, protože stačí zpomalit z orbitální rychlosti na (0 z pohledu orbity + rychlost povrchu pod nimi), tedy o dvojnásobek povrchové rychlosti rotujícího měsíce menší změna rychlosti. Rotace by jim tedy pomohla jak při přistání, tak i potom při startu a zrychlování na dosažení orbity.
Prosím opravte mě, pokud mám o něčem špatnou představu (mé zkušenosti s přistáváním na měsíci jsou omezené pouze na Kerbal Space Program a tam jsou přeci jen některé věci odlišné od reality :) ), nebo jestli existuje nějaký pro mě dosud neznámý důvod, proč by přistání proti rotaci bylo lepší.
Musí se počítat celková energie
Pavel A1,2014-01-06 23:48:57
Sice nejsem odborník, ale čistě selským rozumem:
Pro misi na Měsíc není rozhodující spotřeba energie na přistání na Měsíci, ale celková energie potřebná na celou misi. Měsíc obíhá Zemi retrográdně, takže z té osmičkové dráhy pro cestu na Měsíc a zpátky se s menší spotřebou energie přejde na oběžnou dráhu Měsíce a z ní zase na dráhu k Zemi. Přistání pak spotřebuje více energie než při oválné dráze, ale Měsíc rotuje poměrně pomalu (asi tak jednou za měsíc, pokud mě paměť neklame), takže rozdíl ve spotřebě energie při přistání v jednom nebo druhém směru nebude významný.
Podrobně to spočítat neumím, ale úspora energie při přechodu na oběžnou dráhu Měsíce a z ní bude asi rozhodující.
Uf, chyba
Pavel A1,2014-01-06 23:55:50
Teď mi došlo, jak jsem se spletl. Protože měsíc obíhá zemi retrográdně a má synchronní rotaci, tak vlastně rotuje opačným směrem než Země. Takže oni přistávali ve správném směru.
Tomáš N,2014-01-07 00:10:24
To je pravda. Já jsem tak nějak vycházel z toho, že pro přiblížení k měsíci mám mnohem větší možnosti a není nutné šetřit palivo a váhu i v tomhle stádiu. A že až přistání vyžaduje mnohem menší a omezenou loď.
Ale mám pocit, že k posunutí apoapse (omlouvám se, neznám české výrazy k tematice a nevím, co se používá v odborných kruzích :) ) o pár tisíc km je v takové vzdálenosti apoapse od Země zapotřebí jen slabé škytnutí motorů, kdežto u zpomalování na orbitu a přistávání spotřebovává radikálně víc paliva - zvlášť pokud přistává nějak ručně od oka. Ale je pravda, že ta rotace bude tak minimální, že asi šetřili raději v dřívější fázi.
Stejně si ale myslím, že cestou zpátky je vzlet po směru rotace v okamžiku, kdy stoupá Země přímo nad hlavu kosmonautů, optimální pro návrat. (Což tedy zde nemohli, protože potřebovali stejný orbit s lodí co vyzvedávala lander na orbitě měsíce, takže to je mimo téma.)
Moc děkuji za odpověď. :)
Tomáš N,2014-01-07 00:22:23
To mě právě taky napadlo, že se to točí jinak, než si myslím. Ale spíš bych řekl, že opravdu přistávali proti rotaci. Abychom si to ujasnili - tahle animace je dobře nebo špatně?: http://www.youtube.com/watch?v=Zi6FkABFcQY
Ono se to celkem špatně představuje, když člověk ve vesmíru nemá žádný pevný bod, ke kterému by to vztáhl, ale vzhledem tečně oběžné dráhy Země, kde se měsíc nachází rotuje měsíc na stejnou stranu jako Země a potom by tedy přistávali proti rotaci.
Michal Kuric,2014-01-07 21:33:36
A nemoze to byt tak, ze s prihliadnutim na to, ze mesiac vzhladom k zemi nerotuje, tak je jedno z ktorej strany sa pristali?
Jirka Niklík,2014-01-12 06:39:20
Ten obrázek přistání po směru je z projektu něčeho, co nikdy neletělo. Apollo skutečně přistávalo proti rotaci:
http://history.nasa.gov/ap08fj/pics/p23.gif
Apollo používalo "trajektorii volného návratu", t.j. kdyby se nepodařilo u Měsíce nahodit motor a zabrzdit, tak by proletěli tou osmičkou a pokračovali by zpět k Zemi, důvody byly hlavně bezpečnostní. Jestli by to fungovalo i při příletu z druhé strany to netuším.
Předpokládám, že vzhledem k menší gravitaci a tím i menší rychlosti na oběžné dráze, a vzhledem k malé rychlosti rotace Měsíce bylo asi skoro jedno, kterým směrem budou přistávat a startovat.
Nerozumím tomu že Země stoupá přímo nad hlavy kosmonautů. Když přistanu na Měsíci, tak mám Zemi pořád na stejném místě a nikdy jinak, vzhledem k vázané rotaci.
Text asi chtěl více učesat
Frantisek Kroupa,2014-01-06 20:57:49
Téma je rozhodně zajímavé, ale zpracování článku na mne působí poněkud zmatečným dojmem, tak trochu vše namíchané do jednoho pytlíčku a až příliš laicky podané.
Tak třeba: program Apollo probíhal v letech 1963–1972. Za tu dobu počítače značně vyspěly, začínalo se s počítači IBM 7094 (tranzistory), řada /360 šla na trh roku 1965 (integrované obvody typu flip chip, pak TTL) a operační systém MVS se objevil až v 70. letech. Dost těžko to vše přikrýt jediným nadpisem "Počítače pro misi Apollo 11". Typografických chybek a drobných nepřesností by se našlo více.
Diskuze je otevřená pouze 7dní od zvěřejnění příspěvku nebo na povolení redakce