211service.com
Personīgo superdatoru solījums
Pagājušajā nedēļā Intel paziņoja par pētniecības projektu, kas lika džekiem lēkāt ar prieku: pirmo programmējamo terascale superdatoru mikroshēmā. Uzņēmums demonstrēja vienu mikroshēmu ar 80 kodoliem jeb procesoriem un parādīja, ka šos serdeņus var ieprogrammēt, lai samazinātu skaitļus ar ātrumu triljons darbību sekundē, ko sauc par teraflopu. Mikroshēma ir aptuveni lielas pastmarkas izmērā, taču tai ir tāds pats aprēķinu ātrums kā superdatoram, kas 1996. gadā aizņēma aptuveni 2000 kvadrātpēdas un patērēja aptuveni 1000 reižu vairāk enerģijas.

Nav tik super: Superdators 1996. gadā (augšējā kreisajā pusē), kas spēj aprēķināt vienu triljonu operāciju sekundē, aizņēma aptuveni 2000 kvadrātpēdas un patērēja 500 000 vatu. Nesen Intel atklāja 80 kodolu izpētes mikroshēmu (apakšā pa labi), kas nodrošina tādu pašu aprēķina ātrumu, bet ir lielas pastmarkas lielumā un patērē apmēram 65 vatus.
Šī izpētes mikroshēma ir viens no pirmajiem Intel soļiem ceļā uz masveida daudzkodolu tehnoloģiju, saka Nitins Borkars, Intel inženierzinātņu vadītājs un laboratorijas projektu vadītājs. Viņš saka, ka mērķis ir izmantot šo mikroshēmu, lai pārbaudītu metodes, kas varētu padarīt daudzkodolu tehnoloģiju ātrāku, energoefektīvāku un, visbiedējošāk, viegli programmējamu. Šīs metodes tiks izmantotas turpmākajos produktos, kas varētu parādīties piecu līdz desmit gadu laikā, ja viss noritēs labi.
Taču gandrīz visi skaitļošanas nozares inženieri piekrīt, ka izgatavot plaša patēriņa datorus ar simtiem kodolu nebūs viegli. Patiesībā daudzi pat nav pārliecināti, ka to var izdarīt. Visspilgtākais izaicinājums būs atrast veidu, kā pilnībā pārveidot programmatūru, lai lietojumprogrammas varētu izmantot daudzu kodolu priekšrocības. Tas ietver programmatūras izstrādātāju mācīšanu, kā rakstīt kodu daudzkodolu iekārtām (tas ir uzdevums, kas pazīstams kā paralēlā programmēšana), un jaunu rīku izstrādi, kas ļauj kodēt precīzi un efektīvi.
Pētnieki un vizionāri jau domā par to, kā šīs superdatoru mikroshēmas vislabāk izmantot. Intel uzskata, ka atpazīšana, ieguve un sintēze ( RMS ) lietojumprogrammas būs galvenās. Kopumā šīs tehnoloģijas varētu nodrošināt reāllaika valodas tulkošanu, izmantojot mobilos tālruņus, reāllaika video meklēšanu pēc runātas frāzes vai attēla, kā arī labākas ieteikumu sistēmas iepirkšanās, maltīšu plānošanas un pat veselības aprūpes jomā.
Lai padarītu šīs lietojumprogrammas par realitāti, skaitļošanas nozare piedzīvos dažas pieaugošas sāpes, saka Deivids Patersons , datorzinātņu profesors Kalifornijas Universitātē Bērklijā. (Viņam un viņa kolēģiem ir a vietne kas rīko diskusijas un nodrošina balto grāmatu un video par šo tēmu.) Mēs esam šo milzīgo pārmaiņu sākuma stadijā, saka Patersons. Viņš apraksta virzienu, kādā nozare ir nolēmusi iet — atsakoties no viena kodola procesoriem ar ierobežotu veiktspēju daudzkodolu tehnoloģijām — kā, piemēram, Hail Mary piespēli futbola spēlē. Mikroshēmu ražotāji mikroshēmā ievieto arvien vairāk kodolu, taču programmatūras inženieri nav pārliecināti, vai viņi var sekot līdzi. Pattersons saka, ka šis ir aizraujošs laiks pētniekiem, ja mēs varam izdomāt, kā noķert caurlaidi.
Tā kā viena kodola mikroshēmu pulksteņa frekvence — procesora ātruma mērs — nepārtraukti pieauga gadu desmitiem, programmētāji varēja izvairīties no paralēlās programmēšanas izaicinājuma. Džons Šalfs , datorzinātnieks Lorensa Bērklija laboratorijā Bērklijā, Kalifornijā. Viņš saka, ka viņu programmas darbotos ātrāk, ja viņi tikai gaidītu 18 mēnešus, līdz ierodas nākamās paaudzes mikroshēma. Taču aptuveni 2002. gadā kļuva skaidrs, ka šīs viena kodola mikroshēmas patērē pārāk daudz enerģijas un nespēs saglabāt ātruma pieaugumu. Tāpēc nozare nolēma mainīt taktiku: tā vietā, lai mēģinātu panākt lielāku ātrumu no viena procesora, mikroshēmu ražotāji vienkārši pievienoja citu procesoru. Tagad, kad mēs nevaram palielināt pulksteņa frekvenci, mums ir jāsastopas ar paralēlismu, saka Šalfs, un labākais veids, kā raksturot nozares reakciju, ir plaši izplatīta panika.
Kas ir tik biedējošs paralēlajā programmēšanā? Sākumā tas ir nodots speciālistiem augstas veiktspējas skaitļošanas (HPC) pasaulē, kuri raksta programmatūru, kas atrisina konkrētas problēmas, kas darbojas iekārtās ar tūkstošiem un miljoniem kodolu. Programmatūra var izveidot klimata pārmaiņu modeļus vai paredzēt proteīnu locīšanu, taču tā ir rakstīta vienam darbietilpīgam uzdevumam, nevis to patērētāju iegribām, kuri vēlas runāt ar datoru, skatīties augstas izšķirtspējas video un sekot līdzi saviem. novecojoši vecāki pusceļā visā valstī.
Konkrēti, paralēlās programmas ir jāraksta tā, lai uzdevumus varētu atbilstoši sadalīt starp procesoriem. Tas ir grūti, jo ne visās lietojumprogrammās dabiski ir komponenti, kurus var atdalīt; dažreiz, kad tie ir atdalīti, uzdevumi tiek izpildīti dažādos laikos un rada vājās vietas. Turklāt ir sarežģījumi ar koplietojamiem resursiem: ja lietojumprogrammai ir jāpiekļūst atmiņā esošajiem datiem, kurus koplieto desmitiem vai simtiem citu kodolu, programma var palēnināt vai iesaldēties. Turklāt paralēlo programmu atkļūdošana var būt murgs, jo bieži kļūdu ir grūti dublēt, tāpēc problēmas avotu ir grūti atrast.
Bet pat ar visiem izaicinājumiem ir cerība, saka Šalfs. HPC pētnieki ir izstrādājuši paralēlu algoritmu portfeļus, kas varētu būt noderīgi patērētāju paralēlajām programmām. Turklāt tirgū jau ir plaši daudzkodolu produkti, un tie sniedz norādes par labākajām pieejām gan no arhitektūras, gan no programmēšanas viedokļa. Piemēram, grafikas uzņēmums NVIDIA tikko izlaida komerciālu mikroshēmu ar 128 kodoliem, kas paredzēta grafikas renderēšanai tādām lietojumprogrammām kā videospēles. Daudzi kodoli ir universāli, kas nozīmē, ka tos var ieprogrammēt, lai veiktu daudz dažādu uz grafiku orientētu uzdevumu. Alternatīva ir, ja serdeņiem mikroshēmā ir pievienotas instrukcijas.
Turklāt Intel, AMD un citi sadarbojas ar akadēmiskajiem pētniekiem, lai mēģinātu izveidot paralēlās programmēšanas sistēmu, par kuru var vienoties. Viena pieeja, kas izskatās daudzsološa, tiek saukta par darījumu atmiņu, saka Krste Asanoviča MIT datorzinātņu profesors. (Skatiet Problēmas ar daudzkodolu datoriem.) Izmantojot transakciju atmiņu, mikroshēmas arhitektūras un koda kombināciju, programmētāji varēs domāt vairāk secīgi, kā viņi to dara, programmējot viena kodola sistēmas, un ļaut sistēmai nodrošināt paralēlismu. Asanovičs stāsta, ka programmētāji raksta instrukcijas, kas sākas un beidzas lineāri, bet aizkulisēs tās darbojas paralēli. Šī pieeja prasa sadarbību no aparatūras pārdevējiem, kā arī programmatūras inženieriem, jo aparatūrai un programmatūrai ir jādarbojas kopā. Abas kopienas runā, saka Asanovičs, taču nav vienprātības par to, kā tas izskatīsies. Viņš piebilst, ka transakciju atmiņa, visticamāk, būs viena no pieeju kombinācijām, kas varētu palīdzēt atvieglot paralēlo programmēšanu.
Tomēr, ja nebūs vienprātības par to, kā rīkoties ar daudzkodolu tehnoloģiju, patērētāju skaitļošanas nozare varētu nonākt strupceļā pēc aptuveni pieciem gadiem, saka Šalfs. Taču viņš ir noskaņots optimistiski, jo paralēlās skaitļošanas joma ir radījusi jaunu steidzamības sajūtu, parādoties divkodolu un četrkodolu produktiem. Viņš saka, ka akadēmiskajā vidē mēs varam nepiekrist gadiem, taču rūpniecībai ir veids, kā ar savu ekonomisko nepieciešamību diezgan ātri vienoties par risinājumu.