From bbs@linux.ms.mff.cuni.czMon Jan 29 16:19:28 1996 Date: Thu, 7 Dec 1995 18:24:04 +0100 From: Bulletin Board System To: hubicka@limax.paru.cas.cz Subject: CM - booooooooooomba! (fwd) *** Forwarded file follows *** Posted By: Kotelnik (Koules player) on 'Vzdelani' Title: CM - booooooooooomba! Date: Thu Dec 7 17:43:58 1995 Protoze jsem nedavno ziskal konto na cmmachu a muzu delat paraelni programy rozhodl jsem se nekam postnout protoze sem zjitil ze vuubec nikdo nevi jak takova paraelni masina ma vypadat..tohle se mi zda jako nejblizsi board..nevim Je to hruza jak kazdej kdyz se rekne paraelni masina mysli na dvacet pentii co si pomoci nejakyho inteligentniho delice mezi sebe deli instrukce (hardwarove) a vsechno se to dohromady hreje a seka...a kazdej si mysli ze ty pocitace co dneska jsou sou ty jediny a spravny ale ze uz asi pred 10 lety byl vyrobenej pocitac z vykonem 1000 MIPS!!!!! to nikdo nevi. Tak tedy cm znamena the connection machine. Vymyslel ji hilis asi pred deseti lety a je to uplna bomba. Uvedu nekolik jeho uvah(cetl jsem vetsinu jeho prednasek a tak ani svoje uvahy delat nemusim :) Kdyz mate normalni pocitac(tedy procesor,zbernici pamet) tak 90% jeho kapacity a tedy i kremiku je v pameti a pamet nedela nic jinyho nez ze ceka az si procesor prez pomalou zbernici o neco rekne a procesor zase nedela nic jinyho nez ze rika pomaly zbernici aby rekla pameti ze chce bunku cislo123456789. A co teprve kdyz na pamet dorazi vic procesoru..hruza! (vim vim..procesorovy cache a podobny prasarny) Hillis rika zbernici von neumanovo uzke hrdlo(bottleneck) kde vsechno jde a zdrzuje se tam.(von neumanovo proto ze neuman navrhnul typicky pocitac-procesor,periferie) Hilis se rozhodl toto uplne zmenit..proste aby pamet byla procesor a procesor pamet. Tedy mas data a rovnou jim muzes rikat co maji delat-treba setridte se :) Jedina cesta je multiprocesoring to ale tokovej ze kazdej procesor ma svoji malinku pamet v sobe a pracuje s ni. Takovej procesor ale nic nezvladne a tak jich musi bejt vic(bezne 65536 a vice) to ale zpojit na zbernici by bylo to samy-zase uzky hrdlo a cekaly by na sebe. Je tedy jedina sance udelat homogeni sit propojit procesor(jako v neuronovy siti) z nekolika ostatnima tak aby cesty mezi procesory nebyly dlouhy. I stalo se..mame tedy pocitac z kuou uplne blbych procesoru co se umi domluvit z vedlejsima (kezdej ze 16) nyni staci udelat algoritmus jak adresovat sit aby se dalo komunikovat s kazdym(vsimnete si ze maximalni vzdalenost mezi procesory je 5-16 na 6 to je asi milion procesoru) Hillis tedy kazdy packet opatril maximalne 5 mistnou hlavickou kazdy procesor precte 1 byt kdyz je 0 dato je pro nej jinak prvni byt zpravy zapomene a posila dal...procesory se tedy zpolu bavi stylem dvakrat vlevo a pak dolu(neni to sranda) Asi vam neni jasny kcemu to je...jak by se pro to psaly programy atd.. Tedy mame 65536 procesoru ktery kdyz je treba muzou nepretrzite pracovat ze svoji malonkou 4KB memory v cache a bavit se kazdy kazdym(napadne to pripomina neuronovou sit) Dal je to jednoduchy...cely se to napoji na nejakej normalni pocitac jako normalni pamet..takze se nekolik procesoru oznaci jako interface a kdyz pocitac chce nejakej byte z pameti rekne procesoru ten posle prislusnymu procesoru dotaz a ten mu vrati hodnotu...tedy cela connection machine se da ovladat jako pamet. a umi velmi rychle obslouzit jakykoliv zarizeni-mnohem rychleji nez normalni comp.. Nyni jsou dva postupy v navrhu jak rikat procesorum co maji delat...jeden je ze maji spolecny tok instrukci to vypada asi tak ze kazdy procesor ma nekolik priznaku a kdyz delam podminku tak pisu asi:kdyz byte 44 je nula nastav priznak a pokud priznak a odelsi zpravu 1 do compu(adresa muze byt absolutni-umi si prepocitat) pokud priznak a zvetsi byte 66 o 4 pokud nepriznak a odesli zpravu 0 do compu toto udela ze ze vsech procesoru co maj nastaveny byte 44 se posle zprava jednomu procesoru co to potom muze secist apod...to se hodi pokud vsechny bunky delaji neco podobnyho treba nejaka simulaca(life,atomova zbran) neuronova sit atd... na druhy strane muze bejt ze kazdej procesor si umi nahrat svuj kod a mlejt si svuj program..to se hodi hlavne treba pro raytracing-kazdej comp pocita jeden bod a ma info o nejakym tom telesu..to je pak fofr-raytracing v realnym case stejna kvalita jako ze siliconu je realitou. A nyni nejzajimavejsi cast-programovani..asi se vam zda ze je malo problemu co se daji resit paraelne...ale nekolik udaju: vyhladani v case 1,setrideni v case log n,reverze log n,posun nebo nastave atd v case 1 tedy za jeden tik mate smazanou obrazovku nebo prohledanej oxfordskej slovnik..Samozdrejme programovani je trochu na bednu...ale napsat paraelne se tim da skoro vsechno-zkuzte se zamislet kterej realnej algoritmus by nesel optimalizovat tim ze se udela paraelne-je to opravdu tezky neco najit.. Cely programovani cm probiha v rozsirenem lispu. Rozsireni je nasledujici xetor to je datovy typ ktery se uklada do cm je to asociovana pamet tedy matematicky zobrazeni treba: a -> 1 b -> 2 ab -> 3 a chcete li pamet cislo ab automaticky se zasociue(v case 1-vyhledani) na 1-z toho je videt jak snadno jde udelat treba slovnik. a potom operatory alpha a beta ktery pracojou z polem xetoru-tedy polem procesoru. Alpha je neco jako for all proste z jednu formuli provedete na vsech xetorech a vysledeky do nich nahazete..beta je opak...tedy ze vsech xetoru jeden vysledek... je to divny ale tim se da udelat uplne vsechno...a jak efektivne jenom premejslet bylo uz vyrobeno nekolik cm..Ja znam podrobne cm-1 prvni prototyp-16000 procesoru 1000 MIPS,cm-5 je ta co se pouziva na rytracing tedy bez spolecnyho toku instrukci..ta ma zajimavy to ze procesory co spolu casto komunikuji se shlukuji dohromady tedy kdyz dva se firt bavi prez nejakej co tam zaclani tak se prohodi tak aby ty dva byly u sebe...tim se vsechno velmi rychle optimalizuje.. moc zajimava je cm-6 ktera ma desetinovej obsah co lidskej mozek a 10 na osmou krat vetsi vykon...tedy pocitac zalozenej na tyto technologii by moh bejt chytrejsi nez clovek a to zcela realne.. ty co to zaujalo muzou se mi ozvat...ja jenom chtel ukazat ze to de i jinudy..zatim jsem zacaatecnik a delam programy stylu vyhledavani nejkratsi cesty v orientovanym grafu nebo vyhledavani opakujicich se casti dat. Jsem vyjukanej z paraelizmu...zacinam bejt schyzofrenickej Zatim bylo vyrobeno prez 10 takovych masin vyuzivaji na zpracovani on the fly dat z kosmu,raytracing,rozpoznavani obrazu a podobny problemy zalozeni na umely inteligneci... Vysla docela dobra zacatecnicka knizka od grady the connection machine stoji za to si ji precist i kdyz je zastarala tak se mejte...doufam ze sem vam nezkalil radost z nove koupenyho ctyrprocesorovyho pentia :) Kotelnik ......a ten nejkotlivejsi......