USB Controller + Performance

Pagina: 1
Acties:

  • BP_LOZ
  • Registratie: Mei 2006
  • Laatst online: 12-10-2024
Wij gebruiken enkele tientallen machines hier intern om firmwares mee te flashen.
Dit zijn zo'n 20 units gelijktijdig per machine. We hebben nu 4 PCI usb controllers geprikt, + dat we alles wat onboard zit gebruiken. De firmwares zijn varierend van 512MB tot 8GB groot.

Nu is het zo dat de perfomance van het systeem enorm naar beneden zakt wanneer er 20x geflashed wordt. Echter, dit is per extra unit al te merken.

Ik denk zelf dat het komt door het aantal I/O's zijn die de chipset voor zijn kiezen krijgt, maar weet dit niet zeker. De machine zelf is snel zat. AMD 4850's met 4GB geheugen op Windows XP SP3.
Dit is tevens het enige wat op deze machines gebeurd.

Het sommetje is simpel. Hoe meer wij per dag kunnen flashen, des te meer zetten we om...

Ik wil dus snel kunnen flashen en op iedere poort die het systeem beschikbaar heeft en de volledige snelheid van de interface van de unit kunnen ge(ver)bruiken. Ongeacht of ik nu 1 of 20 stuks gelijktijdig flash.

Nu dacht ik zelf. Zijn er net als bij RAID controllers, USB controllers met een dedicated chip onboard die de CPU/Chipset onlastten? Of zijn er andere hulpmiddelen voor te verkrijgen? Graag jullie advies.

  • M2M
  • Registratie: Juli 2006
  • Laatst online: 17-02 20:31

M2M

medicijnman

De vraag is, waar zit de bottleneck hier. Is het de CPU die het allemaal niet meer aan kan, (de PCI insteek kaarten hebben natuurlijk hun eigen host controller), of zijn het de schijven die die de firmware lezen die de hoeveelheid data niet snel genoeg aan kunnen leveren. (HD's kunnen maar 1 bit tegelijk lezen. Het flashen van 20 maal dezelfde apparatuur tegelijk zou kunnen betekenen dat de HD waar het allemaal opstaat constant moet zoeken naar de images, waardoor de bottleneck bij de schijven ligt.

Een andere bottleneck zou de controller zelf kunnen zijn, maar aangezien je verschillende controllers gebruikt lijkt me dat sterk. (let wel: 24/7 flink data pompen over de southbridge zou nog wel eens te veel kunnen zijn voor chip die een veel gevallen geen heatsink bevat. Richt er een fan op of plak van die zalman koelvinnetjes er op icm een fan).

edit: vergeten te zeggen, draai de process explorer. Meet de IO en cpu-misbruik / geheugen gebruik en je komt er snel genoeg achter waar de bottleneck zich bevind.

[ Voor 8% gewijzigd door M2M op 18-09-2008 14:59 ]

-_-


  • _Dune_
  • Registratie: September 2003
  • Laatst online: 17-02 15:51

_Dune_

Moderator Harde Waren

RAID is geen BACKUP

Ik denk dat je so ie so al een bottleneck hebt aan de PCI bus, deze verwerkt namelijk maar max. 133MB/sec, dat is dus 133/4=33,25 MB/sec per PCI kaart wanneer deze tegelijk bezig zijn.

Daarnaast is USB al een CPU intensief device, de gebruikte protocollen hebben veel overhead en leunen erg op de CPU.

Verder zie M2M. :)

Sinds 1999@Tweakers | Bij IT-ers gaat alles automatisch, maar niets vanzelf. | https://www.go-euc.com/


  • BP_LOZ
  • Registratie: Mei 2006
  • Laatst online: 12-10-2024
Ik zal eens een tijdje met perfmon het een en ander bij gaan houden. Ik post mijn bevindingen later.

Edit.

Het is dus voor 100% de disk die niet mee wil werken. Toch maar in een RAID10 gaan zetten misschien dat daarna de PCI bus aan het volgende probleem wordt, maar voor is het echt de disk...

[ Voor 53% gewijzigd door BP_LOZ op 18-09-2008 16:44 ]


  • Q
  • Registratie: November 1999
  • Laatst online: 08:10

Q

Au Contraire Mon Capitan!

BP_LOZ schreef op donderdag 18 september 2008 @ 15:12:
Het is dus voor 100% de disk die niet mee wil werken. Toch maar in een RAID10 gaan zetten misschien dat daarna de PCI bus aan het volgende probleem wordt, maar voor is het echt de disk...
Misschien is dat wel logisch. USB = zeg 20 MB/s. 20 units x 20 MB/s = 400 MB/s !

Wat er in feite gebeurt is dat je disk enorm gaat seeken, waardoor bij 2 of meer units de performance al instort, waarschijnlijk.

Als je 20 units x 20 verschillende images doet dan blijft het probleem dat je systeem de hele tijd moet seeken = random gedrag, als ik geen onzin klets. Een systeem 400 MB/s laten aanleveren met random IO, vind ik knap, maar misschien zit het anders. Misschien dat je met meer RAM wat meer kan cachen.

Maar ik bedenk me nu dat het rekensommetje niet klopt. Want bij USB deel je de bandtbreedte over alle poorten, per controller. Laten we zeggen: 4 controllers + de interne controller = 5 controllers. 20 uints per 5 controllers = 4 per controller = 5 mb/s per unit. en dus 100 MB/s in totaal qua (random?) io. Punt is dus dat je per systeem een raid 0 of raid 10 er in moet stoppen. Mogelijk is het dan interessanter om iets te doen met een centraal storage systeem met een sloot RAM + snelle disks (SSD???) + meerdere gigabit nics & de flashmachines zelf simpel houden, maar nu loop ik weer te hard van stapel denk ik en duur wordt het ook.

[ Voor 28% gewijzigd door Q op 18-09-2008 20:12 ]


  • maratropa
  • Registratie: Maart 2000
  • Niet online
Of van een SSD streamen?

specs


  • M2M
  • Registratie: Juli 2006
  • Laatst online: 17-02 20:31

M2M

medicijnman

Ik zou gaan voor zoveel mogelijk disks, die niet in raid zetten maar in jbod. Op elke disk dezelfde set images en je machines laten flashen door maar 2 machines op 1 HD te zetten. Zo zal de performance enigszins normaal blijven.

mocht je echt veel geld hebben, zou je kunnen denken aan server hardware icm een ramdrive van 40 GB oid. Dan zit de bottleneck zeker weten bij je USB controllers / processor oid. Zet een (stel) flinke quad core processor in je server, wijs per flashthread een nieuwe cpu-core toe en je bottleneck ligt nu zeker bij de USB controllers.

mocht je niet zo veel geld hebben, schaf jezelf dan 4 extra systemen aan (simpele dingen). Stop per systeem 4 simpele schijven in die net al je firmwares kunnen bevatten. Dan zal het flashen waarschijnlijk wat harder opschieten.

edit: SSD zou inderdaad ook werken, aangezien die eigenlijk geen noemenswaardige seektimes hebben. Als (tijdelijke) test zou je een ramdrive kunnen maken op die 4 GB geheugen, daar een 512 MB firmware op zetten en kijken hoe snel je 20 units tegelijk kunt flashen. Schiet dan je cpu gebruik omhoog dan zit de volgende bottleneck bij de cpu. Blijft je cpu-misbruik laag dan zit de volgende bottleneck bij de USB controllers.

[ Voor 100% gewijzigd door M2M op 19-09-2008 08:35 ]

-_-


  • Q
  • Registratie: November 1999
  • Laatst online: 08:10

Q

Au Contraire Mon Capitan!

En wat is nu het plan?

  • BP_LOZ
  • Registratie: Mei 2006
  • Laatst online: 12-10-2024
Even afwezig geweest, maar er zijn nu 2 opties in gebruik.
1. Hetzelfde systeem met een RAID 1 (Mirror)
2. Workstation is in bestelling met RAID 10, Quad Xeon, 4GB mem.

De huidige systemen ondersteunen slechts RAID 1-0, 1+0 is helaas niet mogelijk.

Even afwachten dus, maar zelfs RAID 1 levert al een perfomance winst!

  • Q
  • Registratie: November 1999
  • Laatst online: 08:10

Q

Au Contraire Mon Capitan!

Goed om te horen, het zit dus iig zeker bij de disks. Ben benieuwd naar de impact van de RAID10.

  • M2M
  • Registratie: Juli 2006
  • Laatst online: 17-02 20:31

M2M

medicijnman

BP_LOZ schreef op dinsdag 23 september 2008 @ 11:31:
Even afwezig geweest, maar er zijn nu 2 opties in gebruik.
1. Hetzelfde systeem met een RAID 1 (Mirror)
2. Workstation is in bestelling met RAID 10, Quad Xeon, 4GB mem.

De huidige systemen ondersteunen slechts RAID 1-0, 1+0 is helaas niet mogelijk.

Even afwachten dus, maar zelfs RAID 1 levert al een perfomance winst!
raid1 een dikke invloed op de performance t.o.v. JBOD? ik had er simpelweg wat extra schijven bijgestopt en vanaf verschillende schijven tegelijk gestreamd. Volgens mij krijg je dan het beste resultaat dan een extra dik workstation wat behoudens de IO uit zijn neus staat te eten :)

-_-


  • the_stickie
  • Registratie: Juli 2001
  • Laatst online: 14-09-2025
M2M schreef op woensdag 24 september 2008 @ 17:08:
[...]


raid1 een dikke invloed op de performance t.o.v. JBOD? ik had er simpelweg wat extra schijven bijgestopt en vanaf verschillende schijven tegelijk gestreamd. Volgens mij krijg je dan het beste resultaat dan een extra dik workstation wat behoudens de IO uit zijn neus staat te eten :)
natuurlijk geeft het ook een overhead om die images op de verschillende disks te onderhouden en te flashen van verschillende sources.
Toch zou ik ook in wat anders geïnvesteerd hebben. Een paar (SLC) SSD'tjes kosten evenveel als dat workstation, en kunnen, voor deze toepassing, de eprformance van de "oude" machine wellicht boven die van het nieuwe workstation tillen. je hebt dan namelijk zo goed als geen last meer van de seektimes en de zuivere read-performance moet makkelijk met een factor 3 of 4 omhoog kunnen tov de single hdd oplossing!

of, nog leuker, bouw een ramdisk(je) waarop je de images plaatst; dan is het sowieso :w bottleneck :p

  • M2M
  • Registratie: Juli 2006
  • Laatst online: 17-02 20:31

M2M

medicijnman

the_stickie schreef op woensdag 24 september 2008 @ 17:22:


of, nog leuker, bouw een ramdisk(je) waarop je de images plaatst; dan is het sowieso :w bottleneck :p
firmwares tot 8 gigabyte, dan zit je al gelijk aan server moederplanken, want normale desktopmobo's kunnen in bijna alle gevallen niet meer dan 8 gigabyte geheugen kwijt (of zijn er al 4 GB sticks?)

en de snelste SSD's zitten op 120 MB per seconde. Flashen over USB2.0 is 60 MB/s en heb je dus per 2 USB controllers 1 SSD nodig. Op zich nog wel te doen :)

-_-


Verwijderd

M2M schreef op maandag 29 september 2008 @ 16:18:
[...]
firmwares tot 8 gigabyte, dan zit je al gelijk aan server moederplanken, want normale desktopmobo's kunnen in bijna alle gevallen niet meer dan 8 gigabyte geheugen kwijt (of zijn er al 4 GB sticks?)
Als ie toch al een vet workstation bestelt... kon dit ook wel. 64bit XP of Vista op een bak met 8GB RAM, zou je 7 GB ramdisk kunnen maken (6 met Vista) en dan heb je bij images "van .5 tot 8 GB" de meeste wel te pakken.

  • Q
  • Registratie: November 1999
  • Laatst online: 08:10

Q

Au Contraire Mon Capitan!

M2M schreef op maandag 29 september 2008 @ 16:18:
[...]


firmwares tot 8 gigabyte, dan zit je al gelijk aan server moederplanken, want normale desktopmobo's kunnen in bijna alle gevallen niet meer dan 8 gigabyte geheugen kwijt (of zijn er al 4 GB sticks?)

en de snelste SSD's zitten op 120 MB per seconde. Flashen over USB2.0 is 60 MB/s en heb je dus per 2 USB controllers 1 SSD nodig. Op zich nog wel te doen :)
Hoe kom je aan die 60 MB/s ? Per controller haal je nooit meer dan 20 a 30 MB/s ? SSD zijn nogsteeds een goede keuze hoor, maar wel duur.

  • M2M
  • Registratie: Juli 2006
  • Laatst online: 17-02 20:31

M2M

medicijnman

Q schreef op maandag 29 september 2008 @ 20:36:
[...]


Hoe kom je aan die 60 MB/s ? Per controller haal je nooit meer dan 20 a 30 MB/s ? SSD zijn nogsteeds een goede keuze hoor, maar wel duur.
theoretisch 60 MB per seconde, en minus de overhead zou je toch zeker zo'n 50 megabytes per seconde over moeten houden. USB controllers zijn niet zo sloom hoor ;), maargoed, als die 20 tot 30 MB klopt dan zou je de hoeveelheid SSD's kunnen halveren.

-_-

Pagina: 1