Czy hipertreading zmniejsza wydajność pojedynczego rdzenia?
Jest to pytanie, które często pojawia się podczas omawiania korzyści i wad hipertreadingu. Hyperthreading to technologia, która pozwala pojedynczego rdzenia fizycznego działać jako dwa logiczne rdzenie, skutecznie podwajając liczbę wątków, które może obsłużyć procesor. Jednak trwa debata na temat tego, czy hiperthreading faktycznie poprawia wydajność, czy może potencjalnie utrudniać pojedynczą wydajność. Przeglądajmy ten temat dalej.
Po pierwsze, ważne jest, aby zrozumieć, jak działa hipertreading. Gdy pojedynczy rdzeń jest nadmierny, jest on podzielony na dwie rdzenie wirtualne, każda z nich jest w stanie wykonywać własny zestaw instrukcji. Pozwala to procesorowi obsługiwać wiele wątków jednocześnie, poprawiając ogólną wydajność wielozadaniową. Jednak niekoniecznie oznacza to, że wydajność jednego rdzenia zostanie ulepszona.
W rzeczywistości niektórzy twierdzą, że hipertreading może faktycznie zmniejszyć wydajność pojedynczego rdzenia. Wynika to z faktu, że zasoby fizycznego rdzenia, takie jak jednostki pamięci podręcznej i wykonania, są udostępniane między dwoma logicznymi rdzeniami tworzonymi przez hiperthreading. Może to prowadzić do zwiększonej rywalizacji o te zasoby, potencjalnie spowalniając wykonanie poszczególnych wątków.
Ponadto hipertreading może nie zapewnić znacznego wzrostu wydajności dla aplikacji, które nie są zoptymalizowane, aby skorzystać z wielu wątków. Na przykład wiele gier jest przede wszystkim jednokierunkowane i może nie zauważyć zauważalnej poprawy w stosunku do hipertreadingu.
Warto jednak zauważyć, że wpływ hiperthreading na jedno rdzeń może się różnić w zależności od konkretnego obciążenia i architektury procesora. W niektórych przypadkach hipertreading może faktycznie poprawić wydajność pojedynczego rdzenia, umożliwiając procesorowi lepsze wykorzystanie dostępnych zasobów.
Nie ma ostatecznej odpowiedzi na pytanie, czy hipertreading zmniejsza wydajność pojedynczego rdzenia. To w dużej mierze zależy od konkretnych okoliczności i obciążenia pracą. Niektórzy użytkownicy mogą zdecydować się wyłączyć na hiperthreading w niektórych scenariuszach, w których wydajność pojedyncza podstawowa jest priorytetem, podczas gdy inni wolą pozostawić ją, aby skorzystać ze zwiększonych możliwości wielozadaniowości.
Oto kilka kluczowych dań:
- Hyperthreading to technologia, która pozwala pojedynczego rdzenia fizycznego działać jako dwa logiczne rdzenie.
- Hyperthreading może poprawić wydajność wielozadaniową, umożliwiając procesorowi obsługę wielu wątków jednocześnie.
- Niektórzy twierdzą, że hipertreading może potencjalnie zmniejszyć pojedyncze wyniki, zwiększając rywalizację o wspólnych zasobach.
- Hyperthreading może nie zapewnić znacznego wzrostu wydajności dla aplikacji, które nie są zoptymalizowane dla wielu wątków.
- Wpływ hiperthreading na jedno rdzeń może się różnić w zależności od obciążenia i architektury procesora.
- Nie ma ostatecznej odpowiedzi na to, czy hipertreading zmniejsza wydajność pojedynczego rdzenia, ponieważ w dużej mierze zależy to od konkretnych okoliczności.
Oto kilka pytań opartych na tekście:
- Co to jest hipertreading?
- Czy hiperthreading poprawia wydajność wielozadaniową?
- Może potencjalnie zmniejszyć wydajność pojedynczego rdzenia?
- Czy wszystkie aplikacje korzystają z hipertreadingu?
- Jak różni się wpływ hipertreadingu na wydajność pojedynczego rdzenia?
- Czy istnieje ostateczna odpowiedź na to, czy hiperthreading zmniejsza wydajność pojedynczego rdzenia?
- Jakie czynniki należy wziąć pod uwagę przy podejmowaniu decyzji, czy włączyć, czy wyłączyć Hiperthreading?
- Czy gry zwykle zoptymalizowane pod kątem wielu wątków?
- Czy hiperthreading może poprawić ogólną wydajność wielozadaniową?
- Jakie są potencjalne wady hipertreadingu?
- Czy istnieje konsensus co do tego, czy hipertreadowanie jest korzystne, czy szkodliwe dla pojedynczego rdzenia?
- Może wyłączyć hiperthreading poprawę wydajności pojedynczej rdzenia?
- Czy Hyperthreading może poprawić wykorzystanie dostępnych zasobów?
- Czy Hyperthreading będzie włączony lub wyłączony do gier?
- Czy procesory AMD są gorsze od procesorów Intel pod względem wydajności hipertreadingu?
- Czy hiperthreading zapewnia wszelkie zalety gry?
Hyperthreading to technologia, która pozwala pojedynczego rdzenia fizycznego działać jako dwa logiczne rdzenie.
Tak, hiperthreading może poprawić wydajność wielozadaniową, umożliwiając procesorowi obsługę wielu wątków jednocześnie.
Tak, niektórzy twierdzą, że hiperthreading może potencjalnie zmniejszyć pojedynczą wydajność, zwiększając rywalizację o wspólnych zasobach.
Nie, hipertreading może nie zapewnić znacznego wzrostu wydajności dla aplikacji, które nie są zoptymalizowane dla wielu wątków.
Wpływ hiperthreading na jedno rdzeń może się różnić w zależności od obciążenia i architektury procesora.
Nie, nie ma ostatecznej odpowiedzi, ponieważ w dużej mierze zależy to od konkretnych okoliczności.
Czynniki takie jak konkretne obciążenie pracą i priorytet podany dla pojedynczego rdzenia, należy wziąć pod uwagę przy podejmowaniu decyzji, czy włączyć, czy wyłączyć hipertreading.
Nie, wiele gier jest przede wszystkim jednokierunkowe i może nie zauważyć zauważalnej poprawy w stosunku do hiperthreading.
Tak, hiperthreading może poprawić ogólną wydajność wielozadaniową, umożliwiając procesorowi obsługę wielu wątków jednocześnie.
Pewne potencjalne wady hiperthreading obejmują zwiększoną rywalizację o wspólnych zasobach i potencjalne spowolnienie indywidualnego wykonywania wątków.
Nie, nie ma konsensusu, ponieważ w dużej mierze zależy to od konkretnych okoliczności i obciążenia pracą.
W niektórych przypadkach wyłączenie hipertreadingu może poprawić pojedyncze wyniki rdzenia poprzez zmniejszenie rywalizacji o wspólne zasoby.
Tak, w niektórych przypadkach hipertreading może poprawić wykorzystanie dostępnych zasobów, umożliwiając procesorowi lepsze alokacja ich.
To zależy od konkretnej gry i tego, czy jest ona zoptymalizowana dla wielu wątków. Niektóre gry mogą skorzystać z hiperthreading, podczas gdy inne mogą nie zauważyć zauważalnej poprawy.
Nie ma ostatecznej odpowiedzi na to pytanie, ponieważ wydajność procesorów AMD i Intel może się różnić w zależności od konkretnych okoliczności i obciążenia pracą.
Hyperthreading może zapewnić zalety gier w niektórych scenariuszach, w których gra jest zoptymalizowana pod kątem wielu wątków i może skorzystać z zwiększonych możliwości wielozadaniowości.
Czy hipertreading zmniejsza wydajność pojedynczego rdzenia
Akceptując wszystkie pliki cookie, zgadzasz się na korzystanie z plików cookie w celu dostarczania i utrzymywania naszych usług i witryny, poprawy jakości Reddit, personalizowanie treści i reklam Reddit oraz mierz skuteczność reklamy.
Czy hipertreading zmniejsza wydajność pojedynczego rdzenia
To wcale nie ma sensu, w zasadzie wszystko, co się tutaj dzieje, można obsługiwać przez system Windows, a nawet sam UNIX.
Po pierwsze: hipertreading sam w sobie jest ogromną poprawą wydajności, więc dlaczego z jakiegokolwiek powodu miałbyś to wyłączyć? Mam na myśli, że jeśli tytuł ma problemy, możesz ustawić nie tylko powinowactwo przetwarzania, ale także podstawowe powinowactwo za pośrednictwem Menedżera zadań. Jeśli masz jakąkolwiek koncepcję działania wielowy, wiedziałbyś, że nowoczesne mikroprocesory są w stanie zapisać wiele instrukcji na cykl zegara, a ponadto, wykorzystując wiele wątków z tego samego procesu.
Nie widzę powodu co do celu tego narzędzia, wszystko można zrobić w menedżerze zadań.
Ponadto teoretycznie nie powinno być żadnego sposobu na poprawę wydajności bez bezpośredniego zwiększenia prędkości przetwarzania układu lub poprawy wykorzystania (lub adaptacji) instrukcji w samym chipie procesora.
Visualzzazione Di 16 – 30 Commenti Su 48
6 LUG 2015, Ruda 23:21
Messaggio Originale di TimdIrmdrive:
Messaggio Originale di Yumri:
Jak i/lub dlaczego Hyperthreading pomogłoby lub zaszkodzić gierom? Naprawdę większość gier używa teraz tylko 1 ~ 4 rdzeni, a Hyperthreading będzie stanowić podwójny rdzeń jako 4 rdzenie, które UM w zależności od tego, jak obsługuje go lepiej, może być gorsze, ale z elektronicznej realizacji nie pomoże mu się wyłączyć, ponieważ wówczas jest opracowany między 2 rdzeniem zamiast 2 rdzeni biegających 4 wątki . Hyperthreading jest w dół, mając 1 rdzeń 2 wątków, w jaki sposób wyjaśniono mi to, że nie możesz mieć tego samego rdzenia na regulacjach części o ładowaniu elektronicznym, dlatego jest to tylko 2 wątki zamiast 4 każda, ale mają 4 części, które możesz mieć 2 działające na raz iw tym, dlaczego hiper wątek w ogóle bolałby ?
Wyobraź sobie, że rdzeń procesora jest pracownikiem wymiennym, który jest w sklepie spożywczym, dzwoniąc do artykułów spożywczych. Teraz wyobraź sobie, że ma 1 z tych przenośników z 1 klientem, a kasjer dzwoni tego klienta. Kasjer chwyta 1 kawałek jedzenia, dzwoni, a następnie łapie 1 więcej. Klient i ich żywność = gry/programy oraz kasjer = CPU Core.
Teraz wyobraź sobie tego samego kasjera, ale zamiast 1 przenośnika z 1 klientem, kasjer ma 2 przenośniki, każdy z własnym klientem. Więc teraz kasjer może jednocześnie zadzwonić do dwóch klientów. Jednak kasjer może jednocześnie zadzwonić do 1 kawałka jedzenia. Tak więc kasjer pobiera 1 kawałek jedzenia od klienta A, a następnie 1 kawałek od klienta B, a kolejny kawałek od klienta A itp. Tak działa Hyperthreading (w skrócie). Hyperthread to drugi przenośnik z drugim klientem.
Więc teraz wyobraź sobie, że teraz musisz kupić 100 kawałków jedzenia. Który jest szybszy? 2 oddzielne pasy przenośników, każdy idący do własnego kasjera lub 1 kasjer z 2 przenośnymi pasami?
Odpowiedź to 2 przenośniki, z których każdy idzie do własnego kasjera. AKA 2 rdzenie procesora. Ponieważ 1 kasjer może wymeldować tylko 1 przedmiot na raz, niezależnie od 2 przenośników, podczas gdy 2 kasjerzy mogą wykonać dwa razy więcej pracy jako 1.
Właśnie dlatego, jeśli masz możliwość wyboru, zawsze masz grę na rzeczywistych rdzeniach procesora w porównaniu do wirtualnych procesorów Hyperthreads.
ok, dostaję twoją anologię, że tak, że anologia oznacza, że gry z natury nie działałyby tak dobrze na CPU AMD po ich modułach? Gdy moduły podzielili pierwsze 2 komórki z ostatnich 2 komórek, aby wykonać 2 częściowe rdzenie wewnątrz 1 modułu pełnego rdzenia ? To jest to samo w koncepcji, co hiper wątek Intela, po prostu hipertreadowanie, czyni to na jednej linii zamiast 2 linii komórek, więc jak to robić na 2 liniach komórek? Czy masz na myśli, że procesory AMD są gorsze od wszystkich procesorów Intel ?
Dostaję twoją ananolgię i tak, gdyby to była coś poza elektronicznością, ale linie komórek przekraczające napięcie 1 V USSSULY z jednej komórki do drugiej, dzięki czemu część, że nie jest w stanie, aby była obok instrukcji w tym samym czasie, gdy Intel, używając 1 linii i AMD, używając 2 linii i wywołując każdą połowę tego 1 linii A SEEPECT AD A AND nie będzie działać tak dobrze, że w tym samym miejscu na AMD CPUS. Ma to sens na poziomie oprogramowania tak, po prostu nie na poziomie myślenia sprzętowego jest wszystkim.
Jeśli działa tak cudownie, wyjaśnij mi, jak i dlaczego nie rozumiem, a ja nie kupię, dopóki nie zrozumiem.
6 LUG 2015, Ruda 23:30
^ Nie zamierzam też zacytować tego z powodu..
Żaden komórki AMD FX nie * dzieli *,
Układy AMD FX są bazą modułową tak, jak kiedykolwiek mają 2 rdzenie fizyczne przed modułami. Jakkolwiek rdzenie, które mają jakiś aspekt matrycy, taki jak FPU itp..
Dawka AMD FX ma 8 rdzeni fizycznych, 1 wątek na rdzeń..
Rzecz z Intelem HT polega na tym, że dawka 2 wątek na rdzeń.. i oba wątki muszą dzielić wszystkie aspekty rdzenia i procesora. Co jest jednym z powodów, dla których AMD FX wyprzedza Intel HT, w aplikacji Multi Wheres, Multire..
BEACUSE AMD FX Rdzenia muszą udostępniać fpu eect w modułowym, chociaż są one kompletne klasyfikowane przez Intel w jednym wątku, preformencja. Jest to wyjątkowo prawdziwe, jeśli HT jest wyłączony.. Możesz wyłączyć rdzenie w układach AMD FX, aby dopasować 1 rdzeń na 1 modułowy, a następnie nie mieć między nimi żadnego współdzielenia pamięci podręcznej L3
Dla AMD jest to jeden z największych powodów, dla których Half CoreBoost jest szybszy niż pełny rdzeń.
Na moim procesorze 8120 normalne wynosi 3.1 GHz, pełny rdzeń (8 rdzeni) to 3.4 GHz i pół rdzenia (rdzenie 4x, 1 na modułowy) to 4.0GHZ
Jeśli wyłączysz HT na Intelu.
Ultima Modifica da Maddoggyca; 6 Lug 2015, Ore 23:36
7 LUG 2015, Ruda 1:34
Nigdy nie po stronie „podzielonych” komórek powiedziałem, że AMD używa jednej linii dla kroków 1 i 2, a następnie innej linii dla kroków 3 i 4, podczas gdy Intel używa tej samej linii stopu krzemu dla kroków 1, 2, 3 i 4, nie fakturowane pętlowe, a odwrotność pętli to dlaczego i jak działają moduły AMD.
Nadal nie rozumiesz, dlaczego HT degradowałby Probalby preformancji. To więcej dla więcej rdzeni niż potrzebne niż na posiadanie go na tym samym rdzeniu, co electric. To samo z rdzeniami AMD opłata elektroiczna w tym, jak robią rdzenie.
Tak jak powiedziałeś, że jedno rdzeń jest lepsze w przypadku Intela, a nie pojedynczego wątku, ale pojedynczy rdzeń jest tak, jak nic nie robi jednego wątku, a nie intel i nie oba AMD nie robią multple wątków na cykl zegara.
Przykro mi, że nie ma to dla mnie sensu, ale jeśli to prawda, to tak i cokolwiek przy większej prędkości ponad prędkość 3 GHz przestaje mieć znaczenie, ponieważ żadna gra nie widzi żadnej różnej prędkości w tym czasie, a jeśli możesz po prostu wyłączyć tę jedną opcję, to, która to była, ale sprawiło, że mój proces BO nie działa dobrze z hiperthreadingiem.
7 Lug 2015, Ore 2:03
hmm bez AMD i Intel nie robią wielu wątków na cykl zegara. Tylko Intel z HT włączoną dawką 2 gwintami na cykl zegara.. Również cykl zegara jest jak .000000001.. AKA Realllllly Fast. *To było MHz, GHZ wchodzą. Im szybszy GHZ, tym szybszy cykl zegara. Im szybszy cykl oznacza więcej wątków w CPU.. AKA Twoje dane są szybsze, a więcej danych jest wylatyczane w tym samym czasie, a następnie wolniejszy procesor
Jest to najlepszy i większość schematów simples do śledzenia wyjaśnienia cyklu zegara, cyklu gwintu i Intel HT .
Pojedynczy rdzeń, pojedynczy wątek = 1 cykl, wątek zaczyna się i kończy w tym samym czasie, gdy cykl zegara uruchamia się/kończy
Pojedynczy rdzeń, hiper wątek = 1 cykl.. HT jest, gdy 1 rdzeń działa 2 wątki, jeden zaczyna się od żebrania cyklu zegara, a kończy na końcu cyklu zegara. Druga wątek rozpoczyna się w połowie cyklu zegara i kończy w połowie następnego cyklu.. (powtarzać)
Intel Ht Dose nie uruchamia 2 wątków w tym samym czasie, ani dawka nie uruchamia 2 wątku w błaganiu cyklu zegara, a nie dawka, a jednocześnie kończy 2 wątki. Zdecydowanie z powodu solo, że jeden wątek teoretycznie nie musiał czekać na kolejny wątek do zakończenia za pomocą reszty procesora. Jak to nie jest przypadek .. Zgrywanie wątków dzieje się cały czas, chociaż osobiście nigdy nie zobaczysz ani nie wiedziałbyś o tym, i rzadko dawujesz, że wpływa na komputer lub system operacyjny, a masz jak 1: 1000000000000000 szansy.. Ale dawka nadal powoduje problemy z preformacją, z którymi nie ma sobie radzić pojedynczy rdzeń, jedno rdzeń
To jeden z powodów, dla których gry i aplikacja jednorazowa działają nieco szybciej na układu Intel, który jest wyłączony HT. Zero szansy na to, że wątek będzie musiał poczekać na kolejne zakończenie.
Jeśli chodzi o gry, które są włączone wielorakie, lepiej je odciążyć ich dedykowane rdzenie, które obsługują 1 wątek na cykl, aby uniknąć zawięcia wątku na inny, aby ukończyć to, co może zrobić..
Brzmi to wszystkie zupełnie i nieco rediculsy, gdy myślisz o tym, jak szybko jest cykl i jak szybka elektryka/dane przepływa przez sprzęt. Ale ludzie faktycznie dbają o uzyskanie możliwej prędkości stąd sprzętu. Nawet jeśli jest to kilka milasekund zysku.
Ultima Modifica da Maddoggyca; 7 Lug 2015, Ore 2:23
7 Lug 2015, Ore 3:55
ok, myślę, że masz coś, co robi Hyper Threading. Hyper Gwinting pozwala na wykonanie instrukcji multple przez ten sam rdzeń w tym samym czasie, jeśli oba instrukcje pretanatyczne do tego samego wątku są niezależne. Tak 1 Cykl zegara jest bardzo szybki około 1 nanosekund dla 1 cyklu zegara, ale instrukcje multple można wykonać w 1 cyklu zegara, a zatem część tego, w jaki sposób Intel jest lepszy niż AMD w precyzyjnym rdzeniu, choć nie jestem pewien, który jest lepszy w multi podstawowym przedstawieniu. Jeśli program jest jedynym programem na rdzeniu, to tak, będzie w stanie użyć rdzenia, ilekroć będzie musiał użyć tego rdzenia, a jeśli jest to rdzeń, tym lepiej, nie mówiąc, że użycie tej starej sztuczki z 2003 roku nie jest już dobre, po prostu mówię, że nie widzę już żadnej korzyści z używania go, gdy system systemu operacyjnego i samego procesora już robią to dla ciebie.
7 LUG 2015, Ruda 4:08
Oto zdjęcie wewnętrznych dzieł rzeczywistego procesora i dlaczego mówię to, co mówię
http: // www.CBtricks.com/radio/prezydent/George/Graphics/George_Main_Sch.Gif
Twoje zdjęcie jest nadmiernie uproszczone dla użytkowników, którzy nie rozumieją elektronicznej inżynierii i potrzebują go na proste warunki, ale to, co mówisz, nie ma sensu, ponieważ możesz uruchomić instrukcje mulple według cyklu zegara w tym, że procesor (George) nie jest procesem, który nie jest szybki, a Intel i AMD sprawiają, że ich proboszcza jest bardzo wyjątkowo różnorodna forma
Twoja logika działa, jeśli przebiegała w prostym kółko tak, ale kiedy nie trafia w cykl ani w ogóle określonym wzorze, oprócz metody zdefiniowanej przez ilość przypadkowych atomów wewnątrz rezystora na tym, że nanosekundowe rzeczy działają na rozróżnianie i hiperthreading Ussualy poprawia wstępnie wyformułowanie . Tak, jeśli prowadzisz grę z podwójnym rdzeniem, a drugi rdzeń kończy instrukcję przed pierwszym rdzeniem, najprawdopodobniej dostaniesz niebieski ekran, ponieważ drugi rdzeń będzie w tej samej linii co pierwszy rdzeń, ale za nim i wykonał tylko w tym samym tempie, nie szybciej i nie wolniej, ale tej samej prędkości . Morden procesory mogą sprawić, że swoje rdzenie przebiega z prędkością różnorodną, chyba że w BIOS w BIOS to, co robi ten program, wysyła wiadomość, aby uruchomić wszystkie rdzenie z maksymalną prędkością, która wyróżnia ten „problem” i zwiększa prędkość do maksymalnej prędkości / notowanej prędkości, ponieważ większość procesorów nie uruchamia się na 3 GHz lub dowolnej prędkości zapasowej, które są sprzedawane na poziomie, oprócz 1.2 GHz do 1.8 GHz w celu oszczędzania życia procesora i oszczędzania zużycia energii.
To, co powiedziałeś w ostatniej części „Nawet jeśli jest to kilka miliscondów zysku”, dobrze, jeśli uruchamia nowy lub ostatni proces.0GHZ do 3.2 GHz robi różnicę kilka nanosekund zysków. 12 Nanaosekund Whcih jest najlepszym przypadkiem, ile czasu ten program zaoszczędzi, działając na ostatnim procesorze generacji procesora lub wcześniej, że przy prędkościach zapasowych jest niewykrywalne przez ludzki mózg nasz mózg potrzebuje około 150 mlisekund do 200 milisekund, aby zachować coś w ogóle, co jest całkiem szybkie, ale nie tak szybko, jak 12 nanosekund.
Ten program jest wówczas stworzony dla sprzętu niskiego końca, a zatem nie dla mnie, ale nie dla mnie.
7 Lug 2015, Ore 7:07
Messaggio Originale di TimdIrmdrive:
Odpowiedź jest naprawdę łatwa:
Hyperthreading nie jest prawdziwym procesorem. Zamiast tego jest to zwirtualizowany procesor. Jeśli grasz w grę, która może używać tylko 2 wątków procesowych jednocześnie, uzyskasz znacznie lepszą wydajność, nadając mu 2 prawdziwe rdzenie procesora, w porównaniu z 1 prawdziwym rdzeniem procesora i 1 wirtualny rdzeń procesora. Tak więc CPUCOROS to upewnienie się, że gra nie używa hiperthreading, a zamiast tego używa tylko rzeczywistych rdzeni. Uwaga: Jest to opcja w oprogramowaniu. Możesz włączyć/wyłączyć to na podstawie gry. Oto dobra lektura o tym, czym jest Hyperthreading: https: // en.Wikipedia.org/wiki/hiper-threading
„Wszystko można zrobić w menedżerze zadań. “
To nie jest poprawne. Niektóre filmy i opisy tego, co CPUCORS to wyjaśnią. Na przykład nie dotyka samej gry. Identyfikuje i modyfikuje, w jaki sposób uruchomione są procesy systemu operacyjnego, procesy inne niż gra, sama gra i owija je w niezwykle łatwy w użyciu programu zintegrowanego na parach.
„Teoretycznie nie ma możliwości poprawy wydajności bez bezpośredniego zwiększenia prędkości przetwarzania układu”
To nie jest poprawne. Najłatwiejszym sposobem na zrozumienie tego jest to: co jest lepsze dla gry? 70% CPU rdzenia lub 100% procesora rdzenia? Właśnie to zrobią CPUCORES – Oczyści to, co są procesy, a następnie przedstawi prawie 100% czysty i niewykorzystany rdzeń w twojej grze parowej. (Wśród innych cech CPUCOR).
Mam kilka filmów o CPucores używanych przez niektóre rzeczywiste gry. Zachęcam do sprawdzenia: http: // SteamCommunity.com/app/384300/dyskusje/
Mam nadzieję, że to pomoże ci zrozumieć rzeczy.
Tim, proszę, opracuj dla mnie kilka rzeczy. Jak dokładnie CPUCORES zezwala na grę, która działa na 70% rdzeniu (szczerze mówiąc, nigdy nie widziałem, aby gra, która nie wykorzystuje 100% rdzenia), aby działać w 100% rdzeniu? Nie możesz zmusić programu do użycia większego obciążenia procesora. Nie wierzę, że zamknięcie procesów ma jakikolwiek wpływ na wydajność gry (w przeszłości testowałem tę teorię w przeszłości). Należy również zauważyć, że 95% dodatkowych procesów, które są przylegające do gry, jest wymagane przez uruchomienie przez system Windows, a wszelkie dodatkowe procesy są konieczne, takie jak menedżerowie audio, programy specyficzne dla sterowników itp. Inny przykład: kiedy uruchamiam GTA V, potrzebuję procesu klubu społecznego, aby pozostać aktywny, aby zagrać w grę. Ale jedynymi „dodatkowymi” procesami, które działają, gdy gram, to menedżer pobierania, FOOBAR2000 i konsola przełączająca sprzęt MSI. Przetestowałem tę teorię podczas pisania tego i zauważyłem absolutnie żadną różnicę w wydajności lub gładkości mojej gry po zamknięciu tych dodatkowych procesów.
Zgodzę się jednak, że hiper-threading ma tendencję do uczynienia rzeczy niestabilnym. Nie zgadzam się, że hiper-threading degraduje wydajność. Wszystkie hiper-trynowanie ma na celu skuteczne zarządzanie obciążeniem procesora. Niektóre silnie ładujące aplikacje, takie jak edytory fotograficzne/wideo i gry wideo, są odpowiednie do uruchamiania z włączonym hiper-trączeniem i wyłączanie go z dowolnego powodu może spowodować więcej problemów niż naprawi.
Czytam gdzieś (nie mam tego osobistego doświadczenia), że wyłączenie hiper-threading spowoduje gry o ciężkim ładowaniu tekstury (takie jak TES: Skyrim), aby uzyskać ogromne trafienie w czasie ładowania.
Tim, jestem doświadczonym użytkownikiem komputera. Moje doświadczenie przekracza ponad 10 lat, nie licząc niekończących się godzin badań na takie tematy. Muszę mi powiedzieć coś, czego nie wiem.
Ultima modyfica da ketonasarus; 7 LUG 2015, Ruda 7:20
7 LUG 2015, Ruda 13:01
Finanally osoba, która ma to na temat hipertreadingu . Również w linku powyżej wydaje się, że jeśli procesor jest wystarczająco szybki, jak 3 GHz lub szybciej, to wyłączenie hiperthreading w ogóle nie zapewni żadnej zwiększenia wydajności.
I tak, widzę twój punkt widzenia, ale z tego, jak rozumiem, że program zmusza turboboost, który jest w efekcie, co jest zasadniczo nadkręgawcą dla wybuchu prędkości od czasu do czasu, ponieważ powiedziałeś, jeśli nie może urelizować 100% rdzenia, nawet jeśli używasz tego programu, nie będzie . w tym, że możesz jednak przekonać Windows i powiedzieć, że jest to i oszukać procesora do używania dodatkowych funkcji, aby uczynić się szybko niż prędkość zapasowa i/lub przy prędkości zapasowej, ponieważ ulegacja wzrost.
Ultima modyfica da yumri; 7 LUG 2015, Ruda 13:05
8 LUG 2015, Ruda 11:41
Messaggio Originale di GS-R:
Wszystkie hiper-trynowanie ma na celu skuteczne zarządzanie obciążeniem procesora. Niektóre silnie ładujące aplikacje, takie jak edytory fotograficzne/wideo i gry wideo, są odpowiednie do uruchamiania z włączonym hiper-trączeniem i wyłączanie go z dowolnego powodu może spowodować więcej problemów niż naprawi.
Tak. To jest „wszystko, co ma zrobić”, ale mam podejrzenie, że błędnie interpretujesz, czym jest rzeczywiste „ładowanie” i jak to działa lub nie działa.
To, co robi hiper-threading, polega na dzieleniu fizycznego rdzenia na dwa logiczne rdzenie. Te dwa logiczne rdzenie mają osobny stan wykonania, dzięki czemu oni Móc uruchamiać zadania równolegle, ale muszą udostępniać i walczyć o zasoby takie jak magistra nie zawsze biegać równolegle.
To jest niezwykle ważne, aby zrozumieć. Musisz uruchamiać oprogramowanie, które jest napisane w określony sposób, aby skorzystać z sztuczek harmonogramowych Hyper-Threading umożliwia bez jednego z rdzeni logicznych w pary blokującej drugą.
Najprostszym przykładem jest jeden wątek pracujący ciężkie prace obliczeniowe na jednym logicznym rdzeniu, podczas gdy jego siostrzana logiczna rdzeń spłukiwa dane z głównej pamięci RAM i przyciąga nowe dane do dalszych obliczeń.
Jaki rodzaj oprogramowania działa głównie w ten sposób? Oprogramowanie, które wykonuje obliczenia na strumieniach danych. Kanonicznymi przykładami tego typu to oprogramowanie do kodowania lub dekodowania wideo audio i.
W praktyce większość oprogramowania nie jest wystarczająco dobrze równolegle, aby umożliwić dwóm logicznym rdzeniom działanie w całkowicie rozłączny sposób. Będą zderzenia. Wiele z nich, więcej w ciągu jednej sekundy, niż możesz liczyć na zbiorowe ręce publiczności w wypełnionym filmie Theather.
Jednak wiele krótkich okresów wolnych od kolizji, rozłącznych, równoległych operacji jest nadal szybsze niż w ogóle nie posiadanie równoległych operacji. I tak bieganie miliple wątków z hiper-threadingiem jest nadal szybsze niż uruchomienie tylko jednego wątku na raz bez hiper-tonfreading, w którym harmonogram systemu operacyjnego musi wejść w grę i możesz zapłacić pełną karę przełączania kontekstu.
Jak to wpływa na gry?
Dobrze. To zależy od największej części od tego, ile rdzeni fizycznych ma dostępny proces.
Stare gry są zwykle jednorazowe, podobnie jak wiele niezależnych gier od początkujących programistów, którzy jeszcze nie mają dobrego zrozumienia wielopiętrowego (lub budują coś na tyle lekkiego, że w ogóle nie wymaga wielokrotności). Aby uzyskać jak największą wydajność z takiej gry, chcesz uruchomić pojedynczy wątek w jednym z logicznych procesorów i trzymaj wszystko z dala od drugiego. Upewnij się, że jeden logiczny procesor nigdy nie jest blokowany przez nic, co drugi może chcieć zrobić.
W przypadku gier wielowociorskich i systemów wielordzeniowych utrzymuje się ta sama zasada: Idealnie chcesz, aby każdy wątek aktywny w grze działał na jednym logicznym procesorze i utrzymywać siostrę wolną od aktywności, aby nie mogła zablokować pierwszego.
To, co staje się interesujące, gdy masz mniej rdzeni fizycznych niż gra ma wątki.
W takich przypadkach działanie może być bardzo korzystne z włączonym hiper gwintowania i oba rdzenie logiczne sparowane pod fizycznym rdzeniem pod pełnym obciążeniem. Mimo że logiczne procesory mogą się czasami zderzyć i spowolniać, na ogół będą miały również okresy działające w pełni równolegle, a ogólnie osiągną lepsze wyniki niż system operacyjny, który będzie musiał zaplanować dwa wątki na tym samym rdzeniu i podlegać pełnym kosztom przełączania kontekstu.
Dokładne korzyści będą nadal różnić się w zależności od gry: zależy to od tego, jak dobrze każdy wątek pozostaje ze siebie nawzajem. Będzie również różnić się w zależności od konkretnego Pokolenie procesora, którego używasz. Intel stał się coraz lepszy w wykonywaniu optymalizacji i planowania sztuczek z każdą nową generacją procesorów i nowoczesnego i3 lub i7 w średnim cierpieniu mniej kolizji z tego samego oprogramowania niż starsza generacja i3 lub i7.
Wcześniejsze gry
które wykorzystywały wielokresting, zwykle używałby tylko dwóch współbieżnych wątków, ponieważ starsze procesory zwykle miały tylko dwa rdzenie fizyczne do oszczędzania. Nawet podczas uruchamiania tych gier na i3, jeśli włączono hiper-trączenie (tworzenie czterech logicznych rdzeni z dwóch rdzeni fizycznych), jest to bardziej niż prawdopodobne zmniejszenie wydajności z powodu kolizji. Chyba że wyraźnie zaplanujesz te dwa wątki, które będą działać na osobnych rdzeniach fizycznych. Większość starych gier tego nie robi, ponieważ system systemu Windows nie miał sposobu, aby rozpoznać, które logiczne rdzenie były parami, dopóki Windows 7. Właśnie tam oprogramowanie takie jak CPucores może to dla Ciebie wymurzać.
Nowoczesne gry
zazwyczaj używaj czterech rdzeni. Przyczyny są nieco bardziej zróżnicowane. Może to być dlatego, że programiści silników gier nie mogli zarządzać bardziej szczegółowym podziałem lub dlatego, że Rnodern Console mają tylko cztery rdzenie, a gra jest wydawaniem wielu platform.
W przypadku i3 uruchamiających te gry zazwyczaj jest to Dobry Pomysł, aby włączyć hiper-trygowanie i utrzymać wszystkie cztery rdzenie logiczne pod pełnym obciążeniem, dzięki czemu osiągniesz maksymalną ilość równoległości dla tego systemu. Podczas gdy dla i7 (cztery rdzenie fizyczne, osiem rdzeni logicznych), zazwyczaj źle jest umożliwić hiper-gnicie, chyba że izolujesz wątki na osobnych rdzeniach fizycznych.
Współczesne gry napisane na nowoczesnych silnikach zazwyczaj wiedzą, jak zapytać o to, jakie rdzenie są logiczne, a które z nich są sparowane i zrobią to po uruchomieniu nowoczesnego systemu operacyjnego systemu Windows, który może zgłosić tego rodzaju informacje. (To znaczy: Windows 7 i więcej.) IIRC Unreal Engine 3 ma ten rodzaj technologii na pokładzie.
Zajmując się grą napisaną na takim silniku, nie ma sensu „wyłączyć hiper-trygowania” (czytaj; izolować grę w celu rozłączenia logicznych procesorów) w CPUCORS, ponieważ gra już to samo poradzi sobie z tym.
Czy hipertreading zmniejsza wydajność pojedynczego rdzenia
Reddit i jego partnerzy używają plików cookie i podobnych technologii, aby zapewnić lepsze wrażenia.
Akceptując wszystkie pliki cookie, zgadzasz się na korzystanie z plików cookie w celu dostarczania i utrzymywania naszych usług i witryny, poprawy jakości Reddit, personalizowanie treści i reklam Reddit oraz mierz skuteczność reklamy.
Odrzucając nieistotne pliki cookie, Reddit może nadal używać niektórych plików cookie, aby zapewnić właściwą funkcjonalność naszej platformy.
Aby uzyskać więcej informacji, zapoznaj się z naszym powiadomieniem o plikach cookie i naszej polityki prywatności .
[Rozwiązane] Czy hipertreading wpływa na wydajność?
Używasz przeglądarki nieaktualnej. Może nie wyświetlać tego lub innych stron internetowych.
Powinieneś zaktualizować lub użyć alternatywnej przeglądarki.
Mangasoy
8 listopada 2021 61 2 35
Mój przyjaciel pyta mnie, który jest lepszy między I5 4690 a I7 3770. i7 ma hipertHreading, gdy i5 nie. Podobnie i5 jest gorszy niż i7?
Chce zbudować tani komputer do gier, a ten komputer będzie obdarowany jako prezent urodzinowy dla mojego brata, więc mam nadzieję, że odpowiedzi będą pomocne
Kanewolf
Ja i mój przyjaciel zdają sobie sprawę z różnic w gniazdach, chcemy tylko wiedzieć, czy hiper wątki pomoże w wydajności.
W przypadku większości oprogramowania tak. Oprogramowanie, które jest zapisane w celu pełnego wykorzystania procesów fizycznych, może skorzystać z wyłączenia hipertreadingu. Oprogramowanie komercyjne nie jest napisane w ten sposób. Dlaczego? Ponieważ oprogramowanie komercyjne musi działać na dziesiątkach różnych procesorów. Jeśli na przykład piszłeś niestandardowe oprogramowanie do YouTube. YouTube miałby tysiące dokładnie tego samego sprzętu. Optymalizując pod kątem tego sprzętu, a następnie porównywanie możesz ustalić, czy Hyperthreading On lub wyłączanie ma lepszą wydajność. Byłem inżynierem systemów, w którym podstawowy krok konfiguracji.
Lutfij
tytan
Moderator
7 października 2009 49 405 3 748 153 390
Z jaką gry chce opodatkować system?
Drea.Drechsler
Mistrz
16 października 2017 9 449 2 474 52 290
Jak bardzo wpływa to na wydajność zarówno dyskusyjną, jak i warunkową, ale wszystko inne jest równe, tak.
Johnbonhamsghost
Wspaniały
14 stycznia 2016 6 970 1 078 49 190
Czy hiper-threading wpływa na wydajność?
wszystko zależy od konkretnego zaangażowanego oprogramowania.
Niektóre korzystają z hiper-threading, niektórych bardziej dedykowanych rdzeni procesora, niektóre tylko z pojedynczego rdzenia.
Jaką cenę zapłaciliby za ten stary procesor 3 lub 4 generacji?
chce budować
Ten rodzaj rozmowy jest zawsze Łatwiej z rzeczywistym nabywcą/budowniczym.
Niech kontaktują się przez ten wątek lub tworząc nowy.
Mangasoy
8 listopada 2021 61 2 35
Z jaką gry chce opodatkować system?
Gry takie jak Minecraft, GTA V, CS GO, tego rodzaju gry
Mangasoy
8 listopada 2021 61 2 35
wszystko zależy od konkretnego zaangażowanego oprogramowania.
Niektóre korzystają z hiper-threading, niektórych bardziej dedykowanych rdzeni procesora, niektóre tylko z pojedynczego rdzenia.
Jaką cenę zapłaciliby za ten stary procesor 3 lub 4 generacji?
Ten rodzaj rozmowy jest zawsze Łatwiej z rzeczywistym nabywcą/budowniczym.
Niech kontaktuje się z tym wątkiem lub tworząc nowy.
Oba są z drugiej ręki procesora około 20 dolców, i5 to 21 dolców, a i7 to 24 dolców w lokalnym sklepie komputerowym
Johnbonhamsghost
Wspaniały
14 stycznia 2016 6 970 1 078 49 190
i5 to 21 dolców, a i7 ma 24
kup je oba.
Mangasoy
8 listopada 2021 61 2 35
kup je oba.
Którego powinien użyć na komputerze?
I zapomniałem wspomnieć, że szuka procesora, aby połączyć się ze swoim starym GTX 950
Nighthawk117
Honorowy
27 września, 2021 2 029 633 10 540
Mój przyjaciel pyta mnie, który jest lepszy między I5 4690 a I7 3770. i7 ma hipertHreading, gdy i5 nie. Podobnie i5 jest gorszy niż i7?
Chce zbudować tani komputer do gier, a ten komputer będzie obdarowany jako prezent urodzinowy dla mojego brata, więc mam nadzieję, że odpowiedzi będą pomocne
Hyper Gwinting ma znaczącą różnicę w większości nowoczesnych gier, a także korzystając z wielu zadań. 3770 to lepszy procesor, ale pamiętaj, że nie używają tego samego gniazda.
Mangasoy
8 listopada 2021 61 2 35
Hyper Gwinting ma znaczącą różnicę w większości nowoczesnych gier, a także korzystając z wielu zadań. 3770 to lepszy procesor, ale pamiętaj, że nie używają tego samego gniazda.
Ja i mój przyjaciel zdają sobie sprawę z różnic w gniazdach, chcemy tylko wiedzieć, czy hiper wątki pomoże w wydajności.
Nighthawk117
Honorowy
27 września, 2021 2 029 633 10 540
Ja i mój przyjaciel zdają sobie sprawę z różnic w gniazdach, chcemy tylko wiedzieć, czy hiper wątki pomoże w wydajności.
To zależy od oprogramowania, ale od doświadczenia Zasadniczo zawsze wybiorę hiper wątku chip. Pojedyncze różnice są małe, Hyper Threading zapewni lepsze wrażenia z komputera i będzie tworzyć gładszą rozgrywkę w nowoczesnych grach. Jeśli chcesz na przykład zagrać w Battlefield V, 3770 jest do tego lepszym chipem, ponieważ użyje wszystkich 8 wątków. Niektóre z tych gier nie są bardzo gładkie na starszych układach 4C/4T.
Kanewolf
tytan
Moderator
29 maja 2013 35 821 2 774 153 790
Ja i mój przyjaciel zdają sobie sprawę z różnic w gniazdach, chcemy tylko wiedzieć, czy hiper wątki pomoże w wydajności.
W przypadku większości oprogramowania tak. Oprogramowanie, które jest zapisane w celu pełnego wykorzystania procesów fizycznych, może skorzystać z wyłączenia hipertreadingu. Oprogramowanie komercyjne nie jest napisane w ten sposób. Dlaczego? Ponieważ oprogramowanie komercyjne musi działać na dziesiątkach różnych procesorów. Jeśli na przykład piszłeś niestandardowe oprogramowanie do YouTube. YouTube miałby tysiące dokładnie tego samego sprzętu. Optymalizując pod kątem tego sprzętu, a następnie porównywanie możesz ustalić, czy Hyperthreading On lub wyłączanie ma lepszą wydajność. Byłem inżynierem systemów, w których podstawowym etapem konfiguracji było wyłączenie hipertreadingu w BIOS.
Jeśli masz określone oprogramowanie, które musi wykonać maksimum, to porównywasz je w obie strony i działaj z najlepszą wydajnością.
Czy hiper-threading spowalnia oba wątki na rdzeniu?
Można już na to odpowiedzieć w innym wątku, ale i tak oto idzie. Załóżmy, że mam 4 podstawowy procesor z 8 wątkami hiper wątków. Weźmy na przykład Intel i7-4770k. Czy fakt, że istnieją dwa wątki działające jednocześnie na jednym rdzeniu powolnym lub oba wątki w dół w porównaniu z tym, że tylko jeden wątek działał na jednym rdzeniu. Mówię o przepustowości netto jednego wątku, a nie o szerokiej przepustowości systemu. Wydaje mi się, że gdyby procesor działa w trybie nadmiernym traktowaniem, musiałby spędzić dużo czasu na zarządzaniu wspólnymi zasobami, takimi jak pamięci podręczne, jednostki wykonawcze, rurociągi itp. Innymi słowy, wydaje się, że „wydajność perfread” byłaby mniejsza niż na procesorze z 4 rdzeniami i 4 wątkami niż na procesorze z 4 rdzeniami i 8 wątkami. Prosimy o oświecenie, wyjaśnienie i opracuj.
Więcej możliwości
Redleader
Ars Legatus Legionis
Zależy od tego, jak jest wdrożony i co faktycznie robią wątki (e.G. Czy walczą o pamięć podręczną, eksmisując sobie nawzajem lub coś w tym rodzaju). Ale ogólnie, nie. Rzeczy takie jak pamięć podręczna i takie nie są „zarządzane”, z perspektywy sprzętu; Wartość pamięci jest wartością pamięci bez względu na to, skąd pochodzi. Aby uzyskać instrukcje w rurociągu, musisz śledzić, do którego zestawu rejestrów odnosi się każda instrukcja (ponieważ każdy wątek będzie miał swój własny), ale na nowoczesnym procesorze x86 i tak musisz to zrobić, ponieważ w efekcie będziesz mieć wiele kopii rejestru wątku z powodu wykonywania zamówienia i rejestracji rejestracji nazwy nazwy nazwy nazwy rejestracji.
Interesującą rzeczą w SMT jest to, jak naturalnie pasuje do tego, co musi już zrobić szeroki, superscalar procesor.
Więcej możliwości
Tom Dunkerton
Ars praefectus
Dzięki Redleader. Nie jestem pewien, dlaczego, ale myślę, że cztery rdzeń bez hiper-threading byłby szybszy na wątek niż podwójny rdzeń z hiper-Threading. Czego mi brakuje?
Więcej możliwości
Bruze
Ars praefectus
Jedynym przypadkiem, w którym wpadłem w miejsce, w którym hipertreading mierzalnie degraduje wydajność, jest matematyka numeryczna. Jeśli chrupasz dobrze zorganizowane dane, możesz być zajęty rdzeniem. A jeśli dużo pracujesz, możesz stać się zbyt duży na pamięć podręczną. Więc chcesz rozpowszechniać swoje obliczenia na rdzenie, aby uzyskać pamięć podręczną (jednocześnie minimalizacja komunikacji. To jest sztuka!). Ogólnie rzecz biorąc, masz o połowę mniej przepustowości do „dowolnego” rdzenia, jeśli masz hiperthreads, ale nie jestem pewien, czy wiele osób często uruchamia kody związane z przepustowością.
Myślę, że brakuje ci, że rdzenie są tak niesamowicie szybkie, że i tak prawie zawsze czekają na dane, chyba że twój kod jest bardzo starannie dostrojony. Jest to problem opóźnienia, równie dobrze możesz mieć kolejny wątek, który zastanawia się, o co poprosi podczas czekającego pierwszego.
To powiedziawszy, zasadniczo masz rację, że 4 prawdziwe rdzenie są szybsze niż 2 prawdziwe/2 hiper. Po prostu 2 rzeczywiste/2 hiper jest szybsze niż 2 rzeczy same w sobie, wszystkie inne rzeczy są równe.
Przypuszczam również, że ponieważ Hyperthreads udostępnia sprzęt, mogą udostępniać dane za pośrednictwem pamięci podręcznej. Więc przypuszczam, że gdybyś miał dwa wątki z szeroką komunikacją, mogliby być szczęśliwsi na rdzeniu. Nie jestem pewien, jak to działa w praktyce. Wygląda na to, że byłoby to dziwne połączenie dobrego i złego strojenia (jeśli jest wystarczająca komunikacja, aby była dobra, być może nie powinny być dwa wątki, jak sądzę?)
Edytuj: Wytyczne niejasno pamiętając, że rzucone jest to, że utrzymując liczbę rzeczywistych rdzeni stały, hipertreading jest dobra na około 30% i zmienia dodatkową wydajność. Nie 100%.
Więcej możliwości
Redleader
Ars Legatus Legionis
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29436487#P29436487: KLBS68DB powiedział:
Tom Dunkerton [/url] “: KLBS68DB] Nie jestem pewien dlaczego, ale po prostu myślę, że czteroosobowy rdzeń bez hiper-trąby byłby szybszy na wątek niż podwójny rdzeń z hiper-Threading. Czego mi brakuje?
Domyślam się, że nie masz świetnego zrozumienia, jak działa komputer. ARS Technica miała wiele bardzo dobrych artykułów na ten temat około dziesięć lat temu. Może warto je wykopać.
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29438331#P29438331: KLBS68DB powiedział:
Breze [/url] “: KLBS68DB]
To powiedziawszy, zasadniczo masz rację, że 4 prawdziwe rdzenie są szybsze niż 2 prawdziwe/2 hiper. Po prostu 2 rzeczywiste/2 hiper jest szybsze niż 2 rzeczy same w sobie, wszystkie inne rzeczy są równe.
To nie jest „2 prawdziwe/2her”. Nadal masz dokładnie 2 rdzenie, po prostu każdy może uruchomić 2 wątki jednocześnie. Żaden z nich nie jest bardziej „prawdziwy” niż drugi.
Więcej możliwości
kontinuum
Ars Legatus Legionis
Moderator
Właśnie rozmawialiśmy o tym, może pomóc?
Więcej możliwości
Tom Dunkerton
Ars praefectus
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29439557#P29439557: 1CD9UD67 powiedział:
kontinuum [/url] “: 1cd9ud67] Właśnie rozmawialiśmy o tym, może pomóc, może pomóc?
Więcej możliwości
Bruze
Ars praefectus
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29439055#P29439055: 172mk6gh powiedział:
Redleader [/url] “: 172mk6gh]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29436487#P29436487: 172mk6gh powiedział:
Tom Dunkerton [/url] “: 172mk6gh] Nie jestem pewien, ale po prostu myślę, że cztery rdzeń bez hiper-trąby byłby szybszy na wątek niż podwójny rdzeń z hiper-threading. Czego mi brakuje?
Domyślam się, że nie masz świetnego zrozumienia, jak działa komputer. ARS Technica miała wiele bardzo dobrych artykułów na ten temat około dziesięć lat temu. Może warto je wykopać.
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29438331#P29438331: 172mk6gh powiedział:
Breze [/url] ”: 172mk6gh]
To powiedziawszy, zasadniczo masz rację, że 4 prawdziwe rdzenie są szybsze niż 2 prawdziwe/2 hiper. Po prostu 2 rzeczywiste/2 hiper jest szybsze niż 2 rzeczy same w sobie, wszystkie inne rzeczy są równe.
To nie jest „2 prawdziwe/2her”. Nadal masz dokładnie 2 rdzenie, po prostu każdy może uruchomić 2 wątki jednocześnie. Żaden z nich nie jest bardziej „prawdziwy” niż drugi.
Cóż, nie mylił się, że cztery prawdziwe rdzenie są zwykle szybsze niż dwie z hipertreadingiem (z drugiej strony, niepoprawnie, że istnieją dwa różne typy wątków w systemie hipertreadingu, oops)
Więcej możliwości
Jlarja
Ars Centurion
O ile potrafię, oryginalny plakat jest szczególnie pytany, czy na przepustowość jednego wątku wpływa inny wątek działający na tym samym rdzeniu. Oczywiście, że jest to ogromne! Dlaczego Intel lub ktokolwiek inny miałby robić dwurdzeniowe lub czterordzeniowe procesory, jeśli możesz uzyskać taką samą wydajność dzięki hiper-krotnieniordze?
Więcej możliwości
Fitten
Ars Legatus Legionis
Podsmok++
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29440315#P29440315: ISM45JMP powiedział:
Jlarja [/url] “: ISM45JMP], o ile potrafię, oryginalny plakat jest szczególnie pytany, czy na przepustowość jednego wątku wpływa inny wątek działający na tym samym rdzeniu. Oczywiście, że jest to ogromne!
To zależy od tego, co robią wątki. Dwa wątki konkurujące o te same zasoby sprzętowe (oba FPU ciężkie, oba związane z pamięcią itp.) Ale dwa wątki, które nie konkurują tak wiele (jeden wątek FPU ciężki, drugi z praktycznie bez FPU, i oba zachowują się dość dobrze w odniesieniu do pamięci podręcznej) nie będą miały tak dużej konkurencji.
Normalna nomenklatura do omówienia to 4C/8T (cztery rdzenie, osiem wątków), 2C/4T (dwa rdzenie, cztery wątki) itp. Nie ma różnicy we współczesnych procesorach między dwoma wątkami (lub więcej) na rdzeń dla oznaczenia „dwa rdzenia, dwa hiper”.
Więcej możliwości
Byosys
Ars praefectus
Podsmok++
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29441313#P29441313: 26 Miaqlu powiedział:
fitten [/url] ”: 26Miaqlu]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29440315#P29440315: 26 Miaqlu powiedział:
Jlarja [/url] “: 26Miaqlu], o ile potrafię, oryginalny plakat jest szczególnie pytany, czy na przepustowość jednego wątku wpływa inny wątek działający na tym samym rdzeniu. Oczywiście, że jest to ogromne!
To zależy od tego, co robią wątki. Dwa wątki konkurujące o te same zasoby sprzętowe (oba FPU ciężkie, oba związane z pamięcią itp.) Ale dwa wątki, które nie konkurują tak wiele (jeden wątek FPU ciężki, drugi z praktycznie bez FPU, i oba zachowują się dość dobrze w odniesieniu do pamięci podręcznej) nie będą miały tak dużej konkurencji.
Normalna nomenklatura do omówienia to 4C/8T (cztery rdzenie, osiem wątków), 2C/4T (dwa rdzenie, cztery wątki) itp. Nie ma różnicy we współczesnych procesorach między dwoma wątkami (lub więcej) na rdzeń dla oznaczenia „dwa rdzenia, dwa hiper”.
Podczas gdy hiperthreading nie może pomóc w wydajności pojedynczej wątku, jest ogólnie bardzo mały. Poza kilkoma przypadkami, takimi jak Fitten, Hyperthreading jest ogólnie całkiem dobry w korzystaniu z nieużywanych części procesora Uruchom wiele wątków równolegle na tym samym rdzeniu fizycznym, przyspieszając wszystko. Na przykład użycie drugiego wątku na nieużywanych częściach fizycznego rdzenia może uniemożliwić harmonogramowi potrzebę przerwania zadania, na którym opiekujesz się zadaniami tła.
Więcej możliwości
Monster Hat
Ars Legatus Legionis
Podsmok
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29441313#P29441313: 3jxfynh2 powiedział:
fitten [/url] ”: 3jxfynh2]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29440315#P29440315: 3jxfynh2 powiedział:
Jlarja [/url] “: 3jxfynh2], o ile potrafię, oryginalny plakat jest szczególnie pytany, czy na przepustowość jednego wątku wpływa inny wątek działający na tym samym rdzeniu. Oczywiście, że jest to ogromne!
Normalna nomenklatura do omówienia to 4C/8T (cztery rdzenie, osiem wątków), 2C/4T (dwa rdzenie, cztery wątki) itp. Nie ma różnicy we współczesnych procesorach między dwoma wątkami (lub więcej) na rdzeń dla oznaczenia „dwa rdzenia, dwa hiper”.
Tak jest. CPU identyfikuje się jako „fizyczne” i „logiczne” – każdy rdzeń jest fizyczny + logiczny. OS zwykle (chyba że zarządzanie energią interweniuje) zaplanuje się na fizyczne przed logiką. Android (urządzenia Nexus, brak fantazyjnych dużych.Mało rzeczy), na przykład, wymaga pewnego obciążenia i pewnego minimalnego zegara, zanim obudzi kolejny rdzeń.
Więcej możliwości
Bruze
Ars praefectus
Dzięki hiper gwintowaniu maszyna ma 2 (lub 4 [czy ktoś kiedykolwiek widział 3?]) wątki na rdzeń fizyczny. Mapowanie używanych wątków -> wątki zależy od środowiska. W zależności od obciążenia pracą sensowne może być planowanie zadań na wątki na osobnych rdzeniach fizycznych. OpenMP na przykład nie, ale możesz to zmusić.
Bardziej prawdopodobne wydaje się, że twój system operacyjny dokonuje dowolnego rozróżnienia między wątkami, niż niektóre z twoich wątków są wyjątkowe. Sensowne jest arbitralne oznaczenie jednego wątku na rdzeń jako „dodatkowe.„W ten sposób programista może powiedzieć„ Rozpocznij planowanie zadań w prawdziwych wątkach ”.”
Więcej możliwości
Redleader
Ars Legatus Legionis
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29443099#P29443099: 2856VWWW powiedział:
Breeze [/url] “: 2856vwww] z hiper gwintowaniem maszyna ma 2 (lub 4 [czy ktoś kiedykolwiek widział 3?])
Jasne, Qualcomm Hexagon to 3-kierunkowy SMT.
Więcej możliwości
Redleader
Ars Legatus Legionis
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29442833#P29442833: Zynp60Yg powiedział:
Hat Monster [/url] “: Zynp60Yg]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29441313#P29441313: Zynp60Yg powiedział:
fitten [/url] “: Zynp60Yg]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29440315#P29440315: Zynp60Yg powiedział:
Jlarja [/url] “: Zynp60Yg], o ile potrafię, oryginalny plakat jest szczególnie pytany, czy na przepustowość jednego wątku wpływa inny wątek działający na tym samym rdzeniu. Oczywiście, że jest to ogromne!
Normalna nomenklatura do omówienia to 4C/8T (cztery rdzenie, osiem wątków), 2C/4T (dwa rdzenie, cztery wątki) itp. Nie ma różnicy we współczesnych procesorach między dwoma wątkami (lub więcej) na rdzeń dla oznaczenia „dwa rdzenia, dwa hiper”.
Tak jest. CPU identyfikuje się jako „fizyczne” i „logiczne” – każdy rdzeń jest fizyczny + logiczny.
O ile mi wiadomo, to tylko rzecz organizacyjna, która pomoże systemowi operacyjnego przydzielić wątki prawidłowo. Wybór którego jest „fizyczny”, jest arbitralny.
Więcej możliwości
Netmasteroc3
Ars praefectus
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29442833#P29442833: 3RSJ3EOD powiedział:
Hat Monster [/url] ”: 3rsj3eod]
Tak jest. CPU identyfikuje się jako „fizyczne” i „logiczne” – każdy rdzeń jest fizyczny + logiczny.
ER, nie tak przedstawiają informacje o procesorach Intel lub Afaik, działają elektrycznie. Wszystkie wątki są logiczne, nie ma pojęcia wątku fizycznego ani wątku logicznego, gdy je opisujesz. Rdzeń może wykonać 1 lub więcej (2, 4 w przypadku wątków Xeon Phis). To jest zakres widoczności w systemie. Wewnętrznie sprzęt do dekodowania/wysyłki/harmonogram.
Informacje o CPUID odzwierciedlają tę logiczną wątek jako koncepcję dziecka do fizycznego rdzenia. OS może oczywiście śledzić, które wątki wykonują, na których procesory, ale nie ma widoczności w harmonogramie lub jednostkach wykonania rdzenia.
Więcej możliwości
Monster Hat
Ars Legatus Legionis
Podsmok
Nie powiedziałem nic o „wątkach fizycznych” ani „wątkach logicznych”. Powiedziałem, że rdzeń procesora przedstawia się systemowi systemu operacyjnego jako fizyczny i logiczny procesor. Pomaga to harmonogramowi systemu operacyjnego albo zapisać moc (nie budzić kolejnego rdzenia, jeśli rdzeń SMting może wziąć kolejny wątek) lub osiągnąć lepsze wyniki (użyj dwóch rdzeni zamiast jednego).
Jeśli chodzi o wątki, po prostu „biegają”. Żadne z nich nie ma priorytetu przed drugim, otrzymują zasoby, kiedy decyduje dyspozytor procesora.
Więcej możliwości
Netmasteroc3
Ars praefectus
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29446355#P29446355: 7E0SH86S powiedział:
Hat Monster [/url] ”: 7E0SH86S]
Powiedziałem, że rdzeń procesora przedstawia się systemowi systemu operacyjnego jako fizyczny i logiczny procesor. Powiedziałem, że rdzeń procesora przedstawia się systemowi systemu operacyjnego jako fizyczny i logiczny procesor.
Nie jestem pewien, czy rozmawiamy o sobie, czy nie. Chociaż twój nitpick jest całkowicie styczny do tego stopnia, że robiłem.
Mówię, że przynajmniej dla Intela związek fizyczny-logiczny jest hierarchiczny i że sprzęt nie rysuje ani nie przedstawia rozróżnienia takim, jaki jesteś. Procesor fizyczny jest rdzeniem; Każdy rdzeń zawiera 1 lub więcej procesorów logicznych. Tak było, co najmniej do P4S, o ile mogę stwierdzić z danych CPUID, które mam.
Rozróżnienie, które rysujesz, nie pasuje do rzeczywistości, przynajmniej nie w sposób, w jaki ja (i wydaje się, że Redleader) to interpretuję.
Z perspektywy sprzętowej procesory logiczne to znaczniki w logice, która śledzi, która rejestruje pliki i instrukcje należą do której wątku-a nie żadnej faktycznej konstrukcji. Z perspektywy oprogramowania procesor fizyczny to tylko pojemnik, który grupuje logiczne procesory i buforowanie, aby system operacyjny wiedział o fizycznym układzie w krzemie.
Więcej możliwości
Fitten
Ars Legatus Legionis
Podsmok++
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29446355#P29446355: MRITO0BP powiedział:
Hat Monster [/url] “: mrito0bp] Żaden z nich nie ma priorytetu, otrzymują zasoby, gdy decydator procesora decyduje.
Co powiedziałem
Więcej możliwości
Jimbopalmer
Ars trybunus Angusticlavius
Podsmok
Zamierzam wziąć kolejny punkt widzenia na temat tego, co zapytał OP.
W bardzo wczesnym hipertreadingu było pewne obciążenia, w których było to wolniejsze niż to samo zadanie z wyłączeniem.
To nie było prawdą od lat.
Jeśli masz jedno zadanie, będzie działać tak szybko z włączonym hipertreadingiem, jak z wyłączonym.
Jeśli jako przykład masz procesor z dwoma rdzeniami i zdolnością do 4 wątków, uruchomi pojedynczy wątek tak szybki jak pojedynczy rdzeń, pojedynczy procesor przy tej samej prędkości zegara. Jeśli uruchomisz drugi wątek, najprawdopodobniej zostanie on przypisany do drugiego rdzenia, a z wyjątkiem wąskich gardeł pamięci, oba będą działać z tą samą prędkością, co użycie dwóch komputerów z tą samą prędkością zegara. Przepustowość wzrasta o 100%
Po uruchomieniu trzeciego wątku (nie trzeci wątek!) Jeden rdzeń rozpocznie hipertreading, co zwykle poprawia przepustowość tylko o kolejne 30%, więc każdy rdzeń jest spowolniony o 35%, średnio o 35%. (Ponownie, zależy to od obciążenia, różne algorytmy mogą już czekać na zasoby 35% czasu. Niektóre algorytmy mogą być tak związane z pamięcią, że dwa rdzenie działające tylko dwa wątki mogą się konfliktować)
Po użyciu wszystkich czterech wątków dostajesz około 2.6 razy przepustowość pojedynczego wątku, więc w porównaniu do tego pojedynczego wątku działającego na tym samym komputerze, prawdopodobnie będzie to tylko 65% tak szybko. Ale nie zostało to zwolnione z powodu higotryzacji, zwolniło, ponieważ poprosiłeś komputer o wykonanie 4 zadań SEPTARTE. Gdybyś prosił o jedno rdzeń jedno rdzeniowy procesor o wykonanie 4 zadań obliczeniowych, byłoby tylko 25% tak szybkie jak pojedyncze zadanie.
Hyperthreading jest wygraną, gdy producent nie ma miejsca, aby po prostu dodać rdzenie. W przyszłości z mniejszymi matrycami i drobniejszymi rezolucjami coraz bardziej powszechne będzie coraz więcej rdzeni i hipertreadingu. Prawie jedyną inną rzeczą, dla której używają tranzystorów, są większe i większe buforowanie, które pomagają obciążeniom, a nie konfliktować.
Więcej możliwości
Jlarja
Ars Centurion
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29441313#P29441313: Jvvftvyo powiedział:
fitten [/url] “: jvvftvyo]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29440315#P29440315: Jvvftvyo powiedział:
Jlarja [/url] “: jvvftvyo], o ile potrafię, oryginalny plakat jest szczególnie pytany, czy na przepustowość jednego wątku wpływa inny wątek działający na tym samym rdzeniu. Oczywiście, że jest to ogromne!
To zależy od tego, co robią wątki. Dwa wątki konkurujące o te same zasoby sprzętowe (oba FPU ciężkie, oba związane z pamięcią itp.) Ale dwa wątki, które nie konkurują tak wiele (jeden wątek FPU ciężki, drugi z praktycznie bez FPU, i oba zachowują się dość dobrze w odniesieniu do pamięci podręcznej) nie będą miały tak dużej konkurencji.
Normalna nomenklatura do omówienia to 4C/8T (cztery rdzenie, osiem wątków), 2C/4T (dwa rdzenie, cztery wątki) itp. Nie ma różnicy we współczesnych procesorach między dwoma wątkami (lub więcej) na rdzeń dla oznaczenia „dwa rdzenia, dwa hiper”.
To fajna teoria (i robi świetne schematy w slajdach marketingowych), ale naprawdę chciałbym, aby gdzieś ją przetestowała. Ostatnim razem, gdy widziałem jakiś test witryny recenzji. Był to w erze P4, kiedy hiper-threading było nową rzeczą. Naprawdę nie mogli znaleźć pary obciążeń, które dobrze się ze sobą działają, choć biorąc pod uwagę architekturę P4, nie jest to zaskakujące.
Czy ktoś wie, czy to zostało ostatnio przetestowane? Zwłaszcza Haswell wygląda na to, że może się dobrze poradzić w takim teście, choć już całkiem nieźle radzi sobie z wieloma testami przepustowości tylko hiper-ton.
Nawiasem mówiąc, uwielbiam hiper-threading. Świetnie nadaje się do kompilacji dużych podstaw kodu C (++), co robię cały czas w pracy. Ale nie ma wątpliwości, że podwójna liczba rdzeni byłaby jeszcze lepsza.
Więcej możliwości
Fitten
Ars Legatus Legionis
Podsmok++
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29450801#P29450801: 1CF23TGA powiedział:
Jlarja [/url] “: 1cf23tga]
Czy ktoś wie, czy to zostało ostatnio przetestowane?
Został dużo testowany przez lata (łatwo znaleziono przez wyszukiwanie Google). Wyniki różnią się w zależności od obciążeń i algorytmów. Jak wspomniano powyżej, wątki, które konkurują o te same zasoby, mogą wykazywać szereg różnych zachowań, podczas gdy inne scenariusze odtwarzają się pozytywnie (do 20% szybszy czas wykonywania procesu w testach sprzyjających HT). Istnieją szczególne przypadki, w których HT może mieć znaczne spowolnienie (ciężka konkurencja zasobów), ale przez większość czasu spowolnienia wydają się znajdować w marginesie błędów testów. Jak zawsze, ważne jest, aby znaleźć testy podobne do zadań, które oczekuje się, aby określić wpływ HT na ogólną wydajność i to, czy warto go włączyć, czy nie.
Więcej możliwości
Redleader
Ars Legatus Legionis
W Haswell backend jest znacznie szerszy (7 portów), a więcej z nich może wykonywać operacje całkowite, więc prawdopodobnie skalowanie jest nieco inne, ponieważ będą mniej rywalizacji o porty wykonawcze:
Z 4 porty dla obciążenia/sklepów, 4 dla liczb całkowitych i 2 dla gałęzi, nawet dwa wątki z identycznym obciążeniem liczbowym prawdopodobnie nie wprowadzają zbyt wiele rywalizacji.
Więcej możliwości
Jlarja
Ars Centurion
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29453201#P29453201: 1G7fy5rl powiedział:
fitten [/url] ”: 1G7fy5rl]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29450801#P29450801: 1G7FY5RL powiedział:
Jlarja [/url] “: 1G7fy5rl]
Czy ktoś wie, czy to zostało ostatnio przetestowane?
Został dużo testowany przez lata (łatwo znaleziono przez wyszukiwanie Google). Wyniki różnią się w zależności od obciążeń i algorytmów. Jak wspomniano powyżej, wątki, które konkurują o te same zasoby, mogą wykazywać szereg różnych zachowań, podczas gdy inne scenariusze odtwarzają się pozytywnie (do 20% szybszy czas wykonywania procesu w testach sprzyjających HT). Istnieją szczególne przypadki, w których HT może mieć znaczne spowolnienie (ciężka konkurencja zasobów), ale przez większość czasu spowolnienia wydają się znajdować w marginesie błędów testów. Jak zawsze, ważne jest, aby znaleźć testy podobne do zadań, które oczekuje się, aby określić wpływ HT na ogólną wydajność i to, czy warto go włączyć, czy nie.
Nie miałem na myśli prowadzenia obciążenia z hiper-tonfreadingiem lub bez. To jest testowane przez cały czas (Core i5 vs i7). Miałem na myśli uruchomienie dwóch różnych obciążeń (coś, co pływająca ciężka, jak raytracing i liczba całkowita, jak kompilacja równoległa C ++), gdzie moglibyśmy zobaczyć te „nie spowalniające innych wyników”.
Z powyższej odpowiedzi (20 % szybszy ogólny proces) widzę, że wciąż mówimy o różnych rzeczach. Czasami nie dbasz o ogólny postęp, ale o jedno zadanie (które może być jednym lub więcej wątków, nie ma znaczenia, o ile nie może on zastawiać całego procesora).
Przed hiper-tonfreadingiem możesz przez cały czas uruchamiać rozproszone projekty obliczeniowe w tle. Byli oni z priorytetem bezczynności, więc nie spowolnili (przynajmniej nie tyle, aby zauważył). W dzisiejszych czasach to nie działa, ponieważ bieganie wątków DC razem z innymi rzeczami na rdzeniach nadmiernie wyryte zwolni inne rzeczy.
Kolejny przykład z prawdziwego życia: na moim DVR opartym na mithtv musiałem ograniczyć wykrywanie komercyjne w tle do używania tylko jednego wątku na 4c/8T i7 4771, ponieważ użycie więcej było zakłócało odtwarzanie HD, które prawie w pełni kołysają cztery wątki (nie wiem, dlaczego używa tylko czterech wątków. Może kto to zakodował, nie ufa hiper-threading. Gdyby użył wszystkich 8 wątków, nie byłoby problemu). Nie pomaga, że wykrywanie komercyjne jest uruchamiane z wysokimi ładnymi wartościami, wciąż kradnie czas z ważniejszego zadania na pierwszym planie, polegającym na płynnym wprowadzaniu zdjęć w telewizji.
Uważam, że jest to rodzaj sytuacji, o który pytał oryginalny plakat. W tej sytuacji hiper-threading spowalnia rzeczy w sposób, w jaki nie robi w sprawie nietoperzowej. Możesz winić użytkownika za to, że jest głupi lub system operacyjny, i powiedzieć, że wszystko działa zgodnie z zaprojektowaniem. Nie zgadzam się ani nie obchodzi mnie. Po prostu próbuję odpowiedzieć na oryginalne pytanie .
Więcej możliwości
Netmasteroc3
Ars praefectus
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29457345#P29457345: TCEZXJMB powiedział:
Jlarja [/url] “: tcezxjmb]
Kolejny przykład z prawdziwego życia: na moim DVR opartym na mithtv musiałem ograniczyć wykrywanie komercyjne w tle do używania tylko jednego wątku na 4c/8T i7 4771, ponieważ użycie więcej było zakłócało odtwarzanie HD, które prawie w pełni kołysają cztery wątki (nie wiem, dlaczego używa tylko czterech wątków.
Większe pytanie w moim umyśle jest to, dlaczego zajmuje 4 wątki i tyle obliczeń, aby odtwarzać zawartość HD.
Odtwarzanie 1080 godzin.264 i godz.265 Treści nie jest takie wymagające, a ty masz dużo procesora, aby sobie z tym poradzić. Lub umieszczaj to inaczej, odtwarzanie zawartości 1080p na moim komputerze je tylko 10% mojego czasu procesora (i5-2500k), a ja mogę zakodować zawartość 1080p w czasie lub lepszym niż w czasie rzeczywistym i oglądać zawartość 1080p w tym samym czasie, a odtwarzanie pozostaje gładkie, a kodowanie pozostaje tak, jak powinno to być. Sprawa jest zasadniczo taka sama na moim i7-4980hq w moim MBP.
Więcej możliwości
Jlarja
Ars Centurion
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29457527#P29457527: CKO73P2V powiedział:
Netmasteroc3 [/url] “: cko73p2v]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29457345#P29457345: CKO73P2V powiedział:
Jlarja [/url] “: cko73p2v]
Kolejny przykład z prawdziwego życia: na moim DVR opartym na mithtv musiałem ograniczyć wykrywanie komercyjne w tle do używania tylko jednego wątku na 4c/8T i7 4771, ponieważ użycie więcej było zakłócało odtwarzanie HD, które prawie w pełni kołysają cztery wątki (nie wiem, dlaczego używa tylko czterech wątków.
Większe pytanie w moim umyśle jest to, dlaczego zajmuje 4 wątki i tyle obliczeń, aby odtwarzać zawartość HD.
Odtwarzanie 1080 godzin.264 i godz.265 Treści nie jest takie wymagające, a ty masz dużo procesora, aby sobie z tym poradzić. Lub umieszczaj to inaczej, odtwarzanie zawartości 1080p na moim komputerze je tylko 10% mojego czasu procesora (i5-2500k), a ja mogę zakodować zawartość 1080p w czasie lub lepszym niż w czasie rzeczywistym i oglądać zawartość 1080p w tym samym czasie, a odtwarzanie pozostaje gładkie, a kodowanie pozostaje tak, jak powinno to być. Sprawa jest zasadniczo taka sama na moim i7-4980hq w moim MBP.
Nie używa najbardziej optymalnej metody (ponieważ najwyraźniej nie może poradzić sobie z zepsutych h.264, który od czasu do czasu wychodzi z złącza telewizji kablowej) i wykonuje również inne przetwarzanie (de-interfejs jest prawdopodobnie najbardziej wymagającym krokiem). Brak przyspieszenia sprzętowego (część tego „nie używa najbardziej optymalnej metody”). Ponadto szybkość transmisji jest często wyższa niż w treści strumieniowej lub do pobrania (4-5 GB / godzinę jest całkiem normalne).
Edytuj: Zazwyczaj obciążenie to około dwóch w pełni używanych wątków, nawiasem mówiąc. Czterech wątek występuje często, aby być uciążliwe. Zwłaszcza, że nie tylko pomija ramki lub jąka się, często całkowicie kończy odtwarzanie (być może Mythtv uważa, że nagranie się zakończyło, nie wiem).
Odtwarzanie tych samych plików z VLC działa znacznie lepiej, z wyjątkiem sytuacji, gdy VLC po prostu odmawia ich odtwarzania. Obecnie oglądanie telewizji jest niesamowicie trudne.
Więcej możliwości
Fitten
Ars Legatus Legionis
Podsmok++
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29457345#P29457345: 2MVY04FA powiedział:
Jlarja [/url] “: 2mvy04fa]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29453201#P29453201: 2MVY04FA powiedział:
fitten [/url] ”: 2mvy04fa]
[url = http: // arstechnica.com/civis/viewtopic.php?P = 29450801#P29450801: 2MVY04FA powiedział:
Jlarja [/url] “: 2mvy04fa]
Czy ktoś wie, czy to zostało ostatnio przetestowane?
Został dużo testowany przez lata (łatwo znaleziono przez wyszukiwanie Google). Wyniki różnią się w zależności od obciążeń i algorytmów. Jak wspomniano powyżej, wątki, które konkurują o te same zasoby, mogą wykazywać szereg różnych zachowań, podczas gdy inne scenariusze odtwarzają się pozytywnie (do 20% szybszy czas wykonywania procesu w testach sprzyjających HT). Istnieją szczególne przypadki, w których HT może mieć znaczne spowolnienie (ciężka konkurencja zasobów), ale przez większość czasu spowolnienia wydają się znajdować w marginesie błędów testów. Jak zawsze, ważne jest, aby znaleźć testy podobne do zadań, które oczekuje się, aby określić wpływ HT na ogólną wydajność i to, czy warto go włączyć, czy nie.
Nie miałem na myśli prowadzenia obciążenia z hiper-tonfreadingiem lub bez. To jest testowane przez cały czas (Core i5 vs i7). Miałem na myśli uruchomienie dwóch różnych obciążeń (coś, co pływająca ciężka, jak raytracing i liczba całkowita, jak kompilacja równoległa C ++), gdzie moglibyśmy zobaczyć te „nie spowalniające innych wyników”.
Z powyższej odpowiedzi (20 % szybszy ogólny proces) widzę, że wciąż mówimy o różnych rzeczach. Czasami nie dbasz o ogólny postęp, ale o jedno zadanie (które może być jednym lub więcej wątków, nie ma znaczenia, o ile nie może on zastawiać całego procesora).
Przed hiper-tonfreadingiem możesz przez cały czas uruchamiać rozproszone projekty obliczeniowe w tle. Byli oni z priorytetem bezczynności, więc nie spowolnili (przynajmniej nie tyle, aby zauważył). W dzisiejszych czasach to nie działa, ponieważ bieganie wątków DC razem z innymi rzeczami na rdzeniach nadmiernie wyryte zwolni inne rzeczy.
Kolejny przykład z prawdziwego życia: na moim DVR opartym na mithtv musiałem ograniczyć wykrywanie komercyjne w tle do używania tylko jednego wątku na 4c/8T i7 4771, ponieważ użycie więcej było zakłócało odtwarzanie HD, które prawie w pełni kołysają cztery wątki (nie wiem, dlaczego używa tylko czterech wątków. Może kto to zakodował, nie ufa hiper-threading. Gdyby użył wszystkich 8 wątków, nie byłoby problemu). Nie pomaga, że wykrywanie komercyjne jest uruchamiane z wysokimi ładnymi wartościami, wciąż kradnie czas z ważniejszego zadania na pierwszym planie, polegającym na płynnym wprowadzaniu zdjęć w telewizji.
Uważam, że jest to rodzaj sytuacji, o który pytał oryginalny plakat. W tej sytuacji hiper-threading spowalnia rzeczy w sposób, w jaki nie robi w sprawie nietoperzowej. Możesz winić użytkownika za to, że jest głupi lub system operacyjny, i powiedzieć, że wszystko działa zgodnie z zaprojektowaniem. Nie zgadzam się ani nie obchodzi mnie. Po prostu próbuję odpowiedzieć na oryginalne pytanie .
Właściwie to trochę wpisałem na to w drugiej wiadomości, ale to usunąłem. Stokes ma tutaj kilka prezentacji HT na ARS, które są dobre do czytania/oglądania. Jednak w najprostszym wyjaśnieniu instrukcje z dwóch strumieni instrukcji HT są wydawane w celu wypełnienia „luk” w procesorze bezczynnych zasobów. Niektóre instrukcje z obu strumieni będą potrzebować tych samych zasobów w tym samym czasie. Kiedy tak się stanie, rywaliza. W doskonałym świecie (lub z wystarczającą ilością zasobów) można je wydać równolegle i nie widać żadnego wpływu. Jeśli jednak każdy rdzeń miał po prostu 2x, potrzebne zasoby, to skutecznie byłoby to dwa osobne, fizyczne rdzenie, więc dlaczego nie zrobić dwóch oddzielnych rdzeni?
Pomyśl o dawnych czasach prostego krojenia czasu na jednym rdzeniu (pojedynczy gwintowany rdzeń). Jeśli na przykład wątek ukrył IO, wówczas system systemu operacyjnego może zapobiec temu wątkowi i zaplanować inny. Wszystko to było na poziomie systemu operacyjnego. Jednak system operacyjny tak naprawdę nie mógł ujrzeć się na poziomie pamięci podręcznej, ani nie chciałby, ponieważ na przykład koszty planowania kolejnego zadania w przecinaniu czasowym jest ogromne w porównaniu z panną pamięci podręcznej, na przykład. Więc teraz mamy SMT/HT, który jest w sprzęcie i * może * zobaczyć na poziomie albumów pamięci podręcznej i straganów z zagrożeniami wykonawczymi (jednocyfrowe cykle zegara) i może wydawać instrukcje z wielu wątków sprzętowych/kontekstów, aby skorzystać z bezczynnych zasobów sprzętowych podstawowych zasobów sprzętowych.
Wydłuż to (wyidealizowany zestaw uproszczonych przykładów. Załóżmy, że wszystkie podstawowe zasoby są takie same. Jak wszystkie zasoby typu liczb całkowitych, zignoruj zmiennoprzecinkowy punkt lub inne). Jeśli masz dwa identyczne wątki, które działają w taki sposób, ponieważ nie ma straganów (danych lub innych), a rdzeń nie ma żadnych dodatkowych zasobów w stosunku do tego, co może użyć jeden wątek (nie jest tak w przypadku obecnych procesorów HT. Mają więcej) Następnie wątki każde hipotetycznie przyjmą 2x tak długo, czas, przyjmując idealnie sprawiedliwe harmonogram (weź jedną instrukcję z jednego strumienia, a potem jednego z drugiego, powtórz), ponieważ to jak tasowanie dwóch talii kart razem w doskonałym tasowaniu. Pokład wyników końcowych jest 2x tak wysoki jak jeden z oryginalnych talii, ponieważ teraz jest 2x liczba kart w wynikającym z nich pokład (porównywalny do 2x czas wykonania).
Teraz, im więcej straganów, które się zdarzają (lub tym więcej zasobów ma rdzeń. lub oba) oznaczają, że im więcej razy zasoby mogą być bezczynne dla jednego wątku, w którym drugi wątek może wykonać bez wpływu na wykonanie pierwszego wątku. Następnie możesz dostać się w sytuację, w której wykonanie drugiego wątku miało zerowy wpływ na wykonanie pierwszego wątku, jeśli chodzi o czas wykonania, co spotkałby pierwszy wątek, nawet gdyby drugi wątek nie istniał. Wątek doświadczyłby dokładnie tego samego czasu wykonywania walclock z lub bez innej realizacji wątku HT. Ten drugi scenariusz byłby również taki sam, jak posiadanie dwóch rdzeni fizycznych, każdy z tylko jednym kontekstem (tak jak mamy dzisiaj w procesorach wielordzeniowych, innych niż HT) lub rdzeń 1C/2T z dwukrotnie więcej zasobów podstawowych, z których każdy wątek mógłby użyć, lub doskonałą ilość przeciągnięć/pamięci podręcznej itp.
Tak więc rzeczywistość jest gdzieś pomiędzy, ale możemy opracować (być może sztuczne) scenariusze, w których kara czasu wykonywania walclock w sprawie najlepszych przypadków wynosi 0%, a najgorsze jest, powiedzmy, 100%. To, co można doświadczyć podczas wykonywania pojedynczego wątku w walclock, zależy od podstawowych zasobów i strumieni instrukcji wątku. Procesory HT nie mają zwykle 2x ilości zasobów, z których jeden wątek mógłby kiedykolwiek korzystać. Strumienie instrukcji nie mają doskonałego zestawu potrzeb zasobów/straganów/pamięci podręcznej, dzięki czemu inne strumienie instrukcji może być przeplatane w sposób, w jaki inne nie wpływają na żaden wątek. Z drugiej strony, procesory HT mogą skorzystać z ziarnistości „oczekiwania” w procesorze, który nie jest widoczny na poziomie systemu operacyjnego i który byłby zbyt kosztowny, aby w każdym razie skorzystać (krojenie czasu), aby poprawić przepustowość wielu wątków wykonywania. Podczas gdy dowolny wątek może doświadczyć dłuższego czasu wykonania, ogólne zadanie (oba/wszystkie wątki razem) może doświadczyć krótszego czasu wykonania w porównaniu z brakiem HT. Biorąc pod uwagę wysoce zależne od obciążenia pracą, waham się, czy próbować odgadnąć dowolną liczbę na spowolnieniu pojedynczych klocków, nawet próbując zbudować „średnią” sprawę.
Jednakże. Powiedziałbym, że jeśli martwisz się czasem wykonywania samotnego wątku, wówczas wyłączenie (lub nie posiadanie) HT prawdopodobnie byłoby drogą. Jeśli martwisz się o ogólną wydajność systemu, czas wykonywania zadania lub wielu jednoczesnych zadań, wówczas umożliwienie HT prawdopodobnie byłoby drogą. Wiem z osobistego doświadczenia, że na przykład VMS całkiem nieźle korzystają z HT. Napisałem również wiele aplikacji, w których spaw się jak wiele wątków, co konteksty HT w środowisku HT, pokazuje również niezły wzrost przepustowości w porównaniu do planowania tylko liczby wątków jako rdzeni fizycznych w tym samym systemie. Jednak ze świata HPC wiem, że nawet „ciężkie” kody FPU są zwykle mniej ciężkie FPU, niż mogłoby się wydawać (40% instrukcji instrukcji FPU w niektórych rozwiązywanych kodach. Instrukcje reszty liczb całkowitych). Jednak w tych kodach wykorzystanie pamięci podręcznej byłoby dużym czynnikiem (skuteczne o połowę pamięci podręcznej podczas udostępniania wątków z HT), a miana pamięci podręcznej do pamięci głównej mogłaby zacząć być bardziej znaczącym czynnikiem (algorytmy adaptacyjne wielkości pamięci podręcznej mogą pomóc).