CapÃtulo X: Introducción
CapÃtulo X: Introducción
CapÃtulo X: Introducción
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Capítulo 4: Visualización Out-of-CoreCapítulo 4.Visualización Out-of-CoreCuando la cantidad de memoria principal disponible no es suficientepara almacenar el dataset completamente, es necesario utilizarvisualización out-of-core [COX97]. Se le asigna este nombre encontraposición a in-core, que se refiere a que los datos se ajustan a lacapacidad de la memoria principal.La visualización out-of-core requiere del uso de la memoria virtual.Memoria virtual es simplemente el mapping o aplicación de un espacio dedireccionamiento más grande en un espacio de direccionamiento máspequeño (memoria real). Generalmente, este espacio de direccionamientomás grande es particionado en piezas, cada uno de los cuales es movidoa la memoria real cuando es necesitada, al mismo tiempo que otra pieza,posiblemente no necesitada, es reemplazada. Cuando estas piezas sontodas de un tamaño predefinido, se les denomina páginas, y cuando sonde tamaño variable, se les llama segmentos. Haciendo analogía ennuestro contexto, las páginas vienen siendo los bricks. Cuando laspáginas son cargadas a medida que son necesitadas, se habla depaginación bajo demanda [STA06].La solución más trivial a la visualización out-of-core recae en el manejo dela memoria virtual por parte del sistema operativo. Para ello, laaplicación le pide al sistema operativo reservar un búfer del tamaño deldataset, y luego lee el dataset en dicho búfer. Como el dataset no puedeser almacenado completamente en la memoria principal, las páginas(bricks) son almacenadas nuevamente en disco para realizar elintercambio de páginas con la memoria real. Esto genera un retardoimportante al inicio de la aplicación. Adicionalmente, el sistema operativoutiliza el principio de localidad, que se refiere a precargar las páginascercanas físicamente a las que están siendo referenciadas. Como ennuestro caso la demanda de bricks entre frames abarca zonasgeneralmente no continuas en disco, el sistema operativo podría cargarbricks (o partes de ellos) que no son requeridos en futuros frames, y peoraún, reemplazar otros que no han sido accedidas últimamente, pero quesí podrían requerirse en el futuro inmediato. Adicionalmente, bajo elsoporte de memoria virtual por el sistema operativo, en principio laaplicación no tiene conocimiento de cuáles páginas se encuentran o noen la memoria real, y por lo tanto, debe esperar por el intercambio depáginas antes de cargar los bricks en memoria de textura, lo cual generaun cuello de botella indeseable en un sistema de visualización en tiempo-68-