Een groot deel van de Intel-CPU's biedt een functie genaamd hyper-threading, een Intel-merknaam voor Simultaneous Multi-Threading of SMT. Hyperthreading is een proces dat verbeterde CPU-prestaties mogelijk maakt bij zwaar multi-threaded taken.
Tip: Threads zijn reeksen instructies voor een proces. Als een proces wordt opgesplitst in meerdere kleinere delen die tegelijkertijd kunnen worden uitgevoerd, wordt dit multithreaded genoemd.
Wat is hyperthreading en hoe werkt het?
Hyperthreading wordt op de markt gebracht als een tool waarmee een enkele CPU-kern twee processen tegelijk kan uitvoeren. In de meeste besturingssystemen worden hyperthreaded-kernen weergegeven als een tweede logische kern, naast de fysieke hoofdkern en met dezelfde
Dit is geen bijzonder realistische weergave van hoe hyperthreading echt werkt. In werkelijkheid is hyperthreading een slim planningsproces waarmee een CPU-kern twee threads in de wachtrij kan plaatsen. Als de eerste thread vastloopt, bijvoorbeeld als het op gegevens wacht, kan de tweede thread soepel worden ingewisseld. Dankzij dit ontwerp kan de tweede thread profiteren van inactieve CPU-tijd die anders verloren zou gaan, om nuttige berekeningen uit te voeren.
Wat is de prestatie-impact?
Afhankelijk van het type werklast, zoals voor zwaar multithreaded processen, zoals videobewerking, kan hyperthreading een prestatieverbetering tot 30% opleveren. Bij andere taken, zoals toepassingen met één thread, kan hyperthreading echter helemaal geen prestatiewinst opleveren.
Hyperthreading betekent wel dat de CPU meer stroom verbruikt en meer warmte genereert dan een niet-hyperthreaded CPU zou doen. Dit wordt veroorzaakt door de hogere bezettingsgraad van de CPU.
Hyperthreaded cores versus fysieke cores
In werkelijkheid is hyperthreading een leuke extra, die een beetje extra gratis prestaties biedt voor multithreaded-taken. Fysieke CPU-kernen kunnen echter een veel grotere prestatieverbetering bieden voor multithreaded workloads. Als je de keuze hebt tussen een dual-core CPU met hyperthreading en een quad-core CPU zonder hyperthreading, dan zal de quad-core het beter doen dan de hyperthreaded dual-core. Het fysieke aantal cores is het belangrijkste onderdeel van multithreaded-prestaties, het ondersteunen van hyperthreading is een beetje een boost.