Uvodnik: Dokle ti kvarovi?
Lepo je imati puno savremene opreme u kući, ali je problem u tome što se ta oprema neminovno kvari. Ako svaki uređaj ima neki svoj MTBF (mean time between failures), prosta matematika kaže da će, uz dovoljno opreme, stalno nešto biti u kvaru. A taj kvar treba dijagnostikovati, što postaje sve komplikovanije, pa onda zameniti komponente, sve ponovo podesiti… Problem iz godine u godinu postaje sve ozbiljniji, preduzimamo li išta da bismo ga umanjili?
Zamišljam da je faraon Khufu (ili, kako ga mi obično zovemo po grčkoj transkripciji, Keops), tamo negde 2600. godine pre Hrista, pozvao svog vezira i glavnog arhitektu Hemona (ili Hemiunu?), i naredio mu da sagradi najveću piramidu na svetu, koja će biti visoka 280 kubita (bezmalo 150 metara) i koja će opstati bez posebnog održavanja sledećih 5000+ godina. I eno je Velika piramida u Gizi, stoji i dan-danas. A sad zamislite da neko u ovom veku nauke i tehnike zatraži gradnju kuće koja će izdržati bez održavanja ne 5000, nego 5 godina – svi neimari bi to obećali, smejući se u sebi. Možda je tajna u tome što se Keops, ako nešto ne valja, ne bi pozivao na garanciju, tražio da se što pre nabave i zamene propale komponente, nego bi arhitektama i graditeljima odsekao nos i uši ili bi ih po kratkom postupku povešao. Ali ipak nije sve u tim snažnim argumentima: stari Egipćani su koristili pesak u prirodnom obliku, a mi ga danas transformišemo u silicijumske čipove. I tu počinju lepote… ali i problemi.
Pametna kuća, pametni automobil ili pametni grad sastoje se od desetina, pa i stotina mikroprocesorskih sklopova koji međusobno komuniciraju. Ta komunikacija obično obuhvata razne algoritme za proveru ispravnosti prenosa podataka, ali je vrlo teško predvideti sve scenarije, počev od najjednostavnijeg, kada se neko od korespondenata uopšte ne javlja (da li je to zato što nema šta da kaže ili zato što se pokvario?), pa do toga da stižu neki podaci koji izgledaju korektno, ali zapravo uopšte nisu tačni.
Evo jednog primera iz života: moj slavni kontroler za bojler, o kome sam pisao esej u PC#268, mi svakodnevno piše e-mail poruke o svojim aktivnostima. Eto, ako je nedelja kad mi niko ne piše, barem me se sete bojler, alarm, usisivač… I ja stvarno pročitam te poruke. U neko doba letos mi se učinilo da bojler dnevno radi više vremena, 140 minuta umesto uobičajenih 120. Ali nisam na to obraćao pažnju. Nedavno sam primetio da je vreme poraslo na skoro 200 minuta, pa sam pozvao majstora i pokazalo se da su dva od tri grejača na bojleru propala, radio je samo jedan. A tople vode je sve vreme bilo. Da poruka nije bilo ili da na njih nisam obraćao pažnju, crkao bi uskoro i treći grejač i onda tople vode više ne bi bilo. Eto, sad znam taj scenario i mogu da ugradim neku dodatnu pamet u kontrolerov softver, ali kome bi takvi testovi pali na pamet pre nego što se problem zaista ispoljio?
Već godinama razmišljamo o opremi koja bi se automatski popravljala. I nekih uspeha ima: recimo, memorijski čipovi i SSD-ovi sami primećuju neispravne ćelije i premošćuju pokvarene flip-flopove nekim unapred pripremljenim rezervama; korisnik ne primeti problem sve dok se rezerve ne potroše. Sa mehaničkim sklopovima to već teže ide, i najzad se sve svede na to da treba imati po dva uređaja svakog tipa: dva bojlera, dve mašine za veš, dva usisivača, dva automobila… Ako se jedan pokvari, imamo rezervu da se poslužimo do popravke i zamene. Ili slediti logiku koju je Artur Klark pripisao Ramancima, pa sve raditi po tri puta; trostruka redundansa, baš dobro zvuči!