11.07.2015 Views

2014.1.futuro

2014.1.futuro

2014.1.futuro

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Fortran ovat olleet suosituimpia jo vuosikymmentenajan. Vaikka erityisesti Fortranvoi kuulostaa antiikkiselta, sillä onaktiivinen käyttäjäkuntansa tieteellisessälaskennassa. Laskennan näkökulmastasillä on runsaasti hyviä ominaisuuksia,esimerkiksi tuki kompleksiluvuille ja moniulotteisilletaulukoille. Suorituskykyäheikentäviä ominaisuuksia on pyrittyvälttämään. Ei ole mitenkään poikkeuksellista,että saman ohjelman Fortranversiopyyhkii C-versiolla lattiaa.Kielen uusin versio, Fortran 2008,on ominaisuuksiltaan täysin moderniohjelmointikieli, vaikka monet vanhanliiton superkonekoodaajat edelleen vannovatkinlähes 40 vuotta vanhan Fortran77 -standardin nimeen. Siinä kun ei olemitään ylimääräistä eikä suorituskyvyllehaitallista.Nykyään GNU/Linux-käyttöjärjestelmissämukana tulevat GNU-kääntäjätovat erittäin kilpailukykyisiä kaupallistenkääntäjien kanssa (mm. Intel, PGI).Erityisesti GNU Fortran on kehittynythuomattavasti viimeisen viiden vuodenaikana.Kääntäjät eivät kuitenkaan aina osaaoptimoida koodia riittävän hyvin, ja siksisuorituskyvyn kannalta kriittisissä rutiineissakäytetään myös assembleria.Esimerkiksi keskeisimmissä lineaarialgebranrutiineja sisältävissä kirjastoissa(mm. Openblas) on runsaasti eri prosessoreilleoptimoituja osia. Assemblerinkäyttö tehostaa koodia mutta hankaloittaasen siirtämistä uusille alustoille.Perinteisten kielten rinnalle on nousemassajoukko korkeamman tason kieliä,joista suosituimmat ovat avoimenlähdekoodin Python ja kaupallinen Matlab.Korkeamman abstraktiotason tasonkielet mielletään usein tehottomiksi,mutta taitavasti ohjelmoimalla voi niilläkintoteuttaa varsin tehokkaita ohjelmia.Pythonille on kehitetty paketit Scipy(Scientific Python) ja Numpy (NumericalPython), jotka lisäävät Pythoniin tehokkaitarutiineja taulukoiden käsittelyyn.IBM Blue Gene vuodelta 2004.kuyksikkö. Tämän johdosta ydin ei oletäysin binääriyhteensopiva tavallistenx86-prosessoreiden kanssa, mutta tulevaAVX-512-käskykanta lupaa yhteensopivuutta.Muisti näkyy yhtenäisesti kaikilleXeon Phi -prosessorin ytimille, ja välimuistienhallinta on automatisoitu.Kortissa itsessään on riisuttu Linuxkäyttöjärjestelmä,johon on mahdollistakirjautua sisään ja jossa voi ajaa sovelluksiasuoraan. Seuraavan sukupolven XeonPhi (koodinimi Knight’s Landing) tuleeoheiskortin lisäksi tarjolle myös itsenäisenäprosessorina.Muita arkkitehtuurejaPhin ja GPU:iden lisäksi markkinoilla onmuitakin mielenkiintoisia arkkitehtuureja.Kickstarter-projektissa syntynytAdaptevan Parallela-suoritin on samantyyppinenmanycore-arkkitehtuuri kuinedellä mainittu Xeon Phi. Siinä on runsaastipieniä, vähän energiaa tarvitseviaytimiä. 16-ytiminen perusmalli maksaaainoastaan 99 dollaria. Kovin mahtavaksisupertietokoneeksi siitä ei ole, mutta sevoi olla hyvä alusta rinnakkaisohjelmoinninopetteluun.Ohjelmoitavat FPGA-piirit (Field ProgrammableGate Array) soveltuvat hyvintehtäviin, joissa ei ole kyse tavallisestaliukulukulaskennasta. Tekstin tunnistaminenja DNA-sekvenssianalyysi ovat hyviäesimerkkejä. Haittapuolena on FPGApiirienohjelmoinnin hankaluus.Miten supertietokoneitaohjelmoidaan?KieletSupertietokoneiden ohjelmoinnissa perinteisetohjelmointikielet kuten C jaRinnakkaistaminenRinnakkaistamisella tarkoitetaan sitä,että laskentatehtävä pilkotaan pienempiinosiin ja osatehtävät suoritetaan samanaikaisesti.Useat prosessorit saadaannäin tehokkaammin käyttöön. Rinnakkaistaminenon ollut superkoneiden ohjelmoinnissasuurimpia haasteita 60-luvultasaakka. Viime vuosina tekniikka jaohjelmointi on tullut tutummaksi, koskatavallisissa tietokoneissakin on usein moniydinprosessori.Superkonekäyttöön tarkoitettujenohjelmien rinnakkaistamiseen käytetääntyypillisesti Message Passing Interface(MPI) -ohjelmointimallia. Se perustuumelko yksinkertaisiin kirjastokutsuihin,joilla välitetään viestejä kahden tai useammanprosessin välillä. Ohjelmointimallion erittäin tehokas mutta myös haastava,etenkin jos halutaan tehdä tehokastaja helposti toiselle arkkitehtuurille sovitettavaakoodia.Standardista on lukuisia erilaisia toteutuksiaMPI-kirjastojen muodossa. EsimerkiksiCraylla on oma, Aries-kytkentäverkkoavarten optimoitu kirjastonsa.OpenMPI puolestaan on suosittu yhteisövetoisestikehitetty avoimen lähdekoodinMPI-kirjasto, joka toimii useiden erilaistenkytkentäverkkojen kanssa.Jos riittää, että ohjelma suoritetaanrinnakkaisesti vain yhden noodin sisällä,on myös OpenMP varteenotettava vaihtoehto.Nimestään huolimatta sillä ei olemitään tekemistä OpenMPI:n kanssa.Joissakin tapauksissa, esimerkiksi hyvinsuurissa laskentatehtävissä, voi olla kannattavaayhdistää molemmat niin, ettäOpenMP:tä käytetään noodien sisällä jaMPI:tä niiden välillä.Supertietokoneiden tulevaisuusOn varmaa, että supertietokoneiden suorituskykyjatkaa tulevaisuudessakin kasvamistaanja että niiden käyttö lisääntyy.Vasta pieni osa mahdollisuuksista on hyödynnetty:on runsaasti erilaisia tutkimusalueitaja toimialoja, joilla superkoneitavoitaisiin hyödyntää uusilla tavoilla.Superkoneiden ongelmana ovat virrankulutusja jäähdytystarve, jotka kasvavatnopeammin kuin suorituskyky. Josnykyinen kehityssuunta jatkuu, tehokkaimmatkoneet tulevat vaatimaan hurjiamääriä sähköä.Kansainvälinen superkoneyhteisö on42 2014.1

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!