Život| Životni stil

Recursive Networks and Convenience Driven Deadlocks

Milan Novković RSS / 10.02.2008. u 20:08

Portfolio200.jpgVeliki broj nas dobrim delom napredujemo kroz vrćenje u raznim petljama. Tako i nazadujemo, opet dobrim delom, stagniramo, petljanje je relativno očigledno na nižem nivou pa bi ovakava tvdnja bila tautologija kad pored onih najprostijih petlji ne bi postojale i kompleksnije.

Meni kao programeru je inspiracija za post došla od mrtvih petlji u programerskom multithreadingu (učinilo mi se pre nedelju dve na blogu da je neko imao bolji srpski termin za deadlocks ali sam ga zaboravio), no u poslednjem izdanju časopisa Wired je izašao interesantan članak o blog manifestaciji rekurzivnih mreža pa otud skrenuta pažnja i prvi deo naslova. 

You have a blog. You compose a new post. You click Publish and lean back to admire your work. Imperceptibly and all but instantaneously, your post slips into a vast and recursive network of software agents, where it is crawled, indexed, mined, scraped, republished, and propagated throughout the Web. Within minutes, if you've written about a timely and noteworthy topic, a small army of bots will get the word out to anyone remotely interested, from fellow bloggers to corporate marketers.” Ovim navodom sam iskopirao pola članka dok se ostatak, a još važnije interesantan Flash dijagram nalaze pod The Life Cycle of a Blog Post, From Servers to Spiders to Suits — to You”.

 

Ko do sad nije čuo za mrtve petlje neka se seti jednostavnog primera gde dve osobe čekaju jedna na drugu da bi nastavile zajednički posao. A sve zbog nerazumevanja ko, šta i kojom dinamikom treba da radi, ili zbog manje ili više pristrasne interpretacije zajedničkog dogovora. I pošto obe osobe čekaju, napredak je zaustavljen dok se ovakva mrtva petlja nekako ne preseče.

Prokletstvo veštačkog, i tako i programerskog je naglašeno prisustvo algoritamskog, pa tako rigidnog, plićeg, tendenciozno sekvenciranog. U programiranju se, na primer, ubrzo primeti naša umanjena sposobnost da rešenje problema vidimo u paralelnom izvršavanju višestrukih malih poslova. U našem razmišljanju je naglašena tendencija da sekvenciramo rad na problemu u što manje, poželjno jednom nizu po cenu da mnogi učesnici u poslu čekaju dok program izvršava sekvencu koja se tih učesnika ne tiče. Tipičan primer je program koji mnogo “računa”, znači koristi CPU, ali periodično piše privremene rezultate na disk. Pošto je disk nekoliko redova veličina “sporiji” (proizvoljno, intuitivno poređenje) logično bi bilo da processor nastavi da “računa” u jednom thredu dok privremene rezultate spašava na disk drugi thread, tj da dva thread rade paralelno. Ali to je i teži način razmišljana, mnogo je lakše zaustaviti “računanje” dok pišemo na disk, imati jedan thread u poslu, koristiti jedan mozak.

Usporiti posao zato što nam to intelektualno više odgovara, na onaj jeftin način, tj lakše nam je, je  poprilično opšta pojava u mnogo uskih grana ljudske delatnosti, ili u rešavanju mnogih specifičnih problema. Iza “lakše nam je” je često i “bogata” istorija, pojedinačna ili zajednička, konvencije, radoznalost, žurba. Žurba! Interesantna, mrtva superpetlja žurbe sa samom sobom.

U žurbi su, npr, kompjuteri daleko dobacili, kao jedna od globalinih i opšte prihvaćenih “wild frontiers” dvadesetog veka. Taj digitalni ICT front iza kog je divljina ostaje do daljnjeg, tražiti neke “convenience driven deadlocks” u ICT-ju “per se” bi bio jalov i nepotreban posao.

Ipak! Kako smo sa dvadest prvim velom ušli polako i u vek “life sciences” tako smo ponovo otvorili i jednu usku kutiju sa mnogo IT nerešivih problema. Nije neki poseban problem nerešiv problem za koji ne znamo kako ga rešiti. Ali, ima i nerešivih problema gde imamo odličan i provereno kvalitetan model koji dovodi do rešenja. I ima problema, i sad, naravno, ulazim u domen još hrabrijeg nagađanja, koji su nerešivi baš zbog digitalnog i naše volje za unidirekcionalnim i sekvencijalnim.

Interesantno je kako je rešenje problema uz pomoć digitalnih kompjutera izuzetno često “dalje” od prirodnog pogleda na problem. I interesantnan uvod u ovaj argumenat su Gaudijevi “hanging chains” (primer sličica pri dnu). Shvatanje ideje statičke analize kako ju je Gaudi radio je unutar mogućnosti dece koja su još uvek u osnovnoj školi: vešanje kanapa i tegova sa plafona, a koji modeliraju ivice i sile u nekoj zgradi. Kanapi, tegovi, plafon I gravitacija su analogni kompjuter koji je izuzetno brzo davao interesantan i koristan pogled u buduće sile u potencijalnoj konstrukciji (koliko su razni kanapi zategnuti). Istovremeno nam i ogledalo na podu daje realniju sliku potencijalne strukture.

U elektronici analogni kompjuteri umeju da budu i po osam redova veličine brži od njihove digitalne braće. Manje su precizni, po pravilu nisu opšte nameni i tako su, naravno, inconvenient.

A interesannto je kako je, npr, problem uvijanja proteina u biologiji, komjutacionoj i pravoj, od ogromnog značaja za razumevanja biohemije i života. Proteini su nizovi amino kiselina, njihova uloga u organizmu zavisi u velikoj meri od njihove trodimenzionalne strukture. Standardnih amino kiselina ima 20, struktura im je poznata, pa tako i elektrostatičko polje oko njih, sve standardna hemija i elektrostatika. I elektrostatika odlično objašnjava kako se proteini uvijaju. Na to, naravno, utiče i okolni rastvor u kom se protein nalazi ali i ako ga i zanemarimo još uvek najmoćniji kompjuteri danas ne umeju da « uviju » proteine od više od 50-100 amino kiselina. A prosečna kompleksnost proteina je viša od toga, od nekoliko stotina do nekoliko hiljada amino kiselina. Na prvi pogled je nemogućnost predviđanja strukture proteina fascinantna kad se ima u vidu da danas superkompjuteri imaju i po više hiljada procesora. O masivnoj paralelizaciji tipa SETI@Home ili Folding@Home da i ne pričamo.

“Problem” sa prirodom je ta masivna “paralelizacija” – u proteinu svaka “tačka” na “površini” svake amino kiseline privlači ili odbija svaku drugu “tačku”. I čim se stvari malo pomere, pomere se i rastojanja pa tako I sile. Digitalni kompjuteri se “muče” sa ovako potpuno paralelnim uticanjem svega na sve i muku rešavaju sa sekvenciranjem u vremenu – računanjem samo u određenim trenucima u vremenu.

A osnovni problem sa sekvenciranjem je sličan problemu sa treptanjem dok pokušavamo da vidimo kako će kameleon uhvatiti insekta – sve može da se desi u deliću sekunde dok mi žmurimo.

Skraćivanje vremenskih intervala između dva računanja, naravno, “rešava” problem. Samo što prosta računica pokazuje da su za neka rešenja najmoćnijim kompjuterima potrebne hiljade godina rada!

Interesantno je da visoka vremenska rezolucija u kojoj bi digitalni kompjuteri mogli dati tačno rešenje nekih problema, ali bi to trajalo predugo, nije nikakav problem za analogne kompjutere. Ono što je čak dramatično je da analogni kompjuteri rešenja mogu da daju u realnom vremenu – kao što se Gaudijevi “hanging chains” smire u rešenju u relativno kratkom vremenskom periodu, tako neki analogni kompjuteri, za promenljive koje se čak menjaju svo vreme, umeju da daju rešenja istom brzinom kojom i prirodni process koji se modelira.

Ponekad i brže – još jedan paradoks koji nam donosi vreme – rešenje prirodnog problema pre nego što takvo rešenje u prirodi i postoji.

HangingChain660.jpg



Komentari (48)

Komentare je moguće postavljati samo u prvih 7 dana, nakon čega se blog automatski zaključava

Jelica Greganović Jelica Greganović 20:14 10.02.2008

mnogo mi se

sviđa glagol "vrćenje", hvala što si me podsetio

Milan Novković Milan Novković 20:17 10.02.2008

Re: mnogo mi se

Ja sve što je gramatički iole zahtevnije radim metodom "trial and error", pa kako prođem :)
ivana23 ivana23 20:29 10.02.2008

Re: mnogo mi se

Jelica Greganović Jelica Greganović 20:36 10.02.2008

baš

si me naterao da razmišljam da li je to taj glagol ili ima i neki drugi...nisam uspela da se opsetim, a ovaj mi se i dalje baš dopada. Zvuči kao da se vrti.
Черевићан Черевићан 21:07 10.02.2008

тоооооооооо

Ponekad i brže – još jedan paradoks koji nam donosi vreme – rešenje prirodnog problema pre nego što takvo rešenje u prirodi i postoji.

а тек кои ће то научно-друштвени напредак бити кад дође време да ће се проблеми решавати . . пре него и наступе! А?

Taska Dana Taska Dana 21:22 10.02.2008

Re: тоооооооооо

а тек кои ће то научно-друштвени напредак бити кад дође време да ће се проблеми решавати . . пре него и наступе! А?


Sve to zavisi od brzine unosa podataka. :)
Milan Novković Milan Novković 21:48 10.02.2008

Re: тоооооооооо

...друштвени напредак бити кад дође време да ће се проблеми решавати . . пре него и наступе

Odavno postoji, taj se "analogni kompjuter" kod nas muškaraca zove "brze noge", a društveni princip "kadar ne stići nego uteći" :)

angie angie 21:54 10.02.2008

Re: тоооооооооо

he, he-glavno da ste ovako prikazali, podrazvam princip zbog ilustracije:)))
Milan Novković Milan Novković 22:00 10.02.2008

Re: тоооооооооо

Ja ne znam previše o Helmutu Newtonu iako često ubacujem njegove fotke. "Znam" da ga neke žene sumnjicavo "gledaju", a neke sa simpatijama kao umetnika koji je u jednom trenutku počeo da naglašava moć žena koje dolaze.
angie angie 22:03 10.02.2008

Re: тоооооооооо

kljuchna rech:

naglašava moć žena koje dolaze.
:)))
Milan Novković Milan Novković 22:15 10.02.2008

Re: тоооооооооо

kljuchna rech

Sad kad smo ušli i u ovaj thread :) nikad se nisam setio da u Berlinu vidim njegove fotke! Sledeći put obavezno.

Baš me interesuje da li je "A Gun for Hire" label tako rado prihvatio kao mehanizam odbrane na onoj linije između leve i desne fotke. Tj, i desna fotka naglašava novo samopouzdanje žena ali je izašla iz "muškog" fotoaparata i još uvek otvorena za bilo kakav sentiment.
Alexandar Alexandar 21:18 10.02.2008

standardne?

kakve su to standardne amino-kiseline?
Milan Novković Milan Novković 21:28 10.02.2008

Re: standardne?

Ja, nažalost, nisam biohemničar. Površno, to je "onih" 20:

Alanine
Arginine
Asparagine
Aspartic acid
Cysteine
Glutamic acid
Glutamine
Glycine
Histidine
Isoleucine
Leucine
Lysine
Methionine
Phenylalanine
Proline
Serine
Threonine
Tryptophan
Tyrosine
Valine

Ali ima i nestandardnih koje učestvuju u izgradnji proteina ali retko. Ima na web-u pod "standard amino acid", ako je pogrešno slobodno ispravite.
Alexandar Alexandar 21:30 10.02.2008

Re: standardne?

esencijalne.
Alexandar Alexandar 21:30 10.02.2008

Re: standardne?

Milan Novković


Ali ima i nestandardnih koje učestvuju u izgradnji proteina ali retko. Ima na web-u pod "standard amino acid", ako je pogrešno slobodno ispravite.


esencijalne
Jelica Greganović Jelica Greganović 21:36 10.02.2008

Re: standardne?

Površno !? Ja sam impresioniraTa...moj površan odgovor bi bio:"Paaa...to su...ovaj...kiseline...amino..."
Milan Novković Milan Novković 21:38 10.02.2008

Re: standardne?

Ok, thanks, ja sam na termin naišao relativno nedavno i to na engleskom jeziku.

Kad smo se već zaustavili na terminu evo sa web-a:

"..More than 300 amino acids are listed in the Practical Handbook of Biochemistry and Molecular Biology, but only the twenty amino acids in the table below are used to synthesize proteins. Most of these amino acids differ only in the nature of the R substituent. The standard amino acids are therefore classified on the basis of these R groups. Amino acids with nonpolar substituents are said to be hydrophobic (water-hating). Amino acids with polar R groups that form hydrogen bonds to water are classified as hydrophilic (water-loving). The remaining amino acids have substituents that carry either negative or positive charges in aqueous solution at neutral pH and are therefore strongly hydrophilic...."

Meni je za tekući IT rad dovoljno vrlo površno poznavanje samo esencijalnih kiselina.
Milan Novković Milan Novković 21:41 10.02.2008

Re: standardne?

Ja sam impresionira

Ne znam ja mnogo, to je samo 20 imena :) Nekih bih se možda i setio, a copy-paste je još lakši :)
To moj prijatelj Google i ja zajedno blogujemo :)

Re: standardne?

esencijalne aminokiseline su one koje su neophodne da se unesu ishranom, ostale covek moze da sintetise sam. svih 20 esencijalnih ak postoji u jajetu. to bi bio moj skromni doprinos ovoj diskusiji jer sam potpuni it laik
Alexandar Alexandar 21:46 10.02.2008

Re: standardne?

ok, 'ajmo ponovo.

prevod engleski reci "standard" nije "standardno" :)
prevod engleski reci "standard" je barjak bez koplja. tako se i zove zastava koja predstavlja prisustvo Predsednika Srbije (standarta; zastava kvadratnog oblika).

tu je bila zamka. :)

tih 20 amino-kiselina se na sprskom jeziku nazivaju "20 amino-kiselina" :)


da li je nesto standardno (u srpskom jeziku) ili nije je pitanje dogovora, sto ovde nije slucaj.
od tih 20, 11 ili 10, zavisno od izvora podataka, su esencijalne amino-kiseline.
Milan Novković Milan Novković 21:51 10.02.2008

Re: standardne?

tu je bila zamka. :)

Potpuno se slažem, ne poznajem ja terminologiju dobro ni na engleskom, a o prevodu na srpki da i ne pričam.
krdr krdr 21:53 10.02.2008

Ja imam problema sa rekurzijom

Neverovatno, nemam problema sa rekurzijom kao pojmom, ali kad treba primeniti rekurzivno resenje.... Mozda je problem sto NE ZNAM kad treba, ili kad moze da se primeni rekurzivno resenje. Ali funkcionalno programiranje razbijam...

A da li je negativna povratna sprega rekurzivna?
Milan Novković Milan Novković 21:55 10.02.2008

Re: Ja imam problema sa rekurzijom

A da li je negativna povratna sprega rekurzivna?

Pretpostavljam da što je pozitivnija, a bez faznog pomaka, to sa većom verovatnoćom i brže vodi u zasićenje, pa i nema neke efektivne rekurzije.
Alexandar Alexandar 21:57 10.02.2008

Re: Ja imam problema sa rekurzijom

svaka povratna sprega je rekurzivna.
da li je poz ili neg je pitanje standarda :) da ne kazem definicije.
ono sto je za tebe neg povratna sprega u politicko-ekonomskom smislu, za nekog je pozitivna
Nebojsa Jovanovic Nebojsa Jovanovic 22:28 10.02.2008

Deadlock

da adekvatan prijevod za "deadlock" nije mozda "mrtvouzica"?

za znanost uvijek preporuka!
Milan Novković Milan Novković 22:32 10.02.2008

Re: Deadlock

Da, baš sam tu reč negde nedavno video, možda baš u vašem komentaru, thanks.
blue blue 22:34 10.02.2008

ljudi grade sve kompleksnije mashine...

ali one ne menjaju tok zhivota pojedinca i z n u t r a..

jednostavno, chovek iznutra ne prati tehnologiju koju saam stvara.

Milan Novković Milan Novković 22:41 10.02.2008

Re: ljudi grade sve kompleksnije mashine...

ali one ne menjaju tok zhivota pojedinca i z n u t r a

Možda ne previše ali donekle sigurno, bar ja mislim. Tj, ma kakve barijere postojale dva života su uvezana u mnogo kako grubih tako i finih petlji, jedna kompleksna, perpetual rekurzija pa i mrtvouzicama i sličnim:)

Toliko petlji da je to na kraju, možda, samo jedan život.
blue blue 22:51 10.02.2008

Re: ljudi grade sve kompleksnije mashine...

i kao da nema dovoljno tih mrtvouzica iznutra eto nama na veselje i tih i z v a n a. :)

zhivot ? pa da.. svaki njegov segment pokriva chitav beskraj.
beskraji koji se preplicu. normalno i da se zamrse..

Nebojsa Jovanovic Nebojsa Jovanovic 01:35 11.02.2008

Re: ljudi grade sve kompleksnije mashine...

Novkovicu, zapravo vam osim preporuke moram biti i posebno zahvalan jer ste me ovom temom podsjetili na jednu od najnevjerovatnijih knjiga koje sam procitao, "Gödel, Escher, Bach" Douglasa Hofstadtera, to je napisano jos krajem sedamdesetih a ne znam da je nakon toga neko napisao nesto tako nadahnjujuce na tu temu. Ne znam kome moze biti dragocjenija - fizicarima ili psihoanaliticarima, sjajna sinteza...

konacno, ne zaboravimo ni neke od filmova o mrtvouzicama i filmove-mrtvouzice (lista je otvorena):

Polanski: Stanar
Lynch: Mulholland Drive, Lost Highway
Nolan: Memento
De Palma: Femme Fatale

(jos kad bih znao prikaciti slicice s kadrovima iz istih...)

Taska Dana Taska Dana 01:39 11.02.2008

Re: ljudi grade sve kompleksnije mashine..

Lynch: Mulholland Drive


E to je mrtvouzica....:))))
Jeremija Jeremija 23:50 10.02.2008

lepota mrtve petlje

Lepotu mrtve petlje shvatio je moj pas još dok je bio sasvim malo štene: jurio je svoj rep, sve gledajući da ga uhvati.Nikad u tome nije uspeo, ali se ludo zabavljao.
Vidimo, da je i naš premjer, doduše u poznijim godinama, shvatio značaj mrtve petlje: on treba da vodi vladu, koja opet treba da vodi državu napred, da bi vlada vodila državu mora da zaseda, vlada može da zaseda samo ako premjer zakazuje sednice, a on ih ne zakazuje.
Eto i premjer juri svoj rep, a mi smo svi u mrtvoj petlji.

PS: ne volim poličare, ali volim pse - njima i posvećujem ovaj komentar.
Zis Zis 00:20 11.02.2008

Hm....

Ako bih pokusao da pojednostavim problem, rekao bih da je najzivlja stvar u univerzumu, elektron koji orbitira oko jezgra atoma, u sustini mrtva petlja.....

Hm...

Uroboros

To znaci da je Bog uzasno los programer, a da smo mi sami sacinjeni od konacno velikog broja mrtvih petlji.

Depresivno.....




Taska Dana Taska Dana 00:24 11.02.2008

Re: Hm....

Elektroni su veoma zavodljivi, neemoj tako, malo malo pa se udruze il skoknu negde na kafu...:)
laynehobby laynehobby 06:27 11.02.2008

Teza ovog clanka?

Postovani gospodine Novkovic,

Pazljivo sam procitao vas clanak i pre svega pohvaljujem pokusaj da pojednostavljenim jezikom dotaknete pomalo slozene teme. Koliko vidim, teme su cetiri:
1. Mrtve petlje i njihovi primeri u svakodnevnom zivotu.
2. Suocavanje serijskog s paralelnim, pre svega u algoritamskom, dakle tehnickom, kontekstu.
3. Suocavanje analognog s digitalnim, opet u tehnickom kontekstu.

Naceli ste svaku od te tri teme i nesumnjivo zagolicali interesovanje citalaca. Ipak, glavna teza vaseg clanka izmice, nedorecena je. Pozivam vas da formulisete jasan zakljucak (ili uostalom jasno pitanje) kako bi ove interesantne teme dobile pun tretman.

A sada na tehnicku polemiku, ako nemate nista protiv. U pasusu "Prokletstvo veštačkog, i tako i programerskog..." poistovecujete algoritamsko i "sekvencijalno" razmisljanje. To je naravno klizava stranputica koja bi laiku mogla stvoriti sasvim pogresnu sliku o modernim kompjuterima i mrezama. Ocigledan i veoma uspesan primer algoritamskog i sustinski ne-sekvencijalnog sistema, koristimo za ovu prepisku. Internet. Vas prijatelj koji pise blog zajedno s vama, a meni daje platu (www.google.com), koristi i aktivno razvija enorman ne-sekvencijalni sistem, takodjer u svom srcu potpuno algoritamski.

Ovo nisu jedini primeri, i u pitanju nije hvatanje za rec. Poistovecivanje rigidnog algoritamskog pristupa problemima sa "plicim, tendenciozno sekvenciranim", je naprosto pogresno i kratkovido.

Zatim, analogni kompjuter je odbacen kao univerzalno sredstvo izracunavanja, s dobrim razlozima. Ne sumnjam da ste sa sledecim dobro upoznati, ali cu objasniti zbog raznovrsnosti citalastva. Naime, jednostavne analogne komponente je nemoguce povezati u slozene celine, bez dramaticnog gubitka pouzdanosti. Kao pojednostavljen primer, pokusajte lenjirom od jednog metra izmeriti deset kilometara kanapa. Koju tacnost mozete tvrditi?

Sustina digitalnog kompjutera je upravo u prevazilazenju ove prepreke. Jednostavne digitalne komponente je moguce pouzdano povezivati u slozene celine. Proces nije jednostavan, ali je, za razliku od analognog, moguc i isplativ! Za slicnu kritiku, elokventniju i zabavniju, ali u nesto drugacijem domenu, pogledajte Levinov popularni clanak [Leonid Levin: Polynomial Time and Extravagant Models].

Ipak, u specijalizovanim, uskim domenima, analogni kompjuteri mogu imati prednost nad digitalnima. Veoma bi me zanimalo da vidim referencu koja tretira takav problem. Molim vas posaljite ako posedujete takvu referencu.

Unapred se zahvaljujem na vasem odgovoru!






Milan Novković Milan Novković 07:24 11.02.2008

Re: Teza ovog clanka?

Meni je povod bio mix: mrtva petlje u pokusaju rešenja nekih problema na digitalnim komjuterima. Konkretno, protein folding. Mnogo timova po svetu troši mnogo novca, Stanford paralelizuju na webu kao što ste i sami pri kraju primetili, no očigledno nije i ne'e jo[ dugo biti dovoljno, IBM napravili najbrži comp na svetu, Blue Gene.

Moj add-hoc zaključak - mrtva petlja u literalnom načinu razmišljanja - mogu da prođu još decenije pod pokroviteljstvom Moorovog zakona, možemo da dobacimo do 2050 kad će nam, po jeftinoj ektrapolaciji 1,000 dolara kupovati sirovu procesorsku snagu svim ljudskih mozgova na zemlji, ali velika je opasnost da protein folding problem nećemo rešiti ni tad uz pomoć samo digitalnih kompjutera.

Možda je lateralno razmišljanje izlaz iz petle! Bez obzira na brazinu digitalni kompjuteri imaju na ovom problemu sledeći problem:
- Oni uzimaju uzorke u prostoru: dele protein i okolni rastvor na male kockice (sampling space i njegova rezolucija) i te kockice aproksimuju tačkama.
- Uvijanje proteina je proces i konačni rezultat zavisi od puta kojim se uvija. Znači, uzimaju se i uzorci u vremenu.

Duplo više uzoraka - duplo više procesiranja.
Stranica one sampling kockice duplo kraća - osam puta više procesirtanja.

A nogu potpliće, svo vreme, onaj efekat leptira o kom je pisao NŠarski, a ja pominjem pod primerom sa kameleonom: između dva računanja - Tn i Tn+1 se desi značajak pomeraj koji mi ne registrujemo.

Sa svojih osam (može da bude manje ali i više) redova veličine povećanom brzinom možda analogni kompjuteri, u nekim arhitekturama, mogu da pomognu, skrate decenije!

Sad kidam na aerodrom, javljam se sa više teksta popodne.
laynehobby laynehobby 08:44 11.02.2008

Re: Teza ovog clanka?

Hvala na odgovoru! Formulisali ste zakljucak i time upotpunili vas clanak.

No opet na polemiku. Argumentacija koju navodite u prilog vasem zakljucku se cini labavom. Evo zasto.

Milan Novković

Duplo više uzoraka - duplo više procesiranja.
Stranica one sampling kockice duplo kraća - osam puta više procesirtanja.

A nogu potpliće, svo vreme, onaj efekat leptira o kom je pisao NŠarski, a ja pominjem pod primerom sa kameleonom: između dva računanja - Tn i Tn+1 se desi značajak pomeraj koji mi ne registrujemo.


Vi ste, posve jasno, u pravu. Ali problem na koji ukazujete ne lezi u ogranicenjima digitalnog kompjutera. Problem je u neadekvatnim modelima, dakle u nerazumevanju procesa. Zasto ne uracunavamo i taj znacajan pomeraj, ako on postoji? Zato sto ne znamo po kojim se pravilima ponasa, dakle ne razumemo ga. Glavni problem, dakle, je nepoznavanje prirode.

Da se posluzim zivopisnom analogijom. Noz je korisna alatka, ali ne svakome. Dajte ga majmunu i nece se dobro zavrsiti. Dajte ga coveku i napravice kucu, camac, sta li vec. Stvar je ista s digitalnim kompjuterom: u mnogim domenima se kompjuterom sluzimo kao majmuni. Na nama je da razumemo svet oko nas i koristimo sofisticirane alate na najbolji nacin.

I konacno, digitalni kompjuter zaista ima veoma znacajna ogranicenja. Neka od njih su poznata, rekao bih, cak i od pre nego sto se naprava pojavila (teoreme neodlucivosti i srodne). Neka, naizgled posve jasna, ogranicenja se opiru razumevanju vec 40 godina (osnove kriptografije; odnos resavanja problema i provere resenja). Jos gore, postoje problemi za koje cak nemamo ni adekvatan nacin izrazavanja i metode zakljucivanja.

Lateralno razmisljanje, kako kazete, je veoma dobrodoslo! Ali ne treba ici osvedoceno pogresnim putem. Ako se 104 majmuna poseklo na noz, 105. ne mora!

GajaR GajaR 10:04 11.02.2008

Re: Teza ovog clanka?

laynehobby
No opet na polemiku. Argumentacija koju navodite u prilog vasem zakljucku se cini labavom. Evo zasto.

Milan Novković
Duplo više uzoraka - duplo više procesiranja.
Stranica one sampling kockice duplo kraća - osam puta više procesirtanja.

A nogu potpliće, svo vreme, onaj efekat leptira o kom je pisao NŠarski, a ja pominjem pod primerom sa kameleonom: između dva računanja - Tn i Tn+1 se desi značajak pomeraj koji mi ne registrujemo.


Vi ste, posve jasno, u pravu. Ali problem na koji ukazujete ne lezi u ogranicenjima digitalnog kompjutera. Problem je u neadekvatnim modelima, dakle u nerazumevanju procesa.


Ovu diskusiju na nivoju, razblažio bih jednom anegdotom. Staljin je kritikujući svog (nekad) omiljenog lingvistu Marr-a rekao: "Ako teorija razvitka po fazama zaista priznaje iznenadne eksplozije u razvitku u istoriji razvitka - tim gore za teoriju."
Duhoviti ljudi su ga parafrazirali: ako činjenice ne odgovaraju teoriji tim gore po činjenice (silovaćemo ih)!
Covek u belom Covek u belom 11:47 11.02.2008

Re: Teza ovog clanka?

Milan Novković
mogu da prođu još decenije pod pokroviteljstvom Moorovog zakona, možemo da dobacimo do 2050 kad će nam, po jeftinoj ektrapolaciji 1,000 dolara kupovati sirovu procesorsku snagu svim ljudskih mozgova na zemlji
Moor-ov zakon prestaje na 22nm, 2020, kraj, finito, nema vise. Razlozi su fundamentalni i povecanje kolicine novca koja se ulaze u razvoj tu ne moze mnogo pomoci.
A vec sad je dobitak sa 90nm na 65nm zanemarljiv, po ITRS-u ciklus se ponovo produzava sa 2 na 3 godine, itd., itd.
mpuzovic mpuzovic 13:06 11.02.2008

Re: Teza ovog clanka?

mogu da prođu još decenije pod pokroviteljstvom Moorovog zakona, možemo da dobacimo do 2050 kad će nam, po jeftinoj ektrapolaciji 1,000 dolara kupovati sirovu procesorsku snagu svim ljudskih mozgova na zemlji

Ja mislim, ako sam Vas dobro razumeo, da je takva interpretacija Moore's Law dozivela svoj krah pre nekoliko godina, dok interpretacija da se broj tranzistora udvostrucuje svakih 18 meseci je i dalje validna i da je neki konacan krah tesko tacno predvideti (verovatno blogeri koji su blizi fizici i elektronici mogu da me isprave).

Nacin na koji se eksploatacija ovoga zakona danas primenjuje je dva ili vise cores na jednom cipu (CMP). Na zalost, modeli koji se koriste u paralelnom programiranju ne mogu da iskoriste ove napretke u arhitekturi tako da vise nije moguce dobiti ubrzavanja software za dzabe kupovinom novog procesora.
laynehobby laynehobby 16:00 11.02.2008

Re: Teza ovog clanka?

mpuzovic

Ja mislim, ako sam Vas dobro razumeo, da je takva interpretacija Moore's Law dozivela svoj krah pre nekoliko godina, dok interpretacija da se broj tranzistora udvostrucuje svakih 18 meseci je i dalje validna i da je neki konacan krah tesko tacno predvideti (verovatno blogeri koji su blizi fizici i elektronici mogu da me isprave).

Nacin na koji se eksploatacija ovoga zakona danas primenjuje je dva ili vise cores na jednom cipu (CMP). Na zalost, modeli koji se koriste u paralelnom programiranju ne mogu da iskoriste ove napretke u arhitekturi tako da vise nije moguce dobiti ubrzavanja software za dzabe kupovinom novog procesora.


Pokusacu rasvetliti nerazumevanje "Mooreovog zakona". On, naime, nije zakon ni u kom smislu: niti naucnom niti legalnom. Za razliku od pravih zakona, od "Mooreovog zakona" je moguce odstupanje u okviru postojecih pravila.

Ovo nije naprosto igra reci. Prolaznost "Mooreovog zakona" proizilazi iz fundamentalnih razloga koje cu objasniti ispod. Ali, doslednosti radi, prvo analogija. Zamislite da neki covek prvi put u zivotu gleda pticu u letu. Ona leti pravo, sigurno, bez naznaka da ce skrenuti ili sleteti. Radja se "zakon ptice" koji kaze da ptice stalno lete pravo! Taj covek ne zna, ali mi znamo, da se "zakon ptice" protivi tesko oborivom zakonu gravitacije. Ptica mora sleteti!

Ista je stvar sa "Mooreovim zakonom". On postulira, sazeto receno, eksponencijalni rast kapaciteta digitalne tehnologije. Eksponencijalni rast je u prirodi neodrziv! Nije mi poznat ni jedan izuzetak.

Dobar primer je rast populacije neke jedinke (na primer, homo sapiensa). Dok su resursi raspolozivi, i dok fizicka ogranicenja dozvoljavaju, rast moze biti eksponencijalan: populacija se udvostrucava svakih, recimo, 50 godina. Pretpostavljam da je svima jasno da je eksponencijalni rast populacije neodrziv na duge staze. Ako nije, veoma jednostavna racunica pokazuje da bi, ovim tempom, nakon 500 godina citav vidljivi svemir bio ispunjen ljudskim mesom! Ako ne verujete, enciklopediju, olovku i svesku u sake, pa racunajte. Stvar nije nista drugacija kod "Mooreovog zakona".

Nesretna je okolnost sto je taj prijemcivi moto nazvan "zakonom". On nije bez svoje dalekoseznosti i dubine, ali ta dubina ne lezi u doslovnom tumacenju!
Milan Novković Milan Novković 16:19 11.02.2008

Re: Teza ovog clanka?

Vi ste, posve jasno, u pravu. Ali problem na koji ukazujete ne lezi u ogranicenjima digitalnog kompjutera. Problem je u neadekvatnim modelima, dakle u nerazumevanju procesa

Što se tiče ograničenja digitalnih compjutera ja nisam bio dovoljno precizan - mislio sam na ograničenja u vrlo malom broju aplikacija, izuzetno malom.

Protein folding je, npr, jedan od njih ali sad postaje jako važan kako su life sciences uzele maha. I odjednom imaju na desetine timova po svetu koji se bavi tim problemem. Pa onda protein'protein interakcije. Troše se na lilijarde dolara godišnje (ne ide sve na blue-sky research, postoje provereni, ali mukotrpni i gugotrajni, pa tako skupi, načini da se proteinu odredi struktura.

Na nesreću, ovo je i jedan od problema gde je osnovni model jako dobar, elektrostatički. Većina modela mogu da se unaprede ili da se nađu bolji. Ovde su male šanse da će da ispliva bolji teorijski model, pa tako i efikasniji program. Eksperimentalni možda, čar vrlo moguće.

Jednostavno, i ako postoje mnogo efikasniji metodi koji određuju intereakcije tela proizvolje geometrije, a naelektrisanih, takvi metodi ne bi bili opšti, u najboljem slučaju bi pokrivali vrlo ograničen broj opštih slučajeva.

Ja sam ovde pod lateralnim mislio na hibridne kompjutere, što se tiče čiste teorije pa onda programiranja. Praktičari će sigurno naći nove lateralne kanale.
Milan Novković Milan Novković 16:26 11.02.2008

Re: Teza ovog clanka?

Moor-ov zakon prestaje na 22nm, 2020, kraj, finito, nema vise

Nema povećanja gustine tranzistora u nekoj ravni, planarnom smislu, to je ok.

Ali, ako uzmemo meru koja kaže koliko će procesorkse snage moći da se kupi za 1,000 dolara tehnologija će ići i dalje, ne bi iznenadilo da počne da ubrzava - malo u širinu, multi-core, pa u dubinu, pa faster clock.

A do 2020te, i sam kažeš, i delje smanjujemo veličinu.
snezana mihajlovic snezana mihajlovic 10:54 11.02.2008

...

Ko do sad nije čuo za mrtve petlje neka se seti jednostavnog primera gde dve osobe čekaju jedna na drugu da bi nastavile zajednički posao. A sve zbog nerazumevanja ko, šta i kojom dinamikom treba da radi, ili zbog manje ili više pristrasne interpretacije zajedničkog dogovora. I pošto obe osobe čekaju, napredak je zaustavljen dok se ovakva mrtva petlja nekako ne preseče.

na sreću, pošto oko proteinskog baratanja u svetu analogno-digitalnog, ličim na primer dat od jednog od komentatora, ja ću, onako laički (tj. svakodnevno-nastrojeno) da pitam:
da li je moguće da se mrtva petlja ne seče? (raspetljavanje: duži put - "proširena" kutija / žurba - mrtva superpetlja: convenience driven)
kako je moguće izbeći / preduprediti / predvideti njen (mrtvouzicin) nastanak? (defining a non-existing problem: forsee)
da li su odgovori limitirani ovim: "naša umanjena sposobnost da rešenje problema vidimo u paralelnom izvršavanju višestrukih malih poslova"?, a zbog ovog: “Problem” sa prirodom je ta masivna “paralelizacija”?
ili da, skroz okrenem - da li može deadlock da se posmatra kao rešenje, a ne kao problem? (kako si ranije napisao: "A kad "deadlock" zameniš sa "inefficiency", ili "lesser efficiency" i ovaj moj computing se polako gubi i možeš da ideš gde hoćeš."
sad, ako ovo što napisah ima smisla, onda dobro.
ako nema, ne zamerite. kako rekoh - iz predostrožnosti sam već sebi oduzela "nož".
Milan Novković Milan Novković 17:21 11.02.2008

Re: ...

da li je moguće da se mrtva petlja ne seče?

Petlja je mrtva zato što unapred, algoritamski, nismo predvideli situaciju koja do te petlje dovodi (pretpostavljam da nema zle namere nego posao pokušavamo da uradimo najbolje što umemo).

Krupne greške ionako brzo izdebagiramo.

Za one greške što se ređe manifestuju, u IT-ju npr, a ako unapred prihvatimo činjenicu da nam je rad nesavršen i podložan upetljavanju, možemo umesto da trošimo previše vremena na intelektualno zahtevan rad koji će retko doći do izražaja da jednostavno prihvatimo ideju greške u onome što radimo i onda postavimo i mehanizme za raspetljavanje bez nekog dubljeg razumevanja problema.

Zvuči malo brutalno, ali u IT-je je sve ok dok se dobijaju rezultati i uptime :)

da li su odgovori limitirani ovim: "naša umanjena sposobnost da rešenje problema vidimo u paralelnom izvršavanju višestrukih malih poslova"?, a zbog ovog: “Problem” sa prirodom je ta masivna “paralelizacija”?


U prirodi je masivna paralelizacija pošto svi učesnici u nekom procesu mogu da utiču pomalo na sve ostale - ima jako mnogo međusobnih veza. Tu proizvoljnos uticanja, u realnom vremenu, možemo donekle, iako ne kao u prirodi, ni približno, da oponašamo analognim kompjuterima. Zato oni, na nekim zadacima, umeju da budu 100,000,000 puta brži, neverovatno. I mrtva petlja koju sam ovde imao u vidu je forsiran drive da se do rešenja dođe digitalno.

To što mi u digitalnom IT softweru umemo da se upetljamo je druga kategorija, i jesmo malo tanki, nije nam prirodno da tako razmišljamo. problem je da unapred sagledamo u kakvim sve odnosima ume da se zadesi veliki broj učesnika. A neki odnosi su neregularni.
ili da, skroz okrenem - da li može deadlock da se posmatra kao rešenje, a ne kao problem? (kako si ranije napisao: "A kad "deadlock" zameniš sa "inefficiency", ili "lesser efficiency" i ovaj moj computing se polako gubi i možeš da ideš gde hoćeš."


To što sam napisao na tvom blogu - samo sam hteo da kažem da je mrtva petlja ekstrem, ultimativna neefikasnost, dok, u stvari, možemo da budemo zabrinjavajuće neefikasni na raznim nivoima.

Mrtva petlja kao rešenje! Može, ali verovatno postoji mnogo efikasnijih načina. Npr možeš da određjuješ da li dve osobe treba zajedno da rade tako što ih posmatraš da li će da upadaju u mrtve petlje, i prečesto se pravdaju kako malo rade zato što čekaju jedna na drugu. Ali, pretpostavljam da postoje i efikasniji metodi.
fixer fixer 11:46 11.02.2008

mimoizlaz u tisuću petlji:.

uh
evo me na žici
petljam nešto
vakojadanmali
raširrrio širom ruke
kao održavam ravnotežu
nečiju
držim svet
da me ne povuče
jedan stisnut napred
nekoliko stisnutih nazad
računjam nešto
ako padnem jojqq štaću
ako ne padnem jojqq opetštaću
kao p o l a k o ću
ne valja
kao brzo ću ja to
n e v a l j a
na grudma mi ovi koje prestavljam
što truju
šta ću kad najbolje plaćaju
na leđima mi ovi koje ja trujem
šta ću kad ih volim
dole me čekaju razjapljene čeljusti
onih koji su već pali
a gore
izgleda nema trenutno nikoga
otišo da pljune pa čeka na red

kad eto ti nje
leti
mamu joj j
L E T I
ša je bilo de si ti do sada
maaa ne zajebavaj
vidiš da se mučim
ša je bre šta petljaš nešto večito
ma jebi se P A Š Ć U
ma opusti se i potrči makar
kako bre da potrčim
vidiš da ću da padnem
pa šta ako ćeš i da padneš
bićeš đejmsdin na žici
ako se malo zaletiš
ja bi ti radije bio na pizzi
al gotovo
evo padooooooooooo

dok padam:
ona leti oko mene
i nudi:
alo batice
oš da kupiš jeftino motku
za održavanje ravnoteže
100% ostaješ na žici kadtikaem
aliženobožija
kasno je vidiš da padam
PRODAJ MI LETENJE
daj bre ša si se uspaničio
oš da kupiš nož za rešenje svake mrtvoguzice bocbocom
jaobreimašlibarkišobran
šo ša će ti (nežno ispusti svoje prstiće ko da proverava nivo kiše)
ne pada još
neego recimi kolko imaš godina
čime se baviš i el si oženjen možebiti
što
pa da vidim vrediš li spasenja
more spasi me prvo pa ću ti sve priznati
aaa ne
nemo mi petljaš tu
nego aj ispoves
ma ja sam ti samo trubadur izbrušene banalnosti
ee aj ne seri molim te
dobro:
JAAAAaa sam rođeeeen
u cveeeetćuuuLIvaddaaaa




tup


mpuzovic mpuzovic 12:44 11.02.2008

Apstrakcija paralelnog programiranja

U programiranju se, na primer, ubrzo primeti naša umanjena sposobnost da rešenje problema vidimo u paralelnom izvršavanju višestrukih malih poslova. U našem razmišljanju je naglašena tendencija da sekvenciramo rad na problemu u što manje, poželjno jednom nizu po cenu da mnogi učesnici u poslu čekaju dok program izvršava sekvencu koja se tih učesnika ne tiče.

Zbog cega je nasa sposobnost umanjena u programiranju da resavamo paralelne probleme? Da li je apstrakcija koja se koristi u danasnjim general purpose languages losa? Tu pretezno mislim na threads. Ako jeste, postoje mnogo bolji alata za paralelno programiranje od threads...
Milan Novković Milan Novković 19:09 11.02.2008

Re: Apstrakcija paralelnog programiranja

Zbog cega je nasa sposobnost umanjena u programiranju da resavamo paralelne probleme?

Ne znam. Mogu samo da nagađam da smo jako loši u pamćenju privremenih rezultata, stanja pojedinačnih paralelnih poslova.

Sećam se da sam čitao da su mehanizmi za pamćenje privremenih rezultata jedna od najvažnijih komponenti u treningu ljudi koji se takmiče u mentalnom računanju sa jako velikim brojevima. Sećam se i da sam čitao da forsiranje ovakvih vežbi (ono, sistematski, višečasovni rad svakog dana) ume da počne da nam uvezuje mozak tako da su sve veće šanse da počnemo čudno da se ponašamo.

Očigledno je i da nam evolutivno ove sposobnosti nisu bile potrebne,

Arhiva

   

Kategorije aktivne u poslednjih 7 dana