Z principu, jakákoliv technologie, která se snaží využít jeden prostředek (společná pipeline, společná cache, predikce) bude vždy jednomu procesu dávat indicii o tom, jak probíhá proces druhý. To vždy bude představovat určité riziko, nejen na serverech, ale i na běžných pracovních počítačích. Teď jde jen o to, kolik kritických procesů dokážeme odizolovat (např. nastavením afinity) od těch uživatelských, jak důkladně takové odizolování bude vypadat a jestli přínosy technologie převýší riziko.
Ani ve výše zmíněné šatně nelze zabránit, aby v tenké stěně někdo nevyvrtal šmírovací díru. Nebo by bylo potřeba postavit stěnu železobetonovou a každé dva týdny posílat inspektora ověřit stav zdí. V případě šaten dají lidé, jsem přesvědčený, přednost sádrokartonové příčce a levnějšímu vstupnému.
Problém izolace procesů je o mnoho větší za použití virtualizace. Zatímco samotný OS může do jisté míry kritické procesy chránit a ostatní procesy izolovat, tak při virtualizaci tuto výhodu ztratí. Pak už je možné jen všechny tyto technologie, které zefektivňují běh, povypínat a běžet na hrubém, neoptimalizovaném výkonu a v taktu procesoru - tak, jak tomu bylo do éry Pentia 4.
Celkem souhlas až na tu izolaci. Praxe nám ukazuje, že jediná izolace bude vypnout HT úplně, protože když to neuděláme, tak si útočník tu cestu vždycky najde a objeví nové chyby. To co se teď děje bude mít vliv na budoucí generace CPU a řekl bych, že HT půjde do důchodu. Možná se dočkáma na X86 něčeho typu Big-Little kdy bude procesor kombinace různých jader a při powersave bude využívat ty slabší. Otázka ale je, jestli by to vůbec mělo smysl.
Vypnout HT ti vubec nepomuze, protoze jednotlivy CPU toho sdilej daleko vic. Jediny reseni by bylo abys nejak (nejlip na urovni HW) zaridil, ze nikdy nepovezi vic nez jedina uloha ... jo aha, to je presne ten duvod, proc se delaj viceprocesorovy stroje. A dokonce bys ani nemel dovolit beh vice threadu jedne ulohy, protoze ani ty by nemely mit moznost ziskat data o jinym threadu.
V tomto ohledu by stačilo, aby stejné fyzické jádro (ale klidně více HT vláken) sdílel ten samý kritický proces. Např. volání jádra nejsou sama vůči sobě považována za nebezpečná. Nebo ten samý proces s více thready není nezbytně nutné považovat za nebezpečný vůči sobě (pochopitelně antiteze neplatí: ne každý proces s více thready je možné považovat za bezpečný vůči sobě - např. webserver).