Hibásan működik a TSX technológia az Intel processzorokban

Az Intel a Haswell processzorokkal párhuzamosan jelentette be a tranzakcionális memóriakezelést, azaz a TSX funkciót, amely a drágább Haswell termékeknek a megjelenésük óta része. Ennek előnyeit nehéz egyszerűen elmagyarázni. Először is érdemes azzal kezdeni, hogy a mai rendszerek a memóriakezelés szempontjából zárolást alkalmaznak a memóriában szereplő adatra. A párhuzamos feldolgozás során aránylag sokszor előfordulhat, hogy a programszálak egymás eredményeivel dolgoznak, de ezt nem olyan egyszerű megtenni, ugyanis, ha egy szál dolgozik egy adattal, akkor azt zárolni kell, és egy másik szál ahhoz nem is férhet hozzá a feloldásig. Ezzel lényegében a szálak egymást akadályozzák, mivel esetenként egymásra várnak.

Hirdetés

Tekintve a CPU-magok késleltetésre optimalizált jellegét ez a várakozás nem túl jó, mivel sokszor nem tud a rendszer azzal foglalkozni, amivel lehetne. A tranzakcionális megoldás, azaz a TSX funkció ezt a problémát hívatott orvosolni. A lényeg, hogy az adatok zárolása nem történik meg, így bármelyik szál elérheti azokat, és dolgozhat velük, akár párhuzamosan is. Fontos azonban, hogy ellenőrizni kell az adatok érvényességét. A rendszer tehát megjegyzi, hogy mely adatokkal dolgoznak a szálak párhuzamosan, és a visszaírás után az eredményeket érvényesíti. Ha tehát az egyik szál módosította a másik szál által párhuzamosan feldolgozott adatot, akkor újra kell végezni az utolsó számítást, az új eredmény birtokában. Előfordulhat azonban, hogy az első szál nem módosított az adaton, amikor is nyert helyzet van, így a későbbi szál által feldolgozott, eredeti adat eredménye teljesen jó, vagyis hitelesíteni lehet.

Maga a koncepció nagyon jó ötlet, de az Intel bejelentette, hogy az összes eddig megjelent és TSX-et hivatalosan támogató processzora hibás hardveres implementációt használ. A problémát nem az Intel, hanem cégen kívüli szoftverfejlesztők vették észre, ugyanis maga a TSX funkció nem működik automatikusan, így azt a program oldaláról kell engedélyezni, illetve menedzselni. A friss adatok után kiderült, hogy a TSX-et támogató tesztprogramok szimplán nem stabilak, amit az Intel egyértelműen hardverhibára vezetett vissza, illetve gyanús volt, hogy a TSX-et letiltva az tesztalkalmazások mindenféle stabilitási gond nélkül futnak.

Az Intel a problémára egy mikrokód frissítéssel reagál, mely az összes TSX-et támogató processzor esetében szimplán letiltja a funkciót, azaz a program oldaláról a hibásan működő tranzakcionális memóriakezelés elérhetetlen lesz. Erre elvileg azért van szükség, mert a hiba nem javítható szoftveres szinten, így mindenképpen újra kell tervezni hozzá a hardvert.

A vállalat elmondta, hogy az érkező processzorok esetében a TSX-et nem is aktiválják, így a funkció a Broadwell és a Haswell-E kódnevű lapkákban sem lesz használható. E limitáció alól egyedül a szerverekbe szánt Haswell-EP lesz kivétel. Bár ez a lapka szintén hibás lesz a TSX működése szempontjából, de a szoftverfejlesztők opcionálisan bekapcsolhatják a szolgáltatást, hogy tesztelhessék a készülő programokat. Információink szerint az Intel leghamarabb a Haswell-EX kódnevű, szintén szerverekbe szánt lapkában tervezi a tranzakcionális memóriakezelés hardveres implementációjának átdolgozását, és ezzel a hibás működés javítását.

Szintén megtudtuk, hogy a TSX funkció a mobil és az asztali piacra szánt processzorok esetében nem élvez prioritást, így az Intel az előbbi két kategóriába szánt, megjelenés előtt álló termékek startját csupán a TSX-szel kapcsolatos hiba javítása miatt nem napolja el, inkább hardveresen letiltják a funkciót.

  • Kapcsolódó cégek:
  • Intel

Előzmények

Hirdetés