S počítačem Cray jsem se poprvé setkal při studiích na Fakultě informatiky Masarykovy univerzity v Brně. Nepamatuji si přesně typ, někde snad mám i foto. Byl umístěn pod schody do poslucháren, jako všechny ostatní měl pěkný design (tento červený), napájel se 3fázovým proudem.
Byl tam jen jako vyřazený exponát, FI MU jej dostala od AV ČR. (Na cedulce u něj byly i nějaké zajímavosti, ale to už si nepamatuji, možná tam byla i cena a výkon.)
Nejednou jsem si u něj zapřemýšlel, kam se celý obor ubírá.
Děkuji za připomenutí!
Názory k článku
Superpočítače Cray
Cray na FI MU
celé vláknoRe: Cray na FI MU
celé vláknoRe: Cray na FI MU
celé vláknoJj, to je ono. Díky!
Re: Cray na FI MU
celé vláknojj, taky se na te druhe fotce mrknete na napajeci snuru (vpravo nahore), holt to zadny netbook na baterie neni ;-)
Re: Cray na FI MU
celé vláknoToto není 3 fázová zástrčka 380V (chybělo by zemnění), jedná se o 1 fázovou zástrčku 220V (fáze, nulák, zemnění) se zatížením 32A. Obyčejná zásuvka ve zdi má pouze 16A.
Re: Cray na FI MU
celé vláknotreba mel hawranuv deda na cirkuli taky jen jednu fazi a motor s komutatorem, aby rusil sousedum televizi :-)
Re: Cray na FI MU
celé vláknoToto není 3 fázová zástrčka 380V…
máš pravdu předsedo
Re: Cray na FI MU
celé vláknoJe pěkné, co vše se člověk může na rootu naučit nového. :-) Teď z evropských zásuvek kromě Cčka, Ečka a schuka (Fka) poznám i CEE32A.
Konecne CRAY ;)
celé vláknoDiky!
Jenom bych mel dotaz k vyhodnocovani vektorovych operaci ‚v nekolika taktech pomoci vektorove jednotky‘. Ktery Cray pracoval takto jako SIMD? Urcite to tak nebyl na CRAY-1, ten mel napr. pouze jednu FP nasobicku (ktera se po mirne rekofiguraci nekolika ricimi bity pouzivala i pro integery) a mela takove dost nesikovne zaokrouhlovani, ktere zpusobovalo ze FP nasobeni nebylo komutativni (coz nekdy nastve). Ostatni craye tolik neznam.
V CRAY-1 se jednalo o to ze i kdyz byla jen 1 nasobicka (a nez se pronasobila 2 cisla tak to tez trvalo nekolik clocku), tak byla dusledne pipelinovana, takze kazdy takt do ni mohly vstoupit nove dva operandy, ktere za N taktu vypadly ven. Scitacka byla nezavisla takze skutecne slo delat scitat 2 vektory a nejake jine nasobit. Dokonce slo operace spojovat do retizku takze treba skalarni soucin taky slo pocitat tez timto zpusobem (scitani si automaticky pockalo na latenci nasobicky nez zaclo pracovat). Load/store unit byla tez nezavisla coz se pouzivalo k tomu ze zatimco jste pocital tak nejaka dalsi instrukce uz tahala data z pameti do nejakeho vektoroveho registru (nemuselo se cekat az se cely naplni, stacilo kdyz treba nasledne scitani bude o jeden prvek pozadu pred naplnovanim). Pamet byla staticka (SRAM), cache to nemelo (krome nejakeho instrukcniho bufferu, ale to nebyla skutecna cache), takze casovani bylo celkem deterministicke.
V tom bylo to zrychleni oproti tehdejsim mikrokodovanym pocitacum. Tem trvalo nekolik taktu nez provedou instrukci (nez prosla celou tou byrokracii) a cray mohl za takt provest nemin 3 operace (scitani, nasobeni, load/store (do toho se pocita i update adresovych registru, umelo to nacitat s volitelnym krokem (to se hodi pro sloupce matice) i napreskacku, jak bylo receno v clanku)). Instrukce ale mohla trvat i 64 taktu pokud byl vektor maximalne dlouhy (kazdy vektorovy registr mel jeste navic par bitu kde se pamatovala skutecne pouzivana delka).
Takze to nebylo skutecne paralelni (jako ze by scital vsechny prvky vektoru `naraz'), pouze se chytre schovavaly latence jednotek tim ze se behem doby latence mohla delat jina prace (na jinem miste vektoru a nebo v jinych jednotkach).
V podstate podobny princip se pouziva dodnes (zacaly to RISC procesory, proto se jim taky rika Really Invented by Seymour Cray), jen uz ty vektorove registry se z toho vytratily protoze je nahradila L-1 cache ktera bezi na frekvenci CPU (ono totiz mit mnoho registru je i nevyhoda, kdyz je treba udelat context-switch (puvodni OS pro cray nemel multitasking protoze si mysleli ze by bylo skoda delit tak hezkej pocitac na nekolik uzivatelu, kdyz by to diky tolika registrum melo velky overhead)).
Doufam ze se priste docteme neco HW. Bylo zajimave ze na svou dobu tak silny stroj jako CRAY-1 byl slozen z integrovanych obvodu nizke (4 a 5tivstupe NORy) a stredni (staticke 1kbit RAMky) integrace. Krom toho elektricky bylo vse (krome pameti) delano jako diferencialni zesilovace, takze kazdy bit se prenasel 2ma draty. Na prvni pohled to vypada jako plytvani, ale omezuje to ruseni/vyzarovani. Navic pouzita logika (nebylo to TTL, mozna ECL uz si nepamatuju) diky te symetrii mela temer
konstatni spotrebu hradla pri prepinani z 0 do 1 (dnes to tak neni, pri prepinani hradlo chvili zere mnohem vic nez v klidu). Tim ze cely pocitac spotrebovaval nezavisle na tom co dela porad tentyz proud si mohl Seymour dovolit nestabilizovat napajeci napeti (coz pri prikonu okolo 1MW (pokud se pamatuju, ale urcite vic nez 100kW) by byl problem). Proste to ma jen trasformatory (3fazove, umistene v te pohovce), usmernovace a LC filtry pro vyhlazeni. Aby ty transformatory nebyly velke tak pocitac vyzaduje 400 Hz napajeni, ktere se ziskavalo v motorgenratoru (v podstate elektromotor ktery toci synchronnim generatorem s vetsim mnozstvim polu aby se dosahlo zvyseni frekvence), ktery se k tomu standardne dodaval a byl umisten v mistnosti vedle, aby nekazil umelecky dojem.
Zvlast se tesim na CRAY-2 a CRAY-3 o nich temer nic nevim (krom toho ze CRAY-2 mel desky chlazene tim ze byly v nejake freonove lazni a spojeny byly takovymi pruznymi kontakty co se snad jen dotykaly vhodnych plosek na protejsim plosnem spoji).
Jeste video.
celé vláknoDocela zajimava pradnaska:
http://www.youtube.com/watch?v=J9kobkqAicU
Jinak pokud vim tak Cray primo navrhoval `pouze' na pocitace CRAY-1, CRAY-2 a CRAY-3.
Ty ostatni X-MP, Y-MP, delal jiny team, ktery uz jen zdokonaloval jeho genialni myslenky obvyklou `inzenyrskou evoluci'.
Re: Konecne CRAY ;)
celé vláknoHradla byla NAND, technologie ECL, SRAM 16×4 bity pro registry a 1024×1 bit pro operacni pamet. Tedy domnivam se.
Donutil jste me podivat se do navodu.
celé vláknoMate pravdu, hradla byla NAND (asi jsem si to spletl s apollo guidance computer), technologie MECL, SRAM pro registry 16×1, prikon 115 kW.
Re: Konecne CRAY ;)
celé vláknoTak to bylo, navic model CRAY 1M mel RAM zalozenou na technologii MOS (proto to M v nazvu). MOS RAM mely tu vyhodu, ze byly o dost levnejsi, bohuzel jsem vsak nikde nedohledal dobove ceniky. V kazdem pripade to koncovou cenu 1emky asi moc nesnizilo, porad slo o astronomicke castky :)
Re: Konecne CRAY ;)
celé vláknoVychladit 1MW z tak malé bedny by byl problém a číslo je o řád nadsazené. Pro představu jen o něco větší množství tepla promrhá při provozu dieselelektrická lokomotiva T435 (http://www.mec01.muenchberg.de/sergej/T435.0145.jpg), ovšem na větším tepelném spádu. CRAY-1 byl skutečně napájený z rotačního měniče 208V, 400Hz s příkonem 150kW. Příkon vlastního počítače byl 115kW. Dalších 150kW (odhad) mohla být spotřeba chladícího kompresoru k udržení teploty pouzder IO na max. 54°C.
http://american.cs.ucdavis.edu/academic/readings/papers/CRAY-technology.pdf – dobový článek o HW.
Škoda, že se všude píše jen o vlastní architektuře, fotí se paměťové moduly, ale to co bylo kvůli „uměleckému dojmu“ skryto takto stále zůstává.
Na další díly se také těším a předem děkuji.
Re: Konecne CRAY ;)
celé vláknoTo pouziti technologie ECL melo svoje vyhody, protoze se tranzistory neprepinaly z uplneho uzavreni az do saturace (jak je to v TTL), ale v pracovni oblasti, tak bylo prepinani mezi obema stavy dost rychle.
A hlavne – dneska ani ty ruzne HxxxMOS technologie moc nevyuzivaji jejich nejvetsi vyhodu (prakticky nulovou spotrebu ve stabilnim stavu) kdyz se pracuje na gigahertzovych frekvencich.
Ten prikon C-jednicky byl nekde okolo 150kW plus dalsich 150kW na uchlazeni.
indexy poli ve FORTRANu
celé vláknoVe FORTRANu se index pole uvadi v kulatych zavorkach ne hranatych.
Re: indexy poli ve FORTRANu
celé vláknoPresne tak, takze ve skutecnosti by se cyklus mel zapsal takhle:
DO i = 1,42
c(i) = a(i) + b(i)
END DO
Nicmene. Prave diky masivni podpore parallenich vypoctu na Cray se uz v 80-tych letech zacala postupne do Fortranu pridavat podpora primo pro vektorove operace. Diky tomu by uz dnes nikoho ani nenapadlo to takhle psat a pouzil by se stejnym vyznamem jednoduse
c = a + b.
Pokud by se ovsem chtel omezit jen na kladne cisla pak by pouzil konstrukci where (neco jako if pro vektory) opet se stejnym vyznamem:
where( b > 0) c = a end where
Zavedeni vektorovych operaci do jazyka ma ovsem i dalsi prijemne vyhody. Napriklad preindexovaniho jednoho vektoru jinym s celocislenymi prvky
c = a(b).
Nadherne tak vidime, jak pokrok technologie zcela od zakladu zmenil rysy jazyka a predevsim mysleni programatoru. Musime si uvedomit, ze tyhle vektorove operace vlaste vetsina ostatnicj jazyku stale nepodporuje a prekladace musi neustale „lustit“ kod a hadat pripadnou vektorizaci a pravdepodobne tak nevyuziji hardware naplno.
Re: indexy poli ve FORTRANu
celé vláknohmm z tohoto pohledu je vlastne cecko, c++ i Java nizkourovnovejsi nez Fortran :-)
Ale mate pravdu, treba pro DSPcka s vektorovymi jednotkami se treba cecko musi docela ohybat, a jak je to na PCckach s podporou instrukci z rodiny MMX, SSE a SSE2 vsichni vime ;-)
Re: indexy poli ve FORTRANu
celé vláknona vypocty je fortran opravdu vysokourovnovejsi nez c,c++,java.
primo v syntaxi ma podporu pro vektory, nebo umocnovani x**2.
Re: indexy poli ve FORTRANu
celé vlákno** mel mozna i Basic nebo Simula :))
Ale je pravda (aspon tedy v Matlabu), ze lze umocnovat i matice a ze lze umocnovat i na jine nez cele cislo (napr. komplexni).
Jeste k prikladu:
where( b > 0) c = a end where
Fortran neznam, ale ze znalosti Matlabu tipuju, ze spravnejsi melo byt (?):
where( b > 0) c(i) = a(i) end where
A jeste v Matlabu jde neco jako:
c = a(b>0)
Vektor „c“ bude obsahovat pouze ty prvky z „a“, kde na stejne pozici v „b“ je kladne cislo. V puvodnim prikladu predpokladam, ze by „c“ byl stejne velky jako „a“, akorat na nekterych mistech by byly nuly?
Re: BASIC
celé vláknoNa necelá čísla dovede umocňovat téměř každý BASIC, kromě těch úplně nejjednodušších, když třeba budu chtít spočítat třináct a půltou odmocninu z milionu, stačí napsat:
PRINT 1000000^(1/13.5)
;-)
Re: indexy poli ve FORTRANu
celé vláknoMate pravdu, jsem na to ve spechu pozapomel :-(
"Překladače Fortranu implementované na počítačích Cray"
celé vláknoNeviem si celkom predstaviť či bolo vytvoriť kompilátor pre takýto HW ľahké alebo skôr extrémne ťažké, koľko ľudí to asi tak robilo, hmm. Lebo hardware zaujímavý, ale bez software by bol dobrý asi ako 3D telka bez 3D médií. :-)
Re: "Překladače Fortranu implementované na počítačích Cray"
celé vláknovytvorit kompilator asi klasika, ale programatori paralelnich vypoctu museli myslet aby si nevhodnym kodem nezkazili sami paralelizaci t.j. neprivedli kompiler do uzkych.
Re: "Překladače Fortranu implementované na počítačích Cray"
celé vláknoPri prepoctu ceny celeho superpocitace a jeho moralni zivotnosti (dejme tomu 10 roku) vychazi jedna strojova minuta docela draho, takze ti lidi opravdu museli premyslet, testovat, simulovat jeste predtim nez se nejaky dlouhotrvajici vypocet na Crayi skutecne spustil (dejme tomu modely pocasi nebo termojaderne fuze). Mam dojem ze na nejake „tak to spustime a uvidime co to udela“ se tehdy moc nehralo.
Re: "Překladače Fortranu implementované na počítačích Cray"
celé vláknojestli to bylo tezke – ani moc ne, frontend je stejne pro vsechny platformy stejnej :-) Na druhou stranu kdyz si nekdo poridil superpocitac za desitky milionu dolaru (tehdejsi jeste tvrde meny :-) tak uz nebyl problem si vzit na vyvoj ty nejlepsi lidi, zadny bastlice v PHP…
id software a Cray
celé vláknoLen dodam, ze v o kupe Cray-a uvazovali aj id software. Preco sa tak nakoniec nestalo sa docitate tu
http://planetromero.com/2010/01/gametales-cray-ymp
Re: id software a Cray
celé vláknoTyjo, díky za link, bylo to fakt zajímavý počtení.
Mimo jiné jsem poprvé četl o tom, že NeXTSTEP taky někdo významnej fakt používal :)))
Akorát mě teda zaráží, že pracovali na NeXTSTEPu, uvažovali o Crayi a skončili na Win95 :)
Re: id software a Cray
celé vláknoNo jeste kdysi na NeXTu bezela v CERNu takova naprosto bezvyznamna, dalo by se rict provincni aplikace ;)
http://en.wikipedia.org/wiki/File:First_Web_Server.jpg
Re: id software a Cray
celé vláknoTo jo, tuhle provincni aplikaci znám :)
Akorát mám utkvělou představu, že když jsem tuhle fotku viděl naposledy, byl ten štítek „This machine is a server“ ještě neodškrabanej, ale to bude asi jenom nějaká chiméra :))
Prosím o ty benchmarky
celé vláknoÚchvatné jako vždycky (včetně diskuze). Přimlouvám se za ty benchmarky paralelních výpočtů, rád bych trochu pohonil svoji nvidii ale nechce se mi bench pro CUDA vymýšlet na zelené louce.
mašinky vo vesmíre
celé vláknoKeď sa spomínal navigačný počítač z Apolla, čo takto článok o počítačoch používaných vo vesmíre ?
Nedávno som zisťoval, čo sa používa v raketoplánoch, zarazilo ma, že tam je stále značne historický stroj.
Re: mašinky vo vesmíre
celé vláknoMě zase zaráží, že takové věci tolik lidí zarážejí. :-) Zajímavé je, že nikoho nezaráží, že stále ještě někdo hraje a poslouchá značně historické Bachovy Braniborské koncerty. :-)

