Soporte en hardware para el
control de acceso de dispositivos de E/S en un ambiente virtualizado
Brisbane Ovilla Martínez
|
Texto completo de la Tesis
Resumen
En la actualidad las computadoras han
adquirido gran capacidad de procesamiento lo cual ha permitido ejecutar
aplicaciones cada vez más complejas y costosas en recursos. Sin
embargo, es importante considerar que estas capacidades muchas veces no
son aprovechadas al máximo, es por esta razón que en los
últimos años han surgido nuevas tecnologías que
permiten aprovechar de mejor manera los recursos de cómputo. Una
de estas herramientas es la virtualización, que en
términos computacionales, es un método para crear una
versión virtual de un dispositivo o recurso mediante el uso de
las llamadas Máquinas Virtuales (MV). Las MV nos permiten una
combinación y repartición más eficiente de los
recursos de cómputo con la finalidad de ofrecer una mayor
versatilidad en la capacidad de resolución de tareas como el
soporte a múltiples sistemas operativos. Debido al gran aumento
de poder de cómputo en la actualidad resulta más
ventajoso tener soporte de máquinas virtuales que tener
físicamente máquinas separadas. Ya que algunos estudios
afirman que los servidores normalmente no trabajan utilizando el 100%
los recursos, sino alrededor de un 10 a un 20%. Es en estos casos que
mediante el uso de la virtualización permite aprovechar hasta un
80% la capacidad del CPU y sus recursos. Entonces el virtualizar una
plataforma permite lograr un mejor aprovechamiento del hardware,
así como también reducir el consumo de energía y
espacio y facilitar la administración gracias a la
reducción del número de servidores físicos.
En años recientes una línea de investigación
ampliamente abordada es la seguridad en ambientes virtualizados, ya
diferentes VM's pueden tener acceso a dispositivos de hardware en un
mismo entorno físico. Las labores de coordinación de
acceso a los recursos de hardware son hechas por un software llamado
monitores de máquinas virtuales (MMV), algunas de las versiones
existentes de MMV's ocupan un módulo de control de acceso (MCA)
para hacer más eficiente los accesos a los recursos
físicos. Sin embargo, existen dos grandes problemas en las MMV's
uno de ellos es el mal manejo de la seguridad ya que en ocasiones, por
la comunicación entre VM's ocurren accesos no autorizados a
recursos los físicos como la memoria. El otro problema es que al
virtualizar algunas aplicaciones como sistemas operativos su
rendimiento decrece, principalmente a debido a que el MMV debe regular
las peticiones de las MV al hardware. Una solución a estos dos
problemas es la implementación del MCA directamente en hardware,
y es que realizar la transferencia de control de acceso mediante
software a una implementación hardware se traduce en una menor
carga de trabajo al MMV y por consiguiente en una mejora en el
rendimiento. Además la seguridad también se ve
beneficiada debido a que el control de acceso a los dispositivos se
realiza en un nivel más bajo que el software haciendo más
complicado lograr un acceso no autorizado a los dispositivos
físicos. En este documento se plantean los principios de
diseño del módulo de control de acceso en hardware. Los
requerimientos y objetivos que deben ser cubiertos por el MCA son
descritos, al igual que la arquitectura del MCA en hardware y las
consideraciones que fueron tomadas para su integración a una
arquitectura de cómputo.
Abstract
Nowadays computers have acquired a
huge processing capacity, which has allowed to create much more complex
applications. However, something important to consider is that the
capacities are often not completely used, as a consequence new
technologies have been created to improve the usage of the
computational resources. One of this applications is the
virtualization, which in computational terms, is a method to create a
virtual version of a hardware device by using the so called Virtual
Machines (VM). The VM allows a more eficient combination and assignment
of the hardware resources aiming to offer a better versatility in the
task solving capacities, such as supporting multiple operative systems.
Due to the increment of computational capacities, today it is more
convenient having support of VM rather than physically separated
computers. Moreover, there are some research which affirms that
typically servers don't use a 100% of the whole hardware resources but
just about a 10% to 20% of them. It Is in these cases where
virtualizing allows to improve the performance by using up to 80% of
the CPU capacities, including its resources.
Therefore, virtualizing allows not only to improve the usage of the
hardware, but also to reduce the energy and space consumption besides,
it the resources administration by decrementing the number of physical
servers. To take the best of physical resources, multiple VM's can run
in the same computer, they also communicate and share the computer
resources between them, and as a result, security has become an
important research field. The access coordination tasks to hardware are
done by a virtual machines monitor (VMM), some of them use a control
access module (CAM) to make more eficient the access to the
physical resources. However, there are two main issues with the VMM's,
one of them is the security, due to communications between VM's not
allowed access to physical resources like memory are likely to occur.
The other issue is that virtualizing applications like operative
systems reduce their performance, mainly because VMM has to regulate
the hardware petitions of the VM. A plausible solution to these two
problems is the implementation of the CAM directly into hardware,
taking the hardware access control away from the VMM results into a
reduction of tasks demands, and consequently into a improvement in the
performance. Besides, the security is also improved since the hardware
control access is done in a lower level than in software and so
difficulting the not allowed access to the hardware devices. This
document states the design principles of a CAM in hardware and
describes the requirements and objectives that must be full filled by
the CAM, aswell as the architecture in hardware and the considerations
that were necessary to its integration into a computer architecture.