Rdzenie procesora: im więcej, tym lepiej?

69

Obecnie mam dwurdzeniowy procesor w pracy i czterordzeniowy w domu. Zauważyłem, że oba komputery są dość równe, jeśli chodzi o uruchamianie aplikacji / surfowanie po Internecie.

Różnica, którą widzę, polega na tym, że mój dwurdzeniowy ma 2,8 GHz, a mój czterordzeniowy 2,4 GHz.

Czy lepiej jest mieć dwurdzeniowy z dużą szybkością zegara, czy czterordzeniowy z przeciętną częstotliwością zegara?

Travis
źródło
5
„Szybki” i „mierny” są względne. W twoim przypadku czterordzeniowy rdzeń byłby lepszy, ponieważ różnica w zegarze wynosi tylko 400 MHz. Jednak dwurdzeniowy 3 GHz jest w większości lepszy niż czterordzeniowy 1,5 GHz.
Sasha Chedygov
Nie używaj GHz do porównywania procesorów, użyj wyników testu prędkości / obciążenia, aby porównać efektywną prędkość procesora. Dwurdzeniowy procesor 3GHz może być wolniejszy niż 2,4 GHz i7 (i7 nie ma przedniej szyny, ...) ...
Ben
2
@Ben, powinno być oczywiste, że byłaby to ta sama architektura procesorów (np. 45 nm Core 2 Duo vs Quad).
Mircea Chirea

Odpowiedzi:

53

UWAGA: Ta odpowiedź została napisana 8 lat temu. Od tego czasu programowanie równoległe stało się bardziej odpowiednie. Jest to prawdopodobnie spowodowane nieodłącznymi ograniczeniami prędkości zegara i szybko zbliżającymi się ograniczeniami wielkości tranzystora.


Twoim głównym problemem jest oprogramowanie, które nie zostało napisane dla wielu rdzeni.

Spójrz na doskonały artykuł Jeffa Atwooda na temat wybierania dwurdzeniowego lub czterordzeniowego .

w przypadku większości programów osiągasz punkt malejących zwrotów bardzo szybko po dwóch rdzeniach. W przypadku czterordzeniowych komputerów stacjonarnych i malejących zwrotów zastanawiałem się, jak efektywnie dzisiejsze oprogramowanie może naprawdę wykorzystywać nawet cztery rdzenie procesora, a tym bardziej nieuniknione osiem i szesnaście rdzeni procesora, które zobaczymy za kilka lat.

Odpowiedzi są tutaj (podkreślenie skopiowane z artykułu Jeffa),

Były jednak pewne niespodzianki, takie jak Excel 2007 i ustawienie „jednoczesnych operacji” Lost Planet. Możliwe, że inżynieria oprogramowania ostatecznie osiągnie poziom, w którym szybkość zegara ma mniejsze znaczenie niż równoległość. Lub ostatecznie może to być nieistotne, jeśli nie będziemy mogli wybierać między większą szybkością zegara a większą liczbą rdzeni procesora. Ale tymczasem większość czasu wygrywa. Więcej rdzeni procesora nie jest automatycznie lepsze . Typowym użytkownikom będzie lepiej z najszybszym możliwym dwurdzeniowym procesorem, na jaki mogą sobie pozwolić.


Sprawa Front-Side Bus (ten termin zawsze mnie rozbawił).
Z Nehalem wszystko się zmienia ... jak powiedziała ArsTechnica w zeszłym roku.

Prawo Moore'a wprawiło projektantów procesorów w zakłopotanie bogactw tranzystorów i nigdzie nie jest to bardziej widoczne niż w przypadku procesora Intel Nehalem 45 nm. Debiutując w wersjach 4- i 8-rdzeniowych jeszcze w tym roku, Nehalem pakuje tonę sprzętu w jedno gniazdo procesora. (Wczesne liczby szacują liczbę tranzystorów czterordzeniowego Nehalem na 781 milionów; nie pojawiły się jeszcze liczby dla modelu 8-rdzeniowego). Ale próba zasilenia całego tego sprzętu istniejącą architekturą magistrali frontowej platformy Intel byłaby głupotą. Co równie ważne, Nehalem wydaje również dawno spóźnioną klątwę śmierci dla pozytywnie geriatrycznej architektury magistrali Intela.

Radykalna zmiana sytuacji w zakresie przepustowości systemu Intela, którą reprezentuje nowy QuickPath Interconnect (QPI), jest prawdopodobnie największym pojedynczym czynnikiem, który ukształtował konstrukcję Nehalem. Między QuickPath a zintegrowanym kontrolerem pamięci Nehalem procesor Nehalem będzie miał dostęp do niespotykanej dotąd przepustowości agregatów, szczególnie w implementacjach dwu- i czterogniazdowych.

AMD wcześniej przeniósł kontroler pamięci do procesora i użył Hypertransport.

nik
źródło
3
Innym zagadnieniem, które należy wziąć pod uwagę, jest wydajność magistrali. Przy tak wielu rdzeniach, tak dużej pamięci i tak dużych programach dostęp do pamięci staje się krytyczny! Jeśli procesor będzie musiał zarzucić błąd, aby dostać się do pamięci głównej, pogorszy to wydajność. Im więcej jest zadań wielozadaniowych, tym bardziej prawdopodobne jest, że tak się dzieje, niezależnie od tego, jak nieprzyzwoicie duża jest pamięć podręczna układu.
geoffc
1
W ciągu 8 lat od otwarcia tego pytania w 2009 r. Sytuacja się zmieniła. Oprogramowanie jest teraz znacznie lepsze w korzystaniu z wielu rdzeni i ten trend będzie się utrzymywał.
Contango,
1
@Contango Zgoda, odpowiedź musi zostać zaktualizowana, aby odzwierciedlić obecne trendy.
18

Z mojego doświadczenia wynika, że ​​z jednego do dwóch rdzeni wynika ogromna korzyść w zakresie wydajności. Nagle jeden program o wysokim procesorze nie blokuje komputera ani nie czyni go wyjątkowo wolnym. Ogromna różnica.

Ale od dwóch do czterech? Dla 99% ludzi nie ma znaczenia. Będziesz musiał uruchamiać wiele programów naraz lub używać programów, które mogą korzystać z więcej niż 2 rdzeni (i realistycznie nie ma ich zbyt wielu). Przychodzą mi na myśl niektóre kodery mediów.

Pod tym względem istnieje także różnica między Intel Core 2s i AMD Phenoms. AMD korzysta z Hypertransport, który jest protokołem punkt-punkt, więc każdy rdzeń ma dedykowaną przepustowość. Intel Core 2s (ale nie Core i7s i inne procesory oparte na Niehalem) używają przedniej szyny, która jest współdzieloną przepustowością, dzięki czemu masz więcej rdzeni konkurujących o tę samą przepustowość.

W niektórych okolicznościach może to potencjalnie spowolnić (nieznacznie) ten sam rdzeń zegara. Stosunek jakości do ceny jest nadal możliwy dzięki dwóm rdzeniom IMHO. Biorąc to pod uwagę, mam czterordzeniowy rdzeń.

Peter Mortensen
źródło
1
Nehalem używa QPI (QuickPathInterconnect), który znajduje się w tym samym parku co Hypertransport.
nik
10

Podoba mi się, jak podsumowuje to Donald Knuth :

Dla mnie wygląda to mniej więcej tak, jakby projektantom sprzętu zabrakło pomysłów i że próbują zrzucić winę za przyszłą śmierć Prawa Moore'a na twórców oprogramowania, dając nam maszyny, które działają szybciej tylko na kilku kluczowe punkty odniesienia! Nie zdziwię się wcale, jeśli cały pomysł wielowątkowości okaże się flopem, gorszym niż podejście „Itanium”, które miało być tak wspaniałe - dopóki nie okazało się, że poszukiwanych kompilatorów nie można w zasadzie napisać .

Powiem tak: w ciągu ostatnich 50 lat napisałem ponad tysiąc programów, z których wiele ma znaczny rozmiar. Nie mogę wymyślić nawet pięciu z tych programów, które zostałyby zauważalnie ulepszone przez równoległość lub wielowątkowość. Na przykład wiele procesorów nie pomaga TeXowi.

W przypadku niektórych aplikacji bardzo łatwo jest skorzystać z wielu rdzeni. Ale niektóre inne aplikacje nigdy z nich nie skorzystają, podczas gdy inne mogą skorzystać, jeśli programiści je zoptymalizują (co jest bardzo trudne).

Bastien Léonard
źródło
4
Ogólnie zgadzam się, że wiele rdzeni nie pomogłoby samemu TeXowi. Byłaby to jednak wielka wygrana dla graficznego edytora TeX, który wielokrotnie wywołuje TeX w celu aktualizacji wyświetlacza podczas edytowania dokumentu.
KeithB
3
Jest to jedno z tych miejsc, w których moje serce kieruje się do Knutha, ale mój umysł nie zgadza się całkowicie.
nik
5

Na moim głównym pulpicie u mojego pracodawcy korzystam z czterordzeniowej maszyny Xeon z 8 GB pamięci RAM.

Kiedy programuję i mam Internet Explorera, Chrome, TweetDeck, Visual Studio 2008 (lub 2010) i lokalną instancję Sql Server Express ... wszystko szumi dobrze.

Dla porównania, miałem wcześniej podwójny rdzeń i wszystko zacznie się czołgać przy uruchomionym programie Visual Studio, Chrome i Sql Express.

To kwestia tego, co robisz z maszyną. Jeśli jesteś zaawansowanym użytkownikiem, który będzie edycją wideo, modelowaniem 3D lub programowaniem ze znacznymi zasobami ... to tak, będziesz potrzebować czterordzeniowego procesora i dużej ilości pamięci RAM.

Jeff Fritz
źródło
1

W codziennym użytkowaniu i programach, które nie są zoptymalizowane pod kątem wielu rdzeni, szybki dwurdzeniowy pobije wolniejszy czterordzeniowy.

Z biegiem czasu i gdy wielowątkowe aplikacje staną się normą, czterordzeniowe rdzenie będą się rozwijać.

Z punktu widzenia Twojej złotówki perspektywa podwójnych rdzeni nadal zapewnia wygodną przewagę.

Auxonic
źródło
1

To zależy. Jeśli robisz rzeczy, które wykorzystują każdy rdzeń mocno, 4 rdzenie jest lepsze (edycja wideo, renderowanie itp.). Większość ludzi znajdzie obecnie dwa szybkie rdzenie, ponieważ niewiele aplikacji jest napisanych, aby w pełni wykorzystać 4 rdzenie

David Hayes
źródło
1

Zauważ, że najnowsze procesory i7 mogą faktycznie zwiększyć prędkość taktowania aktywnych rdzeni, gdy nie wszystkie są potrzebne; na przykład, jeśli masz czterordzeniowy procesor o częstotliwości 2,4 GHz, ale oprogramowanie potrzebuje tylko 2 rdzeni do działania, wówczas może automatycznie zostać taktowane do 2,8 GHz (nie jest to rzeczywista liczba, tylko przykład).

I najnowsza generacja i7, jak sądzę, może taktować 3 lub 4 przedziały, jeśli potrzebny jest tylko jeden lub dwa rdzenie. W związku z tym może nie pozostać tak dużym kompromisem, jak obecnie ...

jerryjvl
źródło
1

Według Anandtech.com :

Wszystko sprowadza się do TDP układu lub jego termicznego punktu konstrukcyjnego. Im bardziej platforma TDP ogranicza platformę, tym więcej zyskujesz dzięki trybowi Intel Turbo. Powiem inaczej: Aby zmieścić cztery rdzenie w 130 W TDP, każdy rdzeń musi działać z niższą częstotliwością zegara, niż gdybyśmy mieli tylko jeden rdzeń w tym samym TDP.

Przy wyższych TDP zwykle jest wystarczająca ilość ciepła, aby poszczególne rdzenie były dość wysoko. Przy niższych TDP producenci procesorów muszą dokonywać kompromisu między liczbą rdzeni a ich szybkością zegara - tutaj możemy się dobrze bawić.

Wszystko to w kontekście konieczności wyboru między rdzeniami (lub gwintami) a częstotliwością rdzenia.

Ivo Flipse
źródło
Czy byłoby to bardziej odpowiednie dla zainteresowania przetaktowywaniem? W każdym razie dobry artykuł.
nik
0

W twoim przypadku czterordzeniowy rdzeń byłby lepszy. Pamiętaj, że im więcej rdzeni, tym więcej równoległego przetwarzania możesz zrobić. Tak więc na twoim dwurdzeniowym procesorze możesz być w stanie uruchomić jedną aplikację szybciej niż quad, ale quad może uruchomić 4 aplikacje szybciej niż jesteś w stanie. Ponadto, jeśli aplikacja jest napisana do przetwarzania równoległego (wielowątkowego), aplikacja będzie działać lepiej w architekturze wielordzeniowej.

Jest to jednak względne, ponieważ czterordzeniowy procesor działający z częstotliwością 100 MHz nie zamierza wykonywać dwurdzeniowego 4 GHz. Ogólnie rzecz biorąc, im więcej rdzeni, tym lepiej.

Joseph
źródło
Zakładasz, że aplikacja, która może działać na dwóch rdzeniach, będzie mogła również korzystać z czterech rdzeni. To nie zawsze jest prawdą.
nik
@nik Nie, nie jestem, stwierdziłem, że aplikacja wielowątkowa będzie działać lepiej na architekturze wielordzeniowej. Nie wskazałem niczego na temat proporcjonalnego wzmocnienia w stosunku do liczby rdzeni.
Joseph
0

Zależy od tego, co robisz i możliwości twojego systemu operacyjnego i aplikacji.

Jeśli masz lekki system operacyjny i uruchomioną aplikację powiązaną z procesorem, która może korzystać tylko z jednego procesora, lepszym wyborem będą dwa procesory z większą prędkością.

W przeciwnym razie, jeśli system operacyjny będzie w stanie efektywnie zaplanować wszystkie rdzenie i uruchomisz wiele aplikacji lub aplikacji, które mogą wykorzystywać więcej niż jeden procesor jako wolniejszy czterordzeniowy, to można oczekiwać lepszej wydajności przy niższym zużyciu energii, a tym samym mniejszej mocy cieplnej.

mas
źródło
0

Jeśli wykonujesz dużo kodowania wideo, renderowania 3D lub kompilacji rozproszonego kodu źródłowego, im więcej rdzeni, tym lepiej. Zobaczysz wyraźną różnicę w wydajności dla tego rodzaju aplikacji, gdy przechodzisz od 1 do 2 do 4 do 8 rdzeni.

W przeciwnym razie uruchomienie standardowych aplikacji naprawdę nie skorzysta z większej liczby rdzeni. Nawet gry naprawdę nie wykorzystują tak wielu rdzeni. IMO, lepiej jest wydawać pieniądze na lepszą kartę graficzną.

Nick Haddad
źródło
0

Zależy.

Bardzo tak.

Możesz łatwo znaleźć quad-core przy użyciu tylko dwóch rdzeni. Jest to częściowo związane z systemem operacyjnym i projektowaniem oprogramowania. Co więcej, nadal udostępniają wszystko inne, w szczególności pamięć, dysk i urządzenia.

Wiesz, że system operacyjny nie uruchamia się (zauważalnie) szybciej, a strony internetowe nie pobierają się szybciej (mogą jednak rysować szybciej).

dlamblin
źródło