nedeľa, januára 28, 2007

Icecream compile cluster

Distribuovane kompilovanie fungovalo pomerne dobre, ale v niektorých prípadoch boli kompilácie prerušené chybou. Bez distcc sa všetko skompilovalo dobre, takže chyba bude asi v komunikácii medzi jednotlivými stanicami clusteru (možno sa nestihli poslať skompilované súbory na domovský počítač kým uplynul timeout, alebo kompiloval súbory v nesprávnom poradí). Podobným projektom ako je distcc, je aj Icecream, ktorý z distcc vychádza. Tak som ho pokusne nainštaloval, uvidíme ako sa bude správať.

Aby sa pri kompiláciách toho istého software na viacerých počítačoch príliš nezaťažovala linka do Internetu, nastavil som "Download Cache for LAN Http Replicator". Teraz sa budú všetky ebuildy z Internetu ťahať iba raz, na domáci server, ktorý bude robit proxy pre ostatné počítače.

pondelok, januára 08, 2007

Distcc - distribuovane kompilovanie

Dnes som na mojom Gentoo notebooku - gentoobooku - znovu skompiloval KDE (vybral som si možnosť neinštalovať kompletný balík KDE, ale tzv. split ebuilds, kde sa neinštaluje všetok KDE balast, ale len tie dôležité veci). Pri tejto príležitosti som konečne rozbehal distcc. Teraz sa pri kompilovaní rozhodia čiastkové kompilácie na viaceré počítače, čím by sa mal celkový čas výrazne skrátiť. Priebeh kompilácie sa dá sledovať pomocou príkazu distccmon-text - len som musel prihodiť do súboru /etc/env.d/02distcc riadok
DISTCC_DIR="/var/tmp/portage/.distcc"
Zdá sa mi, že potom treba esšte spustiť
env-update

štvrtok, januára 04, 2007

Problémy s Postgresql

Pri pokuse o ďaľší emerge world som sa dostal do slepej uličky, kôli závislostiam balíčkov postgresql-8.1.5-r1 a libpq-8.1.5, ktoré sa blokovali navzájom. Bolo ich treba umravniť pomocou
emerge -uO1av libpq libpqxx postgresql
Tento príkaz nainštaloval potrebné balíčky "nasilu". Hm, sem tam sa aj v inak výbornom systéme dejú zvláštne veci.

pondelok, januára 01, 2007

Žijeme v počítačovej simulácii?

V sérii článkov Je možné, že žijeme v počítačovej simulácii? (1), Je možné, že žijeme v počítačovej simulácii? (2), Je možné, že žijeme v počítačovej simulácii? (3)
na serveri Tranhumanismus.cz autor (sebe, čitateľom) dáva otázku (pre nepozorných čitateľov, hádajte akú) :-). Problém je v tom, že nám na ňu nedáva odpoveď. To ale nie je jeho vina - na túto otázku v súčasnosti nemožno jednoznačne odpovedať. Skúsim však poukázať na niekoľko faktov, prepokladov a tvrdení transhumanistov spomenutých v tomto a v iných článkoch.


Časť prvá: Základné predpoklady a tvrdenia.

Aby som nechodil ďaleko, vypožičiam si citát Nicka Bostroma z článku Proč žijeme v počítačové simulaci, ktorý taktiež odporúčam prečítať. Podľa neho je pravdivý aspoň jeden z nasledujúcich predpokladov:
  1. Civilizace na úrovni lidstva velmi pravděpodobně zanikne dříve, než dosáhne posthumánní úrovně.
  2. Je velmi nepravděpodobné, že by posthumánní civilizace spouštěly historické simulace (nebo jakékoliv podobné).
  3. Téměř jistě žijeme v počítačové simulaci.
S bodom 1. úplne súhlasím, vždy keď sa pozerám na správy s Blízkeho Východu (ako sa to vlastne správne píše ?).
K bodom 2. a 3. len toľko, že o posthumánnych civilizáciách vieme ... ehm... máločo a že si niekto niekedy nejakú simuláciu spustil absolútne nedokazuje, že v nej žijeme aj my.

Podobne ako vo vyššie uvedených článkoch uvažujme 2 druhy simulácie:
  • simulácia reality "matrixového typu", v ktorej sú skutočné osoby napojené na virtuálnu realitu
Tento prípad je v sci-fi príbehoch bežná záležitosť a teda asi nik nebude mať problém si niečo takéto predstaviť - dokonca sa pomaly blížime k realizácii (vo vývoji sú implantáty nahrádzajúce zrak či sluch, napojené priamo na mozgové centrá). "Matrixové simulácie" majú jeden dôležitý obmedzujúci faktor - ľudský mozog. Nemôžu bežať pomalšie ani rýchlejšie ako dokáže mozog spracovávať dáta - ani keby bol dostupný superrýchly hardware. Z toho istého dôvodu nie je možné simuláciu opakovať, aspoň pokiaľ nebude existovať spôsob spoľahlivého nedeštruktívneho mazania ľudskej pamäte.
  • kompletná simulácia osobnosti a prostredia
je zatiaľ čisté sci-fi.


Časť druhá: Technické predpoklady pre beh simulácie.

Ako sa vo vyššie uvedených článkoch spomína, na simuláciu reálneho prostredia treba vysoký výpočtový výkon. To je pravda len čiastočne - iba ak chceme, aby simulácia bežala v reálnom čase, prípadne rýchlejšie. Ak by bola dostatočná rýchlosť (realtime/1000), tak nám stačí tisíckrát menej výkonný hardware. Pre určité simulácie krátkych dejov je mysliteľné aj väčšie spomalenie. Aj dnes je bežné čakať na výpočty náročných fyzikálnych simulácií hodiny či dni. Príkladom sú počítačom generované filmy - výroba trvá celé mesiace, konečný produkt beží 1,5 hodiny. Svoju úlohu zohráva aj náročnosť simulovaného prostredia.
Pre simuláciu statickej, prázdnej miestnosti bez okien nie je potrebný veľký výkon procesora, s prehľadom to zvládajú aj dnešné počítače spolu so zastaralými grafickými kartami. Oproti odhadovanej výpočtovej kapacite, potrebnej na simuláciu komplexných dejov odohrávajúcich sa v ľudskom mozgu je to prakticky zanedbateľné.
Ak by sme chceli pridať pohľad z miestnosti cez okno, teda obrazovú a zvukovú simuláciu vonkajšieho sveta, aj pri vysokej komplexnosti (slnečný svit, oblačnosť, vietor, dážď) a vysokej úrovni detailov simulovaných predmetov to stále bude menej náročné na výpočtový výkon ako ľudský mozog. Pre dosiahnutie realistickej simulácie vonkajšieho prostredia porovnateľnej s reálnym svetom, v ktorej by sa bolo možné osobne prechádzať, by samozrejme nároky príslušne vzrástli.

Tu sa nachvíľu zastavíme. Otázkou je, ako podrobná simulácia je nutná pre dosiahnutie ilúzie reálneho sveta. Predstavme si človeka, ktorý je od narodenia slepý. S okolitým svetom sa dostáva do kontaktu prostredníctvom ostatných zmyslov - sluchu, hmatu, čuchu a chuti. Ak by ľudia z nejakej skupiny (povedzme neprístupné odľahlé údolie vo vysokých horách), boli slepí a nikdy sa nestýkali s vidiacimi, nikto z nich by nevedel o zraku a teda by nikomu ani nechýbal. Vo svojom slovníku by na to ani nemali slovo. Jednoducho by nemali s čím porovnávať a predpokladali by, že ich stav je jedniný možný, že ich v vnímanie reálneho sveta je dokonalé.
Pokiaľ by k nim však jedného dňa zavítal cestovateľ a vysvetlil im, čo je to zrak a oni mu takúto pre nich vylúčenú vec uverili, keďže sa sami nemôžu priamo presvedčiť (napríklad by popísal čo robia vzdialené osoby, ktoré by to neskôr potvrdili), pochopili by, že ich svet je len nedokonalý "odraz" reality.
Podobne na tom bude človek, ktorý od malička žil v simulácii (predstavte si Matrix). Preňho je to jediný reálny svet, aj keby grafika bola na úrovni počítačovej hry Doom. Jednoducho to tak pre neho vždy bolo. Bodka. Takže je možné, že ak skutočne žijeme v simulácii, nie je to dokonalý obraz reálneho sveta, ale veľmi zjednodušený model. V skutočnom svete možno vyzeráme úplne inak, alebo máme celý rad schopností navyše, ktoré boli pre potreby tejto simulácie zanedbané - videnie v infračervenom spektre, širší rozsah počuteľných zvukov (infrazvuk - ultrazvuk). Možno tam dokonca panujú iné fyzikálne zákony. V prípade kompletnej simulácie ľudského mozgu sa dajú teoreticky robiť úpravy - preprogramovanie vedomia, aby si myslelo, že to čo vidí, je reálny svet (bez ohľadu na už spomínanú Doomovú grafiku).
Podobnú situáciu opísal Stanislaw Lem v knihe Futurologický kongres. Tam sa podobný účinok dosahoval kombináciami drog. Hlavný hrdina Ljon Tichý po odznení účinku drogy zistil, že nablýskaný a čistý svet okolo neho je v skutočnosti šedivý a špinavý, ľudia nechodia do práce v autách ale pešo v zástupoch a namiesto výťahov sa šplhajú po lane zavesenom vo výťahovej šachte (preto ho po každej ceste "výťahom" boleli ruky).

Skúsme si vytvoriť malý "Gedankenmodell" (variáciu na Gedankenexperiment). Predpokladajme, že máme vytvoriť simuláciu reálneho prostredia, pre zjednodušenie stačí ak budú použité momentálne dostupné technológie.
  1. Prostredím bude ostrov o rozlohe niekoľko štvorcových kilometrov, ohraničený morom
  2. Simulovať budeme niektoré fyzikálne javy pozoravateľné na "makroúrovni" - gravitácia, vietor, prúdenie vody. Fyzikálne javy na úrovni atómov a kvantové javy zanedbáme
  3. Simulované objekty budú mať detailné modely, zložené z podobjektov ( strom s listami) s priradenými fyzikálnymi vlastnosťami. Fyzikálny model sa bude starať o deformácie objektov či realistické delenie na menšie kusy
  4. Simulácia bude vykreslovaná v realistickej počítačovej grafike (textúry s ultravysokým rozlíšením, imitácia nerovných povrchov,...)
Tieto body spĺňajú aj momentálne vyvíjané počítačové hry ako Crysis, prípadne hry postavené na hernom engine Unreal 3. Pripomínam že ide o POČÍTAČOVÉ HRY ! určené pre zábavu. Vlastne je mi záhadou prečo sa pre vedecké projekty virtuálnej reality nevyužívajú modifikované počítačové hry. Doteraz všetky vedecké projekty ktoré som videl predvádzať v televízii mali až neuveriteľne pomalú grafiku, kvalitou na úrovni 80.-90. rokov minulého storočia. Neobstojí ani finančný argument - mnohé herné engine boli uvoľnené ako Open Source.

V blízkej budúcnosti (v horizonte niekoľkých rokov) sa bude technológia pre realistickú počítačovú grafiku pravdepodobne vyvíjať nasledovnými smermi:
  1. Simulácia bude vykreslovaná pokročilejšími metódami, napríklad metódou raytracingu (s nástupom viacjadrových procesorov, prípadne špeciálnych prídavných kariet s viacerými procesorovými jadrami, ktoré dodajú potrebný výkon)
  2. Pri dostatku pamäte sa podobjekty môžu ďalej deliť na menšie stavebné prvky - "bunky" o veľkosti na úrovni rozlišovacej schopnosti (ľudskeho oka, prípadne použitého zobrazovacieho zariadenia) s priradenými fyzikálnymi vlastnosťami daného materiálu, ktoré slúžia na detailnú simuláciu predmetu - trhanie papieru, piliny vznikajúce pri pílení dreva, detailné simulácie toku tekutín
Softwarové postupy a algoritmy sú známe, potrebné bude dodať dostatočne výkonný hardware na masívne "matrixové" simulácie veľkého rozsahu. Pre posthumánnu civilizáciu by to nemal byť žiadny problém.
Rozsah výkonu potrebného pre kompletnú simuláciu osobnosti a prostredia bude ešte vyšší, netrúfam si ho však na rozdiel od rôznych autorov ani približne odhadnúť.


Časť tretia: Ako zistiť, že žijeme v simulácii ?

Pokiaľ bude vytvorená dostatočne presne a realisticky, nebudú sa vyskytovať logické chyby a abnormálne javy (teda nevznikne chyba v Matrixe), je nemožné overiť si hypotézu, že žijeme v simulácii, pokiaľ nám k tomu tvorca simulácie sám neposkytne prostriedky. Jedinou nádejou je dúfať, že simulácia nie je natoľko komplexná a podrobná, aby sa dostupnými prostriedkami nedali zistiť nezrovnalosti vo fungovaní sveta. Že si tvorca simulácie zjednodušil prácu a niektoré javy sa generujú náhodne, namiesto toho aby sa vypočítali komplikovnými sériami výpočtov, pretože si to aj tak nikto v simulácii nevšimne (teda netreba simulovať kvantovú fyziku v stredoveku, ale zapojiť ju do simulácie až niekedy začiatkom 20. storočia).

Príklad: skúmaním sa zistí, že vo vákuu vznikajú samovoľne častice hmoty. Ak toho už vieme o fungovaní vesmíru dosť a tento jav sa nezhoduje s overenými a fungujúcimi modelmi teoretickej fyziky, alebo im dokonca priamo protirečí, jednou z možností je, že tieto častice prichádzajú odniekiaľ "zvonka". Samozrejme by mohlo ísť aj o niečo úplne iné - napríklad o dôkaz existencie paralelného vesmíru. Takže nehľadajte za každým rohom agenta a nepokúšajte sa skákať z mrakodrapu, pokiaľ nemáte na chrbte reálny, alebo aspoň dokonale simulovaný padák.

Paulie