Wednesday, December 17, 2008

[ Cloud Computing ] Re: why virtualization?

Exactly. It is not the Guest but the supervisor module that acts as a special instantiation of that very guest, using the method called ring de-privileging.

/Tarry

On Wed, Dec 17, 2008 at 8:48 PM, gaberger <gaberger@cisco.com> wrote:
See below:

Extended page tables (EPT). When this feature is active, the ordinary IA-32 page tables (referenced by control register CR3) translate from linear addresses to guest-physical addresses. A separate set of page tables (the EPT tables) translate form guest-physical addresses to the host-physical addresses that are used to access memory. As a result, guest software can be allowed to modify its own IA-32 page tables and directly handle page faults. This allows a VMM to avoid the VM exits associated with page-table virtualization, which are a major source of virtualization overhead without EPT.

Granted it is an abstract function which allows the VM to execute a traditional kernel based process (Ring 0) without exiting which would cause a context switch.

-g



http://www.intel.com/technology/itj/2006/v10i3/1-hardware/8-virtualization-future.htm





On 12/17/08 2:21 PM, "Tarry Singh" <tarry.singh@gmail.com> wrote:

@gaberger

This is accomplished by allowing the Guest to run in Ring 0 of the processor

I hope you are saying what I am trying to comprehend here, you mean literally run in Ring 0?

Tarry

On Wed, Dec 17, 2008 at 8:02 PM, gaberger <gaberger@cisco.com> wrote:
I agree with Krishna and Dan,

I spin it in this way:

Virtualization – a.k.a Hypervisor, VMM – is used to decouple the OS from the hardware using both native drivers as well as partially-accelerated (VT-X) access to underlying hardware resources. This provides a consistent interface to hardware sub-structure allowing for "easier" tolerance for heterogeneity and as a byproduct allows OS instances to be highly portable (as long as the layer 2 connectivity is there).

So your point is correct, we will see this technology replace or evolve the OS kernel (i.e. VMWARE DCOS, Qumarant KVM) but the overhead thanks to hardware acceleration (I/OAT, EPT) will decrease to something like 5% (Intel source) which is negligible.. This is accomplished by allowing the Guest to run in Ring 0 of the processor and have more kernel-like permissions to access important memory structures such as the page table..

Griddiness – a.k.a  Parallel Computing, Cloud, HPC and now what I think Forrester Research refers to as Ultra Modular Computing (UMC). This trends momentum is on using hundreds of (commodity) servers which represent an ecosystem which is linearly scalable, asynchronously persistent and self-modulating (Up, Down, Left, Right) depending on the SLA of the workload. Since it is built to large scale you have solved some of the heterogeneity and now can take advantage of the mobility of OS instances through things like Intel's Live Migration.

The piece that needs to change is the software architecture which needs to be capable of leveraging the increasing core counts as most traditional applications were never designed to be multi-threaded.
The next step will decouple the application from the OS and give us true scalability and it is being built on Space Based Architecture platforms such as Gigaspaces.

Cheers as well, Have a great holiday....

-g



On 12/17/08 1:12 PM, "Krishna Sankar (ksankar)" <ksankar@cisco.com <http://ksankar@cisco.com> > wrote:

Dan,
Good line of thought. Couple of points:
 
a)     Power efficiency – I think an 8 core machine (with 7.5 VM processes) would use less power than 8 small machines (say powered by via itx). But if one is using only one VM and one process, then the rest of the power is wasted

b)     Yes, from an enterprise IT application infrastructure perspective, virtualization s a short term solution with a cloud infrastructure as the long term goal

c)      Virtualization in some sense is getting more granularity than a hardware box (for better utilization) and that would eventually shift to the infrastructure providers

d)     BTW, IMHO, elasticity was never the goal of virtualization not can we achieve elasticity by virtualization – they are orthogonal

e)     Same goes with scale and ad-hocness

f)      And as you point out, virtualization has serious drawbacks – like multi-core and extra overhead.


Cheers & happy holidays
<k/>
 

From: cloud-computing@googlegroups.com <http://cloud-computing@googlegroups.com>  [mailto:cloud-computing@googlegroups.com] On Behalf Of Dan Kearns

Sent: Wednesday, December 17, 2008 9:06 AM
To: cloud-computing@googlegroups.com <http://cloud-computing@googlegroups.com>
Subject: [ Cloud Computing ] why virtualization?


Out of curiosity.... it seems to me that two pretty fundamental tenets of cloud computing are contradictory:

Virtualization: a mechanism to get better utilization of existing hardware when loads are generally smaller than node capacity, or spiky in the time domain

Griddiness: (for lack of a better word) the idea that appropriate cloud designs support massive scale, and do it by aggregating many small+cheap failure-prone compute units with smarter software

If the goals are to have smarter software and maximize utilization (or minimize power consumption for equivalent compute capacity), then why introduce the constant runtime overhead of virtualization instead of, eg using smaller more power-efficient compute-unit designs and making the hardware controllable by software?

Am I missing something, or is virtualization a tactical answer and therefore a short-term solution, and not a great place to start building management frameworks (for example) on top of?

-d






--






--






--
Kind Regards,

Tarry Singh
______________________________________________________________
Founder, Avastu: Research-Analysis-Ideation
"Do something with your ideas!"
http://www.avastu.com
Business Cell: +31630617633
Private Cell: +31629159400
LinkedIn: http://www.linkedin.com/in/tarrysingh
Blogs: http://www.ideationcloud.com

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google
Groups "Cloud Computing" group.
To post to this group, send email to cloud-computing@googlegroups.com
To unsubscribe from this group, send email to
cloud-computing-unsubscribe@googlegroups.com
To post job listing, send email to jobs@cloudjobs.net (position title, employer and location in subject, description in message body) or visit http://www.cloudjobs.net
To submit your resume for cloud computing job bank, send it to resume@cloudjobs.net.
For more options, visit this group at
http://groups.google.ca/group/cloud-computing?hl=en?hl=en
Posting guidelines:
http://groups.google.ca/group/cloud-computing/web/frequently-asked-qu...
This group posts are licensed under a Creative Commons Attribution-Share Alike 3.0 United States License http://creativecommons.org/licenses/by-sa/3.0/us/
Group Members Meet up Calendar - http://groups.google.ca/group/cloud-computing/web/meet-up-calendar
-~----------~----~----~----~------~----~------~--~---

No comments: