Benchmarking HOWTO Linux
20 pages
Français

Benchmarking HOWTO Linux

Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres
20 pages
Français
Le téléchargement nécessite un accès à la bibliothèque YouScribe
Tout savoir sur nos offres

Description

Benchmarking HOWTO Linux
par Andre D. Balsa, andrewbalsa@usa.net
traduit par Fran cois Laagel, f.laagel@ieee.org v0.12, 15 Aouˆt 1997 (v.f. : 2
du 28 Novembre 1997)
Le benchmarking HOWTO Linux traite de certains problemes relatifs a l’evaluation de performances de systemes
Linux et presente un ensemble d’outils ainsi qu’un formulaire associe qui permettent de produire des mesures
de performances signi catives en quelques heures. Peut-ˆetre ce document contribuera-t-il a une diminution du
nombre d’articles inutiles dans comp.os.linux.hardware...
Contents
1 Introduction 2
1.1 Pourquoi l’evaluation de performances est-elle si importante ? . . . . . . . . . . . . . . . . . . 2
1.2 Non-criteres en matiere d’evaluation de performances . . . . . . . . . . . . . . . . . . . . . . . 3
2 Procedures d’evaluation de performances et interpretation des resultats 3
2.1 Comprendre les choix en matiere de benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.1.1 Benchmarks synthetiques vs. benchmarks applicatifs . . . . . . . . . . . . . . . . . . . 4
2.1.2 Benchmarks de haut-niveau vs. de bas-niveau . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 Benchmarks standard disponibles pour Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 Liens et references . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 Le Linux Benchmarking Toolkit (LBT) 8
3.1 Motivations . . . . . ...

Sujets

Informations

Publié par
Nombre de lectures 57
Langue Français

Extrait

BenchmarkingHOWTOLinuxparAndre´D.Balsa,andrewbalsa@usa.net<mailto:andrewbalsa@usa.net>traduitparFranc¸oisLaagel,f.laagel@ieee.org<mailto:f.laagel@ieee.org>v0.12,15Aouˆt1997(v.f.:2du28Novembre1997)LebenchmarkingHOWTOLinuxtraitedecertainsproble`mesrelatifsa`l’e´valuationdeperformancesdesyste`mesLinuxetpre´senteunensembled’outilsainsiqu’unformulaireassocie´quipermettentdeproduiredesmesuresdeperformancessignificativesenquelquesheures.Peut-eˆtrecedocumentcontribuera-t-ila`unediminutiondunombred’articlesinutilesdanscomp.os.linux.hardware...Contents1Introduction21.1Pourquoile´valuationdeperformancesest-ellesiimportante?..................21.2Non-crite`resenmatie`rede´valuationdeperformances.......................32Proce´duresde´valuationdeperformancesetinterpre´tationdesre´sultats32.1Comprendreleschoixenmatie`redebenchmarks.........................42.1.1Benchmarkssynthe´tiquesvs.benchmarksapplicatifs...................42.1.2Benchmarksdehaut-niveauvs.debas-niveau.......................52.2BenchmarksstandarddisponiblespourLinux...........................62.3Liensetre´fe´rences..........................................73LeLinuxBenchmarkingToolkit(LBT)83.1Motivations..............................................83.2Se´lectiondesbenchmarks......................................83.3Dure´edestests............................................93.4Commentaires.............................................93.4.1Compilationdunoyau2.0.0.................................93.4.2LasuiteWhetstone......................................93.4.3Xbench-0.2..........................................103.4.4UnixBenchversion4.01...................................103.4.5LesbenchmarksBytemarkdumagazineBYTE......................103.5Ame´liorationspossibles.......................................113.6FormulairederapportLBT.....................................113.7Testdeperformancesre´seau.....................................133.8LestestsSMP.............................................134Uneexe´cutiontypeetlesre´sultats31
1.Introduction25Pie`gesetmisesengardeenmatie`red’e´valuationdeperformances165.1Comparerdespommesetdesoranges...............................165.2Informationincomple`te.......................................165.3Mate´riel/logicielproprie´taire....................................165.4Pertinence...............................................16QAF6617Copyright,remerciementsetdivers197.1Commentcedocumenta-t-ile´te´produit..............................197.2Copyright...............................................197.3Nouvellesversiondecedocument..................................207.4Retour.................................................207.5Remerciements............................................207.6Paravent................................................207.7Marquesde´pose´es...........................................201Introduction”Cedontonnepeutparlerdoiteˆtrepasse´soussilence.”LudwigWittgenstein(1889-1951),philosopheAutrichienL’e´valuationdeperformances(benchmarking)consistea`mesurerlavitessea`laquelleunordinateurexe´cuteunetaˆchecalculatoire,etcedefac¸ona`pouvoircomparerdiffe´rentesconfigurationslogicielles/mate´rielles.Cecin’aaucunrapportaveclafacilite´d’utilisation,l’esthe´tique,lesconside´rationsd’ergonomieoutouteautreappre´ciationsubjective.L’e´valuationdeperformancesestunetaˆchefastidieuseetre´pe´titive.Ellene´ce´ssitequel’onpreˆteunegrandeattentionauxde´tails.Tre`ssouventlesre´sultatsobtenusnesontpasceuxauxquelsons’attendaitetsontsujeta`interpre´tation(cequipeuttre`sbieneˆtrelebutd’uneproce´dured’e´valuationdeperformances).Enfin,l’e´valuationdeperformancestraıˆtedefaitsetdechiffresetnonpasd’opinionoud’approximation.1.1Pourquoile´valuationdeperformancesest-ellesiimportante?Hormislesraisonsmentionne´esdansleBogoMipsMini-HOWTO(section7,paragraphe2),ilarrive,lorsquel’onseconstitueunemachineLinux,quel’onsoitconfronte´a`unbudgetlimite´et/oua`desbesoinsenperformancesminimalesgaranties.End’autrestermes,lorsquel’onseposelesquestionssuivantes:Commentmaximiserlaperformanceavecunbudgetdonne´?Commentminimiserlecouˆtne´ce´ssairepourobtenirunniveaudeperformancedonne´?Commentobtenirlemeilleurrapportperformance/couˆt(e´tantdonne´unbudgetoudesbesoinsenperformancesminimalesgaranties)?
2.Proce´duresde´valuationdeperformancesetinterpre´tationdesre´sultats3ilfaudraexaminer,compareret/ouproduiredesbenchmarks(ndt:unbenchmarkestunprogrammeouunensembledeprogrammes-onparlealorsdesuite-servanta`e´valuerlesperformancesd’unsyste`meinformatique).Minimiserlescouˆtssanscontraintesdeperformanceimpliqued’ordinairelaconstitutiond’unemachinea`partirdecomposantsdere´cupe´ration(cevieux386SX-16quitraıˆnedanslegarageseraparfait),etnene´ce´ssitepasdebenchmarks.Maximiserlaperformancesanscouˆtplafondn’estpasunesituationre´aliste(a`moinsquel’onsouhaitemettreunCraydanssonsalon-labanquetterecouvertedecuirquisetrouveaudessusdesalimentationse´lectriquesestdumeilleurgouˆt,n’est-t-ilpas?).L’e´valuationdeperformancessanscontraintedecouˆtnideperformanceminimalegarantien’apasdesens:c’estunepertedetempsetd’argent.L’e´valuationdeperformancesn’adesensquedanslecadred’uneprisedede´cision,c’esta`diresil’onalechoixentredeuxalternativesouplus.D’ordinairedescrite`resautresquelecouˆtinterviennentdansleprocessusde´cisionnel.Ilpeuts’agirdeladisponibilite´,duservice,delafiabilite´,deconside´rationsstrate´giquesoudetouteautrecaract´eristiquerationnelleetmesurabled’unsyste`meinformatique.Parexemple,lorsquel’oncomparelaperformancedediffe´rentesversionsdunoyauLinux,lastabilite´esttoujoursplusimportantequelavitessed’exe´cution.1.2Non-crite`resenmatie`rede´valuationdeperformancesMalheureusementettre`ssouventdanslesnewsgroups(forums)etlesmailinglists(listesdediffusionparcourriere´lectronique),sontcite´s:1.Lare´putationdufabriquant(non-mesurableetsanssignification).2.Lespartsdemarche´dufabriquant(sanssignificationetnon-pertinent).3.Desparame`tresirrationnels(superstitionoua-prioriparexempleacheteriez-vousunprocesseure´tiquete´131313ZAPetpeintenrose?).4.Lavaleurperc¸ue(non-significative,non-mesurableetirrationnelle).5.L’ampleurdutapagemarketing(ndt:mercatiquepourlesinte´gristes:)estcequ’ilyadepire,jecrois.Personnellement,j’enaimarredeslogos”XXXinside”ou”kkkkkwscompatible”(maintenant”aaaaaPowered”estdelapartie,etpuisquoiencore?).AMHA,lesmilliardsdedollardsde´pense´sdurantdetellescampagnesseraientbienmieuxutilise´spardee´quipesderecherchepourlaconceptiondenouveauxprocesseurs,plusrapides(moinschers:-)etmoinsbugge´s.Aucunecampagnepublicitaire,siambitieusesoit-elle,n’estenmesuredesupprimerunebugdelaFPUencalculflottantsurletoutnouveauprocesseurquevousveneztoutjusted’enfichersurvotrecarte-me`re,alorsqu’une´changeauprofitd’unprocesseurre-conc¸ulefera.6.Lesopinionsdutype”Vousavezcepourquoivousavezpaye´”nesontpre´cise´mentquec¸a:desopinions.Donnez-moidesfaits,s’ilvousplait.2Proce´duresde´valuationdeperformancesetinterpre´tationdesr´esultatsQuelquesrecommendationssemi-e´videntes:1.Premie`rementetavanttout,identifiezvosobjectifsd’e´valuationdeperformances.Qu’essayezvousexactementd’e´valuer?Enquoiunprocessusd’e´valuationdeperformancesva-t-ilvousaidera`
2.Proce´duresde´valuationdeperformancesetinterpre´tationdesre´sultats4prendreunede´cisionulte´rieure?Combiendetempsetquellesressourcesvoulez-vousconsacrera`ceteffort?2.Utilisezdesoutilsstandard.Utilisezuneversiona`jouretstabledunoyau,desversionsstandardeta`jourdegccetdelalibc,etunbenchmarkstandard.Enbref,utilisezleLBT(voirplusloin).3.Donnezunedescriptioncomple`tedevotreconfigurationmate´rielle(voirleformulairedecompte-renduplusloin).4.Essayezd’isolerunevariableunique.L’e´valuationdeperformancescomparativeestplusinformativequel’e´valuationdeperformances”absolue”.Jen’insisteraijamaisassezla`-dessus.5.Ve´rifiezvosre´sultats.Faitestournervosbenchmarksplusieursfoisetve´rifiezlesvariationsdesre´sultatsobtenus,sivariationilya.Desvariationsinexplique´esinvaliderontvosre´sultats.6.Sivouspensezquevotreeffortd’e´valuationdeperformancesaproduitdel’informationsignificative,partagez-laaveclacommunaute´Linuxdefac¸onpre´ciseetconcise.7.OubliezlesBogoMipss’ilvousplait.Jemeprometsd’imple´menterunjourunASIC(ndt:unacronymepourApplicationSpecificIntegratedCircuit,c’estuncircuitinte´gre´de´die´a`uneapplicationdonne´e)danslequellesBogoMipsserontcable´s.Etalorsonverracequ’onverra!2.1Comprendreleschoixenmatie`redebenchmarks2.1.1Benchmarkssynthe´tiquesvs.benchmarksapplicatifsAvantdeconsacrerlemoindretempsauxtravauxd’e´valuationdeperformances,ilimportedefaireunchoixdebaseentrebenchmarkssynthe´tiquesetbenchmarksapplicatifs.Lesbenchmarkssynthe´tiquessontspe´cifiquementconc¸uspourmesurerlaperformancedescomposantsin-dividuelsd’unordinateur,d’habitudeenpoussantl’undesditscomposantsjusqu’a`salimite.Unexempledebenchmarksynthe´tiquece´lebreestlasuiteWhetstone,initialementprogramme´een1972parHaroldCurnowenFORTRAN(oue´tait-ceenALGOL?),etdontl’usageesttoujourstre`sre´pandudenosjours.LasuiteWhetstoneproduiraunemesuredelaperformanced’uneCPUenmatie`redecalculflottant.Laprincipalecritiquequel’onpuissefaireauxbenchmarkssynthe´tiquesestqu’ilsnerepre´sententpaslaperformanced’unordinateur,entantquesyste`mecomplexe,dansdesconditionsd’utilisationre´elles.PrenonsparexemplelasuiteWhetstone,dontlaboucleprincipaleesttre`scourte,etquidoncpeutaise´menttenirdanslecacheprimaired’uneCPU,cettesuitemaintientlepipelinedelaFPUalimente´enpermanencedefac¸ona`poussercelle-cia`savitessemaximale.OnnepeutpasvraimentcritiquerlasuiteWhetstonesil’onsesouvientqu’elleae´te´programme´eilya25ans(saconceptionestmeˆmeplusanciennequec¸a!),maisilnousfautnousassurerquenousinterpre´tonssesre´sultatsavecprudencequandnousnouspre´occuponsd’e´valuerlesperformancesdemicro-processeursmodernes.Unautreaspecttre`simportantqu’ilnousfautavoirenteˆtea`proposdesbenchmarkssynthe´tiquesestqu’ide´alement,ilsdevraientpouvoirnousdirequelquechoseencequiconcerneunaspectspe´cifiquedusyste`mequel’onestentraindetester,etceinde´pendammentdesautresaspectsduditsyse`me:unbenchmarksynthe´tiqued’unecarteD’E/SEthernetdevraitproduirelesmeˆmesre´sultats(oudesre´sultatscomparables)quecesoitsurun386SX-16avec4MBdeRAMousurunPentium200MMXavec64MBdeRAM.Siteln’e´taitpaslecas,letestmesureraitlaperformanceglobaledel’associationCPU/carte-me`re/bus/carteEthernet/sous-syste`meme´moire/DMA,cequin’estpastre`sutilepuisqueladiffe´renceauniveaudesCPUsauraunimpactplusimportantqueladiffe´renceauniveaudescartesEthernet(cecisupposebiensuˆrquenousutilisionslameˆmecombinaisonnoyau/driver(pilotedepe´riphe´rique)).Danslecascontraireladiffe´rencedeperformancespourraiteˆtreencoreplusgrande)!
2.Proce´duresde´valuationdeperformancesetinterpre´tationdesr´esultats5Enfin,uneerreurfre´quemmentcommiseestdecalculerlamoyennedediversbenchmarkssynthe´tiquesetdepre´tendrequ’unetellemoyenneestunebonnerepre´sentationdelaperformanceglobaled’unsyste`medonne´pouruneutilisationdanslaviere´elle.VoiciuncommentairesurlesbenchmarksFPU(cite´aveclapermissiondusiteWebdeCyrixCorp.):”Uneunite´decalculflottantacce´l`erelelogicielconc¸upourl’utilisationdel’arithme´tiqueflot-tante:typiquementils’agitdeprogrammesdeCAO,detableurs,dejeuxen3Detd’applicationsdeconception.Cependant,laplupartdesapplicationsPCpopulairesd’aujourd’huiutilisenta`lafoisdesinstructionsflottantesetl’arithme´tiqueentie`re.C’estpourquoiCyrixachoisidemettrel’accentsurleparalle´lismelorsdelaconceptionduprocesseur6x86etcedanslebutd’acce´le´rerlesprogrammesquientremˆelentces2typesd’instructions.Lemode`ledetraitementdesexceptionsflottantesdel’architecturex86permetauxinstruc-tionsentie`resd’eˆtree´misesetdeseterminerpendantqu’uneinstructionflottanteestencoursd’exe´cution.Al’oppose´,unesecondeope´rationflottantenepourrapaseˆtreexe´cute´ealorsqu’unepre´cedenteinstructionottanteestencoursdexe´cution.Poursupprimercettelimitationdeperformancecre´eeparlemode`ledetraitementdesexceptionsflottantes,le6x86,peute´mettrespe´culativementjusqu’a`4instructionsflottantesverslaFPUinte´gre´esurlecircuit.Parex-emple,dansunese´quencedecodeconstitue´ede2instructionsflottantes(FLTs)suiviesde6instructionsentie`res(INTs),elles-meˆmessuiviesde2FLTs,le6x86peute´mettretoutesces10instructionsverslesunite´sd’exe´cutionapproprie´esavantquel’exe´cutiondelapremie`reFLTnesesoittermine´e.Siaucunedecesinstructionsneprovoqued’exception(cequiesttypique),l’exe´cutioncontinue,lesunite´sflottantesetentie`resterminantl’exe´cutiondecesinstructionsenparalle`le.Sil’unedesFLTsge´ne`reuneexception(lecasatypique),lespossibilite´sd’exe´cutionspe´culativesdu6x86permettentquel’e´tatduprocesseursoitrestitue´defac¸ona`cequecelui-cisoitcompatibleaveclemode`ledetraitementdesexceptionsflottantes.L’examendecodedebenchmarkssynthe´tiquesflottantsre´ve`lequeceux-ciutilisentdesse´quencesd’instructionspurementflottantesquel’onnetrouvepasdanslesapplicationsdumondere´el.Cetypedebenchmarksnetirepasprotdespossibilite´sdexe´cutionspe´culativeduprocesseur6x86.Cyrixpensequelesbenchmarksnon-synthe´tiquesbase´ssurdesapplicationsdumondere´elrefle`tentmieuxlaperformancequelesutilisateursvonteffectivementobtenir.Lesapplicationsdumondere´elcontiennentdesinstructionsentie`resetflottantesentremeˆle´esetpourcetteraisontirerontunmeilleurpartidespossibilite´sd’exe´cutionspe´culativedu6x86.”Latendancere´centeenmatie`red’e´valuationdeperformancesconsistedonca`choisirdesapplicationsusuelleseta`lesutiliserpourmesurerlaperformanced’ordinateursentantquesyste`mescomplexes.ParexempleSPEC,l’entreprisea`butnon-lucratifquiaconc¸ulesce´le`bressuitesdebenchmarkssynthe´tiquesSPECINTetSPECFP,alance´unprojetpourde´velopperunenouvellesuitedebenchmarksapplicatifs.Mais,la`encore,ilesttre`simprobablequ’unetellesuitedebenchmarkscommercialecomporteducodeLinuxunjour.Enre´sume´,lesbenchmarkssynthe´tiquessontvalablesa`conditiond’avoircomprisleursobjectifsetleurslimites.Lesbenchmarksapplicatifsrefle`terontmieuxlaperformanced’unsyste`meinformatique,maisaucund’entreeuxn’estdisponiblepourLinux.2.1.2Benchmarksdehaut-niveauvs.debas-niveauLesbenchmarksdebas-niveauontpourambitionlamesuredelaperformancedumate´riel:lafre´quencedel’horlogeduprocesseur,lestempsdecycledelaDRAM(ndt:acronymepourDynamicRandomAccessMemory)etdelaSRAM(ndt:acronymepourStaticRandomAccessMemory)cache,tempsd’acce`smoyend’undisquedur,tempsd’acce`spistea`piste,etc...
2.Proce´duresde´valuationdeperformancesetinterpre´tationdesre´sultats6Cetteapprochepeuteˆtreutilesivousavezachete´unsyste`meetquevousvousdemandeza`partirdequelscomposantsilae´te´construit,bienqu’unemeilleurefac¸onder´epondrea`cettequestionsoitd’ouvrirleboıˆtier,dedresserl’inventairedescomposantsquevoustrouvereza`l’inte´rieur,etd’obtenirlesspe´cificationstechniquespourchacund’entreeux(ellessontlaplupartdutempsdisponiblessurleWeb).Uneautreutilisationpossibledesbenchmarksdebas-niveauconsistea`s’enservirpourve´rifierqu’undriverdunoyauae´te´correctementconfigure´pouruncomposantmate´rieldonne´:sivousdisposezdesspe´cificationstechniquesdececomposantvouspourrezcomparerlesre´sultatsd’unbenchmarkdebas-niveauauxvaleursthe´oriquesfigurantdanslesspecs.Lesbenchmarksdehaut-niveauontplutoˆtpourobjectiflamesuredelaperformancedel’associationmate´riel/driver/syste`med’exploitationencequiconcerneunaspectspe´cifiqued’unsyste`meinformatique(parexemplelaperformancedesentre´es-sorties),oumeˆmeuneassociationspe´cifiquemate´riel/driver/syste`med’exploitation/application(parexempleunbenchmarkApachesurdiffe´rentsordinateurs).Biensuˆr,touslesbenchmarksdebas-niveausontsynthe´tiques.Lesbenchmarksdehaut-niveaupeuventeˆtresynthe´tiquesouapplicatifs.2.2BenchmarksstandarddisponiblespourLinuxAMHA,untestsimplequetoutlemondepeuteffectuera`l’occasiond’unemisea`jourdelaconfigurationdesamachineLinuxestdelancerunecompilationdunoyauavantetapre`scettemisea`jourmate´rielle/logicielle,etdecomparerlesdure´esdecompilation.Sitouslesautresparame`tressontlesmeˆmes,alorscetestestvalableentantquemesuredelaperformanceenmatie`redecompilation,etl’onpeutaffirmerentouteconfianceque:”LeremplacementdeAparBaconduita`uneame´liorationdex%deladure´edecompilationdunoyauLinuxdanstellesettellesconditions”.Niplus,nimoins!Parcequelacompilationdunoyauestunetaˆchetre`scourantesousLinux,etparcequ’ellemetenoeuvrelaplupartdesfonctionnalite´simplique´esdanslesbenchmarksusuels(sauflecalculflottant),elleconstitueuntestisole´plutoˆtbon.Cependant,danslamajeurepartiedescas,lesre´sultatsdecetestnepeuventpaseˆtrereproduitspard’autresutilisateursdeLinuxa`causedesdiffe´rencesdeconfigurationsmate´rielles/logicielles.Cetestneconstituedoncenaucuncasuneme´triquepermettantdecomparerdessyste`mesdissemblables(a`moinsquenousnenousmettionstousd’accordsurlacompilationd’unnoyaustandard-voirplusloin).Malheureusement,iln’yapasd’outilsd’e´valuationdeperformancesciblantspe´cifiquementLinux,saufpeut-eˆtrelesByteLinuxBenchmarks.Ceux-cisontuneversionle´gerementmodifie´edesByteUnixBenchmarksquidatentde1991(modificationsLinuxparJonTombs,auteursoriginels:BenSmith,RickGrehanetTomYager).IlexisteunsiteWebcentralpourlesByteLinuxBenchmarks.Uneversioname´liore´eetmisea`jourdesByteUnixBenchmarksae´te´synthe´tise´eparDavidC.Niemi.Elles’appelleUnixBench4.01poure´viteruneconfusionpossibleavecdesversionsante´rieures.VoicicequeDavidae´critausujetdesesmodifications:”LesBYTEUnixbenchmarksoriginelsetle´gerementmodifie´ssontnasesa`biendese´gardscequifaitd’euxunindicateurinhabituellementnon-fiabledelaperformanced’unsyste`me.J’aide´libe´re´mentfaitensortequemesindicesdeperformancesoienttre`sdiffe´rentspoure´viterlaconfusionaveclesvieuxbenchmarks.”
  • Univers Univers
  • Ebooks Ebooks
  • Livres audio Livres audio
  • Presse Presse
  • Podcasts Podcasts
  • BD BD
  • Documents Documents