Talán kezdjük a történetet valahol a felejtés ködébe vesző múltban...
1999: egy AMD K6-os CPU-val felszerelt gép előtt görnyedek, és a félhetente kötelező jelleggel újrafordított Linux kernel elkészülését várom.
Sok tíz megabyte-nyi konzolra fröcsögött szemét után másfél megányi gyönyör, zcat /boot/vmlinuz-2.2.5-15 > /dev/audio, és mintha Isten szólna hozzám.
Legalábbis akkor még ezt magyarázták, én inkább már kifelé voltam a kórból.
Szóval az ember ott ül, nézi, ahogy futkosnak a GCC warningok, és arra gondol: de jó lenne ebből a processzorból mondjuk tíz! Nem, inkább 128!
Az mekkora lenne, májerkedhetnék a zircen, hogy nekem csak három másodpercig tart a kernelfordítás! (most arról, hogy annyi idő alatt annyi processz el sem tudott volna indulni, vagy hogy a konzolra kiírni azt a rengeteg szemetet ennél tovább tart ne beszéljünk)
A társadalmi rang, ugye...
2008: év vége, válság, mélabú, ötkor koromsötét. Pedig itt van álmaim gépe! Vagyis volt, mert kellett másnak is.
De mégis! Egy cég legjobb koponyái évekig dolgoztak azon, hogy az álmom beteljesülhessen! 128 AMD K6 egy dobozban!
Íme:
A képen egy Sun T5140 típusú pizzásdoboz látható, amelynek a műszaki paraméterei a következők:
- két darab, 8 magos, 1,2 GHz-es UltraSPARC T2+ CPU, amelyek összesen 128 szálat tudnak kezelni, és 4 MB cache-sel rendelkeznek
- 32 GB FB-DIMM memória
- négy darab gigás Ethernet interfész
- négy darab 15kRPM-es SAS SFF diszk
- 1U rackmount FF
- ILOM a távmenedzsmenthez
- 4 Gbps-es FC HBA
Láttunk már ilyet, mondhatnánk (Sun T2000, T1-es CPU-val), de nem lenne igazunk, mert a gép, és a processzor is rengeteget változott.
Kicsomagolás után hátulról ezt láthatjuk:
Bár a Sun a "Coolthreads" címkét ragasztja a gépekre, azért ez mégsem egy Intel 80286, azaz valamivel mégiscsak hűteni kell. Mondjuk hideg levegővel, elölről etetve:
A funkciót egy sor apró (az 1U-s magasság miatt persze nem is lehetne nagyobb, hacsak nem döntik el, de úgy meg csak arra lenne jó, hogy a szervert lebegtesse a föld fölött, ami bár kétségtelenül rendkívül jól nézne ki, sok haszna mégsem lenne) ventillátor valósítja meg, amelyek a feladatuk ellátásához majdnem gyorsabban pörögnek, mint a gép merevlemezei.
A diszkek percenként 15 ezerszer mondanak hellót a felettük csúszkáló fejeknek, míg a kis fémlapátos barátaink a gép szerint több, mint 12 ezerszer rotálódnak per minutum:
én biztos hánynék a helyükben, bár a sok G miatt lehet, hogy ki se tudna jönni.
A kényelmesen nyitható ventillátor-tálca fedele egybe van építve a lényeget védő, takaró fedéllel, így ha bele szeretnénk kukucskálni a széndioxid-kibocsátás csökkentésének eme remekművébe, egyben el kell távolítanunk mindkettőt. Így:
Belül csodaszép rendezettség található, balról jobbra az őrült módjára pörgő szélkerekekkel, utánuk a két darab T2+ processzorral, majd a csak két marokban elhelyezhető mennyiségű memóriamodulokkal, utánuk pedig mindenféle ilyen-olyan alkatrésszel, amelyek rendeltetése nagy, sárga címkék hiányában ismeretlen. Nem is tudom minek rakják oda, csak a helyet foglalják.
Ja, és alul van még két darab menet közben cserélhető tápegység, amely az ilyen nem telkós géptermek nagy részében érthetetlen módon jelen lévő váltóáramot konvertálják egyenárammá (AC/DC, 2009-ben élőben is meg lehet hallgatni) némi kamatért cserébe.
A hangsúly persze a kettőn, és a menet közbenen van, sajnos vannak olyan elvetemült gyártók, amelyek nem szégyellnek egy, vagy kettő, de csak offline cserélhető tápot tenni ezekbe a dobozokba.
Tudnak ezek a kínaiak ha akarnak, na, ott a Fujitsu nevű japán cégnél (őőő):
Most művészi makrók a memóriákról módjával (alliteráció rulez):
aztán memóriák közé dugott LSI SAS vezérlő, és annak az csatlakozója, szép zöld karámba zárva, hogy itt is tudatosuljon bennünk: ez egy econo szerver (ami azt jelenti, hogy az üzemeltetése kevésbe kerül, de attól még lehet az elején marha drága):
és PCI riser (három darab nyolc csatornás PCIe slotunk van):
Kicsit távolodva a NYÁK-os témáktól, a tápok helye, és maga a táp (Delta 720W-os):
Elhagyva a belsőségeket, de még egy kicsit elidőzve a hátsó fertályban láthatunk közelről pakettblastgenerátor-dugókat (négyet, gigabiteset), soros és Ethernet menedzsment csatlakozót, USB-t (ha kevés lenne a belső tárhely, ide köthetünk még), és egy rejtélyes "IOIOI" feliratú, ismeretlen rendeltetésű konnektort, amely olyan furcsán eltér a többitől:
Most, hogy meganalizáltuk a gépet, nézzük meg az arcát is, ahol a ventillátorok fújják be a levegőt (blowjob), remélhetőleg úgyis azt fogjuk többet látni (sőt, inkább azt se!):
Láthatjuk, hogy a szerver nem fél a magasságoktól, még a nálánál hatszor nagyobb doboza tetejére is felül, ha szépen kérjük. "Gyári" kiszerelésben a bal oldalon két diszkkel, a jobb oldalon pedig két "killer" (izé, filler, szemüveg nélkül nem látok jól, de ezek szerint a kínaiak sem, mert lehagyták a vesszőt az é-ről, biztos arra akartak célozni, hogy az üres keret filléres tétel, nyugodtan kidobható) feliratú keret van, utóbbi kettőt gyorsan kukáztuk, ahogy kérték, majd betoltunk két ugyanolyat, mint bal oldalt volt.
A gép fedőlapján szokás szerint gyerekeknek készült képregény látható:
amely kedvességtől minden alkalommal könnybe lábad a szemem, így elolvasni sajnos még sosem volt érkezésem.
Miután így jól megvizsgáltuk az új jövevényt, megkértem szőrös karú segédemet, hogy tolja be a "téötezerszáznegyvenest" a helyére, amit kijelölt számára, és ahol majd én jól megnézhetem, a gépterem zajától távol eső karosszékemben:
Itt is szeretném megköszönni neki a segítséget, mert így, bár nem nehéz a gép, távmenedzsmenten edződött pipaszár testem lesérülését megelőzendő én távol maradhattam a férfias fizikai munkától.
Miután a vasat kivégeztük, leltárt készítettünk, és találtunk még egy szépen kinéző UTP kábelt is, amit inkább óvatosan visszacsomagoltunk, nehogy elrontsuk:
Eddig tök jól éreztük magunkat, mozogtunk, friss levegőt szívtunk, de éreztem, hogy ezután már nekem is kellene csinálnom valamit, így hát megnéztem mi az a Sun Integrated Lights Out Manager.
Mi más lenne, mint távmenedzsment eszköz. Elérhetjük weben:
és a root/changeme usernév/jelszó párossal (alapból) ssh-val is, ahol rögtön el is indíthatjuk rajta a Solarist, amit előtte már valaki kikapcsolt:
-> start SYS
-> start /SP/console
Are you sure you want to start /SP/console (y/n)? y
Serial console started. To stop, type #.
syncing file systems... done
Program terminated
r)eboot, o)k prompt, h)alt? o
T5140, No Keyboard
Copyright 2008 Sun Microsystems, Inc. All rights reserved.
OpenBoot 4.28.0, 32544 MB memory available, Serial #82365864.
Ethernet address 0:14:4f:e8:cd:a8, Host ID: 84e8cda8.
Ignoring auto-boot? setting for this boot.
{0} ok boot -s
Boot device: /pci@400/pci@0/pci@8/scsi@0/disk@0,0:a File and args: -s
SunOS Release 5.10 Version Generic_127111-11 64-bit
Copyright 1983-2008 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
Booting to milestone "milestone/single-user:default".
Hostname: unknown
Requesting System Maintenance Mode
SINGLE USER MODE
Root password for system maintenance (control-d to bypass):
single-user privilege assigned to /dev/console.
Entering System Maintenance Mode
Jul 8 00:39:17 su: 'su root' succeeded for root on /dev/console
Note: Sun Java Enterprise System 5 Update 1
For your convenience this server has been shipped with the Sun Java
Enterprise System 5 Update 1 (Java ES 5 Update 1) distribution. The
distribution is available for installation from:
/var/spool/stage/JES5U1/Solaris_sparc
or
/var/spool/stage/JES5U1/Solaris_x86
Details about Java ES can be viewed at:
http://sun.com/jes
If you wish to install any of the enterprise class products from the Java ES
you must run the Java ES installer from one of the directories listed above.
Prior to installing any of the Java ES products please review the
Installation Guide available at:
http://docs.sun.com/app/docs/coll/1286.3
For more information about pre-install software from Sun and information
about removing this message please see:
http://www.sun.com/software/preinstall/
Sourcing //.profile-EIS.....
root@unknown #
Nézzük meg a webes konzolt, ahol nézhetünk firmware információkat, menedzselhetjük a komponenseket, megnézhetjük a naplót, azt, hogy mennyit fogyaszt a szerver, és meddig mehetünk még el:
állíthatunk web- és ssh szerver-paramétereket, hálózati beállításokat, és akár az órát is:
az ILOM tud syslogba írni, és SMTP-n levelet küldeni, ha gáz van (képletesen, gázérzékelő nincs benne), tud LDAP-ot, RADIUS-t, és AD-t használni azonosításhoz:
lehet vele persze újraindítani a szervert, vagy az OS-t core dumpoltatni (YAY!), állítható a boot mód is:
Miután ezeken túljutottunk, nézzünk kicsit a körmére a gépnek.
Önmaga szerint 402 Wattot fogyaszt a drága áramunkból, miközben semmi más nem történik, csak a Solaris (10) futtatja az idle loopot.
Mivel a Sun a T2-es (és a T1-es, ha már itt tartunk) processzorokat, és a rájuk épített rendszereket úgy reklámozza, hogy rendkívül energiatakarékosak, és ezt még megfejelik azzal, hogy bár az energiát Pakson hagyják, a teljesítményt viszont a nappalinkba (vagy ki hol tartja ezeket a szuperszámítógép-teljesítményű gépeket) hozza, izgalmas kérdés volt a fogyasztás, és a teljesítmény.
Az első kérdés rögtön adta magát: mit állítsunk szembe ezzel a géppel? Mivel másunk éppen nem volt szabadon, mi egy HP DL380G5-tel mértük össze, amelynek a paraméterei a következők voltak:
- két darab, 4 magos, 3 GHz-es Xeon processzor, 12 MB L2 cache-sel
- 16 GB FB-DIMM memória
- két darab gigás Ethernet interfész
- négy darab 15kRPM-es SAS SFF diszk
- 2U rackmount FF
- ILO a távmenedzsmenthez
- 2 Gbps-es FC HBA
Igazságtalanság lett volna azonban a fogyasztást a gépek saját eszközeivel mérni, mivel ezeket nem tudtuk volna egymáshoz mérten kalibrálni, így vettünk egy fogyasztásmérőt, és a teszteket azzal végeztük el.
Az első teszt tehát az üresjárati fogyasztás:
396,6 W, amely körülbelül megegyezik az ILOM által jelzett 402 Wattal.
Mivel az FB-DIMM memóriák meglehetősen energiazabáló hírében járnak, az igazságosság érdekében a T5140-ből eltávolítottuk a memória felét, így a modulok kapacitása, száma, és így összkapacitása is megegyezett.
A 16 GB memória eltávolítása után a 396 wattos fogyasztás leesett 318 Wattra:
Ezután jött az ellenpróba: rádugtuk a DL380-ast is a mérőkére, amely üresjáratban, ugyanazzal a Solarisszal, mint a SPARC-on 296 Wattot mutatott:
Tehát:
T5140 32G: 396,6W
T5140 16G: 318,2W
DL380 16G: 295,9W
A semmittevésben tehát a PC a jobb, nézzük meg, vajon megmarad-e az előnye, ha dolgozni is kell.
Mivel alapvetően arra voltam kíváncsi, hogy a két gép között az architekturális (CPU) különbségek okán mennyi lehet az eltérés, először egy CPU tesztet futtattam (nbench), egyre több szálon:
Jól látszik, hogy hiába fogyaszt olyan keveset a PC üresjáratban, a fogyasztásbeli előnyét már akkor elveszti, mikor egy nbench processz fut.
Nézzünk valami memóriaintenzíve(bbe)t is! A sysbench memória tesztjét futtatva ezeket a fogyasztási görbéket kapjuk:
Az előny itt is jól látszik.
Együtt futtatva a két programot:
mindkét gépnek kivillan a foga fehérje, a DL380 majdnem 430 Wattig szalad, de a T5140 is felmegy 403 Wattra 64 szálnál.
Érdekességképpen ugyanezeket a teszteket elvégeztem a DL380-ason Linuxszal és FreeBSD-vel is.
Az eredmény, a Solaris 10-nél korábban látott eredményekhez képest:
Egyértelmű nyertes itt nincs, talán a sysbench memória tesztjénél mondható ki valamennyire sorrend, ott nagyobb terhelés alatt a FreeBSD fogyasztott a legkevesebbet, utána a Linux, majd a Solaris következett.
Az üresjárati fogyasztás a grafikonon nem látszik, az tized Watt eltérésekkel mindhárom OS-en 295W körül alakult.
A grafikonokra vetett egyetlen pillantás is elég a szerelemhez: a DL380 egy rezsó igyekezetével melegíti a környezetet, míg a T5140 alig fogyaszt valamit.
Persze a grafikonok csalókák, hiszen nem szerepel rajtuk az üresjárati fogyasztás, és az y tengely sem nulláról indul. Azt, hogy ez utóbbi mennyit számít, igen jól szemlélteti, ha kiszámoljuk mennyi a két gép csúcsfogyasztása közti különbség. 6 (hat) százalék.
Na de nézzünk a számok mögé, mert bár bármennyire is jól néz ki a Sun fogyasztása, mindez csak a leadott teljesítmény ismeretében ér bármit is.
Az nbench az alábbi görbéket (egyeneseket) rajzolja:
Látványos, de mi a frászkarikát jelentenek ezek a számok? Szorzókat, amelyek azt mutatják, hogy az nbench által futtatott (mem, int, float) tesztek hányszor gyorsabban futnak, mint a referencia gépen.
Azaz egy AMD K6 233 MHz-en. :)
A T2-es CPU-n egy szálon 1,595, 2,415 és 3,149-szer gyorsabban fut, mint a K6-oson, innen tehát a címben szereplő 128 processzoros hasonlat.
Az igazsághoz hozzátartozik még valami, ez pedig az, hogy az nbench értékek egy másik DL380 G5-ösön készültek, nem pedig a tesztben mindenhol máshol használt gépen. Sajnos ezt a hibát már csak utólag vettem észre, de az eredmények ennek fényében még látványosabbak.
Az illető DL380-as nem csak a magok számában (2x4 helyett 2x2), hanem azok sebességében, és generációjában is eltértek (2,33 GHz-es E5345).
nbenchet mission critical rendszerekben csakis Xeonon futtassatok!
Még egy érdekes megjegyzés a teszttel kapcsolatban: a prstat kimenetében szépen látszik, hogy a Solaris ütemezője nem véletlenszerűen rakja szét a virtuális CPU-kra a processzeket, hanem minden magra egyenletesen oszt, amíg van belőle szabad.
Négy processznél:
5444 root 2232K 1712K cpu80 0 0 0:03:32 0.8% nbench/1
5449 root 2232K 1712K cpu112 0 0 0:03:32 0.8% nbench/1
5445 root 2232K 1712K cpu64 10 0 0:03:32 0.8% nbench/1
5447 root 2232K 1712K cpu104 0 0 0:03:32 0.8% nbench/1
16-nál:
7233 root 2232K 1448K cpu36 0 0 0:01:08 0.7% nbench/1
7267 root 2232K 1448K cpu88 50 0 0:01:08 0.7% nbench/1
7272 root 2232K 1448K cpu57 50 0 0:01:08 0.7% nbench/1
7261 root 2232K 1448K cpu40 0 0 0:01:08 0.7% nbench/1
7264 root 2232K 1448K cpu9 0 0 0:01:08 0.7% nbench/1
7249 root 2232K 1448K cpu4 0 0 0:01:08 0.7% nbench/1
7253 root 2232K 1448K cpu52 0 0 0:01:08 0.7% nbench/1
7241 root 2232K 1448K cpu60 0 0 0:01:08 0.7% nbench/1
7270 root 2232K 1448K cpu96 0 0 0:01:08 0.7% nbench/1
7277 root 2232K 1448K cpu64 0 0 0:01:08 0.7% nbench/1
7237 root 2232K 1448K cpu24 0 0 0:01:08 0.7% nbench/1
7225 root 2232K 1448K cpu28 0 0 0:01:08 0.7% nbench/1
7229 root 2232K 1448K cpu112 0 0 0:01:08 0.7% nbench/1
7245 root 2232K 1448K cpu12 0 0 0:01:08 0.7% nbench/1
7257 root 2232K 1448K cpu17 50 0 0:01:08 0.7% nbench/1
7274 root 2232K 1448K cpu33 0 0 0:01:08 0.7% nbench/1
Most, hogy az nbenchet kivégeztünk, térjünk át a sysbench memória tesztjére.
Mint a legelején említettem, a T5140-ből eltávolítottunk 16 GB memóriát (a modulok felét) annak érdekében, hogy egyenlő lehessen a küzdelem a DL380-assal szemben.
A memóriatesztet azonban elvégeztem 16 és 32 GB RAM-mal is. Az eredményt ezen a grafikonon lehet összehasonlítani, amelyre felkerült a DL380 is:
Megfigyelhető, hogy a Sun gépe jóval nagyobb memóriasávszélességgel bír, mint a HP-é, amelyet (természetesen) tovább növel az, ha dupla annyi modult használunk.
A csúcsérték a T5140-es esetében 32 GB memóriával, 64 szálon, 128 MB-os blokkmérettel 22,87 GBps, 16 GB memóriával 128 szálon, 8 MB-os blokkmérettel 21,47 GBps volt.
Ezek után szinte nevetséges a DL380-as "maximális teljesítménye", amely 1024 szálon, 64 MB-os blokkmérettel 4,25 GBps volt.
Na majd a Nehalem ezt is rendbeteszi, mondhatják az Intel-fanok.
Most, hogy ilyen jól túlvagyunk azokon az alkalmazásokon, amelyek ezen platformok húzóágát képviselik, nézzünk valami érdektelenebbet is.
Mint azt már láthattuk, a T2-es egy végtelenül lassú processzor, azonban az ereje (többek között) abban kell(ene) legyen, hogy ezt a lassúságot sok-sok szálnál/processznél is tartja, így végső soron megfelelő -párhuzamos- terhelés alatt a sok lúd legyőzi a disznót. (látott már valaki disznót repülni? Na azt biztos nem győzi le!)
A kérdés csak az, hogy tudunk-e olyan alkalmazást találni, amely képes kihasználni ezt a masszív párhuzamosságot, illetve hogy mi képesek vagyunk-e akkora terhelést rakni a gépre, amitől azért még nem rogy meg, de elég stresszt jelent neki ahhoz, hogy kidomborítsa az izmait.
Ha jobban elgondolkozunk ezen a kérdésen, egy dolog még mindenképpen eszünkbe kell, hogy jusson. Mert hát szép, és jó, hogy több ezer klienssel már kezd a sok kicsi olyan sokra menni, hogy megéri a gép, nade az egyes szálak rettentően lassú teljesítményét nem fogják megérezni az egyes kliensek a válaszidőben?
Végső soron az, hogy egy szerver képes kiszolgálni sok ezer klienst nekünk jó, de ha a látogatóink közben elviselhetetlenül lassú válaszidőket tapasztalnak, már nem ennyire pozitív a helyzet.
A válaszidő méréséhez egy olyan szerverprogramot vettem igénybe, amely kellően elterjedt és rendelkezésre áll a terheléshez, illetve a válaszidő-méréshez megfelelő alkalmazás.
Mindkét gépre telepítettem tehát egy 9.5-ös bindot, készítettem egy megfelelően nagy random adatokból álló lekérdezés-listát, majd sorban végrehajtottam a következőket:
- elindítottam a bindot 1-128-ig változó thread számmal
- indítás után végigkérdeztem a random listát, hogy annak minden eleme bekerüljön a cache-be
- a dnsperf programmal változó konkurrenciával (hány kérés lehet megválaszolatlanul a dróton) elkezdtem kérdezgetni a listából
A tesztből egyrészt kiesik, hogy adott bind és kliens párhuzamosságnál hány kérést tudott megválaszolni a szerver, illetve az is, hogy ezeket milyen válaszidővel tette:
Látható, hogy a T2-es nem remekelt ebben a tesztben, QPS-ben (Queries Per Secundum) a Xeon bőven megverte, azonban ehhez hozzá kell tenni, hogy a bind egy tipikus mai program: nem skálázódik jól sok processzorra.
Érdemes még szót ejteni a válaszidőkre is. Az átlag-válaszidőkben is nagyon jól kijön, de a maximumoknál látszik igazán: a T2 hiába lenne gyors -már persze ha az alkalmazás képes lenne valamit kezdeni 128 szállal-, az egyedi szálak válaszideje igencsak elmarad a versenytárstól.
Az átlagértékeket tekintve a legrosszabb esetben 292%-kal, míg a maximum válaszidőket tekintve 334%-kal rosszabb teljesítményt mutatott a T2 a Xeonhoz képest 128 bind szálnál.
Azt hiszem azt a bind sutaságától függetlenül kijelenthetjük, hogy a T2 nem azoknak való, akik a minél alacsonyabb válaszidőket keresik.
De nézzünk egy kicsit tovább is. A gépről eddig sem gondoltuk, hogy DNS szervernek való (bár éppenséggel az adottságai alapján -a válaszidőket leszámítva- megfelelő programmal még az is lehetne). De hát akkor mire tudnánk használni? (az adatbázis-szerveres témát hagyjuk, arrafelé 128, 256, 512 párhuzamos kapcsolat már meglehetősen soknak számít, a Java-alkalmazásszerveres, webszerveres dolgok pedig számomra nem túlságosan vonzóak, lévén, hogy nem foglalkozom ilyennel (bár a párhuzamosság kapcsán azért ott is vannak kételyeim))
Nos, egy, a kezemben lévő ajánlás szerint ez a szerver nagyon jó lehet például mailbox clusterbe (SMTP, POP, IMAP, ilyesmi), nyilván nem a belső diszkjeivel, hanem valamilyen SAN-os tárolóval.
Járjuk végig ezt az utat!
Kezdjük mondjuk egy olyan teszttel, amelynek van valami köze az internetes levelezéshez, de kellőképpen elrugaszkodott a valóságtól ahhoz, hogy érdekes legyen. :)
Kézbesítsünk e-maileket mondjuk postfixszel a /dev/null-ba!
A tesztkörnyezetről annyit, hogy mindkét tesztszerver (T5140, DL380 G5) két-két gigabites dróttal volt bedugva a teszt switchbe, amelyen lógott kilenc darab (szintén két-két Gigabit Ethernettel kapcsolódó) kliens.
A leveleket ezek a kliensek küldték, amennyire lehet egyenlően elosztva a kapcsolatokat a kliensek, azok interfészei, és a szerverek interfészei között (értelemszerűen egy párhuzamos kapcsolatnál csak egy TCP stream volt nyitva, de 18-nál már mindegyik útvonalra esett egy).
A teszteket 50 kB-os levelekkel végeztem, mivel a tapaszalat azt mutatja, hogy körülbelül ennyi lehet az átlag levélméret.
A teszt a fentieken kívül még annyi érdekességet tartalmazott, hogy az egyik futásnál minden levél egy TCP kapcsolaton ömlött be (azaz ha éppen 128-as kliens-párhuzamosságnál jártunk, 128 TCP kapcsolat nyílt a teszt elején, és annak végéig ezek nyitva is maradtak, minden levél ezeken ment be), míg a másiknál minden levél a saját TCP kapcsolatán esett be a rendszerbe (HELO, MAIL FROM, RCPT TO, DATA, QUIT).
A grafikonokon a "one" az egy kapcsolaton történő többszörös levélküldést, míg a "many" a kapcsolatonkénti egy levél küldését jelzi.
A két grafikon a görbéket tekintve megegyezik, a különbség csak annyi, hogy míg a bal oldalin másodpercenkénti üzenetek, addig a jobb oldalin másodpercenkénti bájtok láthatók.
Jól azonosítható különbség mutatkozik a "one" és "many" esetek között, hiszen ilyenkor a kliensnek, és a szervernek is jelentősen több munkája van, ráadásul a TCP handshake is időbe telik (DNS feloldás nem volt, a listen queue hosszú volt).
A Xeon itt is nagyon rávert a T2-re, pedig itt tényleg csak a biteket kellett lapátolni, ráadásul a postfixben (a master processzen, és a queue manageren kívül, amelyek közül itt utóbbi nem kapott szerepet) nem tudok olyan limitről, ami gátolhatta volna a platform erejének kirobbanását.
Igen látványos a görbe alja, ahol a T2 szinte lerajzolhatatlan számú levelet tudott kézbesíteni, míg a Xeon már egy szálon is képes volt majdnem 500 levelet benyelni a semmibe.
Érdekes még az is, hogy bár sokak szerint a T2-nek az egyik legnagyobb erőssége az, hogy képes sok szálú terhelésnél is megtartani a maximális teljesítményét, ebben a tesztben elég nagy ingadozás látszott, amit a többszöri ismétlés sem tudott teljesen eltüntetni.
A Xeon ennél nagy párhuzamosságoknál is sokkal egyenletesebb értékeket mutatott.
A T2 alulról nyújtózkodott a Gigabit felé, míg a Xeon jócskán ráverve jobban ki tudta használni a második adaptert is.
Miután az értelmetlen levélkézbesítésen túltettük magunkat, nézzünk valami életszerűbbet.
A fent említett ajánlás természetesen nem Postfixet feltételez, hanem a Sun levelező és kommunikációs megoldását, a Sun Java Communications Suite-ot.
Ez a termék magában foglal több komponenst is (kalendárium, webmail, instant messaging, stb), mi azonban csak a "mail core"-t a Messaging Servert fogjuk vizsgálni.
A szoftver létezik mind SPARC-ra, mind pedig x86-ra, tehát kiválóan megfelel a tesztkörnyezetünknek. A tesztben a legújabb, 6-os verziót próbáltam, amely -többek között- a Messaging Server 7-es verzióját tartalmazza (kicsit nehezen követhető, mint általában minden, ami a Suntól jön).
A tesztkörnyezet a postfixes teszthez képest változatlan: a szerverek ugyanúgy 2xGbps-szel csatlakoznak, a kliensek pedig erre a két interfészre egyenlően szórják a leveleket.
Ami változott az az, hogy a gépek kaptak Fibre Channelen kiajánlott diszkeket, amelyeket szándékosan egyesével, diszkdoboz oldali cache nélkül kaptak meg.
Ezek a kísérlet valódi céljából következnek, mely szerint azt szerettük volna megvizsgálni, hogy a Sun Thumper (X4500-as szériájú) SATA-s diszkdobozai mennyire alkalmasak a Messaging Server számára.
Sajnos a diszkek felé nem tudtunk akkora sávszélességet (a Thumperben minden diszk saját SATA vezérlőn van) adni, viszont a teszt során az FC kapcsolat terheltségét figyelve arra a következtetésre jutottam, hogy a nagyobb sávszélesség nem sokban (ha egyáltalán) befolyásolta volna a végeredményt.
A diszkdobozokban egyébként szintén 7k2RPM-es SATA diszkek voltak (mint a Thumperben), és a fentiek miatt bár igen nagy cache-sel (16 GB egyenként) rendelkeztek, annak kikerülésével, JBOD-ként ajánlottuk ki a diszkeket.
A teszt során a Messaging Server által írt minden fájl ezekre a diszkdobozokra került, a diszk pool pedig 1-től 30 diszkig nőtt, amellyel azt kívántuk meghatározni, hogy a diszkek számának a növelése mennyire hat ki a Messaging Server teljesítményére.
Minden szerver önálló egységet alkotott, tehát minden, a működéshez szükséges szolgáltatás, fájl helyileg elérhető volt, nem volt külső függőség.
Az első teszteket -ahogy az az ajánlásban szerepelt- ZFS-sel végeztem, a poolba egyre több diszket helyezve:
Az első képen a Postfix-tesztben már megismert "egy levél egy kapcsolat" felállás, míg a másodikon az "egy kapcsolaton az összes levél" típusú megközelítés eredménye látható.
Látszik, hogy az egy diszkhez képest a harminc diszk javít a teljesítményen, de valahogy ennél én többet vártam...
Kicsit a dolgok után nézve, a T5140-esen ez látszik a topban 768 párhuzamos klienskapcsolatnál:
last pid: 8758; load avg: 178.1, 89.0, 101.8; up 9+04:34:30 16:15:16
78 processes: 66 sleeping, 1 running, 11 on cpu
CPU states: 12.7% idle, 4.1% user, 83.1% kernel, 0.0% iowait, 0.0% swap
Memory: 16G phys mem, 8084M free mem, 4104M total swap, 4104M free swap
PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND
8742 mailsrv 104 0 0 94M 76M cpu/98 11:30 8.85% tcp_smtp_server
8744 mailsrv 104 0 0 94M 77M cpu/123 11:18 8.82% tcp_smtp_server
8738 mailsrv 104 0 0 94M 77M cpu/85 12:04 8.82% tcp_smtp_server
8740 mailsrv 104 0 0 94M 77M cpu/8 11:49 8.77% tcp_smtp_server
8732 mailsrv 104 0 0 96M 79M cpu/41 12:07 8.76% tcp_smtp_server
8746 mailsrv 104 0 0 93M 76M cpu/123 10:59 8.58% tcp_smtp_server
8750 mailsrv 104 0 0 93M 75M cpu/121 10:40 8.33% tcp_smtp_server
8749 mailsrv 104 0 0 94M 76M cpu/86 10:39 8.32% tcp_smtp_server
8752 mailsrv 104 0 0 93M 76M cpu/110 10:22 8.10% tcp_smtp_server
8755 mailsrv 104 0 0 93M 76M cpu/105 10:01 7.82% tcp_smtp_server
8737 mailsrv 16 0 0 176M 40M run 0:32 0.40% ims_master
8736 mailsrv 16 59 0 176M 40M sleep 0:21 0.25% ims_master
8711 root 207 59 0 435M 238M sleep 2:11 0.14% webservd
8721 mailsrv 3 59 0 127M 69M sleep 0:07 0.05% stored
7898 root 51 59 0 266M 249M sleep 0:21 0.04% ns-slapd
A 83,1% kernel meglehetősen magasnak tűnik! A DTrace szerint a kernelben töltött időben az alábbiak a toplistásak:
zfs`fletcher_2_native 219 0.1%
unix`_resume_from_idle 237 0.1%
SUNW,UltraSPARC-T2 314 0.1%
unix`disp_getwork 569 0.2%
unix`cpu_halt 22431 7.3%
unix`lock_set_spl_spin 43870 14.3%
unix`mutex_vector_enter 237146 77.1%
A lockstat szerint:
Profiling interrupt: 747538 events in 60.203 seconds (12417 events/sec)
Count genr cuml rcnt nsec Hottest CPU+PIL Caller
-------------------------------------------------------------------------------
645011 86% ---- 0.00 2236 cpu[56] syscall_trap
636091 85% ---- 0.00 2219 cpu[52] mutex_vector_enter
635090 85% ---- 0.00 2222 cpu[44] fdsync
635089 85% ---- 0.00 2222 cpu[44] fop_fsync
635087 85% ---- 0.00 2222 cpu[44] zfs_fsync
635085 85% ---- 0.00 2222 cpu[44] zil_commit
129383 17% ---- 0.00 2473 cpu[14] turnstile_lookup
129233 17% ---- 0.00 2473 cpu[14] lock_set_spl_spin
73249 10% ---- 0.00 2765 cpu[47] thread_start
71245 10% ---- 0.00 2753 cpu[110] idle
70445 9% ---- 0.00 2756 cpu[110] cpu_halt
26934 4% ---- 0.00 3943 cpu[0] (usermode)
6800 1% ---- 0.00 2406 cpu[0] zil_itx_assign
...
és:
Count indv cuml rcnt spin Lock Caller
-------------------------------------------------------------------------------
809952 71% 71% 0.00 289 0x300581e6c40 zil_commit+0x44
32488 3% 73% 0.00 11 0x60000871a40 vn_rele+0x18
23153 2% 75% 0.00 127 0x300581e6c40 zil_itx_assign+0x4
17496 2% 77% 0.00 11 0x60000871a40 lookuppnvp+0x4e0
15031 1% 78% 0.00 101 0x300581e6c40 zil_commit_writer+0x234
14834 1% 80% 0.00 18 0x3000fddbe10 dsl_dir_tempreserve_clear+0x4c
14552 1% 81% 0.00 19 0x3000fddbe10 dsl_dir_tempreserve_impl+0x20
13412 1% 82% 0.00 4 0x60005b953f0 zfs_zget+0x1c
13310 1% 83% 0.00 18 0x3000fddbe10 dsl_dir_willuse_space+0x8
13133 1% 84% 0.00 11 0x60000871a40 lookuppnat+0xa4
Nocsak, lehet, hogy a ZFS még nem T2-ready? Ennyi CPU-ra jól skálázódó programot tényleg nem egyszerű írni, bár az némileg kellemetlen, hogy pont a ZFS-nél jön elő ilyen...
A fentieken felbuzdulva nézzük meg, hogy ZVOL-on hogy muzsikál az UFS, hátha jobb eredményeket kapunk!
Hát, ez is valami. A csúcsteljesítmény jelentősen javult, az alacsonyabb párhuzamosságnál mutatott teljesítmény rovására.
Nézzük meg mi történik, ha letiltjuk a ZIL-t:
a vártnak megfelelően a gépek elkezdenek száguldani, annyira, hogy a T5140 magas párhuzamosságnál rövid időre utol is éri a DL380-ast.
A ZIL-t nem érdemes letiltani, viszont azt, hogy a fenti problémát a Sun is érzi jelzi, hogy az újabb szerverekben beépített flash (SSD) szolgál majd a ZIL tárolására, amely ha a letiltással egy szintre nem is hozza majd a ZFS-t, minden bizonnyal jelentősen emeli majd a sebességet.
Összefoglalva a fentieket: a Sun T5140 (és az UltraSPARC T2+) egy nagyszerű szerver, kiváló menedzsment-képességekkel és megbízható, korrekt, jól felszerelt hardverrel.
A fogyasztása összességében véve -súlyozva a tesztekben mutatott átlag-teljesítménnyel, és a Magyarországon szokásos, "hullámzó" terhelési görbékkel- azonosnak mondható a xeonos társáéval, bár ezügyben biztosat csak akkor tudnék állítani, ha ugyanolyan terheléssel járattam volna mindkettőt, és közben mértem volna a Wattórákat.
A gép (CPU) olyan képességekkel is rendelkezik, amelyeket itt nem vizsgáltam (hardveres virtualizáció, particionálás, beépített 10GE NIU, encryption offloading), viszont meghatározott célterületeken alkalmasak lehetnek arra, hogy jelentősen elmozdítsák a teljesítménymérleg nyelvét az Intel világgal szemben.
Összességében véve azt gondolom, hogy a jövő mindenképpen az ehhez hasonló processzorokban van (ahogy azt láthattuk is az x86-ok irányváltásából), viszont a kihasználásukhoz megfelelő feladat, és nemkülönben megfelelő eszközök (alkalmazások, módszerek) szükségesek.
Aki ma ilyen szerver vásárlására adja a fejét, előtte mindenképpen tájékozódjon, mert itt csak két véglet van: vagy nagyon jó lesz arra, amire veszi, vagy nagyon nem.
- A hozzászóláshoz be kell jelentkezni
- 6235 megtekintés
Hozzászólások
[OFF]
Repülő malac: http://www.youtube.com/watch?v=awI86rnHtwA 2:38 és 2:55 között :)
[/OFF]
- A hozzászóláshoz be kell jelentkezni
jol latom, hogy a sparc ketszer annyiba kerul ugyanannyit fogyaszt es fele olyan gyors mint a xeon-os cucc?
bocs a flamebait-ert :)
- Use the Source Luke ! -
- A hozzászóláshoz be kell jelentkezni
< nemszeretemasunt_félretesz >
Ezek tényleg nem olcsók, de szerintem megvan a helyük, csak meglehetősen okosan kell azt megválasztani (és szerintem -ezért van a vélemény rovatban- kisebb is az a hely, mint az x86-os szervereké).
Te értesz annyira a dolgokhoz, hogy ha utánanézel, rájössz, hogy miben lehet sokkal jobb a mostani xeonos kínálatnál ez a vas (pontosabban a T2-re épülő vasak).
Úgy gondolom, hogy ez a szerver tényleg a szakembereknek szól, akik a megfelelő helyre megfelelő eszközt választanak. Na ilyenből persze kevés van, és ahol eddig ilyet láttam, mind rossz helyen volt (persze ez is IMHO).
< /nemszeretemasunt_félretesz >
- A hozzászóláshoz be kell jelentkezni
Te értesz annyira a dolgokhoz, hogy ha utánanézel, rájössz, hogy miben lehet sokkal jobb a mostani xeonos kínálatnál ez a vas (pontosabban a T2-re épülő vasak).
kosz a bizalmat :) nem szertnem lerombolni a rolam alkotott kepedet, de mire gondolsz?
azt latom a tesztben, hogy nagy a memoria savszelesseg, de ezt csak specialis esetekben lehet apropenzre valtani - pl. ilyen esetekben valoban jobb valasztas lehet a sparc server.
de az osszkepet tekintve a helyzet - szerintem - nem tunik tul rozsasnak a sun szempontjabol.
amugy kosz a tanulsagos - es kimerito - tesztet!
u.i.: egyebkent nekem nincs bajom a sun-nal, a sparc is szimpatikus architektura volna - ellenerzeseim a sun sparc procikkal szemben onnan datalodnak, amikor megtapasztaltam a meregdraga sparc workstationok nem tul bika kepessegeit (bizonyos szempontbol intel celeron/amd sempron alatti szinvonal, az ultra 45 is). mondjuk ilyen kis szerias procikkal szerintem nehez csodat tenni (pl. ar/teljesitmeny tekinteteben), es nem is nagyon sikerul.
- Use the Source Luke ! -
- A hozzászóláshoz be kell jelentkezni
pl egy jo alkalmazasi terulet kis kihasznaltsagu unix szerverek konszolidacioja. rengeteg olyan vas van meg szerte a vilagban. A vmware arat x86 piacon, de azon tulmenoen, hogy bonyolultabb ra mondjuk sparc szervert migralni (ha egyaltalan), meg mindig van egy olyan problemaja, hogy rosszul viseli, ha nagy szamu de kis kihasznaltsagu virtualis gep fut. Ujabb pl paravirtualizalt kernelekkel ez valamelyest kevesbe problema, na de az is inkabb csak linux. Es meg mindig nem nyujt a zonakhoz hasonlo kozos adminisztraciot, sot bonyolultabb bevezetni.
tovabbi erdekes alkalmazasi teruletek pl. mindenfele ssl gyorsitas, halozati dolgok (efele mutatnak az integralt 10gbps linkek es a memoria savszelesseg), internetes infrastruktura, akar alkalmazas kiszolgalas is, ha a valaszido nem annyira kritikus, vagy olyan az alkalmazas.
ez egy sun tervezesu gep, sun processzorral, mar hogyne lenne rozsas a helyzet, tiszta haszon. sokkal nagyobb uzlet nekik a coolthreads jelenleg, mint az x86 piac. az ar/teljesitmenyre meg akkor terjunk vissza, ha kapsz egy quote-ot egy konkret infrastrukturara. (az kevesbe szamit, hogy a cedulan milyen listaar van.)
a volume meg amugy se szamit. kulonben mindenki csak fogyasztas meg ar alapjan venne (kis) autot.
mindenesetre 100% egyetertunk az ultrasparc II/III tapasztalataiddal, nem vitatkozom, csak megprobalom mas szempontbol megvilagitani, mi ertelme lehet ennek a gepnek.
- A hozzászóláshoz be kell jelentkezni
Mico írt dolgokat, ebből én az LDom-ot emelném ki. Vannak olyan helyek, ahol a biztonság számít, és az, hogy ebben a gépben 128 ilyen független domaint (igaz, ilyenkor meglehetősen csekélyke teljesítmény jut egyre) lehet kialakítani, komoly érv lehet.
Nekem a legnagyobb bajom az egyes szálak teljesítményével, és az általuk okozott erőteljes késleltetéssel van. A CPU kiválóan alkalmas hálózati feladatok elvégzésére (akár pld. tűzfalnak, terheléselosztónak), de csak akkor, ha a throughput, és nem a latency számít.
Olyan hálózatokban pld. ahol eleve magas késleltetések vannak (pld. rádiós, mobilhálózatok) lehet, hogy jól alkalmazhatók.
Sajnos a SPARC-okkal nekem is ez a problémám: hiába lennének jók, drágák, és teljesítményben péppé verik az x86-os dobozok, és ez a nagy gépeknél is csak azért kevésbé igaz, mert nincs pld. 64 CPU-s opteronos doboz. :-O
Ami még megmozgatná a fantáziámat az a crypto offload, és esetleg egy olyan, specializált kernel, amely (akár saját LDom-okban futva) célfeladatokat lenne képes ellátni, anélkül, hogy egy általános OS nyűgjeit magával kelljen vinnie,
amolyan koprocesszorként funkcionálva.
Ilyeneket az Opteronok (HT) kapcsán is vártam, talán volt is egy-kettő, de sajnos eléggé kicsi a piac ahhoz, hogy általánosan elterjedjen.
Érdekes kérdés még, hogy az erősen párhuzamos, például funkcionális/párhuzamos nyelvekben írt alkalmazások hogyan lennének képesek működni.
Ezekben talán nagyobb potenciál van, mert könnyebben lehet velük sok magra skálázódni, elhagyható a többszálú, osztott erőforrásokat használó alkalmazások lockolása (ami ezen a CPU-n különönsen kritikus, mert egy-egy szál sokkal lassabban fut, ergo a lockot is tovább tartja, mint egy pécén), és talán a feladatok "szétszórása" is kisebb egységekben lehetséges és értelmes, mint másban.
- A hozzászóláshoz be kell jelentkezni
Nagyjából egyetértek veled. A Sun túlságosan elrugaszkodik néha a marketingjében, hogy mire képesek ezek a vasak. Néhány gondolatom azért mégiscsak van a méréseiddel kapcsolatban:
A sun4v architektúra tényleg nagyon jó az adat be + adat ki feladatokra. És tényleg nagyon rossz az utasításfeldolgozója. Az adat be és az adat ki között minél több utasítást kell végrehajtania a procinak, az annál nagyobb halál neki. Ezt a nyers benchmarkok is bizonyították. Ezzel kapcsolatban például lehet javítani a teljesítményen megfelelően fordított programokkal - például a fordító megválasztása is lényeges ilyenkor (gcc vagy studio). Abban viszont biztos vagyok, hogy ez legfeljebb 5-20% teljesítménynövekedést adhat csak, nem elegendőt arra, hogy trófeát vigyen a vas.
A másik dolog pedig, amire te is rávilágitottál, hogy mennyire skálázódnak az alkalmazások. A példádban pont a ZFS ZIL-je jött ki szűk keresztmetszetnek, de szerintem megérnének egy-egy analízist a bind és postfix mérések is. Igen, az első két mérésnél hiányolom azt, hogy kerested volna a különbség okát.
Köszönet a mérésekért. Mennyi időt töltöttetek ezzel?
- A hozzászóláshoz be kell jelentkezni
Tanultam méréstechnikát, az alapján nem hívnám ezeket méréseknek. :)
Ennyire volt időm/energiám.
A külön fordított programokat ezzel készítettem, legjobb tudomásom szerint ez nem gcc :) :
gcc -v
Using built-in specs.
Target: sparc-sun-solaris2.10
Configured with: /net/clpt-v490-1/export/data/bldmstr/20070711_mars_gcc/src/configure --prefix=/usr/sfw --enable-shared --with-system-zlib --enable-checking=release --disable-libmudflap --enable-languages=c,c++ --enable-version-specific-runtime-libs --with-cpu=v9 --with-ld=/usr/ccs/bin/ld --without-gnu-ld
Thread model: posix
gcc version 4.0.4 (gccfss)
A postfix esetében nem hiszem, hogy az alkalmazásban olyan jellegű szűk keresztmetszet lett volna, mint a bindban. Nyilván engem is boldogabbá tett volna, ha legmélyebb bitszintig lemehettem volna, részletes bugreportokat, sőt diffeket küldve a fejlesztőknek, de sajnos ehhez sok helyen tanulnom is kellett volna nem keveset (nem fújom például sem a postfix, sem a bind forrását, a kritikus részeket minimum meg kellett volna értenem), ez pedig sajnos felesleges munka lett volna, mivel nem tervezek ilyen gépeken ilyen alkalmazásokat futtatni. :)
2-3 hét volt (nagy része nyáron, szabadság helyett :) kb.
A messaging server esetében egy-egy teljes teszt kb. 4-5 napig futott, ezt szorozni kell két géppel, és minimum három szcenárióval (ZFS, ZVOL+UFS, ZIL disabled), plusz a hibakereséssel, script-fejlesztéssel, hasonlókkal.
Igazán írhatna már valaki olyan elosztott teszt alkalmazást, amelynél csak meg kell nyomni a gombot, és a végén szép grafikonokat gyárt (például ezzel is szívesen tölteném az időmet, de vannak sokkal fontosabb dolgaim is).
- A hozzászóláshoz be kell jelentkezni
Amit linkeltem, az sem gccc :D
Teljesen megértem az erőforáshiányt a "miértek" keresésére, de egy prstat azért gyorsan elárulta volna, hogy ott is postfixet futtat-e a számítógép, vagy mutex/spin lockot...
És ha jól emlékszem, Wietse Wenema nem szokta szeretni, ha neki patch-eket küldenek, úgyhogy jobban is tetted, hogy megkímélted :)
- A hozzászóláshoz be kell jelentkezni
Igazán írhatna már valaki olyan elosztott teszt alkalmazást, amelynél csak meg kell nyomni a gombot, és a végén szép grafikonokat gyárt
talan nem vigasztal, de hogy az elmult 2 ev munkaidom 10% -at teljestimenyteszttel vegeztem, es meg az utolsonal is scriptreszeles, tesztprogram beloves, forditas, gnuplot varazslasok, ateljes tesztelesi idonek majd a feleben :-)
A zfs+zil rosszul skalazodik dolog kicsit meglepett (nincs zfs tapasztalatom) de nagyon nem: tobb diszkes mukodest vagy nvram journalinggal (hw raid) oldanak meg, vagy bevallalva a nagyobb kockazatot (eldobjak a barriert, szerencsetlen aramszunetben serulhet az fs journal). Hatarozottan erdemes lenne kiprobalni nvram -mal felszerelt HW raiddel. Varhatoan ugyanazt kapnad, mint amit ZIL nelkuli esetekben mertel: nem fugg a procitol es az architecturatol nagyon, csak a diszktol fugg lenyegeben a teljesitmeny. (ami nem megpelo egy io intenziv alkalmazasnal).
Nagyon koszonom a cikket, jo erzes volt elolvasni (es tudni, hogy mas is beleoli a munkaorak szazait, csak azert, hogy sajat velemenye legyen:-).
- A hozzászóláshoz be kell jelentkezni
Külön szakma ez...
Mondjuk ha tényleg ez lenne a munkám, már biztos írtam volna valamelyik keretrendszerhez (pld. slamd, vagy tsung) egy rakás tesztet, nem pedig ilyen alkalmi scriptekkel nyomulnék.
Főleg a több gép szinkronitása, figyelése és az eredmények összesítése a problémás, a fentiekhez hasonlók ebben azért sokat tudnak segíteni...
- A hozzászóláshoz be kell jelentkezni
A ZiL problemaba mar enis belefutottam, foleg 6 diszk felett jelentkezett szignifikansan.
Megoldas lehet erre az SSD, vagy nvram box/kartya. (de siman az is sokat segit ha egy kis 2diskes kulon tukorre rakod)
- A hozzászóláshoz be kell jelentkezni
A CPU kiválóan alkalmas [...], ha a throughput, és nem a latency számít.
Ilyesmire tippelnék: párhuzamos tömörítés, tagság render farm-ban, ill. bármilyen zavarbaejtően párhuzamos feladat.
- A hozzászóláshoz be kell jelentkezni
Alapvetően igazad van. Hadd legyek közhelyes: programozó ideje kontra gép ideje.
A széles fejlesztőtömegek számára az fontos, hogy legyen egy (több) megbízható, hatékony és biztonságos fejlesztést támogató, automatikusan párhuzamosodó / eloszló eszköz, még azon az áron is, hogy az egyes csomópontok (mag vagy gép) erejének mondjuk kétharmada elmegy a futtató környezetre.
Szükség lesz azonban (bár biztosan lényegesen kisebb súllyal) olyan alkalmazásokra is, ahol a fenti arány (más szóval (nem-pejoratívan értett!) "megalkuvás") nem fogadható el. Bár egy időben én is lelkesen kontárkodtam a Haskell-lel (még a monádokat is értegettem, úgy-ahogy, bár úgy látom, ezen mindenképpen érdemes lesz még átrágnom magam), azért a hobbim a C-hegesztés, ezért volt az előző példám ilyen irányban elfogult. Ismétlem, természetesen igazad van, hogy általánosságában távolodni akarunk az explicit párhuzamosság-kódolástól, illetve ha muszáj azon belül maradnunk, akkor inkább az üzenetküldözgetés felé tendálunk.
A proggit-on egyébként mindennapos a flamewar a témában. Lásd például (és ez egy gyenge példa): Multicore parallel death match! Parallel Haskell, `par`, and C.
Gyorsan kerestem is a témák között egy kicsit, hátha találok Számodra néhány linket, amely (magától értetődően) sokkal frappánsabban és részletesebben leírja, amit fent elbanalizáltam:
Embedded software stuck at C -- No parallel languages for multi-core on horizon
Interviewing the Parallel Programming Idols
(Ezért is írok hajnali ötkor...)
Tegyük hozzá, az adok-kapok nemcsak a mezei programozók fórumain folyik az imperatív ill. funkcionális (deklaratív) hívők között, hanem a nagyok csatornáin is. Nyilván sokkal kifinomultabb eszközökkel, de azért vegyük észre, hogy amikor arról írnak részletes cikket, hogy hogyan készíthetünk lock-mentes adatszerkezeteket C-ben, amelynek még specifikált memóriamodellje sincs, és hogy minden processzor-architektúra ill. fordító máshogy rendezi át az utasításaidat és másféle barrier-eket igényel(ne), meg hogy milyen megfontolásokkal érdemes spinlock-ot használni súlyos mutex helyett, akkor nem biztos, hogy jó irányba sugallmazzák a széles néptömegeket. (Persze aki ilyen cikket ír, az általában hozzáteszi a végén, hogy "tudod mit, inkább felejtsd ezt el, és zárolj inkább".) Példák (szerintem érdemes mindegyikbe legalább belekukkantani):
The "Double-Checked Locking is Broken" Declaration
Multicores and Publication Safety
Who ordered memory fences on an x86?
- A hozzászóláshoz be kell jelentkezni
Vannak érdekes dolgok, köszi.
- A hozzászóláshoz be kell jelentkezni
azt azert nem gondoltam hogy _ennyire_ elmelyulsz benne
_azota_ ezt csinalod? :)
btw mivel ez itt a reklam helye.. a management kepessegek az osszes sun szerverben benne vannak.. lehet venni inteleset is akinek budos a sparc :)
- A hozzászóláshoz be kell jelentkezni
Éveket el lehet szórakozni ilyenekkel, főleg, ha tudományos pontossággal (ami teljesen hiányzik a fentiekből) akarja csinálni az ember.
Itt éppencsak ránéztem, sajnos dolgozni is kellett mellette.
Amúgy nem, csak most volt időm összegezni az eredményeket.
Ez a mostani szerver-széria viszont tényleg jónak tűnik (akár x86-os, akár SPARC-os).
- A hozzászóláshoz be kell jelentkezni
Igertem egy Opteronost, az a helyzet, hogy behuztak, viszont most mar lesz inkabb a Shanghai-os, ami azert erdekes, mert a szerver-Nehalem kesni fog eleg sokat.
- A hozzászóláshoz be kell jelentkezni
Annyira nem is követtem most ezeket a dolgokat (meg mielőtt megjelennek, úgyis szokott valaki demót küldeni, az egész jó indikátora annak, hogy hamarosan piacra kerül :), de ezt megnézve:
http://en.wikipedia.org/wiki/Nehalem_(microarchitecture)
van egy 2009. Q1 (Gainestown), és 2009. Q4 (Westmere).
Utóbbi tényleg elég messze van még, na de az előbbi (már persze ha meg is jelenik)?
- A hozzászóláshoz be kell jelentkezni
azt mondtak, hogy a shanghai-hoz kepest legalabb 6 honap lesz, mire a szerver nehalem erkezik, 2009q4 (a 4+ procis) meg eleve jo messze van. az amd architekturaja mar kesz van, feltelezhetoen nem kell most se sokat varni a 8000-es sorozatra. meglatjuk, mit tud ebbol az elonybol az AMD kihozni.
mindezt az amd egyik embere mondta amerikaban, lehet hogy nemigaz, de nem zacskobol akart ranksozni procit gyorsba, szoval miert hazudott volna. kerdezem, a roadmap-hez kepest is kesik, igen ahhoz kepest.
- A hozzászóláshoz be kell jelentkezni
Nagyon drukkolok az AMD-nek, bár végső soron nekem, mint végfelhasználónak csak az a lényeg, hogy olcsón, gyorsat és emellett lehetőleg hatékonyan működő eszközt kapjak.
De ezt egy szereplő nem tudja megadni, kell hozzá a verseny, abban pedig jelenleg csak az Intel és az AMD vesz részt, a Sun SPARC-os megoldásai teljesen másra valók...
- A hozzászóláshoz be kell jelentkezni
Szép volt a teszt.
AMD-vonalon azért vannak most nagyon elérhető árú (1-2x quad-core akár) szerverek akcióban Sunnál, amik elbizonytalaníthatják a csúcsteljesítményt kergető Xeon-pártiakat is... Belépő szint környékén és valamivel efölött bőven jó lehet.
- A hozzászóláshoz be kell jelentkezni
dupla
- A hozzászóláshoz be kell jelentkezni
És milyen a supportja ezeknek? Úgy értem, hibás hardware esetén milyen a Sun hozzáállása a dolgokhoz? ;-)
- A hozzászóláshoz be kell jelentkezni
Szerintem olyan, amilyet megfizetsz. :)
Vagy a support általános minőségére gondolsz?
- A hozzászóláshoz be kell jelentkezni
Az "IOIOI" :) 9 tűs papa nem lehet, hogy hagyományos soros csatlakozó?
- A hozzászóláshoz be kell jelentkezni
Nekem is gyanús, elég sok gépen jelölik így a mai napig.
- A hozzászóláshoz be kell jelentkezni
ehh
- A hozzászóláshoz be kell jelentkezni
Szerintem az a sikitoszellem cetlije. Azt jelzi, hogy holnapig be fog dogleni a gep.
(Ha jol emlekszem, korabban eppen bra irt egy hasonlo beszamolot egy geprol, Pratchett par elemet kolcsonveve. Szoval erteni fogja. :) )
--
I don't always dress in a T-shirt and jeans. Sometimes people give me awards, and I dress like a penguin instead. - Linus Torvalds
- A hozzászóláshoz be kell jelentkezni
Végre valaki, aki veszi a poént! :)
- A hozzászóláshoz be kell jelentkezni
Háth, ilyen cuccokkal én is eljátszanék egy keveset...:-) Asszem ez nekem egy ideig a "beteljesedetlen" kategória marad:-/
Spec. alapján már rég kiszúrtam a T2-t, nagyon jónak néz ki így a tesztek alapján is. A leírás meg tök jó stílusúra sikeredett, gratula hozzá!
- A hozzászóláshoz be kell jelentkezni
/\/\ E G A thx!
- A hozzászóláshoz be kell jelentkezni
és egy rejtélyes "IOIOI" feliratú, ismeretlen rendeltetésű konnektort, amely olyan furcsán eltér a többitől:
Embeeeer...!
Az az RS232 csatlakozó!:-))))
A screenshot-on is láthatod, hogy Serial console started. To stop, type #.
Jelzem, a HP/Compaq desktop gépeken jelölik így rendszeresen.
- A hozzászóláshoz be kell jelentkezni
Embeeer! Itt senki nem érti az iróniát?!
- A hozzászóláshoz be kell jelentkezni
Nem nagyon. De szerintem geciségből, direkt.
- A hozzászóláshoz be kell jelentkezni
Ha mar embeer, annak a csatlakozonak egyebkent sincs semmi koze a serial konzolhoz. Az a LOM uzenete, amit manapsag leginkabb pl. SSH-n ersz el, de lehet a Serial mgmt feliratu aljzaton is (RJ45). A (mostar tenyleg) ismeretlen rendeltetesu csatlakozo a hagyomanyos ertelemben vett "COM1" a host fele..vagy ahogy beallitod
- A hozzászóláshoz be kell jelentkezni
10101=(dec)21=42/2, ééérteeeed... :)
- A hozzászóláshoz be kell jelentkezni
Ez meg onnan jön, hogy a *nix admin fél élete a soros konzol :-))
- A hozzászóláshoz be kell jelentkezni
LOL :-D (pihentek vagytok vazze)
- A hozzászóláshoz be kell jelentkezni
/o\
En meg nem lattam gepet, amin ne igy lett volna jelolve.
- A hozzászóláshoz be kell jelentkezni
Éppenséggel láttam már RS232, vagy serial port, esetleg COM1 feliratot is. :)
- A hozzászóláshoz be kell jelentkezni
En egy x4500ast nyuzok... bevallom, meg telepiteni se sikerult. A 48 diszkbol ketto bootolhato, a /dev/sdac -ra sikerult grubot tenni de nem arrol bootol, a /dev/sdy -ra nem sikerul - szerintem arrol akar....
Kb fel oraja van, aztan feladtam.
- A hozzászóláshoz be kell jelentkezni
es ki adott a kezedbe ilyen gepet, hogy ezt nem magyarazta el?
udv
- A hozzászóláshoz be kell jelentkezni
És ki adott mellé Linux CD-t...?
- A hozzászóláshoz be kell jelentkezni
A device.map filet szerkeszd, es menni fog az.
- A hozzászóláshoz be kell jelentkezni
Nem tudom mit vársz a linuxos technológiáktól. :)
- A hozzászóláshoz be kell jelentkezni
Hat szabad ilyet mondani... Amugy kosz a cikk. Jo lett.
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Majdnem 15 év tapasztalata beszél belőlem. :)
A sok diszkes felállásból egyik kedves emlékem, amikor a "linuxos" kollega próbálta meg elindítani szeretett Debianját egy olyan gépen, amelyiken több -pontosan már nem emlékszem, de biztosan 16 felett- LUN volt, és már a LILO képtelen volt működni, aztán pedig miután azon túltettük magunkat, a driver forrásában kellett egy konstanst átírni, mert 16-nál több eszközt amúgy nem tudott kezelni.
- A hozzászóláshoz be kell jelentkezni
Akkor te jobban jartal LILO-val, mint en. Anno teljes "rendszer" telepites utan jo izuen hatradolve bootoltuk ujra a gepet n+1. alkalommal, tesztelven, h minden rendben van. Ez a tragya ugy dontott, h o most megsertodik es nem mukodik tovabb. Mint egy maszuletett kiskacsa LI LO LI-zta tele a monitort. Pedig csak egy disk volt benne. Az volt az utolso alkalom, h kiejtettem a nevet a szamon, es a pokolba szamuztuk. A Debiannal egyutt. :)
---
pontscho / fresh!mindworkz
- A hozzászóláshoz be kell jelentkezni
Kb. 2000 óta saját gépen ilyet nem láttam, "élményeim" csak azelőttről vannak.
A tiédhez hasonlók, upgrade után végtelen ciklusban print, működésképtelenség, szopás a diszkgeometriával, stb.
Ritka szar egy valami. PC-n a boot az egyik legfájdalmasabb dolog, szerencsére mára már csak a Solaris (és a GRUB) kínlódásait kell néhe végignézni (dupla élvezet, a Solaris PC-n ugyanez a kategória), a többi gépnél a FreeBSD úgysem diszkről bootol, ráadásul azzal sosem volt annyi gond, mint ezzel a többi hulladékkal. :)
- A hozzászóláshoz be kell jelentkezni
A szerver YES certified SLES10-re, ebbol kovetkezoen azt varom hogy mukodjon.
1-2-3 MUUUUKODJ!
- A hozzászóláshoz be kell jelentkezni
A Solaris is támogatott a HP gépeken, aztán mégis mekkora szívások voltak/vannak vele.
De olvastam már vicceseket Solaris x86 vs. Sun x86 szerver kategóriában is. :)
- A hozzászóláshoz be kell jelentkezni
Mert nem az sda-n van, hanem a c0t0d0-n :)
Viccen kívül: ha megvan még valamelyiken az előre installált solaris, a cfgadm megmondja melyiken van boot.
- A hozzászóláshoz be kell jelentkezni
Sot, Solarisra van egy hd nevu utility, ami le is rajzolja neked hol vannak a boot diskek.
- A hozzászóláshoz be kell jelentkezni
Update: Csakazértis rákerestem hivatalos doksira ha már mindenáron linuxszal szeretnéd gyötörni az X4500-as hardvert:
The boot device nodes are /dev/sdy which is located at slot 0 and /dev/sdac, located at slot 1. The operating system must be installed on one of these device nodes.
- A hozzászóláshoz be kell jelentkezni
Ha megnezed, pont ezt a ket eszkozt irtam en is a hozzaszolasomban.
- A hozzászóláshoz be kell jelentkezni
Megnéztem, sőt láttam is tegnap, hogy ezekre tippeltél :)
Ha viszont így sem akarja, akkor az csak egyet jelent: látens Solaris-függő a gép :).
(Egyszer majdnem Debiant telepítettem egy Opteronos Sun vasra kínomban, mert Solarisszal összeakadt az arcszőrzetem, de végül rászántam az időt keresésre, és rájöttem, hogy felvarázsolni rá azt a Linuxot sokkal macerásabb, mint keresztbehackelve újratelepíteni Solarist. Amúgy ha írnak Linuxos támogatást, akkor nagy eséllyel tényleg mennie kell, legfeljebb nem lesz triviális (pl. külső hdd-ről telepítés stb.)).
- A hozzászóláshoz be kell jelentkezni
De ügyes vagyok, hogy a 48-ból pont erre a kettőre tippeltem! :)
Természetesen elolvastam a teljes hw & OS-telepítési doksit, és mindent a leírtak szerint csináltam.
Egyet nem próbáltam, PXE-bootról telepíteni, de azért túlzásnak érezném, ha csak így menne.
- A hozzászóláshoz be kell jelentkezni
olyan vasarloink is fel tudjak tenni x4500 -ra a debiant, akik a debian/reszelt codegen PC kombon kivul mast meg nem lattak. (ez nem jelenti azt, hogy az x4500/debian egy ajanlott konfiguracio.) nem nehez..
- A hozzászóláshoz be kell jelentkezni
küldtem egy pm-t...
- A hozzászóláshoz be kell jelentkezni
Bra: jó a teszt köszi, hogy közzé tetted.
T2: Tettünk vele egy próbát mi is real-life web kiszolgálásban (tomcat), az ellenfele DL140 (2x4core xeon 2.33Ghz) volt. A tapasztalat, hogy nagyságrendileg ugyanaz a teljesítmény jött ki a két gépből. Nyilván szoftver/jvm optimalizációval több is kijöhet a T2-ből, ha olyan kedvezmények lennének itthon az alapárára + üzemeltetésére mint Amerikában már átnyergeltünk volna erre a platformra.
X45xx: statikus kiszolgálásban az látszott, hogy a linux 16 diszkes raid5-ig gyorsabb volt mint a solaris+zfs kombó, viszont több diszkel már alul maradt. Ez legfőképp a linux md implementációjának köszönhető. Végül linux mellett döntöttünk 8 diszkes raid5 tömböket felhúzva (a szoftver oldalon úgy is megoldott már a loadbalancing)
Jelenleg 4 ilyen vasunk van, szeretjük:) Az operátorok már kevésbé, mert ugye a tetején kell belepakolni a diszkeket és ki kell húzni teljesen a rackből ahhoz, hogy az összes diszket elérjék...
- A hozzászóláshoz be kell jelentkezni
A DL140 azért eléggé a legalja a rackmount PC-knek, a fenti gép közelről sem hasonlítható hozzá. :)
Jó tudni mindenesetre, hogy az (elvileg) egyik célterületen más is hasonló konklúzióra jutott.
Kedvezményeket egészen biztosan lehet szerezni, ez csak a "commitmenttől", a felhasználás és a vevő komolyságától, nagyságától függ...
Az IO teljesítményt mivel, milyen jellegű terheléssel (és milyen fájlrendszerrel a Linuxon) mérted?
- A hozzászóláshoz be kell jelentkezni
DL140: itt igazából a processzor + ram sebesség számít nem az egyéb extra featurek amit egy high-end gép ad. Nyilván tudtuk volna versenyeztetni egy hasonló teljesítményű(cpu,ram) ámbár 2-3x ennyibe kerülő high-end csodával is.
Kedvezmények: amit itthon kapni lehet erre a gépre azt sztem megkaptuk;), mondjuk hozzá kell tenni, hogy a versenytárs is igyekezett...
X45xx: statikus webkiszolgálás 70k átlag fájlmérettel. A filerendszer ext3 (raid chunksize, ext3 stride,stripe paraméterek beállítva). A terhelést slamd adta előre összerakott random requestekből 80+ slamd klienssel 1gbites hálón.
- A hozzászóláshoz be kell jelentkezni
Ami nekem leginkább bejött ebből a vasból, az az LDOM-ok.
Simán telepítettem rá Solaris 10-et, és ubuntu-t amik vidáman elfutotak egyszerre rajta. A Sol10-ben használható zónákkal kombinálva már a legperverzebb igényeket is kielégítő virtualizációt lehet vele csinálni. :)
- A hozzászóláshoz be kell jelentkezni
Ja, fentebb én is kiemeltem. Csak ne lenne olyan irgalmatlanul lassú. :(
Na és persze a FreeBSD is futhatna rajta. :)
- A hozzászóláshoz be kell jelentkezni
itt Zircen annyira foglalkoznának vele?:)
- A hozzászóláshoz be kell jelentkezni
:-D
- A hozzászóláshoz be kell jelentkezni
Apache ?
Amit nem lehet megirni assemblyben, azt nem lehet megirni.
- A hozzászóláshoz be kell jelentkezni
Mi van vele?
Statikus webkiszolgálásra preforkos és threades módban is elvileg hasonló eredményeknek kellene kijönniük, mint a postfixnél:
- ha keepalive van, gyorsabb
- ha sok kapcsolatfelépítés van, lassabb
Ha nagy fájlt kell kitolni (csak IO van, lapátolni kell az adatokat), jó a CPU, míg eljut odáig, az lassú.
- A hozzászóláshoz be kell jelentkezni