Fabijan Lukin, Fran Pregernik,
Tomislav Sukser Tehnička dokumentacija za obojivo računarstvo |
|
1 Obojivo računarstvo1.1 UvodU skoroj budućnosti, tehnologija će nam omogućavati izradu procesora vrlo malih dimenzija sa istom, ili većom procesnom moči kao današnja stolna računala te vrlo malom cijenom. Pod tom pretpostavkom, biti će moguće izraditi cijeli sustav na čipu, sa procesorom, bežičnim komunikacijskim podsustavom, raznim senzorima okoline, memorijom i sustavom napajanja koji crpi energiju iz okoline. Takav sustav je osnova obojivog računarstva. 1.1.1 Zašto „obojivo“ računarstvo?Obojivo je izraz koji je primijenio [William Joseph Butera] u radu „Paintable Computers“ Radi se o tome da, zbog svoje minijaturne veličine (zrno pijeska) i jeftine cijene, možemo veliku količinu tih računala pomiješati sa bojom i zid obojiti sa njome. Time bi dobili mrežu nasumično postavljenih računala koja su u stanju komunicirati jedni sa drugima, stvarajući pri tome neku vrstu računalne mreže. U svom radu Buthera navodi da primjena tih računala nije isključivo vezana za boju i zid, nego ih se može umetnuti u tkanine, građevinske materijale i još puno toga, sa svrhom da obrađuju podatke koje dobivaju preko senzora o mediju u kojem se nalaze. 1.1.2 Tajna uspjeha obojivog računarstvaButhera navodi kako će ta računala, zbog male veličine i male cijene te ponajviše zbog otpornosti na stres okoline, postajati sve prihvatljivija. Ljudi su uvijek oprezni kod kupovanja skupih stvari u malim količinama (npr. jako računalo sa dual core procesorom, i sl.), naprotiv tome istu procesnu moć bi mogli dobiti kupnjom kile i pol obojivih računala za puno manju cijenu (npr. cijenu kile praška za pranje rublja). Još jedna prednost ovog koncepta je visok stupanj paralelizma u obradi podataka. Sva ta računala imaju nezavisne jezgre te se ukupna obrada podataka može obaviti u puno manjem vremenu. Zgodan citat: „Want a surface to become smart? Add a layer of computing. Want it to become smarter? Add a second coat! Has the computing lost its luster? Get out the belt sander!“ 1.1.3 Kako „uštekati“ obojivo računalo i kako oni zapravo razgovaraju međusobno?Svako od tih računala ima sustav napajanja koji je u stanju crpiti energiju iz okoline. Bilo to bila solarna energija, toplinska energija ili jednostavno energija iz obližnjeg magnetskog polja, ovisi o mjestu primjene. Pretpostavlja se da je takav izvor napajanja dovoljan da bi sustav mogao raditi te da bi bežični komunikacijski kanal bio u stanju komunicirati sa najbližim susjednim računalima. Bežična veza može biti izvedena na par načina, kao na primjer: radio veza ili infracrvena veza. Ono što je bitno je da je takva veza i cijeli komunikacijski sustav asinkron, dvosmjeran i otporan. Obojiva računala nemaju nikakvog znanja o trenutačnoj poziciji gdje se nalaze (osim ako imaju GPS senzor ugrađen), i u najgorem slučaju ne znaju da ima drugih računala okolo osim najbližih susjeda. No i samo ti podatci su dovoljni da se razvijaju programi za razne otporne infrastrukture koje mogu davati puno veću količinu informacija drugim programima, koji onda grade još specifičnije infrastrukture. 1.2 Programiranje obojivih računalaPostoji veliki problem ovog koncepta, kao i svih drugih masovno paralelnih sustava, a to je stvaranje robusnih i općenitih metoda programiranja za takve sustave. Ovdje je to još dodatno otežano jer riječ „masovno“ je kod obojivog računarstva deminutiv. Nesinkroniziranost – Nigdje nije garantirano da susjedna računala imaju isti takt. Sinkronizacija na neke događaje je jako otežana jer se radi o topologiji sa nepoznatim brojem jedinki i povremenim ispadima računala. Programi koji se odvijaju na jednom računalu nikad ne bi trebali eksplicitno sinkronizirati neku svoju radnju sa događajem na drugom računalu. Velika otpornost na greške – Pretpostavka je da se može dogoditi isključenje dijela korpusa obojivih računala. U tom slučaju bi programi pisani za ta računala morali biti otporni na takve promjene u topologiji. Nepoznato mjesto u mreži – Računala mogu samo komunicirati sa najbližim susjedima koliko im to radijus bežične komunikacije to dopušta. Čak i unutar tog prostora komunikacije, računala međusobno nemaju nikakvo znanje o međusobnoj relativnoj poziciji. Adaptivna topologija – Topologija nije poznata u trenutku pisanja programa i programi ne bi smjeli podrazumijevati neku fiksnu topologiju. Ograničena memorija računala – Mora se jako voditi računa o zauzeću memorije računala. Također, brzina bežične mreže je spora u odnosu na brzinu procesora. Rješenje tog problema su samoorganizirajuće strukture koje se mijenjaju toliko dugo dok ne postignu neki lokalni minimum.
|