Maanantai, 12.2.2007
Intel esitteli "tera-aikakauden" tutkimussirua
Intelin tutkijat ovat kehittäneet maailman ensimmäisen ohjelmoitavan prosessorin, jonka suorituskykyä voi verrata supertietokoneeseen. 80 ytimen siru on kuitenkin kooltaan vain hieman sormen kynttä suurempi ja käyttää vähemmän virtaa kuin useimmat tämän päivän kodinkoneista. Tera-luokan tietojenkäsittelyyn liittyvä tutkimustyö tähtää siihen, että pc- ja palvelinvalmistajat voivat tulevaisuudessa tarjota teraflopsin (tuhat miljardia laskutoimitusta sekunnissa) edestä laskentatehoa. Tekniset yksityiskohdat tutkimussirusta kerrotaan San Franciscossa pidettävässä vuotuisessa ISSCC-seminaarissa (Integrated Solid State Circuits Conference) tänään.
Siru on suunniteltu siten, että sen pienemmät ytimet on monistettu "tiilinä". Tämä tekee moniytimisten sirujen suunnittelun helpommaksi. Intelin uuden keksinnön ja kehittyneiden materiaalien myötä voidaan rakentaa transistoreja niin, ettei Mooren laille ole näkyvissä välitöntä loppua. Teraflopsin siru sisältää myös mesh-tyyppisen "verkko sirulla" -arkkitehtuurin, jonka ansiosta kommunikointi sirun sisällä olevien ytimien välillä tapahtuu erittäin korkealla kaistanleveydellä ja voi siirtää terabiteittäin dataa sekunnissa sirun sisällä. Lisäksi tutkittiin metodeja, joilla yksittäiset ytimet voidaan sammuttaa, jolloin voidaan säästää energiaa, kun ainoastaan tehtävän vaatima määrä ytimiä on käytössä.
Intel ei suunnittele tämän nimenomaisen sirun tuomista markkinoille. Sen merkitys näkyy tulevaisuuden piisuunnitteluun liittyvissä metodologioissa, suuren kaistanleveyden omaavissa liitännöissä ja eri tavoissa hallita virrankulutusta. "Tutkijamme ovat saavuttaneet merkittävän rajapyykin, jolla viedään eteenpäin moniytimisyyttä ja rinnakkaisen tietojenkäsittelyn suorituskykyä", kertoo Intelin teknologiajohtaja ja Senior Fellow Justin Rattner. "Näemme tien lähitulevaisuuteen, kun teraflopsin tietojenkäsittely yleistyy ja muuttaa käsityksemme tietokoneista ja internetistä kotona ja toimistolla."
K2, 12.2.2007 12:42. Lähde: Intel
Muita aiheeseen liittyviä uutisia
susi, 12.2.2007 13:17:59
hanska, 12.2.2007 19:53:19
Hanska
TeknoHog, 12.2.2007 21:24:22
Oikeastaan Fortran on huono esimerkki, koska se on periaatteessa sekventiaalinen, mutta osaa käsitellä rinnakkaista dataa hyvän kääntäjän avulla useammallakin prosessorilla. Pointti onkin siinä, että rinnakkaisprosessoinnissa ei voi vain pistää assembler-gurua optimoimaan koodia tietylle prossulle, vaan on katsottava suurempaa kokonaisuutta yhtä aikaa. Tarvitaan siis korkeamman tason kieli.
Toisaalta moniprosessorikoneesta on hyötyä nykyisilläkin softilla, kunhan käyttis osaa jakaa resursseja fiksusti. Perustyöasemissakin on yleensä aika monta prosessia yhtä aikaa käynnissä.
Good shit, huh? Dozer makes it. It's good for two things: degreasing engines and killing brain cells.
w-ber, 13.2.2007 12:38:24
Yksinkertainen esimerkki, jossa tieteelliseen tapaan jätetään silmukat ja ehtolauseet huomiotta: Säikeessä A on n atomaarista käskyä ja säikeessä B yksi. Miten monella tavalla käskyt voidaan lomittaa? B:n käsky voidaan sijoittaa mihin tahansa väliin sekä kaikkien A:n käskyjen jälkeen tai ennen niitä, eli n+1 eri lomitusta. Jos B:ssä on kaksi käskyä, voidaan ensimmäiselle valita ensin paikka n+1 tavalla, sitten toiselle n+1-i tavalla, missä i on ensimmäisen käskyn indeksi (n+1-mittaisessa käskyjonossa).
Samalla tavalla voidaan jatkaa ja saadaan varmasti kiva suljettu muoto yleiselle tapaukselle, mutta pointti on siinä, että tuo on taatusti suurempi luku kuin 1 tai edes n.
Toki on olemassa tekniikoita, joilla säikeitä ja prosesseja voidaan synkronoida (kuten semaforit), eivätkä kaikki käskyt käytä samaa muistialuetta, joten käytännössä tilanne ei ole ihan noin paha. Lomituksia on silti todella suuri määrä peräkkäisiin ohjelmiin verrattuna.
TeknoHog, 14.2.2007 02:11:34
Good shit, huh? Dozer makes it. It's good for two things: degreasing engines and killing brain cells.
Bream, 13.2.2007 14:08:53
Kuvankäsittely on sellaista raskasta laskentaa joka kaikkein helpoimmin skaalautuu useammalle ytimelle. Vertauksen vuoksi reaalimaailmasta, jos palju pitää täyttää vedellä niin sehän on suoraviivainen operaatio - otetaan sanko käteen ja täytetään palju. Mutta mitään ei periaatteessa mene rikki vaikka sankomiehiä olisi yhden sijaan kymmenen. Tällöin vaan palju täyttyisi 1/10 ajassa yhteen verrattuna. Kuvankäsittely on usein juuri noin yksinkertaista ja säikeistetyn (vihaan tuota sanaa :) ohjelman nopeuden lisäys käytännössäkin lähentelee samaa kerointa kuin koneessa/prosessorissa on ytimiä.
w-ber, 13.2.2007 16:44:29
TeknoHog, 13.2.2007 16:51:09
Good shit, huh? Dozer makes it. It's good for two things: degreasing engines and killing brain cells.
feenix, 15.2.2007 10:26:51
JJ, 13.2.2007 16:56:34
Nyt kun tavallisilta ihmisiltäkin löytyy useampi ydin tietokoneestaan on sovelluskehittäjien kannalta mielekästä sijoittaa aikaa, vaivaa ja rahaa sovellusten rinnakkaistamiseen, rinnakkaisohjelmointi säikeiden kanssa on aika vaikeaa, kuten sanot. Mutta osa sovelluksista on sellaisia että niiden rinnakkaistaminen on varsin triviaalia, säikeiden toiminta ei riipu toisista säikeistä ja ei tarvita juurikaan niiden synkronointia.
Useammasta ytimestä on hyötyä myös ilman että sovelluksiin tehdään muutoksia, nykyaikaisessa tietokoneessa, käyttöjärjestelmästä riippumatta, on samaan aikaan ajossa kymmeniä prosesseja, enemmän ytimiä -> nopeampaa.
Käyttöjärjestelmät tulevat mitä todennäköisimmin käyttämään rinnakkaisia prosesseja/threadeja yhä enemmän, jolloin useammasta ytimestä saadaan hyötyä jo käyttistasolla. Apple esimerkiksi tuo seuraavaan käyttöjärjestelmäversioonsa animaatio API:n jonka prosessointi tehdään automaattisesti erillisessä threadissa, näin sen käyttö ei kilpaile ohjelman pääthreadin kanssa jos tietokoneesta löytyy useampi ydin, myös OpenGL implementaatiota on viilattu useamman threadin (ja täten ytimen) käyttöön. Myös muita tapoja prosessoinnin helppoon rinnakkaistamiseen on tulossa (threadit siis ovat olleet arkipäivää jo pitkään), mutta niitä ei ole tietääkseni vielä julkistettu, joten jätetään niistä kertominen toiseen kertaan.
Olen aivan varma että Windows ja vapaalla puolella on samanlaista kehitystä.
Pablo, 14.2.2007 09:26:52
http://fi.wikipedia.org/wiki/Occam
http://en.wikipedia.org/wiki/Occam_%28programming_...
http://en.wikipedia.org/wiki/Transputer