Download: Raport_Opteron
Transkrypt
Download: Raport_Opteron
AMD Opteron RAPORT Testy procesora AMD Opteron w środowiskach 64 i 32 bitowych Linuksowy młot A trybucją SuSE Enterprise. Trudno powiedzieć, jaki wpływ na wyniki testów mają optymalizacje Opterona zaimplementowane w jądrze 64-bitowym. Do naszych testów wykorzystaliśmy wersję systemu SuSE Enterprise Linux 8 z jądrem 32-bitowym, nie przeznaczoną dla procesorów Opteron. MD Opteron w pełni zasługuje na swoją nazwę kodową – Sledgehammer (z ang. młot kowalski) i udało mu się podbić szturmem rynek serwerów linuksowych. Kilka miesięcy po wypuszczeniu na rynek pierwszych procesorów Opteron, do sprzedaży trafiły pierwsze wieloprocesorowe płyty główne w cenie poniżej 6000 zł [1]. Czy jednak naprawdę potrzebujemy procesora 64-bitowego? Otóż tak – przede wszystkim dlatego, że ograniczenie adresowania pamięci do 4 GB dla procesorów 32-bitowych, staje się powoli wąskim gardłem systemów serwerowych. W dzisiejszych czasach nawet komputery biurowe i domowe posiadają 128/256 MB pamięci RAM, a najtańsze serwery grup roboczych posiadają często 1 GB pamięci RAM. Obecne technologie nie pozwalają na znaczący rozwój wydajności procesorów 32-bitowych, a więc nie można oczekiwać poważnych osiągnięć w zwiększaniu prędkości taktowania procesorów lub dalszej miniaturyzacji struktur układowych. Misja 64-bitowców Pomimo że środowisko Windows jest obciążone genetycznie aplikacjami 32-bitowymi, na rynku możemy zaobserwować oczywisty trend w kierunku procesorów 64-bitowych. Użytkownicy komercyjnego oprogramowania nie mają wielkiego wyboru i muszą korzystać z oferowanych przez producentów tegoż oprogramowania rozwiązań. Zarówno Intel jak i AMD, chcąc złagodzić wpływ migracji oprogramowania i platform sprzętowych w kierunku 64 bitów, przygotowały swoje nowe procesory 64-bitowe tak, aby mogły z nich korzystać także programy i systemy 32-bitowe. Kompilatory i dystrybucje Na wszystkich naszych komputerach testowych (pracujących pod kontrolą Linux) zainstalowaliśmy system operacyjny SuSE Linux Enterprise 8. Postąpiliśmy tak, jak wiele firmużytkowników, które zmuszone są do używania dystrybucji licencjonowanych (tj. płatnych wersji) ze względu na wymagania kluczowych aplikacji biznesowych (jak np. Oracle). Pomoc techniczna dla używanych aplikacji jest tutaj czynnikiem decydującymi i często narzuca wybór dystrybucji. Dodatkowo warunki wsparcia technicznego zazwyczaj wykluczają możliwość Systemy testowe rekompilacji jądra przy pomocy zoptymalizowanego kompilatora, ponieważ doprowadziłoby to do utraty wsparcia technicznego. Intel znajduje się w tym miejscu na gorszej pozycji, gdyż system SuSE Linux Enterprise 8 korzysta z kompilatora GCC, a nie ICC – kompilatora przygotowanego i zoptymalizowanego dla procesorów Intela. W naszych testach do kompilacji programu testującego użyliśmy wersji ICC 7.1. Umożliwiło nam to uzyskanie pewnych wartości odniesienia w testach, a różnice w stosunku do testów kompilatora GCC okazały się pomijalne. Dzięki dołączeniu do podstawowego kompilatora GCC opcji optymalizacji dla procesora Opteron, firmie AMD udało się uniknąć problemu oddzielnego kompilatora zoptymalizowanego, np. system SuSE umożliwił dzięki tym opcjom szybkie opublikowanie wersji Enterprise 8 dla platform 64-bitowych. Nawet jądro z rozszerzeniami NUMA (Non-Uniform Memory Accessang, czyli rozproszonym dostępem do pamięci, spotykanym w platformach wieloprocesorowych), które dotarło do naszego laboratorium w trakcie kolejnych testów, zostało oficjalnie zatwierdzone do użycia z dys- Wydajność aplikacji 32-bitowych uruchamianych na procesorach 64-bitowych, jest szczególnie ważna na początku migracji w kierunku architektury 64-bitowej. Obóz Windows ma obecnie bardzo niewiele do zaoferowania swoim użytkownikom na rynku oprogramowania 64-bitowego, a do rzadkości należą 64-bitowe wersje komercyjnych programów dla systemu Linux, stworzone przez Intela. Gdy testowaliśmy, krótko po premierze, procesor Itanium Intela na naszych komputerach pod kontrolą systemu Linux, jego wyniki okazały się bardzo słabe. Intanium zostało w tyle za ówczesnymi procesorami Pentium i Athlon. Głównym powodem takiej sytuacji była emulacja kodu 32-bitowego, mało wydajna forma kompatybilności procesorów Itanium z systemami 32-bitowymi. Obecnie trudno powiedzieć, czy procesor Itanium 2 został zmodernizowany pod tym względem, gdyż firma Intel nie dostarczyła nam systemu testowego działającego na Itanium 2, oferując w zamian systemy dwu- i czteroprocesorowe z jednostkami Xeon 2.8 GHz, które miały sprostać naszym wymaganiom. Opteron, dziecko firmy AMD, może pracować standardowo na kodzie 32- i 64-bitowym, także równolegle! Co ciekawe systemy 32-bitowe rozpoznawały ten procesor jako Pentium 4. Zachęciło to nas do przeprowadzenia wszystkich naszych testów zarówno na 32-bitowym jądrze Linuksa, jak i na jądrze 64-bitowym. Oba systemy testowe dostarczyła firma AMD. Platforma dwuprocesorowa na jednostkach centralnych Opteron, którą testowało laboratorium Linux Magazine w [3], pracowała na procesorach z serii przedprodukcyjnej przy częstotliwości pracy zegara 1.3 GHz z 2 GB pamięci RAM. Platforma czteroprocesorowa pracowała www.linux-magazine.pl Luty 2004 37 RAPORT AMD Opteron na Opteronach 1.8 GHz z 8 GB pamięci RAM. Naszymi kolejnymi zawodnikami w teście porównawczym zostały Pentium 4 z jądrem Canterwood2) z pamięciami RAM PC800 na płycie Asus P4C800 oraz Athlon XP3000+ z pamięciami RAM DDR 333 na płycie głównej Asus A7N8X. mięci, może obsługiwać tylko jeden procesor w tym samym czasie. Opteron ProcessorCore L2-Cache with ECC 1 MByte Wydajna współpraca z pamięcią System Req. Queue (SRQ) Opteron Inside Opteron nie wykorzystuje mostka północnego, gdyż sterowanie pamięcią zostało umieszczone w strukturze samego procesora. Oznacza to, że każdy Opteron ma swój obszar pamięci. Dostęp do pamięci następuje za pomocą przełącznika krzyżowego (XBAR, rysunek 1), który obsługuje strumienie danych do sterownika pamięci jak i do rdzenia jednostki centralnej (przez systemowe kolejkowanie żądań dostępu), a ponadto posiada trzy porty interfejsu hypertransport. Innymi słowy, przełącznik krzyżowy jest rodzajem korytarza głównego układu Opteron. Cross Bar (XBAR) 128 Memory Controller 64 64 Hyper Transport 64 2 x DDR-333 Cudza pamięć 64 64 64 6 x 3,2 GByte/s Rysunek 1. Przełącznik XBAR jest głównym XBAR obsługuje także wymianę danych pomiędzy innymi procesorami Opteron pracującymi w systemie wieloprocesorowym. Każdy procesor posiada maksymalnie cztery moduły pamięci lokalnej (dwa kanały pamięci DDR 333) i jest podłączony do najbliższego sąsiada dzięki kanałowi interfejsu hypertransport. Mówiąc inaczej, kanały interfejsu hypertransport na platformie czteroprocesorowej tworzą okrąg. Jeżeli żądane dane nie są przechowywane lokalnie, lecz w pamięci nie należącej bezpośrednio do danego procesora, przełącznik krzyżowy (XBAR) komunikuje się z właściwym procesorem i prosi o przesłanie właściwych danych. Żądanie nie wpływa jednak na pracę drugiego procesora, gdyż przesyłem danych zajmuje się przełącznik krzyżowy. Kanały interfejsu hypertransport zapewnia- węzłem przepustowym Opterona. Obsługuje strumienie danych pomiędzy sterownikiem pamięci, trzema kanałami interfejsu hypertransport i jądrem procesora (przez systemowe kolejkowanie zadań dostępu). ją prędkość transferu na poziomie 3,2 GB/s na każdy kanał i w obu kierunkach niezależnie! Procesor Pentium 4 z 533-Mhz z magistralą FSB umożliwia przepustowość około 4 GB/s tylko w jedną stronę, kanał interfejsu hypertransport może zatem uzyskać niesamowitą przepustowość 6,5 GB/s podczas równoległych operacji w obie strony! Dla porównania w systemach wieloprocesorowych Intel Xeon, szyna pamięci jest w nim współdzielona przez wszystkie procesory platformy. Mostek północny, który tutaj zajmuje się zarządzaniem pa- 2500 Test D-Bench Wszystkie wyniki naszych testów okazały się korzystniejsze dla procesora Opteron w trybie pracy 64-bitów, a gorsze w trybie pracy 32-bitów. Mimo to, procesor ten bije na głowę swoich pozostałych konkurentów, nawet w trybie 32-bitowym! Platforma wieloprocesorowa oparta na procesorze Opteron uzyskała szczególnie wysokie wyniki (patrz Rysunek 4). Test ten symuluje klientów SMB pracujących na 7 2250 2000 1750 1500 1250 Dual-Opteron 1.3 GHz (32 Bit) 1000 Dual-Opteron 1.3 GHz (64 Bit) 750 Dual-Xeon 2.8 GHz 500 Pentium 4 3.0 GHz Storage transfer [GByte/s] Storage transfer [MByte/s ] 64 64 Różnice pomiędzy promowanym przez AMD rozproszonym dostępem do pamięci (NUMA) oraz szyną pamięci Intela stają się wyraźne, jeżeli spojrzymy na system wieloprocesorowy. W trybie jedno- lub dwuprocesorowym (patrz rysunek 2) wyniki testów są dość wyrównane, a zwycięzcą został, jak się spodziewaliśmy, procesor Pentium 4. Jednakże systemy czteroprocesorowe tworzą już inne spojrzenie na sytuację. Nasz program testowy utworzył cztery procesy stream_d, które zostały uruchomione jednocześnie i miały w 100 cyklach (iteracjach) przetworzyć tablicę zawierającą 20 milionów – każdy z procesów zajmował 457 MB pamięci. Na Rysunku 3 można łatwo zauważyć, że cztery strumienie procesów mają dostęp do dużo szerszego pasma pamięci na platformie z procesorami Opteron, niż na platformie z procesorami Xeon. Szerokość pasma pamięci, z którego może korzystać dana aplikacja, będzie zależała od możliwości jednoczesności wykonywania poszczególnych procesów, a także w równym stopniu od rozdzielenia danych w pamięci. W najgorszym przypadku Opteron będzie zmuszony uzyskać dane od najdalej położonej jednostki centralnej. 6 5 4 3 CPU 4 2 CPU 3 1 CPU 2 250 Athlon XP 3000+ 0 0 GByte/s MByte/s / CPU 1 Quad-Opteron 1.8 GHz (32 Bit) Quad-Opteron 1.8 GHz (64 Bit) Quad-Xeon 2.8 GHz Rysunek 2. Zwyciezcą testu pamięci został Intel Pentium 4 z jądrem Can- Rysunek 3. Cztery procesory Opteron (z architekturą pamięci NUMA) terwood. Opteron uplasował się na drugim miejscu. na platformie AMD – zwycięstwo podczas testów równoległych pamięci. 38 Luty 2004 www.linux-magazine.pl AMD Opteron udziałach serwera Samba. Uzyskana prędkość transmisji wyniosła około 1,3 GB/s, spadając do 1,2 GB/s przy ilości 100 klientów i pozostając na tym poziomie przez resztę testu, aż do maksymalnego obciążenia przez 256 klientów. W trybie 32-bitowym platforma czteroprocesorowa na procesorze Opteron uzyskała dużo niższą prędkość transmisji, ale nadal jest to wynik lepszy od konkurencji. Test D-Bench sprawił wielkie trudności platformie opartej na czterech procesorach Intel Xeon, gdzie prędkość transmisji gwałtownie spadła poniżej 10 MB/s przy obciążeniu przez 100 klientów SMB. DBench 1400 1300 1200 Transferrate [MByte/s] 1100 1000 900 800 700 Dual-Opteron 1.3 GHz (32 Bit) 600 500 Dual-Opteron 1.3 GHz (64 Bit) Quad-Opteron 1.8 GHz (32 Bit) 400 Quad-Opteron 1.8 GHz (64 Bit) 300 Dual-Xeon 2.8 GHz 200 Quad-Xeon 2.8 GHz Pentium4 3.0 GHz 100 Athlon XP 3000+ 0 0 16 32 48 64 80 96 112 128 Number of Clients Rysunek 4. Opteron w konfiguracji czteroprocesorowej zdeklasował rywali w teście D-Bench i utrzy- Dobre wyniki T-Bench mał przepustowość na poziomie 1,3 GB/s przy 100 klientach. Dla porównania, prędkość transmisji Wyniki programu testującego T-Bench, symulującego sieć Samba i operacje transferu plików, nie były już tak zróżnicowane, ale nadal oczywiste (rysunek 5). Platforma czteroprocesorowa zbudowana w oparciu o procesor Xeon, uzyskała mniej więcej taką samą prędkość transmisji jak platforma dwuprocesorowa na jednostkach Opteron w trybie 23-bitowym. Platforma dwuprocesorowa Xeon pozostała zupełnie z tyłu. T-Bench pokazuje ponadto, że Opteron jest dużo szybszy w trybie 64-bitowym, niż w trybie 32-bitowym. Fale widoczne na wykresie wyników na rysunku 5 są spowodowane różnicami w przydzielaniu procesów poszczególnym procesorom. Takie wahania nie występują w systemach jednoprocesorowych typu Pentium 4 czy Athlon. Intela Xeon przy tym samym obciążeniu spadła poniżej 10 MB/s, podczas gdy inne systemy utrzymywały wyniki na poziomie 30-40 MB/s. stabilnie i prawidłowo. Naszym dyskowym systemem wzorcowym został Axus 16012 IDE SCSI RAID [2]. System zbudowano w oparciu o 16 dysków twardych firmy Maxtor o pojemności 200 GB. Dla celów naszego testu system RAID zoptymalizowano pod względem szybkości przesyłania danych. W tym celu utworzyliśmy macierz dyskową RAID 0, w której skład wchodziło 16 dysków twardych, a następnie rozdzieliliśmy równomiernie nasze dane testowe o wielkości 20 GB na wszystkie 16 dysków tak, aby na każdym z nich znalazło się około 5 GB danych. Wielkość danych (20 GB) została wstępnie ustalona na podstawie specyfikacji odczytów i zapisów systemu Bonnie++, który wymaga około dwa razy większej ilości miejsca na dysku niż pamięci RAM. Systemy czteroprocesorowe Intela i AMD posiadały po 8 GB pamięci RAM. Następnie utworzyliśmy pojedynczą partycję na dysku SCSI i sformatowaliśmy ją Ext2. Xeon uplasował się w tym teście na drugim miejscu: zapis 65 MB/s, odczyt 79 MB/s, to do- Problemy z kontrolerem RAID Kontroler RAID SCSI GDT-8523RZ firmy ICP Vortex, którego zamierzaliśmy użyć w naszych testach sprawił niemało zamieszania podczas transferu danych w trybie 64-bitowym, powodując powtarzające się błędy w pracy jądra systemu. W trybie 32-bitowym zarówno kontroler jak i moduł jądra, gdth.o, pracowały TBench 450 400 350 Transferrate [MByte/s] RAPORT 300 250 bre wartości, ale Opteron uzyskał przy zapisie 80 MB/s i 73 MB/s przesyłu danych w trybie 64-bitowym. W trybie 32-bitowym Opteron musiał oddać palmę pierwszeństwa Xeonowi, uzyskując marne 67 MB/s przy zapisie i 59 MB/s przy odczycie danych. Wnioski Dzięki procesorowi Opteron firma AMD stworzyła solidne fundamenty, mogące przyspieszyć przejście użytkowników na platformy 64bitowe. Wykorzystanie pełnych możliwości procesora w trybie 32-bitowym nie jest możliwe procesor osiąga jednakże w tym trybie do 2/3 swojej pełnej mocy 64-bitowej, dzięki czemu jest konkurencyjny również na rynku procesorów 32-bitowych. Wysoka wydajność dostępu do pamięci w procesorach Opteron umożliwia wykorzystanie procesora w aplikacjach obciążających pamięć, chociaż w zakresie transferu I/O procesor nieco traci do intelowskiego Xeona. Dzięki swoim procesorom Athlon 64 i Athlon 64 FX, które są odchudzonymi' wersjami Opterona, firma AMD zamierza umieścić nowo odkrytą 64-bitową moc swoich procesorów w komputerach typu desktop. A w rezultacie, jako cel ostateczny, AMD zamierza dzięki tej małej rewolucji wysłać procesory Intela stosowane w komputerach typu desktop do krainy wiecznych łowów. ■ Dual-Opteron 1.3 GHz (32 Bit) 200 Dual-Opteron 1.3 GHz (64 Bit) Quad-Opteron 1.8 GHz (32 Bit) 150 INFO Quad-Opteron 1.8 GHz (64 Bit) Dual-Xeon 2.8 GHz 100 [1] Aria Technology Ltd. http://www.aria.co.uk Quad-Xeon 2.8 GHz 50 Pentium4 3.0 GHz Athlon XP 3000+ 0 0 16 32 48 64 80 96 112 [2] Axus Mikrosystem Inc. http://www.axus.com.tw/taid.htm 128 Number of Clients Rysunek 5. Ponownie Opteron na czele – tym razem w teście T-Bench. Dorównywał mu jedynie Xeon z wartością 300 MB/s. Fale widoczne na wykresie występują tylko na platformach wieloprocesorowych i spowodowane są różnicami w przydzielaniu procesów poszczególnym procesorom. [3] Mirko Dölle, Sledgehammer, Linux Magazine (wersja anglojęzyczna), wydanie 32, Lipiec 2003, strona 44 www.linux-magazine.pl Luty 2004 39