Introduction to Oracle VM server for SPARC



M系列的机器上,可以支持Dynamic System Domains。

本文我们重点研究LDoms,Logical Domains是基于Fireware层的虚拟化


2、SPARC Hypervisor:

SPARC virtualization begins with low overhead cost, by using a small and efficient hypervisor layerthat holds only the minimum state necessary to describe and control guest OSs. At the same time, the hypervisor is robust enough to achieve its two primary functions.:

First, it improves system security and reliability, effectively isolating each guest OS in its own logical domain.

Second, it improves system efficiency and utilization, providing the ability to dynamically rebind virtual processors to physical resources at any time.

Oracle VM Server for SPARC directly integrates the hypervisor with paravirtualized(半虚拟化) guest operation systems.
Using paravirtualization, a guest OS such as Oracle Solaris 10 explicitly calls a support function implemented by hypervisor code rather than trying to access a system register itself. Much of the code that traditionally exists in the lowest layers of an OS is moved from the OS and placed in the hypervisor. Oracle VM Server for SPARC optimizes performance and security by implementing the hypervisor in firmware, setting virtualization technology apart from other hypervisor based virtualization technology.

一个guest系统,比如Solaris10,显示的调用 hypervisor代码实现的支持功能,而不是用os去访问这些资源。许多传统的代码,在以往都是在os层底部的。但是现在,被放到了hypervisor层。oracle VM for SPARC通过firmware内的hypervisor层,优化了系统的性能和安全性。

Hypervisor:A small firmware layer that provides a set of hardware-specific support functions to operating systems through a stable interface, known as the sun4v architecture. The hypervisor creates virtual machines by subdividing physical devices across multiple logical domains, exposing some resources to a specific partition and hiding others. In addition, the hypervisor creates communication channels, logical domain channels, between logical domains to provide a conduit for services, such as networks and shared devices.

3、VM for SPARC为什么可以比其他虚拟化技术更能充分利用主机的性能,而降低虚拟技术本身的消耗?

The natural level of granularity of a logical domain is an execution CPU thread, not a time-sliced microsecond of execution resources. Each CPU thread can be treated as an independent virtual processor. The scheduler is naturally built into the CPU, instead of the scheduler implementation at hypervisor which requires extra overhead . The Solaris dispatcher dispatches tasks to virtual CPUs which are effectively physical CPU threads. Moreover, the CPU threads can be dynamically changed in the running logical domains, and customers gain the benefits of increased service level and agility.

logical domain的自然粒度是cpu的线程数量,而不是微秒资源的时间片。这也就是说,每个logical domain最少需要一个cpu线程,而不像x86架构的虚拟软件,可以不考虑cpu线程数量,建好多个logical domian。调度器是建立在cpu内部的,而不是放在hypervisor层,因为放在hypervisor层会有额外的消耗。Solaris的调度器调度资源任务给虚拟cpu的时候,实际上就是给了物理cpu的某个线程,这样大大提高了效率,减少物理cpu上下文切换的时间。另外:cpu的线程数量也可以动态的增加。

©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
钱包余额 0