Köztudott, hogy az Intel Xeon, és az újabb Intel Pentium 4-es desktop processzorok rendelkeznek egy olyan új funkcióval, amelyet Hyperthreading-nek hívnak. A Hyperthreading tulajdonképpen nem csinál mást, mint a fizikai processzort két logikai processzornak "hazudja" az operációs rendszer felé. Hogy mi ennek az oka?
A legújabb alkalmazások erősen thread-eltek (az utasítások több kisebb részre vannak felosztva, így alkalmasak a párhuzamos feldolgozásra), azaz egyszerre több szálon futnak (OO.org, Mozilla, stb.). A Hyperthreading funkcióval ellátott processzorok képesek a "többszálasított" alkalmazásokat párhuzamosan feldolgozni, amelynek az eredménye a gyorsabb végrehajtás. Az IBM januári tesztjei szerint az így feldolgozott thread-elt alkalmazások a 2.4.19-es SMP kernellel akár 30%-kal, a 2.5.32-es kernellel akár 51%-kal gyorsabban futhatnak.
A 2.4-es és 2.5-ös kernelek támogatják a Hyperthreading technológiát. Így az alkalmazások nagy része profitál a Hyperthreading-ből. Sajnos a Linux kernel egyelőre nem tud különbséget tenni a fizikai és a logikai processzorok között, és ennek negatív következményei lehetnek.Ezt Brian Stevens (a Red Hat operációs rendszerek fejlesztésért felelős alelnöke) mondta a NewsFactor-nak. Néhány esetben az adminisztrátor szeretné a logikai és a fizikai processzort külön kezelni.
Például egy olyan gépen, amelyben két különálló fizikai processzor van a legésszerűbben úgy lehet két különböző alkalmazást futtatni, hogy mindegyik egy külön CPU-n fut. Ez a legideálisabb beállítás. Viszont abban az esetben, ha a rendszer Hyperthreading-képes, elképzelhető, hogy az alkalmazás egy fizikai processzor két hyperthread-jére kerül, szabadon hagyva a másik fizikai processzort, amely ennek eredményeképpen üresben fog járni (idle). Így az eredeti 30%-os gyorsulás helyett csak 15%-nyi gyorsulást könyvelhetünk el.
Ezt kiküszöbölendő a Red Hat mérnökei (Molnár Ingó - Hyper-Threading-et tudó scheduler) azon dolgoznak, hogy a Red Hat Enterprise Linux 3 - amely egyelőre beta állapotban van, várhatóan ősszel jelenik meg - már különbséget tudjon tenni a fizikai és a logikai processzor között.
Néhány teszt szerint a nem thread-elt alkalmazások esetén a Hyperthreading kikapcsolása némi plusz teljesítményt hozhat.
A fent említett impotencia nem csak a Linux kernelre jellemző. A má$ rendszerek is küzdenek ezzel a problémával. A régebbi desktop operációs rendszereket (Windows 98-at, Windows NT-t és Windows 2000-et) használó felhasználóknak azt javasolja az Intel, hogy kapcsolják ki a BIOS-ban a Hyperthreading támogatást.
A teljes cikk itt.