AMD 4x4, czyli dwa razy dwa
O platformie AMD 4x4 słyszymy już od kilku miesięcy, a jej architektura nie stanowi dla nikogo szczególnej tajemnicy. Składają się na nią dwa procesory Opteron 2xx... o przepraszam – Athlon 64 FX-7x. Procesory będą dostępne w trzech wersjach, Athlon 64 FX-70, FX-72 i FX-74. Oto ich dane.
Zwraca uwagę przede wszystkim niska dopuszczalna temperatura pracy układów, w połączeniu z dość wysoką, wynoszącą 125 W mocą TDP. Procesory, poza posiadaniem dwóch łączy HyperTransport i obudową LGA 1207, nie różnią się funkcjonalnie od znanych powszechnie Athlonów 64 X2 – konstruktorzy ominęli nawet charakterystyczny dla Opteronów wymóg stosowania buforowanych modułów pamięci.
Dwa wysoko taktowane procesory, bezpośrednio wywodzące się z serwerowych Opteronów, muszą być dość kosztowne... a jednak AMD ustaliło ich ceny na takim poziomie, by mogły rywalizować z intelowskimi układami Core 2 Quad.
Najdroższy model cenowo odpowiada procesorowi Intel Core 2 Extreme QX6700. "Odpowiada" – to znaczy za cenę jednego QX6700 można kupić dwa Athlony 64 FX-74. Zresztą obowiązkowo dwa – procesory z rodziny FX-7x bedą sprzedawane wyłącznie parami.
Dwa procesory to jednak dopiero początek, potrzebna jest jeszcze dostosowana do nich płyta główna. Jej konstrukcja w ogólnym zarysie przedstawia się następująco.
Chipset to be named, jaki widzimy na tym rysunku, to oczywiście debiutujący równolegle z platformą 4x4 układ nForce 680a SLI. Zastosowanie dwóch takich układów wyjaśnia zagadkę nazwy platformy 4x4, do której za chwilę wrócimy. Co oferuje platforma?
Dwa dwujądrowe procesory to dopiero 2x2, skąd więc wzięła się nazwa 4x4? Nie, to nie jest, wbrew moim docinkom na temat swoistej arytmetyki AMD, marketingowy przerost formy nad treścią – platforma 4x4 ma, w założeniach, udostępniać nie tylko cztery rdzenie obliczeniowe, ale także możliwość zastosowania czterech kart graficznych, oczywiście w trybie Quad SLI. Co prawda dwa dodatkowe gniazda PCI Express x16 mają jedynie po osiem linii, ale realizacja poczwórnego SLI, czy też po prostu instalacja czterech kart graficznych, nie sprawi problemu.
Dlaczego nie prościej?
W przypadku makroarchitektury K8 procesorów AMD nie było możliwe zastosowanie rozwiązania podobnego do tego, jakie wykorzystał Intel w układzie Kentsfield. Umieszczenie na wspólnym podłożu dwóch Athlonów 64 X2 nie wchodziło w rachubę, ze względu na sposób, w jaki procesory te komunikują się z otoczeniem. Zamiast szyny FSB, na poziomie której można dwa chipy połączyć w konfigurację SMP, procesory AMD mają łącze HyperTransport, nie dające takiej możliwości. Ponadto procesory AMD mają wbudowany interfejs pamięci RAM, co wyklucza połączenie w architekturę SMP za pośrednictwem HyperTransportu. Gdyby nawet udało się obejść jakoś te ograniczenia, stworzony w ten sposób procesor nie byłby zgodny z żadną ze stosowanych przez AMD infrastruktur – ani z podstawką Socket AM2, ani ze stosowaną w serwerowych Opteronach podstawką Socket 1207. Ale potrzeba podwojenia wciąż istniała!
Przypomnijmy jednak, że procesory K8 były projektowane tak, by zapewniały, jak to określili ich twórcy, "glueless multiprocessing", czyli tworzenie konfiguracji wieloprocesorowych bez stosowania pomocniczych układów. Do tego celu służy zwielokrotnienie łącza HyperTransport – serwerowe Opterony serii 2xx, przeznaczone do maszyn dwuprocesorowych, mają po dwa 16-torowe łącza HyperTransport, zaś Opterony serii 8xx – nawet po trzy. Okazuje się, że procesory K8 można łączyć, ale jedynie w wersjach serwerowych, wyposażonych w podwójny lub potrójny HyperTransport. Jednak przy takim ich połączeniu należy liczyć się z tym, że tworzy ono architekturę NUMA – Non-Uniform Memory Access, czyli niejednolitego dostępu do pamięci. Każdy z procesorów ma własną pamięć, natomiast z punktu widzenia systemu operacyjnego stanowi ona jednorodną przestrzeń. Jest dość oczywiste, że dostęp jednego z procesorów do pamięci przyłączonej do innego będzie trwał dużo dłużej, niż do własnej. Ponadto pojawia się tu kolejny problem, dotyczący architektur wieloprocesorowych – problem spójności cache. Uzgodnienie zawartości pamięci cache, szczególnie w przypadku danych, do których sięga inny procesor niż ten, który je dotychczas obrabiał, stanowi dość poważne obciążenie.
Problem spójności cache występuje zarówno w platformie 4x4, jak i w konstrukcji rywala, z którym ma ona konkurować, czyli intelowskiego Kentsfielda. Wyjaśnijmy natomiast dokładniej, jakie są konsekwencje zastosowania architektury NUMA – pomoże nam to później w interpretacji wyników testów.
SMP i NUMA – problem dla systemu
Większość systemów operacyjnych dla PC, w tym Windows XP, traktuje maszynę wieloprocesorową jako konfigurację SMP – Symmetrical MultiProcessing. W architekturze SMP wszystkie procesory mają równoprawny dostęp do zasobów komputera, przede wszystkim do pamięci RAM. Ma to co prawda niekorzystne skutki, jak większe obciążenie pasma przepływności wspólnych szyn (szyny pamięci i szyny FSB) oraz konflikty w dostępie do pamięci, jednak równocześnie znakomicie upraszcza obsługę maszyny przez system operacyjny. System operacyjny, rozdzielając procesy pomiędzy poszczególne procesory, przydziela dla każdego z nich część wolnego obszaru w pamięci operacyjnej. System "widzi" jednolitą pamięć, bez względu na architekturę – w SMP sprawdza się to świetnie.
Inaczej jednak przedstawia się sytuacja w przypadku, gdy system operacyjny zorientowany na pojedynczy procesor lub architekturę SMP ma pracować na maszynie o architekturze NUMA.
Jak widzimy, system Windows XP taki bez żenady alokuje procesy wykonywane przez pierwszy procesor, w pamięci należącej do drugiego. Na szczęście nadzieję dla AMD przynosi system Windows Vista, który bezproblemowo radzi sobie z architekturą NUMA, przydzielając procesom przede wszystkim pamięć RAM bezpośrednio do nich należącą. Zilustrowaliśmy to na poniższej animacji.
Wróćmy jednak do Windows XP i popatrzmy, jakie są konsekwencje niewłaściwej alokacji procesów w pamięci RAM w stosunku do procesorów w architekturze NUMA. Policzmy. Opóźnienie przesłania danych z własnej pamięci RAM trwa zaledwie kilkadziesiąt do stu nanosekund (zależnie od timingu pamięci). W przypadku odczytu z pamięci należącej do drugiego z procesorów, wzrasta ono o podwójny czas komunikacji pomiędzy procesorami przez HyperTransport. Podwójny, bo najpierw trzeba przesłać w jedną stronę żądanie odczytu wraz z adresem, a później dane muszą być przesłane w odwrotnym kierunku, do żądającego ich procesora. W przypadku gigahercowego HyperTransportu, z jakim mamy do czynienia w platformie AMD 4x4, trwa to przeszło 300 ns. Opóźnienie dostępu do pamięci rośnie więc 3-5-krotnie w porównaniu z opóźnieniem dostępu do własnej pamięci. A przecież procesory AMD, nie wymagające ogromnego pasma przepływności RAM, są stosunkowo wrażliwe na opóźnienia w komunikacji z tą pamięcią, trzeba więc się liczyć z ogromnym spadkiem ich wydajności w opisanej sytuacji. Jak wielkim? Pokażą testy...
Reprezentacja platformy
Do prezentacji zalet (i wad) platformy Quad FX, AMD przygotowało zestawy testowe wyposażone w dwa procesory Athlon 64 FX-74 i 4 GB pamięci RAM (cztery moduły Corsair Dominator DDR2 1066 o pojemności 1 GB każdy). Towarzyszyły im dwie karty graficzne GeForce 7900 GTX, połączone oczywiście w SLI. Zatem platforma w rzeczywistości nie 4x4, a 2x2 + 2! Niech będzie i tak.
Oczywiście całość zamontowano w eleganckiej obudowie Thermaltake Armor, wyposażając również w dwa napędy optyczne i trzy dyski – dwa WD Raptor 150, połączone w RAID 0, z zainstalowanym systemem Windows XP oraz 500-gigabajtowy WD Caviar, przeznaczony dla Windows Vista.
Dlaczego Vista bez RAID-u? To proste – NVIDIA jeszcze nie dokończyła sterowników RAID do chipsetu nForce 680a SLI dla systemu Windows Vista...
W prezentacyjnej maszynie duże wrażenie robi system chłodzenia procesorów – dwa wentylatory na coolerach pobierają powietrze z zewnątrz, a prowadzące je tunele wyposażono w piankowe uszczelki, uniemożliwiające mieszanie się zasysanego z zewnątrz powietrza z gorącym powietrzem z wnętrza obudowy.
Rozwiązanie przestaje szokować, jeśli przypomnimy sobie dopuszczalne temperatury pracy procesorów – powietrze wewnątrz standardowej obudowy ATX ma prawo osiągnąć temperaturę 42 stopni, co nie pozostawiałoby różnicy temperatur dostatecznej do poprawnego chłodzenia procesorów. Stąd konieczność wykorzystania rozwiązania, które urodziło się już jakiś czas temu, pod wpływem ogromnych wymagań termicznych procesorów Intela. Jednak wymagania Athlonów 64 serii FX-7x okazują się jeszcze większe – nie ze względu na moc TDP, ale na wymagane niskie temperatury pracy.
Patroszenie zająca
Podstawę konstrukcji stanowi płyta główna ASUS L1N64-SLI WS z chipsetem nForce 680a SLI. Według informacji AMD jedynie ta firma – przynajmniej na początku – będzie dostarczała na rynek płyty Quad Father.
Na płycie, oprócz chipsetu, znajdujemy również dwie podstawki Socket 1207 (Socket "F").
Charakterystyczna konstrukcja "pułapki na myszy", jaką dobrze znamy z intelowskiego Socket 775, jest wspólna dla wszystkich podstawek stosowanych do układów LGA. Bo Athlon 64 FX-7x ma obudowę LGA, w miejsce znanej nam obudowy z pinami, których liczba ulegała już dwukrotnie zmianie...
To chyba wszystko, co można powiedzieć o platformie testowej i perspektywach wykorzystania 4x4 przez użytkowników. Przejdźmy do testów.
Quake 4 – tajemnica i rozwiązanie
Quake 4 to gra, w której wyraźnie widać wpływ parametrów wielu elementów komputera na szybkość wyświetlania. Popatrzmy więc na wyniki testów, wykonanych przy takich parametrach wyświetlania, by wyniki w możliwie małym stopniu zależały od zastosowanej karty graficznej – w ten sposób głównym czynnikiem wpływającym na szybkość wyświetlania pozostaje wydajność procesora. Szokujący okazał się rezultat testu przeprowadzonego w środowisku Windows XP, w przypadku gry skonfigurowanej na działanie na jednym procesorze – niespełna 60 ramek na sekundę to, jak na kartę graficzną GeForce 7900 GTX, współpracującą z 3-gigahercowym procesorem Athlon 64, rezultat wręcz żenujący! Gra skonfigurowana na platformę wieloprocesorową zachowywała się już nieco normalniej, choć mimo wszystko działała wolniej niż na platformie Windows Vista.
Wyjaśnienie zagadki nie było jednak trudne – założyliśmy, że przyczyną problemów jest alokacja przez Windows XP procesów Quake'a w odległej pamięci. Po jej częściowym tylko zapełnieniu innymi aplikacjami szybkość działania jednoprocesorowej konfiguracji Quake 4 wydatnie wzrosła!
W przypadku Windows Vista nie ma takiego problemu – przy prawidłowej alokacji pamięci, Quake 4 w wersji jednoprocesorowej ustępuje wydajnością wariantowi wieloprocesorowemu o zaledwie około 25%.
A przy okazji – mówi się, że Quake 4 w wersji 1.2 jest optymalizowany do pracy na maszynach wieloprocesorowych. Jaka jest rzeczywistość?
Jak widać, gra działająca na pełnej szybkości, nie hamowana przez konieczność obróbki wyrafinowanej grafiki, angażuje w rzeczywistości jedynie trzy z dostępnych czterech jąder, a i to w niewielkim procencie. Dlaczego więc Quake jest tak wrażliwy na wydajność procesora? To po prostu Task Manager w Windows nie pokazuje nam wszystkiego, uśredniając obraz – w rzeczywistości procesor pracuje całą mocą w odcinkach czasu krótszych od kwantów skali Task Managera, z którego punktu widzenia po prostu się leni...
Megatasking – przeznaczenie 4x4
Platforma AMD 4x4 nie aspiruje bynajmniej do roli "demona wydajności" i bezpośredniego rywala układu Intel Core 2 Extreme QX6700 na wydajnościowym torze wyścigowym. Według AMD główną rolą 4x4 jest wielozadaniowość, mozliwość uruchomienia na jednej maszynie wielu obciążających ją zadań, bez utraty komfortu pracy z nimi.
Platforma ma umożliwiać równoczesną realizację wielu obciążających zadań, jednak w praktyce bardzo rzadko zdarzają się takie scenariusze jak równoczesne odtwarzanie dwóch filmów w High Definition, z równoczesnym kodowaniem trzeciego i pracą w 3ds max. Zdrowy umysłowo człowiek do czegoś takiego nie jest zdolny, skupiliśmy się więc na scenariuszu bliskim realizmu.
Pracujemy z programem Sony Vegas 7, służącym do montażu audio-wideo. Równolegle przygotowujemy obrazy 3D, dwoma technikami – przez modelowanie siatkowe, przy użyciu programu Cinema 4D, który w testach bedzie reprezentowany przez Cinebench, i przy wykorzystaniu techniki raytracingu, programem POV-Ray. A dodatkowo pracujemy nad planszami 2D korzystając z programu Paint.NET. Model sprawia wrażenie dość realistycznego... taka sytuacja może się zdarzyć np. realizatorowi reklam telewizyjnych.
Jak widać, uruchamianie kolejnych zadań, oczywiście wielowątkowych i wymagających wydajności, nie powoduje szczególnego spowolnienia pracy programu Sony Vegas. A jest to jedyny spośród wchodzących w skład testu program interaktywny, pozostałe mają charakter zadaniowy i szybkość ich działania, dopóki zawiera się w rozsądnych granicach, nie ma większego znaczenia. A to oznacza, że platforma Quad FX spełnia swoje zadanie nawet we wrogim architekturze NUMA środowisku Windows XP, w którym prowadziliśmy testy.
Co z rywalizacją?
Wielu Czytelników oczywiście najbardziej interesuje rywalizacja pomiędzy Intelem i AMD. Czy platforma AMD Quad FX pozwala AMD odzyskać wydajnościową przewagę nad procesorami Intela, utraconą w chwili debiutu Core 2 Duo? Niestety, nie zamieścimy tu wyników testów porównawczych – wrócimy do nich, gdy platforma stanie się dostępna na rynku. Na razie możemy sobie pozwolić jedynie na stwierdzenie, że Athlon 64 FX-74, pracujący z zegarem o 333 MHz szybszym od Core 2 Extreme QX6700, w wielu rodzajach zadań jest w stanie dorównać rywalowi. Dwuprocesorowa platforma Quad Father, użytkowana w środowisku Windows Vista, ogólnie nie ustępuje wydajnością zestawowi Core 2 Extreme QX6700 z chipsetem NVIDIA nForce 680i. Oczywiście w poszczególnych aplikacjach występuje zróżnicowanie – są takie, w których Kentsfield "wymiata" rywala, znajdą się i takie, w których równie drastyczną przewagę ma platforma AMD. Znacznie gorzej przedstawia się sytuacja w przypadku korzystania z systemu Windows XP – tutaj wciąż zdecydowanie góruje Kentsfield, jedynie w nielicznych aplikacjach dodatkowe 333 MHz Athlonów 64 FX-74 pozwalają im dorównać wydajnością procesorom Intela...
Podkręcania nie będzie!
Kolejną informacją, której nie zamieścimy, jest zakres możliwości podkręcania "nowych" procesorów AMD. Dlaczego? Bo jest on w praktyce zerowy – 3 GHz to dla układu produkowanego w wymiarze technologicznym 90 nm wystarczająco wysoka częstotliwość, zaś wygórowane wymagania termiczne sprawiają, że dalsze przyspieszanie procesora (-ów) przy chłodzeniu standardowymi zestawami chłodzącymi w ogóle nie ma praktycznej wartości.
Próbować oczywiście można, ale przede wszystkim na wolniejszych modelach – pole do popisu bedzie dawał co najwyżej układ FX-70. Podobnie jak w przypadku testów porównawczych, wrócimy do tematu z chwilą pojawienia się platformy AMD Quad FX na rynku...
Komu radzimy, komu odradzamy?
Pomimo tego, że AMD zadbało o konkurencyjność cen procesorów do platformy 4x4, zabawka i tak będzie kosztowna, a to za sprawą wysokiej ceny płyty głównej. Płyty 4x4 będzie dostarczał ASUS, a ze względu na niewielką skalę produkcji będą one dość drogie nawet jak na tę markę. Nie koniec na tym – chipsety NVIDII też nie należą do najtańszych, a przecież na płycie są aż dwa układy MCP... Na podstawie zapowiedzi AMD możemy ocenić, że płyta Quad FX będzie kosztowała ok. 1200 zł. Na pewno za dużo dla typowego użytkownika, ale dla entuzjasty megataskingu cena ta wcale nie musi być wygórowana. Zwłaszcza jeśli połączy ją z najtańszymi procesorami Athlon 64 FX-70, za które zapłaci "zaledwie" 2500 złotych.
Ale na 4x4 mogą się decydować tylko ci, którzy planuja korzystanie z Windows Vista – najlepiej w wersji 64-bitowej.