The Multicore and Virtualization Mix
Today, operating systems are aware of the topology of the processors on which they run and hence are designed to schedule application execution in a way to maximize benefits. Hence, applications designed to exploit available hardware parallelism fare even better.
Before the advent of multicore, performance betterments were introduced by increasing the density of transistors on silicon chips - but this came at the cost of increase in heat. In a data center, the problem was magnified because of the presence of very densely packed blade and rack servers. Add to that was the cost of energy required in cooling units to cool these servers.
Multicore based processors are designed to provide favorable cost advantages by providing better performance per watt and reduced energy requirements. Couple this with all the advantages that virtualization technologies provide by way of server consolidation - and now you know where CIOs and CTOs of companies with large data centers are looking.
In virtualized systems, hypervisors are designed to abstract out the hardware and provide virtual processors to each of the virtual machines running on top of them. However, it is known that there is some form of scheduling implemented in the hypervisor to determine which virtual machine would currently execute its instruction on the actual processor. With multicore bringing in the advantages of performance, energy savings and favorable price equations, virtual machines will be able to run on as dedicated a CPU as possible thus in turn passing on the performance/execution benefits to the applications running within them. The point to note here is that the power expended is lower with higher performance benefits.
Executing applications in silos on advanced multicore based multi-processor hardware will not be advantageous because there are very few applications that can leverage 4-8 processors (besides multiple cores within them). Applications running within virtual machines on multicore based hardware will help achieve expansion of workload with no performance decrements.
VMware’s ESX Server 3.0 is known to present multiple virtual CPUs to applications running within a virtual machine to exploit available resources in an SMP machine. Hence as an extension, I would assume that today's hypervisors would provide extend the benefits of multiple cores to an application running within a virtual machine so that parallelism implemented within the application is truly exploited even in a virtual machine environment. If this were so, then that would provide a heady mix of high power and cost savings with increased performance benefits in data centers.
Before the advent of multicore, performance betterments were introduced by increasing the density of transistors on silicon chips - but this came at the cost of increase in heat. In a data center, the problem was magnified because of the presence of very densely packed blade and rack servers. Add to that was the cost of energy required in cooling units to cool these servers.
Multicore based processors are designed to provide favorable cost advantages by providing better performance per watt and reduced energy requirements. Couple this with all the advantages that virtualization technologies provide by way of server consolidation - and now you know where CIOs and CTOs of companies with large data centers are looking.
In virtualized systems, hypervisors are designed to abstract out the hardware and provide virtual processors to each of the virtual machines running on top of them. However, it is known that there is some form of scheduling implemented in the hypervisor to determine which virtual machine would currently execute its instruction on the actual processor. With multicore bringing in the advantages of performance, energy savings and favorable price equations, virtual machines will be able to run on as dedicated a CPU as possible thus in turn passing on the performance/execution benefits to the applications running within them. The point to note here is that the power expended is lower with higher performance benefits.
Executing applications in silos on advanced multicore based multi-processor hardware will not be advantageous because there are very few applications that can leverage 4-8 processors (besides multiple cores within them). Applications running within virtual machines on multicore based hardware will help achieve expansion of workload with no performance decrements.
VMware’s ESX Server 3.0 is known to present multiple virtual CPUs to applications running within a virtual machine to exploit available resources in an SMP machine. Hence as an extension, I would assume that today's hypervisors would provide extend the benefits of multiple cores to an application running within a virtual machine so that parallelism implemented within the application is truly exploited even in a virtual machine environment. If this were so, then that would provide a heady mix of high power and cost savings with increased performance benefits in data centers.

