Quickbench S01E02: Matematika: 4*2=8*1? Intel Sossaman vs. Sun T1

Címkék

Folytatjuk quickbench sorozatunkat, ezúttal az első részben megismert 8 magos T1-es processzort tartalmazó Sun T2000-es miniszörny (Sunzilla) csap össze az Intel legújabb üdvöskéjével. A gépeken Solaris és Linux izzad.

You can also read this article in english. Translation courtesy of Rigidus.

Az első évfolyam második epizódban az általános iskolai matematikát fogjuk gyakorolni. Na nem kell aggódni, nem papíron, ceruzával, hanem számológéppel, akarom mondani számítógéppel. A feladat egyszerűnek tűnik: meg kell nézni, hogy helyes-e a következő állítás: 4*2=8*1.

Ránézésre igen, de nézzünk a számok mögé.

Az egyenlet bal oldalán egy vadonatúj gyilkológép található, amelynek egyelőre sem fegyvere, sem katonai kiképzése nincs. Foggal és körömmel küzd, hogy bekerülhessen az elit alakulatba, amelyet olyan nevek fémjeleznek, mint a régi ismerős AMD Opteron, vagy a nemrég debütált Sun T1, illetve az Intel Xeon családja.
Ami azt illeti a srácnak erős hátszele lehet, mert a származása ellenére máris Xeonnak hívják: ő a Sossaman kódnevű alacsony fogyasztású (31W) két magos Xeon processzor.

Ez a processzor az első tagja a Pentium M vonalból származó szerverprocesszoroknak, amely a Core Duóhoz hasonlóan már kétmagos, de nem tudja sem az AMD 64 bites kiegészítését (EM64T), sem a Xeonokban és Pentium 4-esekben régóta elérhető Hyperthreading technológiát.

A nálunk járt gépben két darab Sossaman processzor volt, amelyek 2 GHz-es órajelen üzemeltek. A gépben 2 GB memória volt, két Ethernet csatlakozó, két merevlemezhely és kétszer két processzormag. Mielőtt valaki kettőslátásra gyanakodna, elárulom, hogy merevlemezből csak egyet használtunk, amely ráadásul csak egy 80 GB-os, 7k2 RPM-es SATA példány volt.

Az egyenlet másik oldalát a már jól ismert, sok helyen látott Sun T2000-es adta, amely 8 magos 1 GHz-es processzorával a gyártó szerint ekvivalens egy 8 GHz-es processzorral (értelemszerűen azonos architektúrában).

Notebookból kinevelt szerverkénket rátettük az ízig-vérig szerver T2000-re (ennek a konfigurációját lásd az első epizódban) -hadd tanulja az illemet-, de legnagyobb meglepetésünkre a kis pofátlan ahelyett, hogy szerényen meghúzta volna magát, utolsó vérig küzdött.

Lássuk hogyan:

Első képünkön ismét egy sysbenches mérés látható, amely 1 MB-os blokkméretekkel próbált memóriasávszélességet mérni.
A két gépen két azonos operációs rendszert, a Linuxot (2.6.17-es rc kernel mindkét esetben) és a Solaris 10-et próbáltam. Az egyetlen eltérés az volt, hogy a Sossaman processzoron 32 bites, míg a T1-esen 64 bites módban futhatott a kernel, azonban az alkalmazások egy része (pld. a sysbench) mindkét esetben 32 bites volt.

A görbéken jól látszik, hogy a Sun T2000-esen a teljes memóriasávszélesség eléréséhez az alkalmazásnak 32 szálon kell memóriaműveleteket végeznie, ez alatt egy igen jól (egy ideig lineárisan) skálázódó, de a lehetségesnél jóval alacsonyabb sávszélességet sikerült csak mérni. A T2000-esen futtatott Linux és Solaris között nagy különbség nincs, a magas (32 felett) párhuzamosságnál a Solaris hangyányival jobb.

A két magos és két processzoros Sossaman rendszerünk már érdekesebb. Az ábra pontosan fordítottja a T2000-esének, egy szálon tudjuk elérni a maximális sávszélességet, amely utána folyamatosan csökken. Az ábrára felkerült egy kakukktojás is, a FreeBSD 7-es (fejlesztői) verziója, amely a következő quickbench részben még szerepet kap majd.

Összehasonlítva a T2000-est és a Sossamant elmondható, hogy a memóriasávszélesség tekintetében az Intel ismert nagy hátránya a buszos architektúra, amelynek forgalmazási jogáért állandóan versengenek az egyes processzormagok, így rontva le az összteljesítményt.

A nagy méretű blokkok után nézzük meg ugyanezt 1 kB-tal is:

Némileg kuszább az ábra, mint az előző, amely kis mértékben köszönhető annak is, hogy a FreeBSD 7 mellé felkerült a FreeBSD 6 is (amely még a phkmalloc nevű cuccot tartalmazza, a 7-esben nemrég megjelent jemalloc-kal szemben).
Az ábra meglehetősen érdekes, hiszen a Sossaman processzorunkon egyértelműen a Solarist mutatja győztesként (ha egyáltalán lehet győzni ebben a mesterséges tesztben), utána pedig a FreeBSD 7 vadonat új mallocja tündökölne, ha 8 thread után nem esne le a teljesítménye az amúgy legrosszabb Linux szintjére (Jason Evans, a jemalloc fejlesztője szerint ez az arénák számának növelésével korrigálható, sajnos ezen a gépen már nem volt alkalmam ezt kipróbálni).
A FreeBSD 6 phkmallocja ebben a tesztben az arany középutat választotta.

Érdekes, hogy a Linux szinte egyenes görbéje (egyenese) a Sossamanon egy szép, növekvő jelleget mutat, amely ugyan messze lemarad a T2000-től, de mindenképpen jobb, mint az x86-os verzió.

A múltkor tett megállapítás itt is érvényes: memóriabenchmarkok futtatására Solaris és T2000 az ajánlott megoldás. :)

Tovább a MySQL tesztre: három féle összeállítást próbáltam, amelynek minden esetben a MySQL 4.1-es verziója képezte az alapját. A sysbench ismét egy külső gépen futott, hogy ne befolyásolja a teszteredményeket.

Az első teszt a szokásos 1 millió soros HEAP tábla:

Látható, hogy a Linux és a Solaris fej-fej mellett teljesítenek ebben a tesztben mindkét platformon (a T2000-esen való csúnya törést 64 thread után tudjuk be kezdeti problémának).

Az igazi meglepetést az Intel Sossamanja jelenti, amely annak ellenére, hogy végtére is notebookokba tervezték, az akkumulátoros üzemidő maximalizálását előtérbe helyezve, egészen 16 threadig egyértelműen veri a T1-es processzort, annak ellenére, hogy (amit láthattuk) jóval kisebb memórisávszélesség és nem mellesleg energia (Sun T1: kb. 72W, Sossaman: 31W, itt értelemszerűen szorozva kettővel) áll rendelkezésére.

Aki nézzük, hogy mi a helyzet, ha InnoDB táblákon próbálkozunk:

Itt látszik igazán, hogy a T1-es lassabb magjai kevésbé jelentenek jót alacsony kihasználtság mellett: a Sossaman egyes esetekben akár háromszor is gyorsabb tud lenni azonos kliensszám mellett, de még a négyszer több klienssel (így több magot kihasználni képes) hajtott T2000 is éppen csak azt a teljesítményt tudja leadni, mint a Sossaman két klienssel.
A T2000 ebben a tesztben egyetlen ponton -32 threadnél- tudta csak megközelíteni az inteles gépet, a kettő közti szakadék azonban így is meglehetősen nagy.

A következő -és egyben utolsó- ábra ugyancsak InnoDB adatbázismotorral készült, azonban a tranzakcionális jellegű tesztben írási műveletek is szerepeltek. A teszt a két gép közti meglehetősen nagy eltérés (Sossaman: egy darab desktop SATA merevlemez, T2000: két darab 10kRPM-es SAS szerverdiszk) miatt kevésbé mérvadó.

Mindezek ellenére a Sossaman az árva SATA merevlemezével így is nagyon jól teljesített, amely többek közt köszönhető a kis méretű táblának is. Az előző ábrán látható Solaris fölény itt erősen a visszájára fordult a Sossamanon, amelynek oka a nem megfelelő operációs rendszer és MySQL tuning (pufferek, sync metódus, stb). Annak ellenére azonban, hogy mind a Linux, mind a Solaris (és a MySQL is) ugyanazokkal a beállításokkal futott a PC-n és a T2000-esen is (az egyetlen eltérés a MySQL párhuzamosságot szabályozó paramétereinek növelése volt a T2000-esen, elmondható, hogy a Solaris megfelelő beállításokkal hangyányival jobbnak tűnik a MySQL esetében a Linuxnál, illetve a Sossaman entry level szerver a T2000-nél.

A fentiek ismeretében elmondható, hogy az Intel várakozásai az energiaéhes, lassú és drogos (gyk: állandóan pörög :) netburstös Xeon utódjaként bedobott Pentium M derivánssal jogosan kedvezőek. Bár a processzorból egyelőre hiányoznak azok a képességek, amelyek a Xeont még-még elviselhetővé tették az Opteronnal szemben (64 bit, HTT), de ezeket a hiányosságokat hamarosan pótolják és onnantól kezdve már csak az órajel ismételt egekbe emelése van hátra, hogy az újabb és újabb Opteronokat utolérjék, vagy éppen legyőzzék.

Az AMD jobb, ha felköti az alsóneműt, ha nem akar lemaradni.

Hozzászólások

Köszönjük bra a nem kimerítő, de azért igényes tesztet.
Egyébként ha így folytatod, még író lesz belőled :)

lol: S01E02
(csak zárójelesen, az angol verzióban vannak hibák; it, that elhagyás, egyes szám használata, ahol többről van szó, with to helyett, "showes", "Then this is what happen", etc)

erdekes engem nem erint annyira, hogy elolvassam az angolt.. plane nem, hogy utana beszolhassak annak aki leforditotta. foleg, hogy tudom, hogy nem azert forgatta mert fizettek. esetleg jo lenne ha mar eszrevetted ezeket a hibakat akkor tetelesen kijavitva, elkuldened a cikkironak maganban. valoszinuleg koszonetet kapnal, a mostani semmi vagy eppen negativ megiteles helyett.

p.s. erdekes, hogy egyesek szamara fontosabb, hogy nyilvanosan megszolhassanak masokat, ramutatva azok apro hibaira esetlegesen beszoljanak mintsem, hogy segitsek azokat akik kepesek csinalni valamit.

amennyiben elkuldted a javitasokat, akkor elnezest kerek...

Szvsz nem baj ha eszreveszik a hibat es jelzik, az sem zavar ha publikusan jelzik, meg mindig jobb mintha sehogy. :-)

Senki sem tokeletes. En sem. Nem is probalom en az ellenkezojet bizonyitani. :-)

Vasarnapra igertem a forditast, de kozbejottek varatlan dolgok, csusztam ket napot vele, igy egy reszet ejszaka irtam a masikat meg masnap reggel vagtaban, aztan mielobb elkuldtem (mielott low-end-quickbench lenne belole).

PS: Legkozelebb megkerem a szomszed benszulott csajt, hogy nezze at, eleg jo labai vannak...

---------------------
Ригидус а бетегадьбол

> PS: "it" es "that" dolgok merre vannak?

pont ezert mondtam. en is orulok ha engem javitanak ki, barmirol is legyen szo. de az javitas legyen es ne csak megszolas. ennyi volt az egesz siralmom. tudod, kulonbseg a ket kifejezes kozott, hogy
"EZ SZAR"
"EZ SZAR MERT [tetszoleges-definicio]"

az elobbitol megyek falnak az utobbit meg figyelmesen hallgatom.

"pont ezert mondtam. en is orulok ha engem javitanak ki, barmirol is legyen szo. de az javitas legyen es ne csak megszolas."

Nezd, szerintem erzekenyen reagalod a dolgot. :-)

Azzal tisztaban vagyok, hogy sokaknak mar az o nikkje lattan is felmegy vercukor szintje. Nem veletlenul.

DE, Amit irt, az meg mindig jobb mintha semmit nem irt volna, vagy oriasi "karorvendek"-szmajlikkal jott volna. Nem ez tortent, nem megszolt, hanem ami hibat talalt, azt roviden leirta, nekem ez is nagy segitseg volt (tole ez kulonosen nagy szo). Ez alapjan meg is talatam, sot talatam meg vagy 4-5 typo-t is kozben.

btw, thanks for the bugreports. :-)

ps: most latom, hogy meg a regi van kint

---------------------
Ригидус а бетегадьбол

ashnur áruld már el, hogy hol volt a hozzászolásban az "EZ SZAR" string és miért látod degradálónak, hogy felhívta az angol nyelvtani hibákra a figyelmet? Zárójelben meg lett jegyezve a probléma, mert külföldi oldalakon nagyobb a valószínűség, hogy visszadobják a cikket, ha ilyen elírások vannak benne...

Slashdotra nem biztos, hogy érdemes, a múltkorit is reject-elték:

2006-05-17 12:19:36 Quickbench: Linux and Solaris on the Sun T2000 (Hardware,Sun Microsystems) (rejected)

Az OSNews-t érdemes megpróbálni. Oda beküldtem, linkelték. Igaz egész cikket (pedig annak küldtem be) nekik sem "ért meg". Pedig angol volt az is...

--
trey @ gépház

bra, nem frissult meg az angol nyelvu oldal. Legkozelebb ha forditok bekuldom sajat blogkent es ralinkelunk a cikkbol, mivel ott tudom javitani ha valami nem jo. Eleg sok benne a typo, akad benne egy-ket hejjjesirasi hiba is es nem gondolom, hogy ezt kulfoldi oldalakon szeressek. Igy viszont ha vki lat benne elirast, azt perceken belul tudom javitani.

---------------------
Ригидус а бетегадьбол