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

Podobne dokumenty