KARTHIK BALAJI G
2009-Feb-18 01:09 UTC
[Xen-devel] New Project Proposal - Please provide comments
Hello all, We are working on a new project idea for xen platform. I have summarized as well as given detailed description of what we are trying to achieve. I request your comments on the feasibility of this project. Also I have pointed some relevant works which I feel is primitive considering the goal we are trying to achieve. I request to point me to relevant links if there are any other works going on in this area. I am not familiar with xen. So it would be great if someone can guide me on this project. *SUMMARY: * we have a proposal to develop virtual machine migration algorithms that can (1) minimize the total number of physical machines used, (2) balance the loads across physical machines, and (3) meet the same performance requirement of individual applications. The most challenging issue of this project is to correlate an application''s performance with the amount of physical resources (CPU, memory capacity and disk bandwidth) allocated to it for ARBITRARY applications. If such correlation can be derived, we can use it to determine the resource requirement for each virtual machine (assuming each virtual machine runs a single application), and the issues of (1) and (2) above can be trivially solved. * More Details : * *PROBLEM:* Enterprise applications have resource demands varying over time due to user demands. The current virtualization technologies are inadequate in dynamically achieving such demands (Service level objectives) for enterprise applications. Resources are over provisioned based on pre-production environment results. Because of this some data centres are under utilized and some are over utilized resulting in poor performance of the hosted applications. This essentially includes the following challenges. a. Estimating resource requirements of an application running on native hardware needs to be transferred a virtualized environment. Additional resource requirements incurred by virtualization overhead needs to be taken into account. Our goal should be to minimize the number of physical machines used by consolidating the workload. b. Once successfully transferred to a shared virtualized environment we need a automated resource control system that dynamically adapts to varying application needs. By this we mean, 1. Finding the relationship between application performance and resource allocated. 2. Migrating virutal machines to balance load across physical servers without comprising on availability and performance. 3. Enterprise applications have complex mutl-tier architecture where distinct components of same application resides in different servers. So the resource requirements should not only be calculated locally but also across nodes where other components of application is hosted. *EXISTING SOLUTIONS:* 1. VMWARE DRS 2. TRACE BASED APPROACH - The application resource usage traces are routinely collected over a period to get a representative application profile. These traces can be used to consolidate the workload. But these pre-production environment results does not scale well in real world situations. 3. AUTOCONTROL(Hp Labs) - This consists of two parts a. Model Estimator that derives the relation between application and its resource allocation, b. MIMO (multi input,multi output) resource controller that allocates the required resource amounts. The advantage of this tool is, it takes care of application load as well as the load on each virtualized node. For this tool we need to specify application priority, performance metric and performance target. The application controller issues requests to node controllers. The node controller determines whether it has enough resources to satisfy all demands and computes resource reallocation. The computed value is fed into MIMO resource scheduler which allocates resources to VM in real time. If the performance target of the applications cannot be met Autocontrol should provide service level differentiation based on application priorities. Thank you, -KARTHIK _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
George Dunlap
2009-Feb-18 11:30 UTC
Re: [Xen-devel] New Project Proposal - Please provide comments
Sounds ambitious. Regarding physical resources, specifically cpu, don''t forget to include a couple of things: * CPU cache sharing. Sharing a cpu with a VM that is a cache hog may increase cache misses, and increase the amount of cpu time required to do the same work. * Wake-to-run latency. TCP in particular is very sensitive to latency; so even reserving CPU time for a VM may not result in sufficient performance if it has to wait in long runqueues. Are you planning on making this an open-source project? Is this a commercial / academic research venture? -George Dunlap On Wed, Feb 18, 2009 at 1:09 AM, KARTHIK BALAJI G <findkb@gmail.com> wrote:> Hello all, > > We are working on a new project idea for xen platform. I have summarized as > well as given detailed description of what we are trying to achieve. I > request your comments on the feasibility of this project. Also I have > pointed some relevant works which I feel is primitive considering the goal > we are trying to achieve. I request to point me to relevant links if there > are any other works going on in this area. I am not familiar with xen. So it > would be great if someone can guide me on this project. > > SUMMARY: > > we have a proposal to develop virtual machine migration algorithms that can > > (1) minimize the total number of physical machines used, > (2) balance the loads across physical machines, and > (3) meet the same performance requirement of individual applications. > > The most challenging issue of this project is to correlate an application''s > performance with the amount of physical resources (CPU, memory capacity and > disk bandwidth) allocated to it for ARBITRARY applications. If such > correlation can be derived, we can use it to determine the resource > requirement for each virtual machine (assuming each virtual machine runs a > single application), and the issues of (1) and (2) above can be trivially > solved. > > More Details : > > > PROBLEM: > > > Enterprise applications have resource demands varying over time due to > user demands. The current virtualization technologies are inadequate > in dynamically achieving such demands (Service level objectives) for > enterprise applications. Resources are over provisioned based on > pre-production environment results. Because of this some data centres > are under utilized and some are over utilized resulting in poor > performance of the hosted applications. This essentially includes the > following challenges. > > a. Estimating resource requirements of an application running on > native hardware needs to be transferred a virtualized environment. > Additional resource requirements incurred by virtualization overhead > needs to be taken into account. Our goal should be to minimize the > number of physical machines used by consolidating the workload. > > b. Once successfully transferred to a shared virtualized > environment we need a automated resource control system that > dynamically adapts to varying application needs. By this we mean, > 1. Finding the relationship between application > performance and resource allocated. > 2. Migrating virutal machines to balance load > across physical servers without comprising on availability and > performance. > 3. Enterprise applications have complex mutl-tier > architecture where distinct components of same application resides in > different servers. So the resource requirements should not only be > calculated locally but also across nodes where other components of > application is hosted. > > EXISTING SOLUTIONS: > > 1. VMWARE DRS > > 2. TRACE BASED APPROACH - The application resource usage traces are > routinely collected over a period to get a representative application > profile. These traces can be used to consolidate the workload. But > these pre-production environment results does not scale well in real > world situations. > > 3. AUTOCONTROL(Hp Labs) - This consists of two parts a. Model > Estimator that derives the relation between application and its > resource allocation, b. MIMO (multi input,multi output) resource > controller that allocates the required resource amounts. The advantage > of this tool is, it takes care of application load as well as the load > on each virtualized node. For this tool we need to specify application > priority, performance metric and performance target. The application > controller issues requests to node controllers. The node controller > determines whether it has enough resources to satisfy all demands and > computes resource reallocation. The computed value is fed into MIMO > resource scheduler which allocates resources to VM in real time. If > the performance target of the applications cannot be met Autocontrol > should provide service level differentiation based on application > priorities. > > Thank you, > > -KARTHIK > > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@lists.xensource.com > http://lists.xensource.com/xen-devel > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
KARTHIK BALAJI G
2009-Feb-18 15:39 UTC
[Xen-devel] Re: New Project Proposal - Please provide comments
Hi George, Thanks for responding. It is academic research project and it is open source. I am a graduate student of State university of New york,Stony Brook. You are right. The project is ambitious and I am not familiar with xen . That is why I mailed to xen developers list asking for guidance. If I can get a xen developer who can assist me in this project that would be great. Currently I am trying to find out if I can read the network and I/O queue for each process, threads of the application in demand. What I wish to acheive is to derive a corelation between application performance and the resource allocated to it. Any thoughts ? Thanks, -Karthik On Wed, Feb 18, 2009 at 6:30 AM, George Dunlap <George.Dunlap@eu.citrix.com>wrote:> Sounds ambitious. Regarding physical resources, specifically cpu, > don''t forget to include a couple of things: > * CPU cache sharing. Sharing a cpu with a VM that is a cache hog may > increase cache misses, and increase the amount of cpu time required to > do the same work. > * Wake-to-run latency. TCP in particular is very sensitive to > latency; so even reserving CPU time for a VM may not result in > sufficient performance if it has to wait in long runqueues. > > Are you planning on making this an open-source project? Is this a > commercial / academic research venture? > > -George Dunlap > > On Wed, Feb 18, 2009 at 1:09 AM, KARTHIK BALAJI G <findkb@gmail.com> > wrote: > > Hello all, > > > > We are working on a new project idea for xen platform. I have summarized > as > > well as given detailed description of what we are trying to achieve. I > > request your comments on the feasibility of this project. Also I have > > pointed some relevant works which I feel is primitive considering the > goal > > we are trying to achieve. I request to point me to relevant links if > there > > are any other works going on in this area. I am not familiar with xen. So > it > > would be great if someone can guide me on this project. > > > > SUMMARY: > > > > we have a proposal to develop virtual machine migration algorithms that > can > > > > (1) minimize the total number of physical machines used, > > (2) balance the loads across physical machines, and > > (3) meet the same performance requirement of individual applications. > > > > The most challenging issue of this project is to correlate an > application''s > > performance with the amount of physical resources (CPU, memory capacity > and > > disk bandwidth) allocated to it for ARBITRARY applications. If such > > correlation can be derived, we can use it to determine the resource > > requirement for each virtual machine (assuming each virtual machine runs > a > > single application), and the issues of (1) and (2) above can be trivially > > solved. > > > > More Details : > > > > > > PROBLEM: > > > > > > Enterprise applications have resource demands varying over time due to > > user demands. The current virtualization technologies are inadequate > > in dynamically achieving such demands (Service level objectives) for > > enterprise applications. Resources are over provisioned based on > > pre-production environment results. Because of this some data centres > > are under utilized and some are over utilized resulting in poor > > performance of the hosted applications. This essentially includes the > > following challenges. > > > > a. Estimating resource requirements of an application running on > > native hardware needs to be transferred a virtualized environment. > > Additional resource requirements incurred by virtualization overhead > > needs to be taken into account. Our goal should be to minimize the > > number of physical machines used by consolidating the workload. > > > > b. Once successfully transferred to a shared virtualized > > environment we need a automated resource control system that > > dynamically adapts to varying application needs. By this we mean, > > 1. Finding the relationship between application > > performance and resource allocated. > > 2. Migrating virutal machines to balance load > > across physical servers without comprising on availability and > > performance. > > 3. Enterprise applications have complex mutl-tier > > architecture where distinct components of same application resides in > > different servers. So the resource requirements should not only be > > calculated locally but also across nodes where other components of > > application is hosted. > > > > EXISTING SOLUTIONS: > > > > 1. VMWARE DRS > > > > 2. TRACE BASED APPROACH - The application resource usage traces are > > routinely collected over a period to get a representative application > > profile. These traces can be used to consolidate the workload. But > > these pre-production environment results does not scale well in real > > world situations. > > > > 3. AUTOCONTROL(Hp Labs) - This consists of two parts a. Model > > Estimator that derives the relation between application and its > > resource allocation, b. MIMO (multi input,multi output) resource > > controller that allocates the required resource amounts. The advantage > > of this tool is, it takes care of application load as well as the load > > on each virtualized node. For this tool we need to specify application > > priority, performance metric and performance target. The application > > controller issues requests to node controllers. The node controller > > determines whether it has enough resources to satisfy all demands and > > computes resource reallocation. The computed value is fed into MIMO > > resource scheduler which allocates resources to VM in real time. If > > the performance target of the applications cannot be met Autocontrol > > should provide service level differentiation based on application > > priorities. > > > > Thank you, > > > > -KARTHIK > > > > > > > > _______________________________________________ > > Xen-devel mailing list > > Xen-devel@lists.xensource.com > > http://lists.xensource.com/xen-devel > > > > >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel