karma linux

Download Karma Linux

Post on 05-Dec-2014

660 views

Category:

Documents

2 download

Embed Size (px)

DESCRIPTION

Karma Linux is a Linux distribution for deterministic application performance evaluation. It has been successfully used in a Computer Engineering Processor Design and Configuration Assessment course at the University of Cordoba. The evaluation of performance is driven by GLPerfex, a graphical tool that provides access to a set of performance counters—using the PAPI library [1]—and allows the task to have exclusive use of the CPU—using RTAI [2]. As a result, the system provides a deterministic environment to perform a non intrusive evaluation of applications. GLPerfex and LPerfex are free software under the GNU GPL v3 license. [1] Performance Application Programming Interface (PAPI), http://icl.cs.utk.edu/papi/ [2] Real Time Application Interface (RTAI), https://www.rtai.org/less

TRANSCRIPT

  • 1. PROYECTO FIN DE CARRERA INGENIERIA TECNICA EN INFORMATICA DE SISTEMAS Karma Linux 2008 Distribucion de Linux para la Evaluacion de Rendimiento en Sistemas Computacionales Modernos Autor Fernando Garca Aranda Directores Ezequiel Herruzo Gomez Jose Ignacio Benavides Bentez ESCUELA POLITECNICA SUPERIOR UNIVERSIDAD DE CORDOBA Junio - 2008
  • 2. D. Ezequiel Herruzo Gomez, Profesor Colaborador de Primer Nivel del Area de Arquitectura y Tecnologa de Computadores del Departamento de Arquitectura de Computadores, Electronica y Tecnologa Electronica de la Universidad de Cordoba. D. Jose Ignacio Benavides Bentez, Catedratico de Escuelas Universitarias del Area de Arquitectura y Tecnologa de Computadores del Departamento de Arquitectura de Computadores, Electronica y Tecnologa Electronica de la Universidad de Cordoba. Informan: Que el proyecto de n de carrera de Ingeniera Tecnica en Informatica de Sistemas titulado ((Distribucion de Linux para la Evaluacion de Rendimiento en Sistemas Computacionales Modernos)) ha sido realizado bajo su direccion por Fernando Garca Aranda en la Escuela Politecnica Superior de la Universidad de Cordoba, reuniendo, a su juicio, las condiciones exigidas a este tipo de trabajos. Y para que conste, rman el presente informe en Cordoba a 10 de julio de 2008. Los directores: D. Ezequiel Herruzo Gomez D. J. Ignacio Benavides Bentez
  • 3. Copyright c 2008 Fernando Garca, Ezequiel Herruzo, J. Ignacio Benavides Se otorga permiso para copiar, distribuir y/o modicar este docu- mento bajo los terminos de la Licencia de Documentacion Libre de GNU, Version 1.2 o cualquier otra version posterior publicada por la Free Software Foundation; sin Secciones Invariantes ni Textos de Cubierta Delantera ni Textos de Cubierta Trasera. Una copia de la licencia esta incluida en la seccion titulada GNU Free Documentation License del Apendice de Licencias.
  • 4. Karma Linux 2008 Distribucion de Linux para la Evaluacion de Rendimiento en Sistemas Computacionales Modernos Autor Fernando Garca Aranda Directores Ezequiel Herruzo Gomez Jose Ignacio Benavides Bentez
  • 5. Indice general 1. Introduccion 1 1.1. Eventos del Procesador . . . . . . . . . . . . . . . . . . . . . 2 1.1.1. Perfctr y Performance API . . . . . . . . . . . . . . . 3 1.1.2. Ruidos . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Sistemas Operativos en Tiempo Real . . . . . . . . . . . . . . 4 1.2.1. Planicacion de tareas . . . . . . . . . . . . . . . . . . 4 1.2.2. Manejo de Interrupciones . . . . . . . . . . . . . . . . 5 1.2.3. Comunicacion y Sincronizacion . . . . . . . . . . . . . 6 1.2.4. Gestion de la memoria . . . . . . . . . . . . . . . . . . 6 2. Denicion del Problema 9 2.1. Identicacion del Problema Real . . . . . . . . . . . . . . . . 9 2.2. Identicacion del Problema Tecnico . . . . . . . . . . . . . . 10 2.2.1. Funcionamiento . . . . . . . . . . . . . . . . . . . . . . 10 2.2.2. Entorno . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3. Vida Esperada . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4. Ciclo de Mantenimiento . . . . . . . . . . . . . . . . . 12 2.2.5. Competencia . . . . . . . . . . . . . . . . . . . . . . . 13 2.2.6. Aspecto Externo . . . . . . . . . . . . . . . . . . . . . 13 2.2.7. Estandarizacion . . . . . . . . . . . . . . . . . . . . . . 13 2.2.8. Calidad y Fiabilidad . . . . . . . . . . . . . . . . . . . 14 2.2.9. Programa de Tareas . . . . . . . . . . . . . . . . . . . 14 2.2.10. Pruebas . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.2.11. Seguridad . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.3. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.3.1. Adaptacion de Karma a Procesadores Multinucleo . . 16 2.3.2. Mejora de la Usabilidad . . . . . . . . . . . . . . . . . 16 2.3.3. Autonoma de la Plataforma . . . . . . . . . . . . . . 17 2.4. Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.4.1. Antecedentes a Lperfex y Glperfex . . . . . . . . . . . 18 2.4.2. Antecedentes de Planicadores en Tiempo Real . . . . 19 2.4.3. Antecedentes de la Distribucion . . . . . . . . . . . . . 19 2.4.4. Antecedentes a Sistemas de Benchmarking . . . . . . . 19 iii
  • 6. iv INDICE GENERAL 2.5. Restricciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.1. Factores Dato . . . . . . . . . . . . . . . . . . . . . . . 21 2.5.2. Factores Estrategicos . . . . . . . . . . . . . . . . . . . 21 2.6. Recursos para el Desarrollo . . . . . . . . . . . . . . . . . . . 23 2.6.1. Recursos Humanos . . . . . . . . . . . . . . . . . . . . 23 2.6.2. Recursos Hardware . . . . . . . . . . . . . . . . . . . . 24 2.6.3. Recursos Software . . . . . . . . . . . . . . . . . . . . 24 2.7. Recursos para la Ejecucion . . . . . . . . . . . . . . . . . . . 25 2.7.1. Recursos Humanos . . . . . . . . . . . . . . . . . . . . 26 2.7.2. Recursos Hardware . . . . . . . . . . . . . . . . . . . . 26 2.7.3. Recursos Software . . . . . . . . . . . . . . . . . . . . 26 3. Analisis del Sistema 27 3.1. Identicacion de Requisitos . . . . . . . . . . . . . . . . . . . 27 3.2. Modelado Estatico . . . . . . . . . . . . . . . . . . . . . . . . 28 3.2.1. Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . 29 3.2.2. Analisis de Clases del Sistema . . . . . . . . . . . . . . 32 3.3. Modelado Dinamico . . . . . . . . . . . . . . . . . . . . . . . 34 3.3.1. Diagramas de Secuencia . . . . . . . . . . . . . . . . . 34 3.4. Descripcion de la Informacion . . . . . . . . . . . . . . . . . . 38 3.4.1. El Formato CSV . . . . . . . . . . . . . . . . . . . . . 39 3.4.2. Nuestro Uso de CSV . . . . . . . . . . . . . . . . . . . 40 3.5. Requisitos de la Interfaz . . . . . . . . . . . . . . . . . . . . . 41 3.6. Descripcion y Especicaciones del Resto del Sistema . . . . . 43 3.6.1. Planicacion de Procesos . . . . . . . . . . . . . . . . 43 3.6.2. Descripcion de Componentes . . . . . . . . . . . . . . 45 3.6.3. Requisitos Funcionales . . . . . . . . . . . . . . . . . . 54 3.6.4. Requisitos No Funcionales . . . . . . . . . . . . . . . . 56 4. Diseno del Sistema 59 4.1. Diseno del Entorno de Ejecucion . . . . . . . . . . . . . . . . 59 4.1.1. Compilacion y Preparacion del Kernel . . . . . . . . . 60 4.1.2. Creacion del Entorno en Tiempo Real . . . . . . . . . 61 4.1.3. Creacion del Entorno de Medicion de Eventos . . . . . 62 4.1.4. Integracion del Sistema de Medicion en el kernel de Linux . . . . . . . . . . . . . . . . . . . . . . . . . . . 62 4.2. Diseno de la Aplicacion . . . . . . . . . . . . . . . . . . . . . 63 4.2.1. Clase MainFrame . . . . . . . . . . . . . . . . . . . . . 63 4.2.2. Clase Conguration . . . . . . . . . . . . . . . . . . . 64 4.2.3. Clase Counters . . . . . . . . . . . . . . . . . . . . . . 65 4.2.4. Clase CheckListCtrl . . . . . . . . . . . . . . . . . . . 66 4.2.5. Clase Results . . . . . . . . . . . . . . . . . . . . . . . 66 4.2.6. Clase ResultsPanel . . . . . . . . . . . . . . . . . . . . 67 4.2.7. Clase IOInterface . . . . . . . . . . . . . . . . . . . . . 68
  • 7. INDICE GENERAL v 4.3. Diseno de la Interfaz . . . . . . . . . . . . . . . . . . . . . . . 69 4.3.1. Generar Medicion . . . . . . . . . . . . . . . . . . . . 69 4.3.2. Cargar Resultado . . . . . . . . . . . . . . . . . . . . . 72 4.4. Diseno del Sistema Autonomo . . . . . . . . . . . . . . . . . . 73 4.4.1. Instalacion de Live Helper . . . . . . . . . . . . . . . . 74 4.4.2. Conguracion del Live CD Basico . . . . . . . . . . . 74 4.4.3. Anadiendo Funcionalidades al Live CD Basico . . . . 75 4.4.4. El entorno chroot . . . . . . . . . . . . . . . . . . . . . 77 4.4.5. Cerrando el Live CD . . . . . . . . . . . . . . . . . . . 78 5. Pruebas 79 5.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 5.2. Pruebas de Unidad . . . . . . . . . . . . . . . . . . . . . . . . 80 5.2.1. Pruebas de Casos de Uso . . . . . . . . . . . . . . . . 80 5.2.2. Pruebas de Escenarios de la Aplicacion . . . . . . . . 82 5.3. Pruebas de la Aplicacion . . . . . . . . . . . . . . . . . . . . . 84 5.3.1. Procedimiento Seguido . . . . . . . . . . . . . . . . . . 84 5.3.2. Ejecucion de los Casos de Prueba de la Aplicacion . . 85 5.4. Pruebas de Rendimiento de la Aplicacion . . . . . . . . . . . 87 5.4.1. Pruebas No Exclusivas Sin Ruido . . . . . . . . . . . . 88 5.4.2. Pruebas No Exclusivas Con Ruido . . . . . . . . . . . 89 5.4.3. Pruebas Bajo el Entorno Exclusivo . . . . . . . . . . . 89 6. Conclusiones y Futuras Mejoras 93 6.1. Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 6.1.1. Conclusiones personales . . . . . . . . . . . . . . . . . 94 6.2. Futuras mejoras . . . . . . . . . . . . . . . . . . . . . . . . . . 95 Bibliografa 97 A. Manual de Usuario 101 A.1. Requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 A.1.1. Requisitos del Sistema Completo . . . . . . . . . . . . 102 A.1.2. Requisitos de Glperfex . . . . . . . . . . . . . . . . . . 102 A.2. Instalacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 A.2.1. Instalacion de Karma Linux