11.07.2015 Views

La plataforma Simics como herramienta de aprendizaje

La plataforma Simics como herramienta de aprendizaje

La plataforma Simics como herramienta de aprendizaje

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>La</strong> <strong>plataforma</strong> <strong>Simics</strong> <strong>como</strong> <strong>herramienta</strong> <strong>de</strong> <strong>aprendizaje</strong>Alberto Ros y José M. GarcíaDepartamento <strong>de</strong> Ingeniería y Tecnología <strong>de</strong> ComputadoresFacultad <strong>de</strong> Informática. Universidad <strong>de</strong> Murcia30100 Murcia{a.ros,jmgarcia}@ditec.um.esResumenEn este trabajo mostramos <strong>como</strong> se impartela asignatura Diseño <strong>de</strong> arquitecturas <strong>de</strong> altorendimiento en la facultad <strong>de</strong> informática <strong>de</strong>la Universidad <strong>de</strong> Murcia. <strong>La</strong> principal innovaciónen la asignatura es el uso <strong>de</strong> la <strong>plataforma</strong><strong>de</strong> simulación <strong>Simics</strong> <strong>como</strong> <strong>herramienta</strong>didáctica. En concreto en esta asignatura usamos<strong>Simics</strong> para la evaluación <strong>de</strong> servidores<strong>de</strong> aplicaciones. <strong>La</strong> experiencia en la asignaturaha sido muy positiva y los alumnos hanrespondido a<strong>de</strong>cuadamente a la i<strong>de</strong>a <strong>de</strong> tenerque <strong>de</strong>sarrollar un trabajo cercano al mundoempresarial, llegando a disfrutar con la evaluacióny conguración <strong>de</strong> los equipos. Estose <strong>de</strong>muestra en la valoración que ha obtenidola asignatura por los alumnos (8,11 sobre10). Finalmente, hemos comprobado que al -nalizar el curso los alumnos han mejorado susconocimientos cientícos y adquirido las competenciasque se proponía la asignatura, tantoespecícas <strong>como</strong> transversales.1. MotivaciónCon la llegada <strong>de</strong>l Espacio Europeo <strong>de</strong> EducaciónSuperior (EEES) se preten<strong>de</strong> que laenseñanza universitaria dote a los alumnos<strong>de</strong> una serie <strong>de</strong> competencias que les sirvana la hora <strong>de</strong> enfrentarse al mercado laboral.<strong>La</strong> ANECA (Agencia Nacional <strong>de</strong> Evaluación<strong>de</strong> la Calidad y Acreditación) ha realizado ungran esfuerzo elaborando los <strong>de</strong>nominados librosblancos en los que se recogen las competenciasque <strong>de</strong>ben haber adquirido los estudiantes<strong>de</strong> cada titulación al acabar el grado.Dichas competencias han sido recopiladasmediante numerosos análisis, encuestas y reunionescon empresas, profesores y titulados, yclasicadas según dos tipos: las especícas <strong>de</strong>cada titulación y las transversales comunes atodas las titulaciones.En este artículo preten<strong>de</strong>mos mostrar lasmodicaciones que hemos realizado en unaasignatura <strong>de</strong>l plan <strong>de</strong> estudios actual (Diseño<strong>de</strong> arquitecturas <strong>de</strong> alto rendimiento) para diseñarlateniendo en cuenta el análisis <strong>de</strong> competencias,y que nos sirva <strong>de</strong> experiencia parala inminente puesta en marcha <strong>de</strong> los nuevosplanes <strong>de</strong> estudio <strong>de</strong> grado en informática.Diseño <strong>de</strong> arquitecturas <strong>de</strong> alto rendimiento(DAAR) es una asignatura optativa <strong>de</strong> quintocurso <strong>de</strong> la ingeniería informática impartidaen la Universidad <strong>de</strong> Murcia. Es una asignatura<strong>de</strong> carácter principalmente práctico en laque se enseña el uso <strong>de</strong> las técnicas <strong>de</strong> análisisy evaluación <strong>de</strong> prestaciones <strong>de</strong> una arquitecturapor medio <strong>de</strong> un caso práctico y actual:un servidor <strong>de</strong> aplicaciones [10].En esta asignatura preten<strong>de</strong>mos cubrir enprofundidad dos <strong>de</strong> las competencias especicasrecogidas en el libro blanco <strong>de</strong>l título <strong>de</strong>grado en ingeniería informática [3]: evaluación<strong>de</strong> requisitos hardware y metodologías <strong>de</strong> con-guración. En general, <strong>de</strong> entre las competenciasespecícas indicadas en el libro blanco,DAAR preten<strong>de</strong> dotar a los alumnos <strong>de</strong> lasmostradas en la tabla 1. A<strong>de</strong>más, en la asigna-


292 Docencia <strong>de</strong> Arquitectura <strong>de</strong> ComputadoresTabla 1: Competencias especícas tratadas enDAARCompetencias especícasArquitecturas <strong>de</strong> computadoresDiseño y arquitectura <strong>de</strong> sistemas <strong>de</strong> informaciónEvaluación <strong>de</strong> requisitos hardwareMetodologías <strong>de</strong> conguraciónMétodos y Herramientas para el diseño y<strong>de</strong>sarrollo <strong>de</strong> sistemas basados en computadoresTecnología hardwareVisión comercial y empresarialtura también se tratan las competencias transversalesmás importantes según el citado libroblanco <strong>como</strong> la capacidad para resolver problemas,eltrabajo en equipo ylacapacidad <strong>de</strong>análisis y <strong>de</strong> síntesis.Al ser una asignatura optativa, el número<strong>de</strong> alumnos no es muy elevado, pero posee unaten<strong>de</strong>ncia ascen<strong>de</strong>nte. Por otro lado, el reducidonúmero <strong>de</strong> alumnos permite un seguimientocercano <strong>de</strong>l trabajo realizado por ellos. Poresa razón se ha elegido un método <strong>de</strong> evaluacióncontinua, en la que la nota <strong>de</strong> los alumnos<strong>de</strong>pen<strong>de</strong> <strong>de</strong> los progresos realizados.En el curso 2006/2007, se propuso por primeravez en la asignatura el uso <strong>de</strong>l simulador<strong>Simics</strong> para la evaluación <strong>de</strong> prestaciones <strong>de</strong>los servidores <strong>de</strong> aplicaciones que utilizamospara las prácticas. <strong>La</strong> ventaja principal <strong>de</strong> <strong>Simics</strong>consiste en que permite modicar la con-guración <strong>de</strong> los servidores <strong>de</strong> un modo sencillo,pudiéndose evaluar diversas conguraciones.Gracias al uso <strong>de</strong> <strong>Simics</strong> se pue<strong>de</strong>n mo<strong>de</strong>lary evaluar diversas conguraciones <strong>de</strong> laarquitectura <strong>de</strong>l simulador modicando parámetrosque inuirán en el rendimiento, <strong>como</strong>el número <strong>de</strong> procesadores, el tamaño <strong>de</strong> lamemoria o la red <strong>de</strong> interconexión. De estaforma el alumno se enfrenta a <strong>de</strong>cisiones <strong>de</strong>diseño, preguntándose si conviene mejorar uncomponente u otro para tener un mejor ratiorendimiento/coste.Finalmente, se preten<strong>de</strong> que la asignaturasea muy útil, para que los alumnos puedanaplicar estos conocimientos a los servidoresque tienen las empresas <strong>de</strong> tamaño pequeñoy mediano, que son el tipo <strong>de</strong> empresas máscomunes <strong>de</strong>ntro <strong>de</strong> nuestro entorno socioeconómico.Tras esta introducción, el resto <strong>de</strong>l artículose estructura <strong>de</strong> la siguiente manera. Enla sección 2 se comentará la importancia <strong>de</strong>apren<strong>de</strong>r a evaluar y congurar los servidores<strong>de</strong> aplicaciones. <strong>La</strong> sección 3 estudian las<strong>herramienta</strong>s <strong>de</strong> simulación disponibles y porque <strong>Simics</strong> es la más a<strong>de</strong>cuada para la asignatura.<strong>La</strong> sección 4 introduce la <strong>plataforma</strong><strong>de</strong> simulación <strong>Simics</strong>. A continuación, en lasección 5 mostramos la experiencia práctica<strong>de</strong>l año pasado en el que incorporamos porprimera vez el uso <strong>de</strong> <strong>Simics</strong> a la asignatura,ofreciendo en la sección siguiente algunos resultadosacerca <strong>de</strong> este sistema, tanto a juicio<strong>de</strong> los alumnos <strong>como</strong> <strong>de</strong> los profesores. Finalmente,el artículo termina con una sección <strong>de</strong>conclusiones acerca <strong>de</strong> todo lo expuesto.2. <strong>La</strong> evaluación <strong>de</strong> servidores <strong>de</strong>aplicacionesActualmente las empresas y los organismospúblicos quieren ofrecer nuevos servicios a susclientes y ciudadanos haciendo uso <strong>de</strong> las facilida<strong>de</strong>sque provee Internet, es <strong>de</strong>cir por medio<strong>de</strong> servicios basados en web. El responsable <strong>de</strong>estos sistemas informáticos necesita conocercómo <strong>de</strong> eciente es el sistema, si dicho sistemapodría soportar la carga <strong>de</strong> trabajo <strong>de</strong>lpróximo año, qué componente o característica<strong>de</strong>l sistema es necesario mejorar para po<strong>de</strong>rsoportar una carga mayor, etc. Para darrespuesta a estas cuestiones hay que utilizartécnicas cuantitativas que arrojen algo <strong>de</strong> luza las preguntas realizadas [5].<strong>La</strong> mejora <strong>de</strong>l rendimiento <strong>de</strong> un sistemainformático, por tanto, no es tarea trivial, yaque hay multitud <strong>de</strong> factores que inuyen enél, <strong>de</strong>s<strong>de</strong> los componentes físicos <strong>de</strong>l computadorhasta el comportamiento <strong>de</strong> los programasque se ejecutan en él (sistema operativoy aplicaciones <strong>de</strong> usuario). En cualquier caso,la mejora <strong>de</strong>l rendimiento implicará la locali-


XIV Jornadas <strong>de</strong> Enseñanza Universitaria <strong>de</strong> la Informática 293zación <strong>de</strong>l cuello <strong>de</strong> botella <strong>de</strong>l sistema pararealizar las oportunas acciones que permitanmejorar dicho sistema.En la asignatura que impartimos enseñamosa los alumnos a afrontar el reto <strong>de</strong> evaluar ymejorar el rendimiento <strong>de</strong> un servidor <strong>de</strong> altasprestaciones. De hecho, las prácticas quese <strong>de</strong>sarrollan a lo largo <strong>de</strong> la asignatura sesitúan en esta línea, estando enmarcadas enel contexto <strong>de</strong>nido por el rendimiento <strong>de</strong> unservidor con contenidos tanto estáticos <strong>como</strong>dinámicos. Sin embargo, a la hora <strong>de</strong> evaluarel rendimiento <strong>de</strong> un servidor no es posiblemodicar <strong>de</strong> un modo sencillo las características<strong>de</strong>l sistema y, por tanto, sólo es posible <strong>de</strong>tectarlos cuellos <strong>de</strong> botella, sin conocer <strong>como</strong>el cambio <strong>de</strong> este componente mejoraría en elrendimiento <strong>de</strong>l servidor.El uso <strong>de</strong> simuladores facilita esta tarea permitiendomodicar parámetros tales <strong>como</strong> elnúmero <strong>de</strong> procesadores, tamaño <strong>de</strong> las cachesy memoria, red <strong>de</strong> interconexión, etc. Al contrarioque las aplicaciones <strong>de</strong> tipo cientíco,las aplicaciones que se ejecutan en los servidorespresentan una serie <strong>de</strong> diculta<strong>de</strong>s parasu estudio <strong>de</strong>bido a la alta inuencia <strong>de</strong> la actividad<strong>de</strong>l sistema operativo, la red <strong>de</strong> comunicacióny el sistema <strong>de</strong> almacenamiento. Portanto, para su correcta evaluación es necesarioel uso <strong>de</strong> un simulador que mo<strong>de</strong>le un sistemacompleto.3. Herramientas <strong>de</strong> Simulación<strong>La</strong>s <strong>herramienta</strong>s <strong>de</strong> simulación ofrecen unaserie <strong>de</strong> posibilida<strong>de</strong>s que no están disponiblesen una máquina real. A<strong>de</strong>más <strong>de</strong> permitir modicarlas características <strong>de</strong> la máquina, ofrecenestadísticas <strong>de</strong>talladas <strong>de</strong> la simulación.Por otro lado, al ser <strong>de</strong>terministas, se pue<strong>de</strong>repetir sucesivas veces una simulación obteniendosiempre el mismo resultado. Sin embargo,el inconveniente <strong>de</strong> la simulación consisteen la velocidad. Obviamente ejecución <strong>de</strong> unaaplicación en una máquina real, es más rápidaque su simulación.Existen muchos simuladores utilizados tantoen docencia <strong>como</strong> en investigación. Ejemplosellos son RSIM [6], Simplescalar [4],GEMS [9], etc. Estos simuladores permitenmodicar diversos aspectos <strong>de</strong>l sistema <strong>de</strong> unmodo sencillo mediante parámetros. Sin embargo,estas <strong>herramienta</strong>s no simulan el comportamiento<strong>de</strong> una máquina completa (porejemplo, las llamadas al sistema), y por tantono se a<strong>de</strong>cuan a los objetivos <strong>de</strong> las prácticas.A<strong>de</strong>más, la adaptación <strong>de</strong> las aplicaciones parasimularlas bajo estas <strong>herramienta</strong>s resultaríatediosa.En el otro extremo se encuentran las <strong>herramienta</strong>s<strong>de</strong> virtualización, en las que es posibleinstalar cualquier sistema operativo. En algunoscasos, <strong>como</strong> en VMWare [12], sin necesidad<strong>de</strong> modicación. En otros, <strong>como</strong> ocurre enXen [1], el sistema operativo requiere modicacionespara su instalación. Desafortunadamente,estas <strong>herramienta</strong>s no permiten modi-car la conguración <strong>de</strong> la máquina virtualizada,por lo que tampoco son a<strong>de</strong>cuados paralos objetivos <strong>de</strong> la asignatura.En el termino medio se encuentra el simulador<strong>Simics</strong> [8]. <strong>Simics</strong> simula un sistema completopermitiendo la instalación <strong>de</strong> un sistemaoperativo sin modicaciones y, por tanto,la instalación <strong>de</strong> las aplicaciones que van aser evaluadas. A<strong>de</strong>más permite modicar lamaquina simulada y ofrece estadísticas queayudan a compren<strong>de</strong>r el funcionamiento <strong>de</strong> laaplicación. Es por ello, que creemos que <strong>Simics</strong>es la <strong>herramienta</strong> que mejor se ajusta alos objetivos <strong>de</strong> la asignatura.4. <strong>La</strong> <strong>plataforma</strong> <strong>Simics</strong>Virtutech <strong>Simics</strong> [8] es una <strong>plataforma</strong> <strong>de</strong> simulación<strong>de</strong> un sistema completo que permitesimular el conjunto <strong>de</strong> instrucciones <strong>de</strong> diversasarquitecturas. Se utiliza principalmentepara tareas <strong>de</strong> investigación en arquitectura<strong>de</strong> computadores, <strong>de</strong>sarrollo <strong>de</strong> sistemas operativosy simulación conjunta <strong>de</strong> hardware ysoftware. En DAAR proponemos el uso <strong>de</strong> <strong>Simics</strong>con nes docentes, para la evaluación <strong>de</strong>servidores <strong>de</strong> aplicaciones.A la hora <strong>de</strong> analizar el rendimiento <strong>de</strong> unservidor <strong>de</strong> aplicaciones, resulta relativamente


294 Docencia <strong>de</strong> Arquitectura <strong>de</strong> Computadoressencillo (mediante benchmarking o otras técnicas)obtener la máxima carga que pue<strong>de</strong> soportarun sistema real para una aplicación <strong>de</strong>terminada.Sin embargo, <strong>de</strong>bido a la dicultad<strong>de</strong> modicar los componentes hardware<strong>de</strong> dicho sistema, resulta complicado averiguar<strong>como</strong> afecta el cambio <strong>de</strong> un componente alrendimiento <strong>de</strong>l servidor.Es por ello por lo que proponemos el uso<strong>de</strong> <strong>Simics</strong> <strong>como</strong> <strong>herramienta</strong> docente. <strong>Simics</strong>permite ejecutar cualquier sistema operativosin modicaciones sobre una máquina con lascaracterísticas <strong>de</strong>seadas, permitiendo variar elnumero <strong>de</strong> procesadores, la frecuencia <strong>de</strong>l procesador,el tamaño <strong>de</strong> la jerarquía <strong>de</strong> memoria,la velocidad <strong>de</strong> la red, etc. Esta exibilidadconvierte a <strong>Simics</strong> en una <strong>herramienta</strong> óptimapara el estudio <strong>de</strong>l rendimiento <strong>de</strong> servidores<strong>de</strong> aplicaciones, ya que permite experimentar<strong>de</strong> un modo sencillo con una gran variedad <strong>de</strong>máquinas y conguraciones.A<strong>de</strong>más, <strong>Simics</strong> se pue<strong>de</strong> usar <strong>de</strong> un modosencillo <strong>como</strong> <strong>herramienta</strong> para la docencia.Una vez conocidos una serie <strong>de</strong> comandos básicos(los cuales explicamos mediante seminarios),y arrancado el simulador, se dispone <strong>de</strong>una o varias terminales, cada una <strong>de</strong> ellas representandoun equipo (servidor o clientes). Amodo <strong>de</strong> ejemplo, en la gura 1 se pue<strong>de</strong>n observardos instancias <strong>de</strong> <strong>Simics</strong> conectadas medianteuna conexión <strong>de</strong> red simulada. <strong>La</strong> máquinacliente (esquina inferior <strong>de</strong>recha) estárealizando un ping sobre la máquina servidor(esquina superior izquierda). <strong>La</strong> tercera ventana(esquina inferior izquierda) correspon<strong>de</strong>a la consola <strong>de</strong> <strong>Simics</strong> y permite <strong>de</strong>tener y reanudarla simulación en cualquier momento, así<strong>como</strong> po<strong>de</strong>r guardar el estado completo <strong>de</strong> lamáquina. Esto es muy útil para los alumnosque <strong>de</strong>sean trabajar en los laboratorios disponiblespara la asignatura, ya que pue<strong>de</strong>nguardar todo el trabajo realizado al nal <strong>de</strong>una sesión y cargarlo en cualquier otro momento,reanudándose la simulación por don<strong>de</strong>se <strong>de</strong>tuvo la última vez.Para la realización <strong>de</strong> las prácticas, losalumnos <strong>de</strong>ben instalar la aplicación web enel servidor y un benchmark en el cliente, quelance peticiones sobre el servidor. <strong>La</strong> instalación<strong>de</strong> la aplicación en el simulador se realiza<strong>de</strong>l mismo modo que en un equipo real quecontara con el mismo sistema operativo.4.1. Primeros pasos en <strong>Simics</strong>En esta sección comentaremos brevemente lospasos a seguir por los alumnos para la instalacióny conguración <strong>de</strong> <strong>Simics</strong>, con el n <strong>de</strong><strong>de</strong>mostrar su fácil manejo. Los recursos softwarenecesarios para la instalación y uso <strong>de</strong>lsimulador se encuentran disponibles en todoslos equipos <strong>de</strong> los laboratorios <strong>de</strong> prácticas.Estos recursos son los siguientes:• Simulador <strong>Simics</strong> (simics-pal-3.0.30-linux.tar): Para la realización <strong>de</strong> lasprácticas proporcionamos la versión 3.0<strong>de</strong> <strong>Simics</strong>.• Fichero <strong>de</strong> licencia (u_<strong>de</strong>_murcia-x2008-08-31singleserver.lic): Para po<strong>de</strong>r ejecutar<strong>Simics</strong> es necesario tener una licencia.Dicha licencia ha sido adquirida porla Universidad <strong>de</strong> Murcia. Aunque cadaalumno pue<strong>de</strong> obtener una licencia <strong>de</strong>estudiante para po<strong>de</strong>r trabajar en casa,nosotros proporcionamos el chero con lalicencia <strong>de</strong> la Universidad <strong>de</strong> Murcia conel n <strong>de</strong> evitar que el alumno tenga queregistrarse.• Imagen <strong>de</strong> disco (tango1-fedora5.cra ):Para que <strong>Simics</strong> ejecute el sistema operativoal arrancar, se necesita un cheroque contiene una imagen <strong>de</strong>l disco durocon el sistema operativo ya instalado.En concreto, proporcionamos la imagen<strong>de</strong> un disco con fedora core 5.En primer lugar, el alumno <strong>de</strong>be instalar<strong>Simics</strong> y copiar el chero <strong>de</strong> licencia. Los -cheros <strong>de</strong>scritos anteriormente se encuentrana disposición <strong>de</strong> los alumnos en el directorio/tools/daar/.


XIV Jornadas <strong>de</strong> Enseñanza Universitaria <strong>de</strong> la Informática 295Figura 1: Dos equipos simulados por <strong>Simics</strong> conectados entre si por un enlace <strong>de</strong> red simulado.$ cp /tools/daar/simics-pal-3.0.30-linux.tar .$ tar xf simics-pal-3.0.30-linux.tar$ cd simics-3.0-install$ sh install-simics.sh$ cp /tools/daar/u_<strong>de</strong>_murcia-x2008-08-31singleserver.lic simics-3.0.30/licenses/Después se ha <strong>de</strong> crear un directorio <strong>de</strong> trabajo(por ejemplo, workspace) y copiar en élel chero con la imagen <strong>de</strong> disco.$ ./simics targets/x86-440bx/tango-multi.simicssimics> cAl acabar <strong>de</strong> trabajar con <strong>Simics</strong>, se pue<strong>de</strong>guardar el estado completo <strong>de</strong>l sistema simuladomediante checkpoints. Posteriormente, elalumno podrá volver a cargar el sistema y continuarla simulación por don<strong>de</strong> la había <strong>de</strong>jado.$ cd simics-3.0.30$ ./bin/workspace-setup workspace$ cd workspace$ cp /tools/daar/tango1-fedora5.craff .Por último sólo quedaría ejecutar <strong>Simics</strong>.Por ejemplo, escribiendo el siguiente comandose ejecutarían dos instancias <strong>de</strong> <strong>Simics</strong> conectadaspor un enlace simulado <strong>como</strong> el <strong>de</strong> lagura 1. Para que comience la ejecución <strong>de</strong>los sistemas hay que escribir el comando c enla consola <strong>de</strong> simics.simics> # Guardar el checkpoint ...simics> write-configuration checkpoint1simics> # Cargar el checkpoint ...simics> read-configuration checkpoint1<strong>Simics</strong> se pue<strong>de</strong> congurar con diversos parámetrosy componentes. El sistema <strong>de</strong> con-guración <strong>de</strong> <strong>Simics</strong> es orientado a objetos.Cada objeto es <strong>de</strong>nido por una serie <strong>de</strong> propieda<strong>de</strong>sllamadas atributos. Por ejemplo, elobjeto processor tiene un atributo llamadofreq_mhz que <strong>de</strong>ne su frecuencia. Sin embargo,<strong>Simics</strong> ofrece para cada arquitectura


296 Docencia <strong>de</strong> Arquitectura <strong>de</strong> Computadoressimulada po<strong>de</strong>r modicar una serie <strong>de</strong> parámetros<strong>de</strong> un modo más directo. Por ejemplo,escribiendo el código que se muestra a continuaciónen el chero .simics, pasado <strong>como</strong>parámetro al simulador y que <strong>de</strong>ne la máquinasimulada, ejecutaremos un sistema condos procesadores <strong>de</strong> 1GHz cada uno con untotal <strong>de</strong> 1GB <strong>de</strong> memoria.$num_cpus = 2$freq_mhz = 1000$memory_megs = 10245. Experiencia prácticaEn esta sección <strong>de</strong>scribimos <strong>como</strong> hemos llevadoa la práctica el uso <strong>de</strong>l simulador <strong>Simics</strong>con nes docentes en la asignatura Diseño <strong>de</strong>arquitecturas <strong>de</strong> alto rendimiento.Como hemos comentado, DAAR es unaasignatura <strong>de</strong> carácter primordialmente práctico.<strong>La</strong> i<strong>de</strong>a <strong>de</strong> la asignatura es que los alumnosse acerquen al mundo empresarial medianteun caso práctico y actual, <strong>como</strong> es la evaluacióny mejora <strong>de</strong> un servidor <strong>de</strong> aplicaciones.Para potenciar el trabajo en equipo seanima a que los alumnos formen parejas <strong>de</strong>s<strong>de</strong>el primer día <strong>de</strong> la asignatura. Cada equipo<strong>de</strong>berá elegir una aplicación a evaluar tanto enuna máquina real <strong>como</strong> en una máquina simuladacon <strong>Simics</strong>. <strong>La</strong> tabla 2 muestra las aplicacionesque pue<strong>de</strong>n elegir los alumnos. Estasaplicaciones se pue<strong>de</strong>n clasicar en estáticas ydinámicas. <strong>La</strong> elección <strong>de</strong> las estáticas implicaun nivel <strong>de</strong> dicultad <strong>de</strong> las prácticas menor,ya que solo se precisa la instalación <strong>de</strong> la aplicaciónapache y el benchmark que genera lacarga <strong>de</strong> trabajo [11]. En cambio, las aplicacionesdinámicas requieren a<strong>de</strong>más la instalaciónotras aplicaciones <strong>como</strong> PHP o MySQL en elcaso <strong>de</strong> RUBiS y RUBBoS [2], o PostgreSQLen el caso <strong>de</strong> TPC-C [7].Para la explicación <strong>de</strong> los contenidos teóricosnecesarios para la elaboración <strong>de</strong> las prácticasutilizamos principalmente la clase magistral,mediante la transmisión <strong>de</strong> informaciónen un tiempo ocupado principalmente por laexposición oral y el apoyo <strong>de</strong> las TICs. Du-Tabla 2: Aplicaciones a elegir en las prácticas.EstáticasApache con Servidor httphttperfApache con Servidor httpWebStoneDinámicasSPECweb2005 Catálogo, Sitio <strong>de</strong> subastas,sitio <strong>de</strong> bancaSPECjbb2005 Servidor <strong>de</strong> una compañía<strong>de</strong> venta al por mayorTPC-C Servidor <strong>de</strong> procesamiento<strong>de</strong> transacciones en líneaRUBiS Sitio <strong>de</strong> subastasRUBBoS Foro <strong>de</strong> noticiasrante dicha exposición planteamos preguntas,resolvemos las dudas, orientamos la búsqueda<strong>de</strong> información, y fomentamos el <strong>de</strong>bate individualo en grupo.Una vez explicados los contenidos teóricos,los alumnos proce<strong>de</strong>n a la elaboración <strong>de</strong> lasprácticas, estructuradas en tres bloques. Cadabloque irá seguido <strong>de</strong> una <strong>de</strong>fensa <strong>de</strong>l trabajorealizado, para fomentar el <strong>de</strong>sarrollo <strong>de</strong> lashabilida<strong>de</strong>s <strong>de</strong> comunicación oral por parte <strong>de</strong>los alumnos. <strong>La</strong> evaluación <strong>de</strong> las tres prácticasy las respectivas <strong>de</strong>fensas se hace <strong>de</strong> formacontinua. Tras la <strong>de</strong>fensa <strong>de</strong> cada uno <strong>de</strong> lostrabajos, tanto los alumnos <strong>como</strong> los profesorespodrán formular preguntas a los compañerosque <strong>de</strong>en<strong>de</strong>n su trabajo. Al nal, losprofesores comentan los puntos fuertes y débiles<strong>de</strong> los trabajos con el n <strong>de</strong> que sirvan<strong>de</strong> feedback para la realización <strong>de</strong> las practicassiguientes.El la primera práctica los alumnos <strong>de</strong>beráninstalar y congurar la aplicación elegidaen una máquina real. Una vez instalada, losalumnos <strong>de</strong>ben realizar la evaluación <strong>de</strong> lasprestaciones <strong>de</strong>l servidor, obteniendo su capacidadmáxima <strong>de</strong> carga y el tiempo mínimo <strong>de</strong>respuesta y localizando su cuello <strong>de</strong> botella.<strong>La</strong> segunda práctica consistirá en realizarlos mismos pasos sobre <strong>Simics</strong>. Los alumnos<strong>de</strong>ben analizar los resultados obtenidos en la


XIV Jornadas <strong>de</strong> Enseñanza Universitaria <strong>de</strong> la Informática 297evaluación <strong>de</strong>l servidor y compararlos con losobtenidos en la primera práctica. Con estopreten<strong>de</strong>mos fomentar la capacidad <strong>de</strong> análisisy síntesis <strong>de</strong> los alumnos.Finalmente, la tercera práctica consiste enusar la capacidad <strong>de</strong> <strong>Simics</strong> para modicar laconguración <strong>de</strong>l servidor <strong>de</strong> un modo inteligente.Los alumnos <strong>de</strong>ben buscar una conguraciónlo más económica posible que mejore elrendimiento <strong>de</strong>l sistema.6. Resultados obtenidosCon la intención <strong>de</strong> conocer el punto <strong>de</strong> vista<strong>de</strong> los alumnos sobre la asignatura, realizamosal nal <strong>de</strong>l curso una encuesta. <strong>La</strong> encuesta larealizamos con la aplicación web PHPSurveyor1 . Esta aplicación proporciona dos ventajasrespecto a las encuestas tradicionales. Enprimer lugar, realizar la encuesta se convierteen una tarea más amena para los alumnos. Ensegundo lugar, los resultados se almacenan enuna base <strong>de</strong> datos que se pue<strong>de</strong> manejar confacilidad para obtener los datos necesarios.Des<strong>de</strong> nuestro punto <strong>de</strong> vista, la experienciaen la asignatura ha sido muy positiva. Hemosnotado que los alumnos respon<strong>de</strong>n a<strong>de</strong>cuadamentea la i<strong>de</strong>a <strong>de</strong> tener que <strong>de</strong>sarrollar untrabajo cercano al mundo empresarial, llegandoalgunos <strong>de</strong> ellos a disfrutar con la evaluacióny conguración <strong>de</strong> los equipos. Pero sinlugar a dudas lo más importante es que losalumnos mejoran sus conocimientos sobre arquitectura<strong>de</strong> computadores, conguración <strong>de</strong>sistemas, evaluación <strong>de</strong> prestaciones y aplicacionesweb.<strong>La</strong> inclusión <strong>de</strong>l simulador <strong>Simics</strong> en la asignaturaha supuesto también un avance en laenseñanza <strong>de</strong> los alumnos. <strong>La</strong> posibilidad <strong>de</strong>po<strong>de</strong>r evaluar una gran variedad <strong>de</strong> conguracionesy equipos para una aplicación web noera posible antes <strong>de</strong> la inclusión <strong>de</strong> este simulador.En nuestro primer año realizando prácticascon <strong>Simics</strong>, todos los alumnos que realizaronlas tres presentaciones <strong>de</strong> las prácticasaprobaron la asignatura. A<strong>de</strong>más notamos un1 PHPSurveyor está disponible en la dirección webhttp://sourceforge.net/projects/phpsurvey/aumento <strong>de</strong> la calidad <strong>de</strong> las presentaciones ysu contenido conforme avanzaba la asignatura.Con respecto a la opinión <strong>de</strong> los alumnossobre la asignatura, y a partir <strong>de</strong> los datos recogidosen la encuesta, todos los alumnos piensanque el grado <strong>de</strong> complejidad <strong>de</strong> <strong>Simics</strong> esa<strong>de</strong>cuado para quinto curso, aunque el 11 %piensa que las prácticas realizadas no reejana<strong>de</strong>cuadamente los contenidos <strong>de</strong> la asignatura.Por ultimo, los alumnos piensan quela asignatura es útil para su formación profesionaly cientíca (4,33 sobre 5), y <strong>de</strong> hecho larecomendarían a otros compañeros (4,56 sobre5). Al nal <strong>de</strong>l cuestionario preguntamosa los alumnos que evaluaran la asignatura conuna puntuación <strong>de</strong>l 1 al 10, obteniendo un resultado<strong>de</strong> 8,11.7. ConclusionesEn este trabajo hemos mostrado <strong>como</strong> usar elsimulador <strong>Simics</strong> con nes docentes en informática,en concreto para la evaluación <strong>de</strong> servidores<strong>de</strong> aplicaciones. El caso <strong>de</strong> uso elegidoha sido la asignatura optativa <strong>de</strong> quinto cursoDiseño <strong>de</strong> arquitecturas <strong>de</strong> alto rendimiento<strong>de</strong> la facultad <strong>de</strong> informática <strong>de</strong> la Universidad<strong>de</strong> Murcia.<strong>La</strong> innovación presentada se sitúa en el marco<strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong> asignaturas teniendo encuenta las directivas marcadas por el EEES.Concretamente, hemos realizado el programa<strong>de</strong> la asignatura en base a las competencias aalcanzar, y el <strong>de</strong>sarrollo <strong>de</strong> la misma nos hapermitido interactuar y tutorizar a los alumnos<strong>de</strong> forma a<strong>de</strong>cuada.<strong>La</strong> experiencia en la asignatura ha sido positiva.Hemos notado que los alumnos respon<strong>de</strong>na<strong>de</strong>cuadamente a la i<strong>de</strong>a <strong>de</strong> tener que <strong>de</strong>sarrollarun trabajo cercano al mundo empresarial,llegando a disfrutar con la evaluación yconguración <strong>de</strong> los equipos. Pero sin lugar adudas lo más importante es que los alumnosmejoran su conocimiento sobre arquitectura<strong>de</strong> computadores, conguración <strong>de</strong> sistemas,evaluación <strong>de</strong> prestaciones y aplicaciones web.<strong>La</strong>s prestaciones que ofrece <strong>Simics</strong> para modi-


298 Docencia <strong>de</strong> Arquitectura <strong>de</strong> Computadorescar la conguración <strong>de</strong> los equipos ha sidofundamental para lograr estos objetivos.Los alumnos han respondido bien a la asignaturay han quedado bastante satisfechos,asignando a la asignatura una puntuación <strong>de</strong>8,11 sobre 10. A<strong>de</strong>más, la mayoría cree que <strong>Simics</strong>es a<strong>de</strong>cuado para la asignatura tanto entérminos <strong>de</strong> complejidad <strong>como</strong> <strong>de</strong> contenido.En general, piensan que la asignatura es <strong>de</strong>gran utilidad para su formación profesional ycientíca.Finalmente, hemos comprobado que al cursarla asignatura los alumnos adquieren lascompetencias propuestas, tanto transversales<strong>como</strong> especícas.Agra<strong>de</strong>cimientosEste trabajo ha sido nanciado por el Ministerio<strong>de</strong> Educación y Ciencia a través <strong>de</strong>l proyecto"TIN2006-15516-C04-03". Alberto Rosagra<strong>de</strong>ce al Ministerio <strong>de</strong> Educación y Cienciala nanciación ofrecida <strong>de</strong>ntro <strong>de</strong>l programaFPU, con la beca AP-2004-3735.Referencias[1] Tim Abels, Puneet Dhawan y BalasubramanianChandrasekaran, An overview ofxen virtualization, Dell Power Solutions,agosto 2005.[2] Cristiana Amza, Emmanuel Cecchet,Anupam Chanda, Alan Cox, Sameh Elnikety,Romer Gil, Julie Marguerite, KarthickRajamani y Willy Zwaenepoel, Speci-cation and Implementation of DynamicWeb Site Benchmarks, WWC-5: IEEE 5thAnnual Workshop on Workload Characterization,noviembre 2002.[3] ANECA, Libro Blanco <strong>de</strong>l Título <strong>de</strong> Gradoen Ingeniería Informática, Proyecto EI-CE, junio 2005.[4] Todd Austin, Eric <strong>La</strong>rson y Dan Ernst,SimpleScalar: An Infrastructure for ComputerSystem Mo<strong>de</strong>ling IEEE Computer,35(2), pp. 59-67, febrero 2002.[5] John L. Hennessy y David A. Patterson,Computer Architecture: A QuantitativeApproach, 4a Edición, Morgan KaufmannPublishers, Inc., 2007.[6] Christopher J. Hughes, Vijay S. Pai,Parthasarathan Ranganathan y SaritaV. Adve, RSIM: Simulating Shared-Memory Multiprocessors with ILP Processors,IEEE Computer, 35(2), pp. 40-49, febrero2002.[7] Diego R. Llanos, TPCC-UVA: An Open-Source TPC-C Implementation for GlobalPerformance Measurement of ComputerSystems, ACM SIGMOD Record, ACMPress, diciembre 2006.[8] Peter S. Magnusson, Magnus Christensson,Jesper Eskilson, Daniel Forsgren,Gustav Hallberg, Johan Hogberg, Fredrik<strong>La</strong>rsson, Andreas Moestedt y Bengt Werner,<strong>Simics</strong>: A Full System SimulationPlatform, IEEE Computer, pp. 50-58, vol.35, febrero 2002.[9] Milo M.K. Martin, Daniel J. Sorin, BradfordM. Beckmann, Michael R. Marty, MinXu, Alaa R. Alamel<strong>de</strong>en, Kevin E. Moore,Mark D. Hill y David A. Wood Multifacet'sGeneral Execution-Driven MultiprocessorSimulator GEMS Toolset, ComputerArquitecture News, pp. 92-99, septiembre2005.[10] Xavier Molero, Carlos Juiz y Miguel Ro<strong>de</strong>ño,Evaluación y Mo<strong>de</strong>lado <strong>de</strong>l Rendimiento<strong>de</strong> los Sistemas Informáticos,Prentice Hall, 2004.[11] David Mosberger y Tai Jin, httperf:A Tool for Measuring Web Server Performance,Internet Server PerformanceWorkshop, pp. 59-67, junio 1998.[12] Jeremy Sugerman, Ganesh Venkitachalamy Beng-Hong Lim, Virtualizing I/O<strong>de</strong>vices on VMware workstations hostedvirtual machine monitor, Annual UsenixTechnical Conference, junio 2001.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!