Jos tietokone on kuuma, erityisen säteilevässä ympäristössä(kuten avaruudessa ja etenkin geo-radalla) tai laitettu toimimaan erityisen vähällä virralla, siihen tulee fyysisiä bittivirheitä enemmän kuin mihin yleensä on totuttu.
Tulevaisuudessa voi olla, että tarkimmilla tekniikoilla valmistetut nykyiset prosessorit vanhentuvat lämmön ja normaalin säteilyn vuoksi siten, että alkavat tuottaa paljon enemmän fyysisiä bittivirheitä ihan normaalioloissakin. (Siihen voi mennä 10, 100 tai 1000 vuotta, en ole nähnyt tutkimustuloksia aiheesta... )
Onko olemassa erityisiä käyttöjärjestelmiä(linuxin "säteily-kernel"?), c kääntäjiä, otsikkotiedostoja ja ohjelmakirjastoja fyysisesti hankalia tietokoneita varten?
Voisin kuvitella, että useimmat korkean tason lähdekoodit voisi kääntää jollain erityisellä kääntäjällä suhteellisen säteilynkestäviksi executaabeleiksi, mutta sitten kaikki pitäisi laskea kahteen tai kolmeen kertaan.
Jos haluaa valita mikä koodi on niin kriittistä, että se pitää laskea kahdesti, kolmasti tai jopa neljästi, ja laskea vähemmän kriittiset laskut kerran, niin se vaatisi erityisiä toimintoja, jotka ohjelmoijan pitää asettaa esim. c lähdekoodiin. Eli ainakin sitä varten pitäisi olla erityisiä "säteilynkesto"-ohjelmakirjastoja ja otsikkotiedostoja. Näin luulen.
(Vielä varmemmassa systeemissä kaikkein kriittisimmät laskut lasketaan äärimmäisen tehottomassa ja hitaassa, mutta varmassa laitteessa. Kyse voi olla jostain "ydin"-laskuista ja/tai jostain tarkistuslaskuista.)
Uusien prosessorivalmistustekniikoiden ja laatuvaatimusten muutosten (tai laatuvaatimusten "kehittymisen") myötä tällainen lähestymistapa ohjelmointiin tulee yhä tärkeämmäksi.
"Säteilyn" kestävä ohjelmointitapa voi antaa mahdollisuuksia käyttää tietokoneita vähemmällä energiankulutuksella. Myös avaruuslaukaisujen halpeneminen tekee yhä enemmän kannattavaksi käyttää avaruudessakin ihan tavallista elektroniikkaa(erityisellä tavalla koteloituna tietysti).
c-ohjelmointi alueella on keskustelu fysikaalisten bittivirheiden testauksesta otsikolla "c-kyhäelmä testaamassa prosessoria".
Tulevaisuudessa voi olla, että tarkimmilla tekniikoilla valmistetut nykyiset prosessorit vanhentuvat lämmön ja normaalin säteilyn vuoksi siten, että alkavat tuottaa paljon enemmän fyysisiä bittivirheitä ihan normaalioloissakin. (Siihen voi mennä 10, 100 tai 1000 vuotta, en ole nähnyt tutkimustuloksia aiheesta... )
Onko olemassa erityisiä käyttöjärjestelmiä(linuxin "säteily-kernel"?), c kääntäjiä, otsikkotiedostoja ja ohjelmakirjastoja fyysisesti hankalia tietokoneita varten?
Voisin kuvitella, että useimmat korkean tason lähdekoodit voisi kääntää jollain erityisellä kääntäjällä suhteellisen säteilynkestäviksi executaabeleiksi, mutta sitten kaikki pitäisi laskea kahteen tai kolmeen kertaan.
Jos haluaa valita mikä koodi on niin kriittistä, että se pitää laskea kahdesti, kolmasti tai jopa neljästi, ja laskea vähemmän kriittiset laskut kerran, niin se vaatisi erityisiä toimintoja, jotka ohjelmoijan pitää asettaa esim. c lähdekoodiin. Eli ainakin sitä varten pitäisi olla erityisiä "säteilynkesto"-ohjelmakirjastoja ja otsikkotiedostoja. Näin luulen.
(Vielä varmemmassa systeemissä kaikkein kriittisimmät laskut lasketaan äärimmäisen tehottomassa ja hitaassa, mutta varmassa laitteessa. Kyse voi olla jostain "ydin"-laskuista ja/tai jostain tarkistuslaskuista.)
Uusien prosessorivalmistustekniikoiden ja laatuvaatimusten muutosten (tai laatuvaatimusten "kehittymisen") myötä tällainen lähestymistapa ohjelmointiin tulee yhä tärkeämmäksi.
"Säteilyn" kestävä ohjelmointitapa voi antaa mahdollisuuksia käyttää tietokoneita vähemmällä energiankulutuksella. Myös avaruuslaukaisujen halpeneminen tekee yhä enemmän kannattavaksi käyttää avaruudessakin ihan tavallista elektroniikkaa(erityisellä tavalla koteloituna tietysti).
c-ohjelmointi alueella on keskustelu fysikaalisten bittivirheiden testauksesta otsikolla "c-kyhäelmä testaamassa prosessoria".
Vastaukset 3
Vanhimmat
tällainen "varma" systeemi on ns. äänestysmenetelmä.
Kaikki laskenta tehdään kolmessa erillisessä koneessa/prosessorissa/tms.
ja lopputulos laitetaan äänestykseen.
Jos kaksi konetta saa saman tuloksen, se on sitten se.
Menetelmä on laajassa käytössä mm. ydinvoimalaitosten
prosessitietokoneissa.
Voisi kokeilla myös vastaavaa useiden erityyppisten softien käyttämistä. Demokraattinen ohjelmisto.
valvoo äänestyslautakuntaa? jos niitakin on monta niin kuka tulee valituksi..