Załóżmy, że mamy dwa procesory, jeden czterordzeniowy 3,2 Ghz z 4 rdzeniami, a my mamy dwurdzeniowy 3,2 Ghz z 2 rdzeniami z 2 wątkami w każdym rdzeniu (Hyper-Threading). Moje założenia jako programisty będą następujące: 4 rdzenie 4 wątki powinny działać szybciej niż 2 rdzenie 4 wątki, ponieważ drugi procesor musi przełączać się między wątkami, aby emulować 4 rdzenie, podczas gdy pierwszy nie musi wykonywać takiego przełączania jak każdy rdzeń może działać niezależnie i indywidualnie.
Chcę potwierdzić, że moje założenie jest prawdziwe, jeśli nie, proszę wyjaśnić, dlaczego jedno jest lepsze od drugiego.
Odpowiedzi:
Wierzę, że to prawda - ponieważ hiperwątkowanie ma wspólne elementy - w szczególności główne zasoby wykonawcze, będziesz w stanie uruchomić 4 pełne wątki jednocześnie, zamiast czekać na uwolnienie tych zasobów.
Celem HT jest uzyskanie lepszej wydajności przy mniejszym wykorzystaniu obszaru matrycy - twój czterordzeniowy rdzeń byłby na ogół większy układ - powiedzmy prawie dwa razy większy niż dwurdzeniowy układ inny niż HT, podczas gdy dwurdzeniowy układ HT 5% większy. Czterordzeniowy procesor może widzieć nawet dwukrotnie większą prędkość przy odpowiednim obciążeniu roboczym (choć jest to mało prawdopodobne, ponieważ w większości przypadków prawdopodobnie nie będziesz uruchamiać 4 wątków przy pełnej wydajności), podczas gdy dwurdzeniowy procesor HT widziałby 15-30% lepszą wydajność ( według wikipedii ) niż dwurdzeniowy procesor inny niż HT.
Więcej rzeczywistych rdzeni jest zwykle lepszych.
źródło
Z Wikipedii :
Jeśli masz system czterordzeniowy, wówczas 4 wątki mogą działać na pełnym rdzeniu. Jeśli masz dwurdzeniowy system hiperwątkowania, wówczas 2 wątki mogłyby działać na pełnym rdzeniu, ale przy 4 wątkach wątki 1 i 2 będą dzielić jeden rdzeń, a wątki 3 i 4 będą dzielić drugi rdzeń. Hyperthreading umożliwia równoległe działanie dwóch wątków (tylko), jeśli nie używają tych samych zasobów procesora. W idealnym przypadku możesz uzyskać wysoki stopień zrównoleglenia, ale jak twierdzi Wikipedia, wzrost wydajności nie wynosi 100%, ale tylko 15-30%.
źródło
W przypadku hiperwątkowości czas bezczynności rdzenia zadania A (wspomniany rdzeń mógł wysłać zapytanie o dysk na dane, poczekać, aż dysk przeszuka obszar talerzy, odczytać dane i odesłać je z powrotem do rdzenia ) jest wykorzystywany do wykonania innego zadania B. Tak więc, gdy zadanie B jest obsługiwane przez tak zwany wątek 2 i jeśli żądanie pobierania danych przez zadanie A jest zakończone, zadanie A nadal musi czekać na zakończenie rdzenia przez wątek 2. Oba wątki nie mogą być wykonywane jednocześnie w jednym rdzeniu. Ponownie, HT wykorzystuje niedopasowanie prędkości między rdzeniem / procesorem a różnymi podsystemami w komputerze. HT wykorzystuje twoje rdzenie do pełnej pojemności ... to jest jak pełne wykorzystanie pojemności. Tak więc, jeśli otworzysz cztery karty w przeglądarce, każda karta będzie miała rdzeń w systemie 4-rdzeniowym, a dwie karty będą musiały współdzielić rdzeń w systemie 2-rdzeniowym.
źródło