Dlaczego stosowanie Hyper-Threading może prowadzić do obniżenia wydajności

10

Przeczytałem go w różnych miejscach, takich jak to , że hiperwątkowość prowadzi do obniżenia wydajności.

Nie jestem w stanie zrozumieć, dlaczego ani w jaki sposób hiperwątkowanie prowadzi do degradacji.

Dlaczego tak jest, że nawet jeśli Hyper-Threading pozwala systemowi operacyjnemu na wykorzystanie wolnych zasobów, następuje degradacja.

Choć testy porównawcze wskazują na winowajcę jako hiperwątkowość, ale czy ktoś może mi wyjaśnić przyczynę tego.

Dzięki

DW
źródło

Odpowiedzi:

8

Wydaje się, że odpowiedź, jak zwykle, ma coś wspólnego z pamięciami podręcznymi. Ponieważ hiperwątki wykorzystują te same pamięci podręczne L1 i L2, jeden hiperwątek może niszczyć pamięci podręczne innych. W najgorszym przypadku wątki po kolei niszczą pamięć podręczną drugiej strony, a wydajność spada, ponieważ pamięci podręczne są ponownie wypełniane, aby je ponownie wyrzucić.

Oczywiście jest to prawdopodobnie bardzo specyficzne dla obciążenia, co tłumaczyłoby, dlaczego problem występuje głównie na serwerach.

Warto również zauważyć, że odpowiedź zależy częściowo od tego, co rozumiesz przez „wydajność”. Na przykład w systemach czasu rzeczywistego metryką wydajności jest przewidywalność zamiast przepustowości, na co hiperwątkowanie ma negatywny wpływ, wprowadzając nieprzewidywalne przeciągnięcia.

superdesk
źródło