Re: Czy HyperThreading może spowalniać? (Intel i3)

Autor: tomekr <tomekr_at_nomail.pl>
Data: Sun 18 Apr 2010 - 18:19:01 MET DST
Message-ID: <hqfbe5$inj$1@newsread1.aster.pl>
Content-Type: text/plain; charset=ISO-8859-2; format=flowed

RadoslawF pisze:

> W jaki sposób technologia HT pozwoli zwiększyć wydajność ?
> Może być jakiś link do poczytania.

Procesor pracując nad pojedynczym wątkiem spędza większość czasu (>40%)
czekając na dane z pamięci. Wynika to z tego, że czasy losowego dostępu
do pamięci RAM są bardzo długie, rzędu 45-70 ns. Tymczasem procesor
pracuje z szybkością nawet = 3GHz * 2 operacje pamięciowe/cykl zegara.

http://www.anandtech.com/show/2542/5

Ze względu na fatalne czasy dostępu losowego tak naprawdę pamięć RAM we
współczesnych komputerach nie jest używana jako pamięć o dostępie
losowym, tylko bardziej jako storage, podobnie jak dysk twardy.
Przetwarzanie danych odbywa się w rejestrach procesora i pamięci cache
L1 data cache (3-4 cykle dostępu, architektura pipeline, możliwość
wykonywania 2-ch lub 3 operacji naraz). RAM służy tylko do
przechowywania danych, jedyne operacje jakie wykonuje to: załadowanie
danych z RAM do pamięci cache, wyładowanie danych z pamięci cache do
RAM, transfer DMA z jednego miejsca w RAM do drugiego lub miezy RAM a
peryferiami.

Architekci procesorów wielowątkowych liczą na to, że w czasie gdy jedne
z wątków czeka na pamięć RAM drugi będzie miał coś do zrobienia w
rejestrach lub pamięci cache, gdy drugi zacznie czekać na pamięć, to z
kolei do pierwszego już przyjdą dane z pamięci (zdążą się załadować do
cache lub rejestrów) i tak w kółko.

Statystycznie to się sprawdza, w większości przypadków uzyskuje się
przyśpieszenie. Oczywiście są wyjątki - np. niektóre są tak pechowo
skonstruowane, że nawzajem "walczą o cache" wyrzucając jeden drugiego z
pamięci podręcznej procesora.
Received on Sun Apr 18 18:20:03 2010

To archiwum zostało wygenerowane przez hypermail 2.1.8 : Sun 18 Apr 2010 - 18:51:02 MET DST