-
11. Data: 2010-04-07 16:01:27
Temat: Re: Czy HyperThreading może spowalniać? (Intel i3)
Od: Radosław Sokół <r...@m...com.pl>
RadoslawF pisze:
> Ale co daje w nowym wielordzeniowym w sytuacji kiedy pracuje
> tylko jeden rdzeń a reszta i tak nie ma co robić ?
Tyle, co sam wielordzeniowy procesor. Nic.
HT i wielordzeniowość są przystosowane do obsługi sytuacji,
gdy liczba wątków czekających na realizację idzie w dziesiąt-
ki.
--
|"""""""""""""""""""""""""""""""""""""""""""""""""""
"""""""|
| Radosław Sokół | http://www.grush.one.pl/ |
| | Politechnika Śląska |
\...................................................
......./
-
12. Data: 2010-04-07 17:02:22
Temat: Re: Czy HyperThreading może spowalniać? (Intel i3)
Od: RadoslawF <r...@w...pl>
Dnia 2010-04-07 18:01, Użytkownik Radosław Sokół napisał:
>> Ale co daje w nowym wielordzeniowym w sytuacji kiedy pracuje
>> tylko jeden rdzeń a reszta i tak nie ma co robić ?
>
> Tyle, co sam wielordzeniowy procesor. Nic.
Tak mi się zdawało ale wolałem się upewnić.
Dzięki za obie odpowiedzi.
Pozdrawiam
-
13. Data: 2010-04-07 19:28:00
Temat: Re: Czy HyperThreading może spowalniać? (Intel i3)
Od: "marfi" <marfi @bb.onet.pl>
Użytkownik "Latet" <l...@n...pl> napisał w wiadomości
news:hphgdo$42i$1@inews.gazeta.pl...
> Witam,
>
> Czy fakt, że 2-rdzeniowy procesor (kontretnie i3) obsługiwany jest przez
> system jako 4-wątkowy (HT), może negatywnie wpłynąć na wydajność działania
> konkretnej aplikacji, pracującej na 1 wątku?
>
Z praktyki: może.
Nie chce mi się uzasadniać aby nie budzić demonów - po prostu spróbuj
ustawić koligację (affinity) dla tego procesu tak aby korzystał tylko z
jednego rdzenia i zobacz efekt - niekoniecznie pozytywny.
--
marfi
-
14. Data: 2010-04-07 21:33:16
Temat: Re: Czy HyperThreading może spowalniać? (Intel i3)
Od: Matt <m...@g...com>
On 7 Kwi, 21:28, "marfi" <marfi @bb.onet.pl> wrote:
> Z praktyki: może.
> Nie chce mi się uzasadniać aby nie budzić demonów - po prostu spróbuj
> ustawić koligację (affinity) dla tego procesu tak aby korzystał tylko z
> jednego rdzenia i zobacz efekt - niekoniecznie pozytywny.
Ale tu piszesz o przypadku kiedy jeden wielowątkowy proces korzysta z
jednego rdzenia fizycznego (a z dwóch "wirtualnych" rdzeni HT), a nie
o różnicy między jednym wątkiem na rdzeniu HT a jednym wątkiem na
rdzeniu nie-HT.
--
Regards
Matt
-
15. Data: 2010-04-18 16:19:01
Temat: Re: Czy HyperThreading może spowalniać? (Intel i3)
Od: tomekr <t...@n...pl>
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.