"valódi" Gigabit ethernet linux alatt

"valódi" Gigabit ethernet linux alatt

Hozzászólások

Sziazok,

40 gépes clustert szeretnék Fast ethernetrol Gbit-re átpakolni. Vannak Gbites clusterink integrált hálókártyával szerelve, szerény 500 Mbit körül tudnak,remélem ez nem az elérhető maximum sebesség.

Tudtok olyan legalább 24 portos switch/hálókártya/driver kombót amivel megközelíthető az elméleti sebesség?

Üdvözlettel:
Turpi

nem a switch stb a szuk keresztmetszett, hanem a hard disk es az a bus rendszer amihez csatlakozik...
Ez kulonosen igaz ha mezei PC-rol van szo.

[quote:33cc0ee790="turpi"]Sziazok,

40 gépes clustert szeretnék Fast ethernetrol Gbit-re átpakolni. Vannak Gbites clusterink integrált hálókártyával szerelve, szerény 500 Mbit körül tudnak,remélem ez nem az elérhető maximum sebesség.

Tudtok olyan legalább 24 portos switch/hálókártya/driver kombót amivel megközelíthető az elméleti sebesség?

Üdvözlettel:
Turpi

És te hogyan mérted le ezt az 500Mbit-et. Gondolom nem úgy hogy FTP-n másoltál egyik gépről a másikra?

NPtcp-vel mértem. Nincsenek merevlemezek a gépekben.

[quote:894d66f5e7="turpi"]Sziazok,

40 gépes clustert szeretnék Fast ethernetrol Gbit-re átpakolni. Vannak Gbites clusterink integrált hálókártyával szerelve, szerény 500 Mbit körül tudnak,remélem ez nem az elérhető maximum sebesség.

Tudtok olyan legalább 24 portos switch/hálókártya/driver kombót amivel megközelíthető az elméleti sebesség?

Üdvözlettel:
Turpi

En egy 20 gepes opteron klasztert uzemeltetek.
Tapasztalataim szerint konkret gep fuggo, hogy a benne levo integralt kartya mit tud.
PCI-os gbit kartya szerintem szoba se johet.
En ket fujitsu gep kozott mertem 99%-os GBit adatatvitelt
A switch egy SMC 16 portos, ha kell pontosan megnezem a tipusat.
A gepek jellemzoi ezen az oldalon:
http://kalcium.chem.jgytf.u-szeged.hu/~labadi/mangan/

Ha esetleg van tovabbi kerdes, johet pivatban is: labadimate kukac freemail

Mate

ui: kerem a weboldalt nem feltorni ... koszonom

[quote:2fd977f06d="turpi"]Sziazok,

PCI-os gbit kartya szerintem szoba se johet.

Ezt kicsit bővebben is elmagyarázhatnád. Mi az hogy PCI-os gigabit kártya szóba sem jöhet?

[quote:61ed89268c="gyorffy"]
Ezt kicsit bővebben is elmagyarázhatnád. Mi az hogy PCI-os gigabit kártya szóba sem jöhet?

A kliens gepeken integralt halokartya van, de a kozponti gepen pci-os GBit kartya

A server-kliens kozott (switch-en keresztul) 500MB volt a sebesseg.
kliens-kliens kozott (ugyanugy switchen keresztul) 1GB volt a sebesseg.

Ebbol azt a kovetkeztetest vontam le, hogy a pci-os halokartya ugy ahogy van lassabb adatatvitelre kepes (en ezt gondolom), illetve a lassabb sebesseg abbol is adodhatott, hogy a server gep egy regebbi gep, pentium 4, 1800 MHZ-cel.

Esetleg valaki tapasztalt 1GB adatatvitelt pci-os halokartyaval?

M.

[quote:bfbc7c3a6b="labadimate"][quote:bfbc7c3a6b="gyorffy"]
Ezt kicsit bővebben is elmagyarázhatnád. Mi az hogy PCI-os gigabit kártya szóba sem jöhet?

A kliens gepeken integralt halokartya van, de a kozponti gepen pci-os GBit kartya

A server-kliens kozott (switch-en keresztul) 500MB volt a sebesseg.
kliens-kliens kozott (ugyanugy switchen keresztul) 1GB volt a sebesseg.

Ebbol azt a kovetkeztetest vontam le, hogy a pci-os halokartya ugy ahogy van lassabb adatatvitelre kepes (en ezt gondolom), illetve a lassabb sebesseg abbol is adodhatott, hogy a server gep egy regebbi gep, pentium 4, 1800 MHZ-cel.

Esetleg valaki tapasztalt 1GB adatatvitelt pci-os halokartyaval?

M.

Igen.
Szerény személyem.

[quote:d7b3127870="labadimate"][quote:d7b3127870="gyorffy"]
Ezt kicsit bővebben is elmagyarázhatnád. Mi az hogy PCI-os gigabit kártya szóba sem jöhet?

A kliens gepeken integralt halokartya van, de a kozponti gepen pci-os GBit kartya

A server-kliens kozott (switch-en keresztul) 500MB volt a sebesseg.
kliens-kliens kozott (ugyanugy switchen keresztul) 1GB volt a sebesseg.

Ebbol azt a kovetkeztetest vontam le, hogy a pci-os halokartya ugy ahogy van lassabb adatatvitelre kepes (en ezt gondolom), illetve a lassabb sebesseg abbol is adodhatott, hogy a server gep egy regebbi gep, pentium 4, 1800 MHZ-cel.

Esetleg valaki tapasztalt 1GB adatatvitelt pci-os halokartyaval?

M.

Igen.
Szerény személyem.

[quote:c3c59307da="gyorffy"]
Igen.
Szerény személyem.

Akkor mea culpa, mert ezek szerint letezik jo gigabites pci-s kartya. (Esetleg halokartya tipust + alaplap tipust tudnal irni?) Nekem ennel rosszabbak voltak a tapasztalataim.

Egy ilyen klaszternel nagyon fontos a halozati adatatvitel, foleg ha a kliens gepeken nincs merevlemez, mert akkor azon megy az oprendszer, azon megy a 40 gep adatforgalma (kepzeljuk le, amikor egy job pl 8 gepen fut) es eppen 5 ilyen job megy egyszerre. Plusz rosszabb esetben a program felhasznal ugy kb. 60GB scratch file-t (szinten halon keresztul), amit 10 percenkent elkezd irogratni, olvasgatni,

Szoval ilyen (extrem) esetben tenyleg nem mindegy, hogy 500MBit/sec vagy 1000MBit/sec csorog at a kabelen.
M.

[quote:28695c9928="gyorffy"][quote:28695c9928="labadimate"][quote:28695c9928="gyorffy"]
Ezt kicsit bővebben is elmagyarázhatnád. Mi az hogy PCI-os gigabit kártya szóba sem jöhet?

A kliens gepeken integralt halokartya van, de a kozponti gepen pci-os GBit kartya

A server-kliens kozott (switch-en keresztul) 500MB volt a sebesseg.
kliens-kliens kozott (ugyanugy switchen keresztul) 1GB volt a sebesseg.

Ebbol azt a kovetkeztetest vontam le, hogy a pci-os halokartya ugy ahogy van lassabb adatatvitelre kepes (en ezt gondolom), illetve a lassabb sebesseg abbol is adodhatott, hogy a server gep egy regebbi gep, pentium 4, 1800 MHZ-cel.

Esetleg valaki tapasztalt 1GB adatatvitelt pci-os halokartyaval?

M.

Igen.
Szerény személyem.

És ugye optikai kártya volt (csak hogy megnyugodjak :)?

Gyorffy!
Es mi az a halokartya? Pont erre van szuksegem!

Mate!
Milyen switch-et hasznalsz? Lehet kapni 24 portos valtozatban is?

[quote:c031c7234a="bra"]- semmiképpen ne használj rezes GE-t sehol, ha teljesítmény kell, mert nem szimmetrikusak. Vegyél optikai eszközöket.

Sok év után rá kellett jönnöm, hogy ez baromság (köszi tanárbácsik!).

A rezes GE igenis szimmetrikus, a négy transceiver képes szimultán adni és venni is, nem pedig csak adni, vagy venni.

Link:
http://grouper.ieee.org/groups/802/3/tutorial/march98/mick_170398.pdf

[quote:8ad0fe5f83="turpi"]
Mate!
Milyen switch-et hasznalsz? Lehet kapni 24 portos valtozatban is?

Most nem vagyok a gepek kozeleben, de holnap del korulre meg tudom nezni (szerintem van 24 portos is, de a tipus alapjan majd meg tudod nezni).
M.

Udv!

Nekem e1000-el eleg jok a tapasztalataim. Nem olcso, viszont 64 bites PCI kell neki (a jobbaknak).

Viszont a kerdesem az, hogy milyen gep/kartya/switch es egyeb HW kell ahhoz, hogy Gbit-en tudjak routeolni. PC-bol kell epiteni, es plusz prociido is kellene meg, hogy maradjon ido csomagszuresre/feldolgozasra a routeren.
Ja, a csomagok persze nem feltetlen 1500 byte hosszuak, siman lehet, hogy 100 byte hosszu csomagokkal tomnenk meg a linket. Ettol az interrupt terheles siman 10-15x-re no, ugyhogy nem egyszeru a dolog...

Anno 100Mbit-es halon apro csomagokkal sikerult megfektetni egy p3-at.

Kubi

[quote:e0af3e130d="kubi"]Udv!

Nekem e1000-el eleg jok a tapasztalataim. Nem olcso, viszont 64 bites PCI kell neki (a jobbaknak).

Viszont a kerdesem az, hogy milyen gep/kartya/switch es egyeb HW kell ahhoz, hogy Gbit-en tudjak routeolni. PC-bol kell epiteni, es plusz prociido is kellene meg, hogy maradjon ido csomagszuresre/feldolgozasra a routeren.
Ja, a csomagok persze nem feltetlen 1500 byte hosszuak, siman lehet, hogy 100 byte hosszu csomagokkal tomnenk meg a linket. Ettol az interrupt terheles siman 10-15x-re no, ugyhogy nem egyszeru a dolog...

Anno 100Mbit-es halon apro csomagokkal sikerult megfektetni egy p3-at.

Kubi

e1000, az micsoda? :)
Néhány fejlesztő szerint nem az Intel PRO/1000 a legtutibb, hanem más. Hogy melyik, arról már megoszlanak a vélemények. Valójában viszont ez a kártya elég sokféle kiszerelésben kapható (több portos, optikai, stb), általában jól támogatott, így jó vétel lehet.

Pár ötlet, talán hasznát veszed:
- érdemes lehet olyan OS-t és kártyát használnod, amelyik (-nek a drivere) tud pollingot. Ezt a FreeBSD alatt így hívják, Linux alatt meg NAPI-nak. Ezzel megmented magad az interrupt stormtól. Az elméletről és a gyakorlatról (régebbi az oldal!) itt olvashatsz: http://info.iet.unipi.it/~luigi/polling/
- használj olyan alaplapot, amelyiken több PCI busz van és a kártyákat más-más buszra dugd. Vagy használj PCI-E kártyát. :)
- ha több processzoros a géped, ellenőrizd, hogy az adott OS ezt ki tudja-e használni, maga az interfész drivere MP biztos-e, vagy megfogja az egész kernelt, mikor dolgozik.
- ugyanez áll a csomagszűrésre is. Lehet, hogy több CPU-d van, de ezzel nem érsz semmit, ha a csomagszűrő megállítja az egész kernelt, ha dolgozik.
- némelyik kártya/driver tud hardveres elő/utófeldolgozást. Van amelyik csak a VLAN tageket veszi ki/rakja be, van amelyik ennél feljebb megy. Alkalmazás, kártya és driver kérdése, hogy érdemes-e használni. Az mindenesetre nem baj, ha van és le tudod tesztelni a saját környezetedben, így eldöntheted, hogy segít-e, vagy ront.
- ha komolyabban csinálod a dolgot, nézz utána a követelményeknek. Egy full internet routing tábla elég nagy lehet és ott sem mindegy, hogy az OS milyen metódus alapján áll neki keresgélni a routing táblában.
- gondolkozz el a csomagszűrés és a routing szétválasztásán. A legtöbb OS (FreeBSD, Solaris és Linux is) rendelkezik olyan hackkel, amely esetében a csomagtovábbítás során az adat nem kerül lejjebb a kernelbe, hanem rögtön a beérkezéskor, még az interrupt/polling környezetben feldolgozásra és kiküldésre kerül, anélkül, hogy mindenféle queue-kba kerülne. Értelemszerűen ilyenkor nem tudsz csomagszűrőzni, viszont jobb lesz a csomagtovábbítási teljesítmény.
- érdemes load balancingot kialakítani, ezzel egyrészt redundánssá is válik a hálózat, másrészt horizontálisan skálázható lesz.
- semmiképpen ne használj rezes GE-t sehol, ha teljesítmény kell, mert nem szimmetrikusak. Vegyél optikai eszközöket.

Hirtelen ennyi jutott eszembe, biztos van még. :)

Én is hozzárakom a magamét, a klaszter témához.
Már említette előttem más is, érdemes megnézni a hw támogatással
bíró hálózati kártyákat (TOE = TCP/IP Offload Engine néven illetik). Már egyszerű ethernet kártyák is megvalósítanak funkciókat hw-ből. De akár teljes TCP/IP stack hardveresen implementálva is előfordulhat. Ez persze nem olcsó.
Linux Journalban régebben volt cikk róla, nagyon meggyőző teszt adatokkal, archívumban megtalálható.

Érdemes megnézni, a jumbo frame segít-e, ekkor 1500byte-nál nagyobb is lehet a csomagméret. Ha blokkos I/O műveletek mennek akkor hozhat a konyhára.

Igazabol ez a cluster mar nem mai gyerek, 2-3 eves. Viszont egy Gbites upgrade meg eletet lehelne bele egy idore, de azert tul sokat nem szeretnenk mar beleolni.

KIcsit szukitenem a kort:
Rezes 32b PCI kartyat neznek ami lehetoleg megkozeliti az elmeleti 1Gb-et.

Viszont latom, eleg sokan foglalkoztok "puccosabb" dolgokkal. Van esetleg valakinek tapasztalata durvabb halozattal 10 Gbit kornyeken? Infiniband? 10 Gbit ethernet? Myrinet? Jovore epitenenk egy uj fu:rtot....

[quote:5cc68cfc93="turpi"]KIcsit szukitenem a kort:
Rezes 32b PCI kartyat neznek ami lehetoleg megkozeliti az elmeleti 1Gb-et.

Nehéz ügy. Eleve a 32bites PCI busz áteresztőképességével van baj. 32bit*33.33MHz=1066.66Mbit/s
Vagyis elméletileg ha folyamatosan csak adatot továbbítana a pci akkor egyszerre egy irányban még éppenhogy beleférne az 1Gbit. A full duplex 1Gbit upload + 1Gbit download biztosan nem fér bele.
A baj az, hogy a pci nem csak adattovábbítással kell, hogy foglalkozzon, hanem vezérléssel is. Eleve a busz vezérlése minden host->periféria írás művelet előtt 4 órajel, ha jól emlékszem, periféria->host esetében 5 órajel. Minden attól függ, hogy egy master vezérlésátvétellel a kártya mekkora burst átvitelt tud csinálni. Ha a burst hosszúsága kicsi, mondjuk 8 szó, akkor 1066*8/(8+5)=655Mbit/s. Ha nagy, mondjuk 64 szó (asszem ennyi még lehet), akkor 1066*64/(64+5)=988Mbit/s. Ebben nincsenek benne a kártya vezérlésére fordított periféria irások. Jól tervezett hálózati hardver esetén ez mondjuk csomagonként (1500byte) 1x kell. 1500 byte átviteléhez 47db 32 bites szó kell. Tehát a burst hosszúság valszeg ennél nem lesz hosszabb és előtte, utána kötelezően lesz néhány vezérlési művelet, esetleg 1 interrupt is. Ha más nem, az, hogy a host visszajelzi, hogy elvette az adatot a memóriából, vagyis lehet újra dma-zni. Ha ez csak 4 írásból áll (dma pointer frissítés, interrupt regiszter törlés, stb, 4 művelet csak nagyon jól megtervezett hardvernél elég mindehhez), akkor 47/(47+5+4+4)*1066=834Mbit/s. És akkor ez még feltételezi, hogy a host processzor az interruptra azonnal reagált, vagyis nem volt semmi üresjárati idő közben, amíg a busznak állnia kellett volna.
Megoldás, jumbo frame support legyen, akkor talán kicsit hosszabb burstök vannak, ritkábban van interrupt, kötelező vezérlés stb. Továbba a bios-ban a pci latency timerrel meg lehet próbálni trükközni, hogy az ne korlátozza rövidre a burstök hozzát. Nagy csodát így sem lehet tenni, a sima pci kevés a gigabit ethernethez. Csak azért használják, mert többnyire fájlátvitelhez kell, annál meg még úgy is a merevlemez a szűk keresztmetszet, fájlátvitel közben meg nem nagyon zavar senkit a nagy cputerhelés. Sőt, szerintem a gigabit 100%-os kihasználtsága helyett inkább a hálókártya vezérléséből adódó cpu terhelés minimalizálására kéne törekedni, clusterben jobban jársz vele. Azzal, hogy 100Mbit helyett mondjuk ~700-800Mbit van az már sokat jelenthet, ha az volt idáig a szűk keresztmetszet, de semmit nem érsz vele, ha ennek az az ára, hogy a cpu ~80%-ra van fogva.
Ha meg nem az szűk keresztmetszet, akkor semmit nem jelent. Meg kéne nézni, hogy egyáltalán teljesen ki van-e használva a 100Mbit.

[quote:722bae1074="turpi"]Gyorffy!
Es mi az a halokartya? Pont erre van szuksegem!

Mate!
Milyen switch-et hasznalsz? Lehet kapni 24 portos valtozatban is?

Szóval ami nekem van, az
eth0: ns83820 v0.22: DP83820 v1.2: 00:04:e2:4e:d6:f2 io=0xdfefe000 irq=11 f=sg
Most hogy pontosan milyen kártya azt nem tudom megmondani neked, vagyis a gyártót.

A switch amit használok egy 8 portos ZyXel Dimension GS 1008 switch. Nem managable.

Ugy erzem, kezdek okosodni a temaban. Tehat full-duplex zsigabitet ne is varjak. OK. Egy masik elvileg Gb-es clusteren a sebesseget netpipe-al (NPtcp) mertem. Ilyenkor az egyik node a transmitter, a masik a receiver, es egyre novekvo meretu paketteket kuldozgetve meri a savszelesseget. Nekem 500 Gbit-nel telitodott, pedig itt ugye szo sincs full duplex atvitelrol...

Kerdes 1:
Mi tortenik ha egyszerre adna/es venne de a rendelkezesre allo PCI savszelesseg csak 1Gbit?
Kerdes 2:
Tehat 700 Mbit koruli savszelesseget el tudok erni, milyen kartyaval?

u.i.
Egyebkent nagyon kell a savszelesseg. Bazi nagy tombokon vegzek parallel 2D fft-t, jo sokszor. Ugy lehet elkepzelni hogy egy matrix csikokra van osztva , minden csik 1 cpu-ra jut. Ezt a matrixot minden fft-nel, ifft-nel transzponalni kell. Azaz a matrix/tomb majdnem minden eleme mas cpu-hoz kerul.
A solverem most a gbites(500mbit 1 iranyba) clusteren 20 gepen kb 10x gyorsabb mint 1 gepen. A 100-as halon katasztrofalis 2x gyorsulast lehet elerni.
Ha a regi 100-as halos gepeket tudnam ugy fejleszteni viszonylag kis penzbol hogy 50-60-70%-os terhelest kapjanak a cpu-k akkor meg 1 evig elszamolgathatnak.
A jovore epulo gepbe mindenkeppen valami 10Gbit kornyeki kommunikacio kellene,

Én meg úgy tudom, a duplexitás nem igazán értelmezhető rezes gbit esetében:

van ugye 8 ér...
CAT6 esetében 250Mhz-et tud a madzag, szóval "szimplex" 1G úgy jön ki, hogy 4 pár ér mindegyike 250Mhz-el hasít.

Ilyen módon "duplex" link nem értelmezhető, viszont ezzel a médiával lehetne duplex 500Mbit linket csinálni (de ismereteim szerint nincs erre megvalósítás/szabvány).

Bra, Trey!
Jól tudom vagy zagyvaság amit írtam?

[quote:69c3b1a7f5="szmiatf"]Én meg úgy tudom, a duplexitás nem igazán értelmezhető rezes gbit esetében:

van ugye 8 ér...
CAT6 esetében 250Mhz-et tud a madzag, szóval "szimplex" 1G úgy jön ki, hogy 4 pár ér mindegyike 250Mhz-el hasít.

Ilyen módon "duplex" link nem értelmezhető, viszont ezzel a médiával lehetne duplex 500Mbit linket csinálni (de ismereteim szerint nincs erre megvalósítás/szabvány).

Bra, Trey!
Jól tudom vagy zagyvaság amit írtam?

Jól tudod. Rézen négy transceiver van, amelyike egyenként 250 Mbps-t képes és adni, vagy venni.
Ergo lehet 750 Mbps le és 250 Mbps fel, vagy 500 Mbps fel/le, vagy ezek fordítva. :)

[quote:e0e1ae1153="turpi"]Igazabol ez a cluster mar nem mai gyerek, 2-3 eves. Viszont egy Gbites upgrade meg eletet lehelne bele egy idore, de azert tul sokat nem szeretnenk mar beleolni.

KIcsit szukitenem a kort:
Rezes 32b PCI kartyat neznek ami lehetoleg megkozeliti az elmeleti 1Gb-et.

Viszont latom, eleg sokan foglalkoztok "puccosabb" dolgokkal. Van esetleg valakinek tapasztalata durvabb halozattal 10 Gbit kornyeken? Infiniband? 10 Gbit ethernet? Myrinet? Jovore epitenenk egy uj fu:rtot....

Nem tudom milyen a költségvetésed, de a 10 GE még elég drágának tűnik és a Myrinet sem igazán az olcsóságáról híres (főleg, hogy az még kevésbé kommersz).
10GE-ből talán enyhülést hoz a rezes média, meg az idő. :)

De addig is lehet, hogy jobban jársz etherchannellel, ha az alkalmazásod olyan, hogy ki tudod rendesen használni.

[quote:6288b26322="turpi"]
Mate!
Milyen switch-et hasznalsz? Lehet kapni 24 portos valtozatban is?

Szoval a switch tipusa: SMC 8516T

M.

Koszi Mate!

Akkor a fentiek fenyeben ennek optikai switchnek kell lennie, igaz?

[quote:be9550f7f8="turpi"]Koszi Mate!

Akkor a fentiek fenyeben ennek optikai switchnek kell lennie, igaz?

Nem igazán. :)

Akkor mi usag azzal amit szmiatf es bra irt??? kezdem elvesziteni a fonalat...

Mate, te hogy merted a Gbites sebesseget? akkor nem lehet full duplex..

Ja egyebkent a kartyanak tartalmaznia kene boot rom-ot is.

[quote:e891f6178e="turpi"]Mate, te hogy merted a Gbites sebesseget? akkor nem lehet full duplex..

Ja egyebkent a kartyanak tartalmaznia kene boot rom-ot is.

google://PXE

Elég kevés olyan normális GE kártyát fogsz szerintem találni, amelyik nem tudja...