Kompiuteris, įsigytas įprastoje parduotuvėje, vargu ar tiks kosminiam skrydžiui. Visatoje apsauga nuo klaidų yra gerokai svarbesnė nei skaičiuojamoji galia ar daugialypės terpės funkcijos.
Šią vasarą pasaulio laikraščiai pranešė apie kompiuterių darbo sutrikimus Tarptautinėje kosminėje stotyje (TKS), net buvo svarstoma galimybė evakuoti TKS. Minėti kompiuteriai – tai DMS-R (Data Management System – Russia) sistemos, sumontuotos TKS Rusijos tarnybiniame modulyje Žvaigždė. DMS-R reguliuoja duomenų srautus, rūpinasi skrydžio aukščio stabilizacija (TKS kiekvieną dieną nusileidžia 350 metrų), vandens ir oro tiekimu. Bremeno kompanijos „EADS Astrium“ atstovų manymu, toks kompiuterių sutrikimas nėra labai baisus. Būtent ši kompanija devintojo dešimtmečio pabaigoje sukūrė ir sumontavo kosminius kompiuterius.
Kosminiu laivu Space Shuttle atvykę amerikiečių astronautai stotyje montavo naują saulės bateriją. Dėl apmaudaus atsitiktinumo buvo atjungti ir avariniai maitinimo šaltiniai. Iki tol visos sistemos be klaidų veikė nuo 2000 metų liepos mėnesio. Per septynerius metus kosminiai kompiuteriai tik kartą buvo iš naujo įkrauti.
Spinduliavimas gali pažeisti kompiuterį
Reikalavimai kosminiams asmeniniams kompiuteriams (AK) yra daug griežtesni nei AK, veikiantiems Žemėje. Jau kosminiam laivui kylant AK turi ištverti milžinišką pagreitį, perkrovas. Kompiuteriai turi išlaikyti temperatūros svyravimus nuo –20 ˚C iki + 60˚C, patikimai veikti vakuume ir gerai išlaikyti kosminį spinduliavimą. Žemės atmosfera sugeria didelę aukštos energijos dalelių, kurias spinduliuoja Saulė, dalį, o kosmose AK bombarduojamas protonais, neutronais, jonais ir elektronais.
Elektronika ypač jautri dviejų rūšių pažeidimams, kuriuos sukelia kosminis spinduliavimas. Pirmiausia tai vadinamasis tiristorinis efektas, atsirandantis protonams arba jonams suardžius lustą. Dažniausiai toks pažeidimas nustatomas iškart. Kito sutrikimo efektas aptinkamas ne iš karto – aukštos energijos dalelės (pavyzdžiui, protonai) patenka į atmintinės modulį ir jo nesuardydami pakeičia modulio turinį. Prieš dešimt metų dėl tokio pažeidimo prancūzų raketa nešėja Arianna 5, praėjus šiek tiek laiko po starto, nukrypo nuo trajektorijos ir ją teko susprogdinti.
Po šio įvykio visiems tapo aišku, kad įprastas AK kosmosui netinka. Vokiečių kompanija „EADS Astrium“ TKS Rusijos moduliui sukūrė ypatingą kompiuterinę sistemą DMS-R, ypač atsparią klaidoms. Sistemos pagrindu tapo FCR (Fault Containment Regions) moduliai. Jie yra maždaug batų dėžutės dydžio (295 x 160 x 250 mm), įrengti patvariame metaliniame korpuse. Kiekvienos dėžutės viduje yra trys plokštelės: Application Layer Board, kurioje yra kompiuteris ir jo kaupikliai; Fault Management Layer, kurioje yra elektroninė klaidų atpažinimo ir korekcijos sistema; Avionics Interface, kurios paskirtis – visų rūšių duomenų keitimasis su išoriniu pasauliu. Sistema labai ekonomiška – jai reikia tik 40 vatų galios, tuo tarpu vienam šiuolaikiniam procesoriui „Core 2 Duo“ – iki 65 vatų.
Siekiant apsisaugoti nuo sisteminių klaidų, keletas identiškų FCR modulių buvo sujungti į vieną FTC (Fault Tolerant Computer) sistemą.
Bizantijos algoritmas: balsų dauguma
Kompiuteriai, dirbantys TKS, veikia bizantiškojo prijungimo būdu – keturi identiški kompiuteriai (FCR) atlieka tuos pačius skaičiavimo veiksmus bei dešimt kartų per sekundę lygina gautus rezultatus. Kompiuteriuose taikomas vadinamasis bizantiškasis algoritmas. Pagal legendą jį pirmasis pritaikė Bizantijos karo vadas, planavęs užpulti priešo tvirtovę vienu metu keturiomis armijomis. Jei priešams būtų pavykę suimti pasiuntinius ir pakeisti įsakymą, kiekvienam generolui būtų tekę persiųsti savo pranešimą trims likusiems – tokiu būdu jie būtų galėję įsitikinti gauto įsakymo tikrumu.
Analogiškas principas taikomas kompiuterių sistemose, pasižyminčiose didesniu atsparumu klaidoms. Tarpusavyje sujungti FCR praneša vieni kitiems skaičiavimų rezultatus. Sistema iš keturių AK gali atpažinti ir ištaisyti dvi bet kurias klaidas, nestabdydama visos sistemos darbo. Jei dvi vienodos klaidos užfiksuojamos viename kompiuteryje, jis pašalinamas iš tolesnio skaičiavimų proceso.
Galingumas – 486 mikroprocesoriaus lygyje
Kaip centrinis skaičiavimo įtaisas yra naudojamas su SPARC sistema suderinamas 32 bitų mikroprocesorius ERC-32, kurio taktinis dažnis – 14 MHz. Procesorius įvykdo 2,5 milijonų slankiojo kablelio operacijų per sekundę (taigi jo našumas – tarp 386 ir 486 mikroprocesoriaus). Tačiau nereikėtų pamiršti, kad FCR vietoj ištekliams imlios Windows veikia taikomosios programos, specialiai sukurtos kosminiams kompiuteriams. Bet pagrindinė šio mikroprocesoriaus ypatybė – atsparumas spinduliavimui. Tai užtikrina jo architektūra. Operatyvioji atmintinė (taip pat atspari aukštos energijos dalelių poveikiui) yra aštuonių megabaitų talpos, o taikomosios programos yra atskirame keturių megabaitų modulyje EEPROM. Atmintinėje realizuotas pirmasis klaidų atpažinimo ir korekcijos lygis, pritaikyta EDAC (Error Detection And Correction) strategija.
Už apsaugos nuo klaidų antrąjį lygį „atsakinga“ Fault Management Layer. Šioje sistemoje realizuotas bizantiškasis algoritmas. Projektuojant Žvaigždės modulį, paaiškėjo, kad, norint užtikrinti patikimą darbą, užtenka taikyti ,,lengvesnę“ klaidų korekcijos schemą. Todėl galutiniame kosminės sistemos variante naudojami tik trys moduliai.