La plataforma Simics como herramienta de aprendizaje
La plataforma Simics como herramienta de aprendizaje
La plataforma Simics como herramienta de aprendizaje
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.