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.

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

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

Saved successfully!

Ooh no, something went wrong!