Android

A multicore zsetonok következő nagy kihívást jelentenek az ipar számára

How Do CPUs Use Multiple Cores?

How Do CPUs Use Multiple Cores?
Anonim

Több processzor magot hoztak létre, mint az elsődleges módja a kiszolgáló és a PC-chipek teljesítményének növelésében, de az előnyök nagymértékben csökkennek, ha az iparág nem tud legyőzni bizonyos hardver- és programozási kihívásokat, a Santa Clara Multicore Expo résztvevői, Kalifornia, ezt mondta ezen a héten.

A legtöbb szoftver még ma is íródott egymagos chipek esetén, és újraírni vagy frissíteni kell annak érdekében, hogy kihasználják az egyre növekvő számú magot, amelyet az Intel, a Sun Microsystems és az egyéb chip-gyártók a termékeket, mondta Linley Gwennap, a The Linley Group elnöke és vezető elemzője.

Az off-shelf alkalmazások gyakran gyorsabban futnak a CPU-knál, akár négy processzor maggal, de ezen a teljesítményen túl leesik és akár romlani tud, ha több magot adnak hozzá, mondta. A Gartner legutóbbi jelentése is kiemelte a problémát.

A chipgyártók és a rendszerépítők megkezdték a fejlesztők oktatása és jobb eszközök biztosítása a többmagos programozáshoz. Egy évvel ezelőtt az Intel és a Microsoft azt mondta, hogy 20 millió dollárt fektetnek be két kutatóközpont megnyitásához az amerikai egyetemeken, amelyek a probléma megoldására irányulnak. A mainstream fejlesztők többszintű programozási eszközeinek hiánya talán a legnagyobb kihívás, amellyel az iparág ma szemben áll, "- írja Gwennap.

Olyan alkalmazások írása, amelyek lehetővé teszik a számítástechnikai feladatok különböző részeit, például egy matematikai probléma megoldását vagy egy kép megjelenítését, nem oszthatók meg és hajtanak végre egyidejűleg több magon keresztül. Azonban ez a modell, amelyet gyakran a párhuzamos számítástechnikának neveznek, eddig elsősorban speciális, nagyteljesítményű számítástechnikai környezetek számára korlátozott.

Az elmúlt években azonban az Intel és a Advanced Micro Devices a magokat energiahatékonyabb módon chip teljesítménye, ami jelentősen megváltozott a hagyományos óragyorsítás gyakorlatában. Az Intel nyolc magot épít a közelgő Nehalem-EX chipjeikbe, és az AMD 12-eres chipeket tervez szerverek számára. Többszörös beillesztési képességeket is adnak hozzá, amelyek lehetővé teszik, hogy mindegyik mag egyidejűleg több kódsorral működjön.

Ez azt jelenti, hogy a mainstream alkalmazásoknak másképpen kell megírniuk, hogy kihasználhassák a rendelkezésre álló további magokat. A munkát nehéz megtenni, és új lehetőségeket teremt a szoftveres hibák számára. Az egyik leggyakoribb a "versenykörülmények", ahol a kiszámítás kimenete függ a feladatok egyes elemeitől, amelyek egy bizonyos sorrendben fejeződnek be. Ha nem, akkor hiba léphet fel.

Néhány párhuzamos programozási eszköz áll rendelkezésre, mint pl. Az Intel C és C ++ párhuzamos stúdiója. A téren más gyártók is a Codeplay, a Polycore Software és a Clik Arts. Van egy új C-alapú párhuzamos programozási modell is, az OpenCL, amelyet a The Khronos Group fejlesztett ki és támogatott az Apple, az Intel, az AMD, az Nvidia és mások által.

De sok rendelkezésre álló eszköz még folyamatban lévő munkák, mondta a Multicore Expo. A szoftver-fordítóknak képesnek kell lenniük arra, hogy azonosítsák a párhuzamos kódot, majd a programozók kézi beavatkozása nélkül párhuzamosítsák azt a feladatot, mondta Shay Gal-on, az EEMBC szoftverfejlesztési igazgatója, egy olyan nonprofit szervezet, amely referenciaértékeket fejlesztett ki a beágyazott chipek számára.

Az eszközök hiánya ellenére néhány szoftvergyártó viszonylag könnyű párhuzamos kódot létrehozni az egyszerű számítástechnikai feladatokhoz, mint például a kép- és videofeldolgozáshoz, mondta Gwennapp. Az Adobe átírta a Photoshop-et oly módon, hogy olyan feladatokat rendelhet hozzá, mint a nagyítás és a képszűrés bizonyos x86 magokhoz, javítva a teljesítményt három-négy alkalommal, azt mondta.

"Ha videót vagy grafikát csinálsz, pixeleket és hozzárendelheti őket különböző CPU-khoz, így sok párhuzamot kaphat így "- mondta. De a bonyolultabb feladatokhoz nehéz egyetlen megoldást találni azon számítási sorozatok azonosítására, amelyek párhuzamosan állíthatók és oszthatók fel.

Miközben a programozási oldal a legnagyobb kihívást jelentheti, vannak olyan hardverváltozások is, amelyeket meg kell tenni, hogy megoldja azokat a problémákat, mint a memória késleltetése és a lassú buszsebesség. "Ahogy egyre több CPU-t adsz a chipen, szükséged van a memória sávszélességére, hogy biztonsági másolatot készítsünk" - mondta Gwennap.

Egy memória-gyorsítótár vagy adatbusz megosztása több mag között többnyire szűk keresztmetszetet hozhat nagymértékben elpazaroltak. "Mire eléred a hat vagy nyolc CPU-t, mindent eltöltenek azzal, hogy beszélgetnek egymással, és nem lépnek előre, hogy bármit elvégezzenek" - mondta.

A bátorság végső soron a fejlesztőkre hárulhat, hardver és szoftver jobb párhuzamos programok készítésére. Számos kódoló nem tud gyorsítani a legújabb fejlesztéseket a hardvertervezésben, mondta Gal-on. Meg kell nyitniuk az adatlapokat, és meg kell vizsgálniuk a chip-architektúrákat, hogy megértsék, hogyan tudják jobban teljesíteni a kódjukat, mondta