550 likes | 662 Views
CARACTERITZACIÓ DE LA CÀRREGA I BENCHMARKS. R. Puigjaner Universitat de les Illes Balears Palma putxi@uib.es. ÍNDEX. Introducció Representativitat d’un model de càrrega Càrregues de test o de prova Tècniques d'implantació dels models de la càrrega Benchmarks. INTRODUCCIÓ.
E N D
CARACTERITZACIÓ DE LA CÀRREGAIBENCHMARKS R. Puigjaner Universitat de les Illes Balears Palma putxi@uib.es
ÍNDEX • Introducció • Representativitat d’un model de càrrega • Càrregues de test o de prova • Tècniques d'implantació dels models de la càrrega • Benchmarks
INTRODUCCIÓ • Es denomina càrrega al conjunt de totes les peticions que fan els usuaris d’un sistema (programes, dades, ordres, etc.) durant un interval de temps.
INTRODUCCIÓ • La càrrega varia al llarg del temps.
INTRODUCCIÓ • La càrrega interacciona amb el sistema i amb els usuaris
INTRODUCCIÓ • Propietats d’un model de la càrrega • Reproductibilitat • Compacitat • Compatibilitat • Representativitat • Flexibilitat • Independència del sistema
INTRODUCCIÓ • Primera definició: Els benchmarks són una forma d’avaluar les prestacions d’un sistema informàtic en conjunt o sobre parts determinades mitjançant programes representatius dels que constitueixen la càrrega real d’una instal·lació.
INTRODUCCIÓ • Segona definició: Similar a la anterior però amb un conjunt de programes triats de forma estàndard sense cap relació directa amb els de la càrrega de la instal·lació.
INTRODUCCIÓ • Objectiu: Comparació dels resultats obtinguts en els distints sistemes sobre els que s’executi o bé a partir de l'execució sobre las distintes configuracions del sistema d’una instal·lació. • Motius que han provocat l'aparició i ús d’aquest tipus de programes: • Adquisició d’equips • Sintonització, és a dir, millorar el rendiment d’un sistema informàtic que ja està en funcionament. • Planificació de la capacitat per conèixer la capacitat disponible en previsió de possibles ampliacions.
ÍNDEX • Introducció • Representativitat d’un model de càrrega • Càrregues de test o de prova • Tècniques d'implantació dels models de la càrrega • Benchmarks
REPRESENTATIVITAT • Representativitat • A nivell físic • A nivell virtual • A nivell funcional
REPRESENTATIVITAT • Representativitat a nivell físic • Un model de la càrrega W' representa perfectament la càrrega W, si sol·licita els mateixos recursos físics en les mateixes proporcions que W. • És a dir, el model de la càrrega haurà d’usar els mateixos recursos (CPU, E/S, etc.) en la mateixa proporció que a la càrrega real. • Serà fàcil de construir utilitzant un mètode de proporcionalitat
REPRESENTATIVITAT • Representativitat a nivell físic (cont.) • Les característiques d’aquests models són: • Orientació al consum de recursos físics. • Gran dependència del sistema. • Relativament fàcils de construir. • Les principals aplicacions són: • Sintonització del sistema • Planificació de la capacitat residual • Disseny.
REPRESENTATIVITAT • Representativitat a nivell virtual • Un model de la càrrega W' representa perfectament la càrrega W, si sol·licita els mateixos recursos físics amb la mateixa freqüència que W. • Es a dir, d’acord amb aquest criteri de representativitat, el model de la càrrega haurà de provocar per unitat de temps el mateix nombre de ràfagues de CPU i d’E/S, de la mateixa durada que en el sistema real. • És la visió que tindria el programador d’aplicacions
REPRESENTATIVITAT • Representativitat a nivell virtual (cont.) • Les característiques d’aquests models són: • Orientació a recursos lògics. • Menor dependència del sistema que en el model anterior. • Major proximitat al punt de vista de l'usuari que en el model anterior. • Major dificultat per obtenir els paràmetres per a la construcció del model que en el model anterior. • Aquests models són adequats per a: • Estudis d'ampliació en els que cal preveure el funcionament del sistema després d’afegir-hi noves unitats.
REPRESENTATIVITAT • Representativitat a nivell funcional • Un model de la càrrega W' representa perfectament la càrrega W, si realitza las mateixes funcions amb les mateixes proporcions que W. • Per exemple, si un sistema realitza 400 hores de compilacions, 250 hores de proves de treballs, 700 hores d'explotació de treballs i 300 hores de càlcul científic, un model funcional de la càrrega seria el que fes 40 minuts de compilacions, 25 minuts de proves de treballs, 70 minuts d'explotació de treballs i 30 minuts de càlcul científic.
REPRESENTATIVITAT • Representativitat a nivell funcional (cont.) • Les característiques d’aquests models són: • Orientats a aplicacions. • Independència del sistema. • Difícils de dissenyar sistemàticament. • Les principals aplicacions són: • Selecció d’un computador • Planificació de la capacitat
REPRESENTATIVITAT • Representativitat a nivell de comportament • Un model W' representa perfectament la càrrega W, si produeix els mateixos valors dels índexs de comportament que W, quan s’executa en el mateix sistema. • Aquest tipus de criteri permet avaluar la validesa del model pels efectes que produeix en el sistema i no només per les seves possibles causes. • Desafortunadament aquest criteri produeix models dependents del sistema.
REPRESENTATIVITAT • Compacitat • Criteris de reducció : • Per als criteris físic o virtual és relativament directe, ja que consisteix en reduir proporcionalment el nombre de programes que s’han d’executar de cadascun dels grups homogenis de programes de la càrrega real.
REPRESENTATIVITAT • Compacitat • Criteris de reducció : • Per a la construcció d’un model funcional no hi ha un mètode sistemàtic i no té sentit la reducció proporcional de les aplicacions. Es pot aconseguir per: • la reducció del volum de dades • la reducció de la mida dels programes • la selecció d’unes dades d’entrada triades per al cas • una astuta barreja dels mètodes esmentats.
ÍNDEX • Introducció • Representativitat d’un model de càrrega • Càrregues de test o de prova • Tècniques d'implantació dels models de la càrrega • Benchmarks
CÀRREGUES DE TEST • Càrregues de prova • Real • Sintètica • Natural • Híbrida • Artificial • Executable • Mix • Kernel • Programa sintètic • Seqüències transaccionals • Seqüències conversacionals • Benchmarks • No executable • Distribucions estadístiques • Traces per a simulació
CÀRREGUES DE TEST • Càrregues de prova reals • Consisteix en la càrrega que s'està processant al sistema durant un sessió de mesura. • Potencialment, és la més representativa i la més barata. • El model de la càrrega requereix simplement decidir la porció de temps d'execució que s’ha d’usar per als experiments de mesura. • La duració de la sessió s’ha de triar teòricament emprant tècniques estadístiques per assegurar la significació de les mesures. • La suposició de que la seqüència d'observacions és estacionària s’admet habitualment però és difícil de comprovar i demostrar.
CÀRREGUES DE TEST • Càrregues de prova reals • La principal dificultat és la reproducció de situacions, quan es vol repetir un experiment, pels imponderables (especialment humans) que influeixen en la dinàmica del sistema i que limiten el seu ús. • Manca de flexibilitat, impossibilitat de modificar programes. • Necessitat de reutilitzar dades originals. • Confidencialitat de certs programes i dades. • Diferencies en la organització del hardware i el software.
CÀRREGUES DE TEST • Càrregues de prova sintètiques naturals • Una càrrega de test és sintètica natural (benchmark) si consta d’un conjunt de programes extrets de la càrrega real. • El seu principal camp d’aplicació és el dels estudis de selecció i d'ampliació.
CÀRREGUES DE TEST • Càrregues de prova sintètiques naturals • Dificultats d’aplicació: • Prioritat d’execució. • Marxin factor de multiprogramació. • Rutines de comptabilitat. • Paràmetres del sistema operatiu. • Llenguatge de programació. • Regles d’execució. • Selecció d’un paquet de software.
CÀRREGUES DE TEST • Càrregues de prova sintètiques híbrides • Si la càrrega que es pretén modelar no existeix completament, aleshores la càrrega es representa la càrrega coneguda per un conjunt de programes extrets d’ella i la càrrega no existent per algun dels elements artificials que es descriuen a continuació (kernels, programes sintètics, seqüències conversacionals, etc.).
CÀRREGUES DE TEST • Càrregues de prova artificials executables: instrucció de suma • Càrregues de prova artificials executables: mix • És un programa en el que la freqüència d’execució de les instruccions màquina és el mateix de la càrrega real. • Ens dona el temps mitjà d’execució d’una instrucció.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: mix
CÀRREGUES DE TEST • Càrregues de prova artificials executables: mix • Per comparar dues CPUs, s’haurien d’utilitzar mix independients del sistema, però és molt difícil, ja que un programa que depèn d'aspectes de l’arquitectura com: • Gestió de la jerarquia de memòria. • Seqüenciament de les instruccions. • Ús de les adreces.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: mix • Avantatge • simplicitat • Desavantatges: • Només modela la CPU • No té en compte ni sistema operatiu ni els compiladors. • Hi ha moltes definicions de mix fetes per fabricants, associacions d’usuaris, etc. Una de las més famoses és el Gibson-mix.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: mix de sentències • És una extensió del concepte de mix a llenguatges d’alt nivell. • Són programes que tenen la mateixa freqüència d'aparició de les distintes sentències del llenguatge d’alt nivell considerat de la càrrega que s’està modelant.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: kernel • Un kernel és un programa o fragment de programa que representa el més característic de la càrrega. • Són programes tancats, que no es poden fer ajustar i tenen un consum de recursos conegut i no modificable; són programes no paramètrics, proporcionats per associacions d’usuaris o agències governamentals. • Exemples de kernels són la inversió de matrius, programes de classificació, etc. • S’han de seleccionar en funció de llur similitud amb els programes que constitueixen la càrrega del sistema. • Ull amb la memòria cache!!
CÀRREGUES DE TEST • Càrregues de prova artificials executables: programa sintètic • Són programes que no fan res útil, sinó que es limiten a consumir recursos del sistema en quantitats determinades pels paràmetres de control dels programes. • Els paràmetres de control determinen necessitats de recursos com el temps total de CPU, el nombre d’operacions d’E/S, la memòria requerida, el nombre d’enregistraments a processar, les sortides a generar, el nombre i característiques dels arxius o bases de dades als que cal accedir, etc.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: programa sintètic • Es poden construir programes sintètics amb distintes estructures per simular de diferents tipus d’aplicacions. • En molts casos, tenen un o dos conjunts suplementaris de paràmetres denominats de correcció i de calibració.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències transaccionals i conversacionals • Si l’entorn del qual se vol construir un model de la càrrega es transaccional o conversacional, és a dir entorns on un conjunt d’usuaris remots creu tenir, cada un d’ells, el sistema informàtic a llur exclusiva disposició, es plantegen dificultats suplementàries: • Principalment aconseguir mobilitzar un conjunt de persones, que actuïn de forma idèntica a cadascun dels experiments.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències transaccionals i conversacionals
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències transaccionals i conversacionals
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències transaccionals i conversacionals • La dificultat principal en tots dos casos és mantenir la coherència de les dades que s’estan manipulant, especialment si s’està actualitzant la base de dades del servidor.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències transaccionals • Quan l’entorn de treball és transaccional, la simulació del comportament dels usuaris pot fer-se conservant la traça de missatges que s'envia des de cada terminal amb la seva temporització. Aquesta traça seria la que el simulador de la xarxa aniria injectant al sistema per al seu tractament.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències conversacionals • Quan es tracta d’establir el model d’un entorn conversacional, no es pot usar la traça, ja que els missatges, que inclouen ordres de control adreçades al sistema operatiu, no són directament transportables d’un sistema informàtic a un altre. • Per evitar aquest problema, cal descriure a nivell funcional el guió de treball de cadascun dels usuaris, que es denomina seqüència o guió conversacional, que s’ha d’adaptar a cadascun dels entorns de treball dels distints sistemes operatius.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències conversacionals • Exemple de guió o seqüència conversacional : 1. Connectar-se al sistema. 2. Copiar el programa P des d’un arxiu permanent a un de treball. 3. Editar el programa P des de l’arxiu temporal afegint-li 25 línies de codi, en les quals hi haurà un cert nombre d'errors. 4. Compilar el programa P. 5. Editar novament el programa P per corregir els errors, que haurà detectat el compilador (que seran els que s’han introduït al pas 3). 6. Compilar de nou el programa P, deixant el mòdul objecte al mateix arxiu temporal.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: seqüències conversacionals • Exemple de guió o seqüència conversacional (cont.): 7. Muntar el programa P usant mòduls que existeixen a una llibreria permanent. 8 Executar el programa P usant les dades que hi ha als arxius corresponents i deixant el llistat de resultats en algun arxiu accessible. 9. Editar el llistat per analitzar la bondat dels resultats. 10. Enviar a impressió el llistat generat. 11. Copiar els mòduls font, objecte i executable del programa P als arxius permanents corresponents. 12.Desconnectar-se del sistema.
CÀRREGUES DE TEST • Càrregues de prova artificials executables: benchmarks estàndard • També es fan servir com a càrregues de prova per a la comparació de sistemes informàtics.
CÀRREGUES DE TEST • Càrregues de prova no executables: distribucions estadístiques • Quan l’avaluació es fa per modelat, la càrrega de prova haurà de ser compatible amb aquesta tècnica. • Per exemple, si el sistema es modela com una xarxa de cues, la càrrega s’haurà de descriure por: • la distribució dels temps entre arribades dels programes • el nombre de visites de cada programa a cada recurs • la distribució dels temps de servei a cada recurs • etc.
CÀRREGUES DE TEST • Càrregues de prova no executables: traces per a simulacions • Una traça és en una seqüència cronològica, enregistrada a un suport adequat i que representa la informació referent als esdeveniments que s’han produït en un sistema durant una sessió de mesura. • Un esdeveniment és un canvi d’estat d’algun component del sistema. • Si es fa variar proporcionalment els intervals entre esdeveniments consecutius es pot simular fàcilment la variació de la càrrega.
CÀRREGUES DE TEST • Càrregues de prova no executables: traces per a simulacions • La representativitat és bastant alta. • No obstant això, la recollida de la traça pot provocar un overhead important que distorsioni llur qualitat, ja que els instants i, fins i tot, l’ordre d'aparició dels esdeveniments pot resultar alterat per l’existència del monitor encarregat d’obtenir la traça.
ÍNDEX • Introducció • Representativitat d’un model de càrrega • Càrregues de test o de prova • Tècniques d'implantació dels models de la càrrega • Benchmarks
IMPLANTACIÓ DE MODELS DE CÀRREGA • Com a la implantació de qualsevol model, les operacions es poden agrupar en tres fases: • formulació • construcció • validació.
IMPLANTACIÓ DE MODELS DE CÀRREGA • Formulació • Consisteix en el conjunt de decisions que es prenen: • Influïdes pels objectius de l’estudi, com la definició dels components bàsics de la càrrega • La disponibilitat de les dades.