You are here

Tehnoloogia usaldamisest

Kes on diagnostikainsener?

Pika patsiga poiss,

kes oskab programmeerida arvutit,

mis ei tööta.

Mida keerulisemaks muutub tehnoloogia, seda tõenäolisemaks muutuvad rikked süsteemides, seega peaks usaldus elektroonika ja üldse tänapäevase tehismaailma suhtes hakkama kahanema. Ometigi me usaldame tehnikat ja riketest tingitud suured katastroofid toimuvad suhteliselt harva. Kuidas on see saavutatud?

Ühel 1947. aasta septembripäeval lakkas töötamast Harvardi ülikooli arvuti Mark II. Üks rumal koiliblikas oli sattunud releekontaktide vahele ja need lühistanud. Insenerid kirjutasid labori logiraamatusse: „Today we found a bug that was a real bug!” – „Täna leidsime putuka, mis oli tõeline putukas!” Ingliskeelne bug tähendab putukat, aga inseneride žargoonis – arvutiviga. Tookord leiti arvutiveana tõeline putukas. Sõnatuletisest debugging, mis tähendab putuka eemaldamist, on aga tänaseks kasvanud välja üks olulisemaid teooriaid arvutiteaduses.

Koiliblikas on naljalugu. Tõsised probleemid tulid siis, kui arvutid hakkasid tõelisi ülesandeid täitma.

Putukad” arvutis

1995. aasta Lahesõjas eksis arvuti ümardamisvea tõttu ja võimaldas seeläbi Iraagi raketil USA sõjaväebaasi tabada. Samal aastal jäi Inteli Pentium projekteerimisvea tõttu hätta jagamistehtega ja kogu protsessorite seeria tuli tagasi osta. Mullune Toyota pidurisüsteemi arvutirike, mis seisnes hetkelises süsteemi tundetuses hüdraulika ja elektroonika ümberlülitusel, põhjustas firmale kahe miljardi dollarilise majanduskahju ja 4 500 000 auto tagasiostu. Firma aktsiad kukkusid ühe päevaga 22 protsenti. USA-s on arvutivigadest tingitud kahjum kasvanud viie aastaga viis (!) korda, ulatudes 60 miljardi dollarini aastas.

Inseneri töö on vastutusrikas. Vahel öeldakse talle tema loomingu eest aitäh, vahel unustatakse tänadagi. Harjume ju kiiresti sellega, mis on. Aga insenerile ei andestata kunagi vigu. 99 protsenti inseneride tööst on olnud see, mille eest ühiskond neid tänab. Ülejäänud üks protsent aga tähendab inseneri süüd inimkonna ees. Protsendid ei loe enam, kui insenerilooming toob hukatust, olgu selle põhjuseks siis raketil lendav aatomirelv või arvuti ja koiliblika koostöös purunev tuumajaam.

Inseneri kategooriline imperatiiv on tema loomingu usaldatavus, turvalisus ja ohutus. Usalda, aga kontrolli. Mida keerulisem on süsteem, millest sõltume, seda raskem on seda kontrollida ja usaldada. Nii ongi, et tervelt 70 protsenti arvutisüsteemide loomiskuludest läheb testimisele ja vigade otsimisele, ehk siis „putukate” eemaldamisele.

Masinate pealetung

Oleme märkamatult astunud ajastusse, kus elu dikteerivad üha rohkem arvutid. Personaalarvutid on juba troonilt tõugatud, veel teinegi maagiline 99 protsenti tähendab niisuguste arvutite osa raalide koguhulgast, mis on meie silma eest peidus, ja vaid üks protsent on need, mida näeme kas laual või süles. Seda peitu pugenud elektroonikat nimetatakse sardsüsteemideks, inglise keeles on toredam väljend – embedded system. Need arvutid asuvad südamestimulaatorites, mobiiltelefonides, koduelektroonikas, pangaautomaatides, autodes, rongides, lennukites, satelliitides – kõigest sellest sõltume täna igal hetkel ja igas kohas. Me isegi ei märka enam oma sõltuvust, kuni hetkeni, kui miski läheb valesti, sest arvutisse on sattunud „putukas”.

Sardsüsteemid on ühtaegu väärtus, millest loobumine oleks mõeldamatu, kuid teisalt kujutavad need suuremat riski, kui tehnika on eales inimesele tähendanud. Riskide maandamiseks vajame arvuti vastu samasugust usaldust kui silla vastu, millest autoga üle sõidame.

„Putukad” arvutis pole ainus probleem, mis inimest varitseb. Märkamatult on alanud omapärane võidujooks inimese ja tehnoloogia vahel: kes keda? Uusi vidinaid koos neisse peidetud arvutitega toodetakse kiirusel, kus keegi ei suuda enam järjel püsida ja kohaneda. Tehnoloogia on inimesest möödunud ja selle kättesaamine tundub lootusetu. Tehnoloogia dirigeerib elu ja inimesest on saanud vidinate järel kõndiv ori. Aga siis teevad insenerid vahespurdi ja näitavad, et nad on võimelised veelgi paremat tehnikat looma ehk siis inimese ja masina võimete võidujooksus peale jääma.

Tehnika kiire areng ja massiivne pealetung tuleneb sellest, et üha rohkem tööd on inseneri eest hakanud tegema masinad ise ehk siis tööriistad, mis insener on enda abistamiseks loonud. Kiirendus tuleb positiivsest tagasisidest. Esimese arvuti projekteeris ja valmistas inimene. Seejärel võttis ta loometöös appi omaenda ehitatud arvuti. Ajapikku on arvutid muutunud võimsamaks ja võtnud üha rohkem tööd insenerilt üle. Täna need juba nii projekteerivad kui ka valmistavad ise ehk siis „sünnitavad” endale järeltulijaid. Mida võimsamaks arvutite kogukond areneb, seda võimekamaid järeltulijaid see endale ka loob. Nii ongi tehismaailmas viimasel poolsajandil toimunud enneolematu evolutsioon: passiivsetest tööriistadest on arenenud iseteadvad subjektid. Positiivse tagasisidega haaratud masinprojekteerimine ja automatiseeritud tööstus on meie ümber loonud märkamatult intelligentse tehismaailma.

Kes keda?

Vana-Kreeka filosoofi Zenoni tuntud paradoksi järgi kaotas Achilleus võidujooksu kilpkonnaga. Ta andis suuremeelselt konkurendile pool maad edu ja selle „ohvriks” ta ka langes: iga kord, kui Achilleus oli jõudnud punkti, kus hetk tagasi oli asunud kilpkonn, oli viimane jõudnud juba järgmisse punkti, ja nii edasi lõpmatuseni, ehk siis kilpkonn oli alati Achilleusest pisut ees.

Kas tehisintelligents on võimalik? Ehk siis parafraseerides Zenoni: kas tehnoloogia saab kord inimese kätte võidujooksus intelligentsuse rajal. Osa meist arvab, et intelligentseks ei saa masin kunagi. Teine osa väidab, et masin on juba ammu võimekam (loe: intelligentsem) kui inimene. Aga kõik sõltub definitsioonist.

Võib debateerida nii, et arvuti on saanud intelligentseks siis, kui oskab kõike seda, mida seni on osanud üksnes inimene. Seega tähendaks tehisintelligents seda, et tuleks programmeerida arvuti lahendama ülesannet, mida seni on osanud lahendada ainult inimene. Kui arvuti on selle ülesande lahendanud, siis sellest hetkest peale ei sobi see ülesanne enam tehisintelligentsi kriteeriumiks, sest selle on lahendanud mõlemad, nii masin kui inimene. Nõnda arutledes jääb ette alati inimene, kui tal vaid leidub ülesanne, mida masin pole veel ära lahendanud. Ja tehisintelligents pole seega kunagi saavutatav.

Samas oskab arvuti juba praegu mängida malet paremini kui inimene. Tehisintelligents ei pea olema tingimata inimintelligentsi täpne koopia, vähemalt nii kaua, kuni arvutid töötavad teisel põhimõttel kui inimaju. Õpetlik on kirjutusmasina leiutamise lugu. Algul püüti konstrueerida masinat, mis produtseeriks kirja inimese käekirja kujul. See polnud hea idee. Otstarbekamaks kujunes luua uut tüüpi trükitähtede süsteem ja sellel põhinev mehaaniline kirjutusmasin. Nii pole ka mõtet taga ajada inimmõistust, mille olemust me üldse halvasti tunneme. Targem oleks seda hoopis ületada. Nii nagu Achilleuski oleks lihtsalt pidanud astuma kilpkonnast üle.

Homne päev on pilverobootika käes

Veel viisteist aastat tagasi ei osanud keegi ette kujutada, mida toob endaga kaasa internet. Google’i võidukäik on enneolematult raputanud kirjastusi, teadust, koole, börsi ja kultuuri. Kuid see on alles algus. Hoogu on võtmas asjade internet, mis teeb võimalikuks kaugsuhtlemise inimeste ja asjade vahel. IT-maailmas levib pilvandmetöötlus, mis tähendab, et juba lähitulevikus hakkavad robotid koosnema kahest tükist: maapealne (roboti keha) ja „pilvepealne” (roboti aju). Sattudes tundmatusse keskkonda, saadab robot pildi enda ümber olevatest asjadest „taevasse” (pilveserverite võrku) ja saab tagasi nõu, mis iganes ka ei vajaks nende asjadega ümberkäimiseks. Inimese peaks kõigepealt koolitusele saatma, et teda tundmatu keskkonna jaoks ette valmistada. Robot aga laeb alla programmi koos vajaliku tarkusega ja kooli saata pole robotit vaja. Homne päev on pilverobootika käes ja see on hoopis võimsam värk kui internet. Internetiga võid üksnes suhelda, pilverobotile aga ütled: „Havi käsul, minu soovil!”

Oli aeg, kus üksainus arvuti teenis sadat inimest. IBM-i president Thomas Watson olevat koguni kord vihjanud, et kogu maailma tarbeks piisavat üksnes viiest arvutist. Aga siis tulid personaalarvutid – igale inimesele tema enda oma. Täna teenivad juba sada arvutiorja ühtainust peremeest. Näiteks autos abistab juhti sadakond mikroprotsessorit.

Ennustada Watsoni kombel seda, mis saab homme niisuguse arengutempo juures nagu tänane, on võimatu. Futuristid filosofeerivad singulaarsusest – see on punkt, kus enam ei tea, millised on laius- ja pikkuskraadid ning mis toimub ümberringi. See on punkt, kus kiirendus võib ulatuda lõpmatusse ja kus enam ei saa aru, kuhu sa kiirened. Matemaatiliseks singulaarsuseks nimetatakse punkti, kus matemaatiline objekt ei ole enam määratud. Tehnoloogia mõttes ligineme singulaarsusele, kus tehismaailma arengu ennustamine on võimatu ja võib üksnes fantaseerida.

Me ei tea näiteks, kuidas infoplahvatus hakkab mõjuma inimese mälule, tähelepanule ja vaimsetele võimetele. Uued meediad on põhjustamas muutusi meie mõtlemisaparaadis. Loovutades otsustamiskompetentsi järk-järgult arvutitele, võime hoopiski unustada iseseisvalt mõtlemise, kuna me ei tea enam, mis on tähtis ja mis mitte, ning võime alati toetuda arvutile. Ja optimismi meil jätkub: küll laptop või mõni mobiilne arvutav vidin meid juba aitab, kui hätta jääme, või alarmeerib, kui midagi valesti juhtume tegema.

Filosoof Herbert Marshall McLuhan on juhtinud tähelepanu paradoksile, et iga tehniline revolutsioon on „inimese küljest miskit amputeerinud”. Autod on võtnud meilt käimislusti, televiisor läbielamise võlu, kalkulaator on pannud meid unustama ükskordühe ja nüüd on arvuti meilt võtmas tervet mõtlemisvalmidust. Mõtlemine rändab üha rohkem meist väljapoole ja meie aju hakkab koosnema edaspidi kahest osast – sellest, mis on meie peas, ja sellest, mis on elektrooniline ning asub „pilvedes”.

Milline neist kahest aju poolest peale jääb ja kuhu elektroonika meid lõpuks viib, ei tea. Aga veelgi raskem on ette näha seda, mida võivad korda saata „putukad” transistoride vahel, millest meie elugi võib sõltuda.

Saatuslikud komakohad

Elektroonika on innovatsiooni mootor. Näiteks auto arengu määrab koguni 90 protsendi ulatuses elektroonika. Auto hinnast moodustab elektroonika osa peaaegu poole. Sellest omakorda pool kulub tarkvarale ja poole moodustab riistvara hind. Ühe koodirea kirjutamine tarkvaras läheb maksma paarkümmend dollarit. Kaitsetööstuses, kus vastutus on kõrgem, tõuseb hind juba sajani ning kosmoselaevade puhul koguni tuhande dollarini. Nende numbrite tähendust mõistame, kui meenutada Šveitsi tarkvaraguru Niklaus Wirthi tähelepanekut, et iga seitsmenda koodirea kirjutamisel teeb programmeerija ühe vea. Vigade ärahoidmine ja tehnika usaldusväärsuse tagamine on kallis. Riist- ja tarkvara testimiseks ning vigade otsimiseks kulub näiteks auto valmistamisel 20–25 protsenti selle hinnast.

Tarkvara loomine tähendab programmide kirjutamist. Paradoksaalne on, et ka riistvara projekteerimine ehk disainimine tähendab tänapäeval programmide kirjutamist. Integraalskeem ehk kiip kujutab endast komponentide võrku, kus sõltuvalt „mikroskoobi” võimsusest võib eristada mäluplokke, aritmeetikaseadmeid, registreid, loogikalülisid või koguni nanomeetrilisi transistore. See „mikroskoop” määrab abstraktsioonitasandi, millel vaadelda arvuti struktuuri. Niisuguse võrgu plaani loob insener, kirjeldades seda spetsiaalses keeles, nagu näiteks VHDL, Verilog või SystemC. Inseneri kirjutatud programmi järgi sünteesivad vastavad kompilaatorid ehk spetsiaalsed disainiprogrammid konkreetse riistvara andmefailide ehk disaini kujul, mille põhjal valmistatakse tööstuses lõplik kiip. Seega kujutab ka riistvara projekt endast tegelikult tarkvara, mille on programmeerinud inimene ja mille põhjal robot valmistab toote.

Arvutivigade tekkimise põhjusi on palju. Tarkvara- või siis disainivead on eriti ohtlikud seetõttu, et muudavad vigaseks kogu valmistatud toote seeria.

Miks ei suutnud Lahesõjas ameeriklaste Patriot tabada Iraagi mürsku, mis tappis 28 sõjaväelast? Patrioti pardaarvuti tegi ajaarvutuses ümardamisvea, millest piisas valearvestuseks läheneva raketi trajektoori hindamisel. Oli vaja nimelt teisendada kümnendiksekundites antud arvuti reaalkellaaeg sekunditesse ehk siis jagada kümnega. Kuna arv 1/10 tähendab lõpmatut binaarmurdu

1/10 = 1/24+1/25+1/28+1/29+1/212+1/213+.... = 0,0001100110011001100110011001100 …

siis oli võimalik sellest murrust võtta parajasti nii palju komakohti, kui palju mahtus arvutisõnasse. Patrioti arvutisõna pikkuseks oli 24 bitti, seega sai kasutada ainult 24 kohta pärast koma (paksult näidatud osa). See väikene ümardamisviga, korrutatuna aga suure arvuga, mis vastas arvutikella reaalajale, põhjustas lõpuks küllaltki suure vea, mis võrdus 0,34 sekundiga. Selle aja jooksul jõudis iraaklaste Scud, mille kiirus oli 1,6 kilomeetrit sekundis, lennata ligi pool kilomeetrit, mis jäigi Patrioti arvutis nii traagiliselt kahe silma vahele.

1995. aastal tuli turule vigane Inteli mikroprotsessor Pentium. Jagamise algoritm kasutas tabelit, milles oli 1066 arvu. Tabeli laadimisprogrammis olevasse tsüklisse sattus aga programmeerimisviga, mille tõttu kirjutati tabelisse viis arvu vähem. Selle tulemusena ei osanud protsessor arve õigesti jagada ja tuli maailmaturult kõrvaldada.

1996. aastal plahvatas mehitamata rakett Ariane 5 üsna varsti pärast starti. Rakett maksis seitse miljardit dollarit. Õnnetuse põhjuseks oli tarkvaraviga inertsiaalsüsteemis. Kiirust väljendav 64-bitine ujukoma arv teisendati 16-bitiseks täisarvuks. Aga see osutus suuremaks kui maksimaalne arv 32 768, mida saab esitada 16-bitise täisarvuna. Siit viga johtuski.

Riistvara valmistamise protsessis võivad tekkida omakorda vead, mis väljenduvad riistvara riketena, aga puudutavad üksnes konkreetset toodet, näiteks katkine või puuduv ühendus, lühis ühenduste vahel, katkised transistorid või keerulisemad tehnoloogilised ebatäpsused, mis võivad mõjuda lubatust suuremate signaaliviidetena või signaalide „ülekostvusena” juhtmete vahel. Hiljem, süsteemide kasutamisel, võivad tekkida lisaks mitmesugused ajutised tõrked, tingituna kosmilisest kiirgusest, elektromagneetilistest väljadest või muudest ekstreemsetest töötingimuste muutumistest.

Mida keerulisemaks muutub tehnoloogia, seda tõenäolisemaks muutuvad rikked süsteemides, mis aga tähendab seda, et ka usaldus elektroonika ja üldse tänapäevase tehismaailma suhtes peaks hakkama kahanema. Ometigi me siiski usaldame tehnikat ja riketest tingitud suured katastroofid toimuvad suhteliselt harva. Kuidas on see usaldus saavutatud?

Ennustus, millest sai seaduspärasus

Mikroelektroonika on ime. Sajad miljonid ja miljardid transistorid peavad töötama täiuslikult. Aga looduse vastu ei saa. Mida rohkem on süsteemis transistore ja mida väiksemad on nende mõõtmed, seda suurem on tõenäosus, et mõni transistoridest on siiski vigane. Just niisuguse tõenäosuse kasvamise suunas elektroonika praegu areneb.

1965. aastal palus ajakiri Electronics Magazine ühel Fairchildi firma asutajal Gordon Moore’il ennustada integraalskeemide ehk kiipide arengut järgmiseks kümneks aastaks. Hinnates senist arengukulgu oma firmas viimasel neljal aastal, kui tänu fotolitograafia täpsuse tõstmisele oli õnnestunud teha transistore järjest väiksemaks, avastas Moore, et transistoride arv kiibis oli kahekordistunud iga aasta jooksul. Nii pakkuski ta välja tuhandekordse transistoride kasvu järgmiseks dekaadiks, mis pidi tähendama, et 1970. aastate keskpaigaks on ühes kiibis juba 64 000 transistori.

Kiipide areng jätkus siiski pisut aeglasemalt ja kümme aastat hiljem Moore korrigeeris oma ennustust, pakkudes kahekordistumise perioodiks kaks aastat. See osutus nüüd aga juba liiga pessimistlikuks ja tegelik areng on tänaseni toimunud nii, et transistoride arv kahekordistub poolteise kuni kahe aasta jooksul. Moore’i seadust on käsitletud kui aksioomi, tegelikult on see üksnes rusikareegel ja nii on väitnud ka Moore ise. Samas on hämmastav, et see reegel on kehtinud juba 45 aastat, mistõttu Moore’i peetakse tõeliseks prohvetiks ja tema ennustusest on saanud seaduspärasus. Hiljuti Inteli välja lastud 8-tuumalise protsessori kiip Intel® Xeon® processor 7500 sisaldab 2,3 miljardit transistori. Transistoride tihedus on veel üksnes paar-kolm korda väiksem kui neuronite tihedus ajus: 5×107 ühel ruutsentimeetril.

Moore’i seadus on muutunud juhtniidiks uurimis- ja arendustöö planeerimisel elektroonikatööstuses. Elektroonikaseadmete areng on hästi kooskõlas Moore’i seadusega, näiteks koos transistoride arvu kasvuga kiibis kahanevad transistoride suurus ja hind, kasvavad töökiirus ja mälumaht, isegi pikslite arv fotoaparaatides. Seejuures pidas Moore oma ennustust formuleerides silmas ainult transistoride tiheduse kasvu kiibis.

Futuristidel, kes käsitlevad Moore’i seadust laiemas tähenduses, on aga lausa hoiatav vaade seaduse toimele. Nende arvates tähendab tehnoloogia eksponentsiaalne areng ühiskonna viimist tehnoloogilisse singulaarsusesse ehk määramatusse.

Moore’i teine seadus

Tehismaailma rikkalikkuse, tarkuse ja keerukuse kasv on olnud senise katkematu innovatsiooni tulemus, kus võlgneme tänu eelkõige Moore’i seaduse püsivusele. Kui transistori mõõtmete lähenemine füüsikalisele piirile põhjustaks seda, et seadus lakkaks toimimast, katkeks ka kogu innovatsioon ja seiskuks areng.

Kahjuks on aga kooskõlas Moore’i seadusega tõepoolest kaasnenud mitmed negatiivsed faktorid. Koos transistoride arvuga kasvab ka kiibi võimsustarve ja energiatihedus, millega on otseselt seotud füüsikaliste defektide tõenäosuse kasv. Kiipide töösagedus on kasvanud samuti Moore’i seaduse järgi vastavalt sellele, kuidas kahanesid transistoride mõõtmed. Kiireimate protsessorite töösagedus ulatub praegu gigahertsidesse. Kuid energiatiheduse suurenemine ja kiipide ülekuumenemise oht on sundinud töösagedust piirama. Tulemuseks on paradoks: transistoride arv küll kasvab, aga kiibi töökiirus väheneb. Just seda me aga elektroonikalt kõige vähem ootame. Transistoride arv kiibis ei huvitagi tegelikult tarbijat. Teda huvitab töökiirus. Kogu innovatsioon, sardsüsteemide kvaliteet, fotokaamerate säritusaeg, arvutimängude atraktiivsus – kõik sõltub eeskätt kiipide töökiiruse kasvust. Ja nüüd äkki – lagi on käes.

Ometi leidsid insenerid väljapääsu. Seni tähendas transistoride töösagedus arvuti töökiirust. Aga see ei pea üldsegi nii olema. Lahendus leiti selles, et kiibi töösagedus lasti küll alla, aga kiipi pandi ühe protsessori asemel mitu lihtsamat, mille vahel jagati töö paralleelselt ära. Kokkuvõttes töökiiruse langusele vaatamata arvuti jõudlus hoopis kasvas. Moore’i seaduse „päästis” paralleelsuse idee.

Arvutite töökiirust ei iseloomustatagi enam taktsagedusega ehk transistoride töökiirusega, vaid hoopis operatsioonide arvuga sekundis: 1 flops tähendab ühte operatsiooni sekundis. Supearvutite valdkonnas käib tihe võidujooks arvutite jõudluse tõstmisel. Kui veel möödunud aasta lõpul tunnistati maailma kiireimaks Hiina superarvuti Tianhe 1A, mille töökiirus on 2,5 petaflopsi ehk 2,5×1015 operatsiooni sekundis, siis Jaapani teadlaste loodud superarvuti K Computer on saavutanud juba kiiruse 8,2 petaflopsi . Arvuti peaks lõplikult valmima tuleva aasta suvel.

Paralleelsuse idee tõi uue paradigma tehnoloogiasse – üksikute keeruliste protsessorite asemel hakati projekteerima mitmiktuumprotsessoreid, mis koosnevad paljudest lihtsamatest protsessoritest. Seejuures tuumade arvu kahekordistamine tähendab ka protsessori jõudluse kahekordistumist. Transistoride arvu kahekordistamine ühesainsas protsessoris seda ei teeks, küll aga kulutaks rohkem energiat. Niiviisi hakkas toimima nüüd ka uus Moore2 seadus, mis tähendab tuumade arvu kahekordistumist kahe aasta jooksul.

Uueks väljakutseks elektroonikas on 3D- ehk kihiliste kiipide loomine, kus eri kihtidel realiseeruvad eri funktsioonid: ühel kihil on protsessorid, teisel mälud, kolmandal toimub infovahetus. Klassikalisele horisontaalsele integratsioonile lisandub vertikaalne, mis veelgi avardab tehnoloogilisi võimalusi.

Vahespurtidest

Moore’i seadusele vastandub paradoksaalselt üks teine – Wirth’i seadus, mille üheaegselt Moore’i omaga formuleeris Niklaus Wirth ja mis väidab, et tarkvara aeglustub kaks korda iga kaheksateistkümne kuuga. Seletatav on see sellega, et tarkvara muutub järjest keerukamaks ja universaalsemaks. Algseid lihtsaid funktsioone täiendatakse üha keerukamate võimalustega, mis aga muudavad keerukamaks kogu realisatsiooni ja mille tulemusena algfunktsiooni täitmine aeglustub. Tänu riistvara kiiruse kasvule me õnneks aga ei märka seda. Lisavõimalusi pakub ka tarkvara projekteerimine arvutuste paralleliseerimiseks mitmiktuumprotsessoritel, millele on hakatud tähelepanu pühendama alles hiljuti ja mis on uus väljakutse tarkvarainseneridele.

Sarnaselt tarkvara projekteerijatele pole tehnoloogia vahespurdile suutnud vastata ka riistvara disainerid ja diagnostikainsenerid. Protsessori ehitab transistoridest disainer, kasutades selleks eritarkvara – raalprojekteerimise tööriistu. Paraku on disainitarkvara jõudlus eksponentsiaalses sõltuvuses transistoride arvust kiibis. Mida rohkem transistore, seda aeglasemalt kulgeb projekteerimine, või jääb projekteerimise kiirendamiseks efekt transistoride arvu suurenemisest kasutamata. Seda nähtust on hakatud nimetama disaini produktiivsuse kriisiks.

Vahepeal on siingi toimunud paradigma vahetusi. Näiteks on levima hakanud nn korduvtarvituse idee, mis tähendab, et kiipe projekteeritakse mitte enam transistoride tasemel, vaid pannakse kokku ostetavatest koostisosadest, mis on projekteeritud eelnevalt kusagil mujal. Paradigmade muutused on kahandanud tehnoloogia edumaad disainerite produktiivsuse ees. Paralleelsuse probleemi lahendamine ja uus Moore2 seadus on uued lisavõimalused ja ühtlasi tõsine väljakutse nii riist- kui tarkvara projekteerijatele.

Kriminaalsed transistorid

Nii nagu ühiskonnas oleks parem elada, kui seal poleks kuritegevust, nii võiksime end kergemini ja täielikumalt usaldada tehismaailma meelevalda, kui seal ei ringleks kuritegelikke transistore ja „putukaid”.

Leida üles kriminaalne transistor miljardite hulgast on ülesanne, mille keerukust on raske tajuda. Et leida kiibis vigane transistor, tuleks saata läbi kiibi signaale ja kontrollida, kas need õigesti pärale jõuavad. Signaalid peaksid läbima iga transistori vähemalt korra ja niiviisi, et mingi võimaliku vigase transistori puhul vähemalt üks signaal saaks sellest veast mõjutatud ja kannaks seda mõju vea asukohast vaatluspunktini välja. Põhiprobleem on leida niisugused signaalide levimismarsruudid, kus vea tõttu moonutatud signaalidel poleks võimalik transistoride rägastikus sumbuda või „peitu” pugeda ehk siis üksteise eest varjatuks jääda. Seda probleemi polegi veel õieti suudetud lahendada eriti keeruliste skeemide puhul. Aga mida tähendab keerukus?

Diagnostika paradoksid

Kumba on keerulisem mõista ja käsitleda, kas miljardit või lõpmatust? Et testida näiteks analoogvõimendi korrasolekut, peaksime võimendi sisendsignaale valima analoogsignaalide hulgast, mille arv on teoreetiliselt lõpmatu. Digitaalarvuti testimisel, näiteks 32-bitise summaatori puhul, mille sisendis on 64 juhet, peaks valikuid tegema 264 »1019 erineva signaalikombinatsiooni ehk arvupaari hulgast. 1019 on palju (!) väiksem kui lõpmatus. Seega peaks ka digitaalse summaatori testide valik olema lihtsam kui analoogvõimendi puhul. Aga nii see ei ole. Võimendi puhul piisaks sellestki, kui kontrollida, kas seade võimendab ühtviisi näiteks nõrka, keskmist ja tugevat signaali. Teiste sõnadega, piisaks ka kolmest testist, veendumaks, et võimendi töötab. Digitaalset summaatorit aga ei saa kindlasti testida ainult kolme arvupaariga, sest sel juhul saab vaid üks väga väike osa transistoridest ära testitud. Teiselt poolt, kõigi 1019 arvupaariga testimine oleks samuti võimatu, sest selleks kuluks aastaid. Lahendus on kusagil vahepeal.

Paradoks on selles, et ehkki analoogelektroonika funktsionaalseks aluseks on lõpmatu arvude maailm, siis just digitaalsüsteemid, mis toimivad lihtsamana tunduvas lõplikus arvude maailmas, „tõid teadusse” keerukuse kui uurimisobjekti mõiste. Keerukust ei määra üksnes hulga suurus, näiteks transistoride arv kiibis, vaid ka hulga elementide omavaheliste seoste iseloom.

Ühes laboris korraldati katse, kus elektronskeemile hakkasid testi koostama insener ja arvuti. Insener lõpetas töö veerand tunniga, arvuti aga maadles ülesandega veel ka pärast kahte ööpäeva. Arvuti nägi miljardit ühesugust transistori ja eksis ära nende omavaheliste ühenduste rägastikku. Insener aga tundis ära tuttavaid transistorkooslusi (loendure, dekoodereid, registreid) ning oskas testide konstrueerimisel loovalt ära kasutada nende koosluste funktsionaalseid omapärasid. Insener osutus masinast intelligentsemaks.

Nüüd kordus kirjutusmasina loomise viga. Hakati ehitama ekspertsüsteeme, õpetama masinatele samu tarkusi, mida insenerid aastate jooksul olid kogunud, eesmärgiga masinaid intelligentsemaks teha. Katse ebaõnnestus. Esiteks kasvas vajaliku eksperttarkuse hulk kiiremini, kui seda suudeti manustada masinale. Seega pidi ikkagi targa masina kõrvale istuma veel targem insener.

Edasine areng järgis seda, mis toimub ikka ühiskonnas. Kui miski „üle käte” läheb, luuakse seadus, et kodanikke vaos hoida. Ka elektroonika projekteerimisel hakati looma reegleid ja seadusi, mis kitsendasid disaini vabadust, aga lihtsustasid kontrollimist ja kriminaalsete transistoride üles leidmist.

 

68 000 kanapoega

Üks esimesi elektriseadmeid, mida ma kooli füüsikatunnis tundma õppisin, oli tester. Testri küljes oli kaks juhet, mille abil sai mõõta pinget, voolu ja takistust. Elektroonika muutus aga keerukamaks ja lihtsad käsitestrid asendusid automaatsete testsüsteemidega. Aga testsüsteem saab ikkagi suhelda kiibiga üksnes väliskontaktide kaudu, samas kui testitavad transistorid ise „poevad” üksteise taha varju kiipide sügavusse. See pole veel kõige hullem. Testrite keerukus on kiiresti kasvanud, sest testida tuleb üha keerukamaid kiipe. Automaatsed testimissüsteemid on kallid, makstes miljoneid dollareid. Seetõttu ei saa neid kuigi sageli moodsamate vastu välja vahetada. Samas vananevad testrid kiiresti, sest nende töökiirus jääb maha pidevalt kiirenevate testitavate kiipide omast. Vana, kohmakas ja aeglane tester ei suuda enam jälgida kiirelt kepsutavaid transistore ja kriminaalsed transistorid suudavad habemikku testrit osavalt ära petta. Uusi kiipe on tarvis testida nende enda töökiirusel dünaamikas, milleks vanemal tehnoloogial põhinevad testrid pole võimelised.

1980. aastatel töötati firmas Motorola välja mikroprotsessorit Motorola 68000, milles oli 68 000 transistori. Testiosakonnas olid kibekiired tööpäevad, kuna testide kirjutamine mikroprotsessorile hakkas käima üle jõu. Osakonnajuhataja võttis stressi maandamiseks vaba nädalavahetuse ja sõitis külla farmerist vennale Texases. Pärast hommikusööki pidi farmer minema söötma kanu. „Palju sul neid ka on?” küsis vend muuseas. Kuuldes, et kanu pidi olema 68 000, meenus juhatajale ta oma probleem. Huvi tõusis ja ta läks koos vennaga asja kaema. Kui ta nägi, et terad puistatakse lihtsalt laiali ja kanad hakkavad ISE nokkima, tabas teda kui välk selgest taevast mõte: miks mitte panna ka 68 000 transistori ennast ISE (!) testima ...

Nii sündis ühes Texase kanafarmis digitaalsüsteemide isetestimise idee. Tänaseks on sellest saanud standard. See pole veel kõik, süsteemid ka parandavad ennast juba ise. Keerulised arvutisüsteemid haigestuvad, nagu inimenegi aeg-ajalt, aga saavad ise jälle terveks. Ja üha rohkem võime usaldada enda ümber olevat tehnikat, vaatamata sellele, et see muutub üha keerukamaks ja rikete tõenäosus aina kasvab.

Quo vadis, teadus?

Maailm ja selle olemus on muutumas. Kõik uus meid ümbritsevas tehismaailmas, kogu innovatsioon sünnib eeskätt tänu arvutite võimsusele, mis aga pidevalt kasvab. Robotid võtavad inimeselt töö. Kommunikatsioon asendab liikumise, kaob vajadus autode järele. Inimese ja masina vaheline piir hägustub, infotehnoloogia ühendatakse implantaatide abil vahetult inimese aju ja närvisüsteemiga. Inimmõistus nihkub üha rohkem väljapoole inimkeha. Professionaalne teave muutub aegunuks selle hankimise hetkel. Teaduskraadide tähendus hakkab seisnema üksnes eneseaktualiseerimises ning kaotab peaaegu täielikult kommertsiaalse tähenduse. Niiviisi ennustatakse tulevikku.

Tehisintelligentsi singulaarsuse instituut tegeleb singulaarsuse uurimisega ja on seadnud endale kaks ülesannet: fokusseeruda üldisele tehisintelligentsile ja ohutusele. Viimane on eriti oluline. Aga kõik see pole uus: arvutiinseneride kogukonnas on üks hulk uurijaid, kes juba mõnda aega tegelevad süsteemide usaldatavuse (ingl dependability) ja ohutuse probleemidega, kus eesmärgiks on seatud, et usalduse projekteerimine (ingl design for dependability) peab käima käsikäes kogu projekteerimise endaga. Tuleviku robotite maailmas seisneb põhiline oht mitte robotite võimalikus mässus, vaid loodusressursside väärkasutuses robotite endi arengu nimel inimkonna arvel. Praegu ohustab inimene ennast ise, näiteks üritades energia jätkusuutlikkuse nime all kasutada põllumaad energiametsade kasvatamiseks nisu asemel. Kasvava ohu allikaks on tuumaelektrijaamad.

Kuhu liigub siis tehnoloogilise singulaarsuse rajal teadus? Tundub, et kolme fundamentaalse avastusega – aatomi, geeni ja arvutiga – on põhilised mateeria, elu ja arvutamise seadused ära tunnetatud. Romantiline teaduslike avastuste periood (ingl age of discovery) on asendumas pragmaatilisema teaduse rakendamiseperioodiga (ingl age of mastery). Innovatsiooniliidriteks on saamas mitte tehniliste uuenduste loojad, vaid need, kes tegelevad rakenduste kontekstiga. Selline arengutendents on soodus Eesti teadusele ja tööstusele. Meil ei ole vaja hirmkalleid uurimis- ja tootmiskeskkondi, tööstust, mis on suunatud uut tüüpi tehnoloogiate väljatöötamisele. Vaja on üksnes seista kahe jalaga maas, tunnetada ühiskonna vajadusi ning avastada juba olemasoleva tehnoloogia uusi rakendusvõimalusi.

Meid ümbritsev tehiskeskkond on täis arvuteid, mis inimest teenindavad. Teenindamisvõimalustel pole aga piire, nii nagu muinasjutuski: havi käsul, minu soovil. Havi rollis on sardsüsteemid ja nende loomine olekski tänapäeval loomupärane teaduse ja tehnoloogia väljund – lõpmatu innovatiivsuse allikas. Avaraid kommertsperspektiive pakub järgmine interneti põlvkond – tarkade asjade internet. Innovatsiooni võti on arvutite tarkvaras, ehk õppinud ja haritud inimese aju võimes seda luua. Hallollust meil Eestis jätkuks, kui vaid haridus õiget rada käiks. Arvutite valdkonnas on tark- ja riistvara piirid ähmastumas. Rekonfigureeritavate tehnoloogiate puhul on programmeeritavad mõlemad – nii tark- kui riistvara, mis tähendab seda, et võime ise programmeerida just niisuguse riistvara, nagu soovime, ja ei olegi tarvis omada kallist nanoelektroonika tööstust.

Kuna tarkvarale taandatud töö nõuab üksnes ajuressurssi, siis IT-alane kõrgharidus peaks olema Eesti tähtsaim prioriteet, kuna mõjutab mis tahes teisi teaduse või elu valdkondi. Aga parim küberkaitse ühel väikesel maal oleks IT-alane riiklik sõltumatus.

 

RAIMUND-JOHANNES UBAR (1941) on lõpetanud Tallinna Tehnikaülikooli 1966. Praegu Tallinna Tehnikaülikooli arvutitehnika ja -diagnostika professor. Teaduskraadid süsteemide diagnostika valdkonnas Moskva Baumani nimelisest Kõrgemast Tehnikakoolist 1971 ja Läti Teaduste Akadeemiast 1986. Professor (1987), Eesti Teaduste Akadeemia akadeemik (1993). Juhatanud Tallinna Tehnikaülikoolis arvutite kateedrit, olnud Eesti Teadusfondi Nõukogu esimees. Pidanud loenguid rohkem kui kahekümnes ülikoolis. 1959–1967 kuulunud Eesti koondvõistkonda sportlikus võimlemises.

 

 

Ilmume ka e-ajakirjana: