130 likes | 273 Vues
Virtualization in computing involves creating a logical representation or abstraction of physical resources like CPUs, memory, and storage. It can be transparent or visible, offering benefits such as easier access and management of resources, multi-client support, and optimized resource utilization. Various methods include hardware/software partitioning, time-sharing, and emulation. Virtualization can occur at several levels: hardware, OS, application, and language. This technology supports resource consolidation and multiplexing, allowing multiple virtual machines to run on a single server, enhancing flexibility and efficiency.
E N D
Virtualization Real: it exists, you can see it. Transparent: it exists, you cannot see it Virtual: it does not exist, you can see it Gone: it does not exist, you cannot see it
Virtualization in Computing Systems The process of providing another image (logical grouping or subset) of underlying computing resources change computing system organization and profile Computing system: CPU, memory, network, hard disk, software, user organization, …… Methods: HW/SW partitioning (space-sharing), time-sharing, simulation, emulation, QoS, …
Why virtualization? Get a easy access interface and management interface Get more powerful resource profile Support multiple clients
Scenarios of Virtualization in computing system Application level OS level resource Language level Process level Hardware/system Hardware virtualization Process level virtualization High level language virtualization OS level virtualization Resource virtualization Application virtualization
Hardware virtualization One server support multiple virtual machines VMM (virtual machine monitor) or hypervisor Granularity: virtual machine We will focus this topic later
Process level virtualization Provide the guest process with some runtime software User could access a platform independent runtime environment Granularity: process Example: java executable
High level language virtualization Languages could be executed on multiple computing architectures Supported by compiler and runtime environment Based on popular programming language: C, C++ and Fortran. Granularity: language Example: MPI, PVM
OS level virtualization A physical server is divided into multiple virtual servers Guest OS is the same with original one Supported by the OS kernel Granularity: OS Examples: Solaris Zones supports multiple guest OSes running under the same OS (such as Solaris 10)
Application level virtualization build application level virtualization in data management, software library, programming interface, execution environment Granularity: application environment Example: Virtual Data System
Resource virtualization Organizing resource in a logical way Present an easy use/management interface or powerful resource image Granularity: resource image Example: VPN, RAID, Cluster OS almost all the computing resource interfaces are virtualized: memory, harddisk, network …
Philosophy of Virtualization • Resource consolidation • Multiple resource items -> one resource image • Example: Computer Cluster, Grid, RAID
Philosophy of Virtualization • Resource multiplexing • One resource -> multiple resource instances • Example: CPU, memory, VPN, Virtual machine