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.
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