WO2012165937A1 - System and method for optimizing physical resources of virtual machines - Google Patents

System and method for optimizing physical resources of virtual machines Download PDF

Info

Publication number
WO2012165937A1
WO2012165937A1 PCT/MY2012/000107 MY2012000107W WO2012165937A1 WO 2012165937 A1 WO2012165937 A1 WO 2012165937A1 MY 2012000107 W MY2012000107 W MY 2012000107W WO 2012165937 A1 WO2012165937 A1 WO 2012165937A1
Authority
WO
WIPO (PCT)
Prior art keywords
configuration
virtual machine
mapping rules
physical resources
benchmarking
Prior art date
Application number
PCT/MY2012/000107
Other languages
French (fr)
Inventor
Bukhary Ikhwan ISMAIL
Mohamad Zakaria ALLI
Fadzil MOHD RAIHAN
Original Assignee
Mimos Berhad
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mimos Berhad filed Critical Mimos Berhad
Publication of WO2012165937A1 publication Critical patent/WO2012165937A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3428Benchmarking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/815Virtual
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria

Definitions

  • the present invention relates to a system and method for optimizing physical resources of virtual machines, particularly for cloud computing, wherein allocation of virtual machines on the physical resources are enhanced by utilizing a set of generated mapping rules.
  • Cloud Infrastructure as a Service or cloud computing is an operation model or platform that provides virtualized resources (or virtual machines), that reside on various physical computing resources, as a service to several clients or users over the World Wide Web. Therefore, a major component within the cloud computing platform is virtualization, more specifically the allocation of virtual machines on the available physical resources, wherein allocation may include initial deployment of the virtual machines as well as migration of virtual machines.
  • virtual machine management is a technical area of high importance within the virtualization technology, to ensure that programs or applications operated on the virtual machines are within a satisfactory performance level.
  • Prior art US 2009/0210527 discloses a virtualization machine management that provides a means to assign each virtual machine to the most suitable physical computing resource, based on the load characteristics of the programs operated on the virtual machine itself.
  • the said prior art does not teach or disclose means to define the capability of the physical resources and hence would be unable to cater to heterogeneous and dynamic physical resources within the cloud computing platform.
  • the present invention provides a system and method for optimizing physical resources of virtual machines, particularly for cloud computing.
  • the present invention proposes to allocate each virtual machine to the most suitable physical resources and to ensure that each virtual machine operates within the performance of its Service Level Agreement, wherein a set of mapping rules is generated and utilized to enhance decision making during the allocation of virtual machines on the physical recourses.
  • a system and method for optimizing physical resources of virtual machines comprising generating a set of mapping rules and utilizing the set of mapping rules during allocation of virtual machines on the physical resources.
  • generating the set of mapping rules further comprises obtaining, by a resource information collector, information of the physical resources; generating, by a configuration profile generator, a configuration test profile for each physical resource and iteratively selecting, by the configuration profile generator, an available configuration from the configuration test profile for benchmarking; benchmarking, by a virtual machine deployment agent, the available configuration based on a threshold of a user-defined virtual machine type to generate a performance results to be stored in a performance results storage; and storing, by a mapping rules storage, a mapping rule that corresponds to the performance results that conform to the threshold during benchmarking.
  • utilizing the set of mapping rules during allocation of virtual machines on the physical resources further comprises utilizing, by a virtual machine deployment agent, the set of mapping rules stored in a mapping rules storage during initial deployment of virtual machines on the physical resources; and utilizing, by a virtual machine migration agent, the set of mapping rules stored in the mapping rules storage during migration of virtual machines on the physical resources.
  • the configuration profile generator utilizes information in the resource information collector and performance results in the performance results storage to generate the configuration test profile.
  • the configuration test profile comprises a plurality of configurations arranged in a tree format, wherein each configuration represents at least one user-defined virtual machine type or a combination of user-defined virtual machine types. The configuration profile generator iteratively selects the available configuration from the configuration test profile for benchmarking based on pruning of the plurality of configurations that do not conform to the threshold during benchmarking.
  • benchmarking by the virtual machine deployment agent, further comprises scheduling, by a deployment agent, the available configuration from the configuration test profile to be assigned to at least one agent probe for benchmarking; and benchmarking, by the at least one agent probe, the available configuration based on the threshold of the user-defined virtual machine type to generate the performance results to be stored in the performance results storage.
  • FIGURE 1 illustrates a block diagram of a sub-system that generates a set of mapping rules.
  • FIGURE 2 illustrates a flow chart of a method for generating a set of mapping rules.
  • FIGURE 3A illustrates a block diagram of a sub-system that utilizes a set of mapping rules during initial deployment of virtual machines on physical resources.
  • FIGURE 3B illustrates a block diagram of a sub-system that utilizes a set of mapping rules during migration of virtual machines on physical resources.
  • FIGURE 4A illustrates a tree format of a configuration test profile.
  • FIGURE 4B illustrates an exemplary representation of each configuration within the configuration test profile.
  • FIGURE 5 illustrates an exemplary representation of thresholds of user-defined virtual machine types.
  • FIGURE 6 illustrates an exemplary performance result storage format.
  • FIGURE 7 illustrates an exemplary mapping rule stored in a mapping rule storage.
  • FIGURE 8A-8E illustrate an exemplary pruning of the tree format configuration test profile.
  • the present invention relates to a system and method for optimizing physical resources of virtual machines (VM).
  • VM virtual machines
  • This specification will describe the present invention according to the preferred embodiments of the present invention. However, it is to be understood that limiting the description to the preferred embodiments of the invention is merely to facilitate discussion of the present invention and it is envisioned that those skilled in the art may devise various modifications and equivalents without departing from the scope of the appended claims.
  • the present invention more particularly relates to a system and method for optimizing physical resources of virtual machines for cloud computing operation models or platforms. Optimization is achieved by enhancing decision making during allocation of virtual machines on the physical recourses.
  • the enhanced decision making comprises utilizing a set of generated mapping rules during initial deployment as well as migration of virtual machines on the physical resources.
  • the system and method according to the present invention comprises generating the set of mapping rules (100, 200) and thereafter utilizing (300, 302) the set of mapping rules during allocation of virtual machines on the physical resources.
  • the term 'allocation' throughout the description herein refers to both initial deployment as well as migration of virtual machines on the physical resources.
  • the mapping rules aid to allocate each virtual machine to the most suitable physical resources and to ensure that each virtual machine operates within the performance of its Service Level Agreement (SLA).
  • SLA Service Level Agreement
  • FIGURE 1 illustrates a block diagram of a sub-system that generates the set of mapping rules.
  • FIGURE 2 illustrates a flow chart of the method for generating the set of mapping rules.
  • the sub-system (100) of the overall system according to the present invention that generates the set of mapping rules comprises a resource information collector (114), a configuration profile generator (104), a virtual machine deployment agent (107), a performance results storage (110) and a mapping rules storage (102).
  • the resource information collector (114), the performance results storage (1 0) and the mapping rales storage (102) may be implemented on any form of database system for storing information of the physical resources (112), performance results and mapping rules in a memory.
  • the configuration profile generator (104) and virtual machine deployment agent (107) may be implemented as software modules on related operating systems. Interaction between the various modules within the sub-system (100) may be implemented by using programming language functions and alternatively by combining relevant communications protocol.
  • the method (200) of generating the set of mapping rules begins with collection of information of the physical resources (112) by the resource information collector (114).
  • the information comprises hardware attributes, such as number of processor cores, memory size, storage size, network attributes and other related attributes of the physical resources (112) that are part of the could computing operation.
  • the resource information collector (114) constantly collects information of the dynamic physical resources (112) to cater for any additional or removal of the physical resources (112) as well as any upgrades on the physical resources (112), the upgrade includes any hardware and/or software upgrades.
  • the configuration profile generator (104) then generates a configuration test profile (204) for each of the physical resources (112). In one embodiment of the present invention the configuration profile generator (104) utilizes information collected by the resource information collector (114) as well as performance results stored in the performance results storage (110) to generate the configuration test profile.
  • the configuration test profile comprises a plurality of configurations arranged in a tree format, hereinafter also known as the configuration test tree.
  • FIGURE 4A illustrates the tree format of the configuration test profile.
  • Each configuration within the configuration test profile is represented by a node within the configuration test tree as depicted on FIGURE 4A.
  • Each node represents at least one user-defined virtual machine type or a combination of user-defined virtual machine types.
  • FIGURE 4B illustrates an exemplary representation of each of the nodes (or configurations) within the configuration test profile, wherein each node is defined by at least one user-defined virtual machine type or a combination of user-defined virtual machine types.
  • the size, i.e. the length and width of the configuration test tree is dependent, in a proportional manner, on the total number of user-defined virtual machine types (for example cl. small, cl. medium, etc) as well as the hardware attributes of the physical resource, such as number of processor cores, memory size, storage size, network attributes and other related attributes.
  • the configuration test tree is organized from the simplest configuration i.e. the largest user-defined virtual machine type (for example 3 cl.xlarge) to the most complex configuration i.e. a combination of the smaller user-defined virtual machine types (for example 2 cl.xlarge + 2 ml. small).
  • the configuration profile generator (104) selects an available configuration (206) from the configuration test profile for benchmarking.
  • the selection of the available configuration (206) comprises selecting a plurality of nodes (or configurations) at a particular level of the configuration test tree. In the preferred embodiment of the present invention, the level which has half the number of nodes of the level with the most number of nodes is selected.
  • the selection of the available configuration (206) from the configuration test profile for benchmarking is performed iteratively by the configuration profile generator (104).
  • the nodes (or configurations) from the selected level are forwarded (208) to the virtual machine deployment agent ( 107).
  • the virtual machine deployment agent (107) Upon receiving the selected nodes (or configurations) from the configuration profile generator (104), the virtual machine deployment agent (107) benchmarks the nodes (or configurations) based on a threshold of the user-defined virtual machine type (210) to generate performance results.
  • the virtual machine deployment agent (107) comprises a deployment agent (106) and at least one agent probe (108).
  • the deployment agent (106) schedules the selected nodes (or configurations) received from the configuration test profile to be assigned to the agent probe (108).
  • the agent probe (108) benchmarks the nodes (or configurations) based on the threshold of the user-defined virtual machine type (210) to generate the performance results.
  • FIGURE 5 illustrates an exemplary representation of thresholds of user-defined virtual machine types. For each user-defined virtual machine type, minimum and maximum threshold levels are defined for the processor, memory size, storage size, network attributes and other related attributes that are required on the hosting physical resources to ensure that the virtual machine operates within the performance of its SLA.
  • FIGURE 6 illustrates an exemplary performance result storage format.
  • the stored performance result will be utilized by the configuration profile generator (104) to generate the configuration test profile (204) for the physical resources (112) as well as to iteratively select available nodes (or configurations) (206) from the configuration test profile for benchmarking.
  • mapping rule is populated for each of the benchmarked nodes (or configurations) that are within the threshold and the said mapping rules are stored (216) in the mapping rules storage (102).
  • FIGURE 7 illustrates an exemplary mapping rule stored in the mapping rule storage.
  • Each mapping rule comprises hardware attribute information of the physical resource, location of the physical resource and the nodes (or configurations) that represent the user-defined virtual machine types that the particular physical resource is capable of hosting based on the benchmarking against the thresholds of user-defined virtual machine types.
  • the benchmarked nodes (or configurations) are not within the threshold of the user-defined virtual machine type, the said nodes (or configurations) and it's linked nodes (or configurations) at the lower levels of the configuration test tree are pruned (222) from the configuration test tree.
  • FIGURE 8A-8E illustrate an exemplary pruning of the tree format configuration test profile according to the preferred embodiment of the present invention.
  • FIGURE 8A illustrates a configuration test tree [which is conceptually similar to that in FIGURE 4A] that is generated (204) by the configuration profile generator (104) for one of the physical resources (112).
  • the configuration profile generator (104) selects an available configuration (206) for benchmarking.
  • the level with the most number of nodes is the last level containing 8 nodes i.e. nodes 12, 13, 14, 15, 16, 17, 18 and 19. Therefore, the level which has half the number of nodes is the level containing 4 nodes i.e. nodes 8, 9 10 and 11 and this level is selected for benchmarking as depicted in FIGURE 8B.
  • These nodes from the selected level are forwarded (208) to the virtual machine deployment agent (107).
  • These nodes are then benchmarked by the virtual machine deployment agent (107) based on the threshold of the user-defined virtual machine type (210) to generate the performance results.
  • nodes 8 and 1 1 are within the threshold whereas nodes 9 and 10 are not within the threshold as depicted in FIGURE 8C.
  • the performance results for nodes 8 and 11 are stored (214) in the performance results storage (110) and a mapping rule is populated and stored (216) for each of nodes 8 and 11 in the mapping rules storage (102).
  • Nodes 9 and 10 and it's linked nodes at the lower levels i.e. nodes 14, 15, 16 and 17 are pruned (222) from the configuration test tree as depicted in FIGURE 8D.
  • the selection of the available configuration (206) from the configuration test tree for benchmarking by the virtual machine deployment agent (107) is iterated by the configuration profile generator (104).
  • the level with the most number of nodes is the level containing 4 nodes i.e. nodes 4, 5, 6 and 7 and the level which has half the number of nodes is the level containing 2 nodes i.e. nodes 2 and 3.
  • This level is now selected by the configuration profile generator (104) for benchmarking by the virtual machine deployment agent (107).
  • the afore-mentioned steps are iterated as long as there are unverified branches within the configuration test tree. Utilizing the set of mapping rules
  • FIGURE 3A illustrates a block diagram of a subsystem that utilizes the set of mapping rules during initial deployment of virtual machines on the physical resources.
  • FIGURE 3B illustrates a block diagram of a sub-system that utilizes the set of mapping rules during migration of virtual machines on the physical resources.
  • the virtual machine migration agent (109) extracts the virtual machine type and utilizes the allocation strategy, physical resource information as well as the generated mapping rules stored in the mapping rules storage (102) to decide on the migration of the virtual machines to the physical resources (1 12) within the cloud computing platform.
  • the resource information collector (1 14) constantly collects information of the dynamic physical resources (112) available within the cloud computing platform and mapping rules are generated based on the user-defined virtual machine types detailing the capability of physical resources (112) hosting a particular virtual machine, the system and method according to the present invention is capable of optimizing the physical recourses within the cloud computing platform.

Abstract

A system and method for optimizing physical resources of virtual machines, wherein the system and method comprises generating a set of mapping rules (100, 200) and utilizing the set of mapping rules during allocation of virtual machines on the physical resources.

Description

SYSTEM AND METHOD FOR OPTIMIZING PHYSICAL RESOURCES
OF VIRTUAL MACHINES
FIELD OF INVENTION
The present invention relates to a system and method for optimizing physical resources of virtual machines, particularly for cloud computing, wherein allocation of virtual machines on the physical resources are enhanced by utilizing a set of generated mapping rules. BACKGROUND ART
Cloud Infrastructure as a Service (IaaS) or cloud computing is an operation model or platform that provides virtualized resources (or virtual machines), that reside on various physical computing resources, as a service to several clients or users over the World Wide Web. Therefore, a major component within the cloud computing platform is virtualization, more specifically the allocation of virtual machines on the available physical resources, wherein allocation may include initial deployment of the virtual machines as well as migration of virtual machines. Thus, virtual machine management is a technical area of high importance within the virtualization technology, to ensure that programs or applications operated on the virtual machines are within a satisfactory performance level. However, within the cloud computing platform, due consideration has to be given to the fact that physical resources are heterogeneous and these physical resources often undergo dynamic alterations such as an upgrades of the physical resource itself, upgrades of software stacks, insertion of new physical resources and the like. These aspects create a challenging environment for optimal virtual machine allocation, as the capability of the heterogeneous and dynamic physical resources to host a particular virtual machine is a variable parameter that must be taken into consideration.
Prior art US 2009/0210527 discloses a virtualization machine management that provides a means to assign each virtual machine to the most suitable physical computing resource, based on the load characteristics of the programs operated on the virtual machine itself. However, the said prior art does not teach or disclose means to define the capability of the physical resources and hence would be unable to cater to heterogeneous and dynamic physical resources within the cloud computing platform. SUMMARY OF INVENTION
The present invention provides a system and method for optimizing physical resources of virtual machines, particularly for cloud computing. The present invention proposes to allocate each virtual machine to the most suitable physical resources and to ensure that each virtual machine operates within the performance of its Service Level Agreement, wherein a set of mapping rules is generated and utilized to enhance decision making during the allocation of virtual machines on the physical recourses. In one aspect of the present invention is a system and method for optimizing physical resources of virtual machines, comprising generating a set of mapping rules and utilizing the set of mapping rules during allocation of virtual machines on the physical resources.
In a further aspect of the present invention, generating the set of mapping rules further comprises obtaining, by a resource information collector, information of the physical resources; generating, by a configuration profile generator, a configuration test profile for each physical resource and iteratively selecting, by the configuration profile generator, an available configuration from the configuration test profile for benchmarking; benchmarking, by a virtual machine deployment agent, the available configuration based on a threshold of a user-defined virtual machine type to generate a performance results to be stored in a performance results storage; and storing, by a mapping rules storage, a mapping rule that corresponds to the performance results that conform to the threshold during benchmarking.
In another further aspect of the present invention, utilizing the set of mapping rules during allocation of virtual machines on the physical resources further comprises utilizing, by a virtual machine deployment agent, the set of mapping rules stored in a mapping rules storage during initial deployment of virtual machines on the physical resources; and utilizing, by a virtual machine migration agent, the set of mapping rules stored in the mapping rules storage during migration of virtual machines on the physical resources.
In one embodiment of the present invention, the configuration profile generator utilizes information in the resource information collector and performance results in the performance results storage to generate the configuration test profile. In another embodiment of the present invention, the configuration test profile comprises a plurality of configurations arranged in a tree format, wherein each configuration represents at least one user-defined virtual machine type or a combination of user-defined virtual machine types. The configuration profile generator iteratively selects the available configuration from the configuration test profile for benchmarking based on pruning of the plurality of configurations that do not conform to the threshold during benchmarking.
In yet another embodiment of the present invention, benchmarking, by the virtual machine deployment agent, further comprises scheduling, by a deployment agent, the available configuration from the configuration test profile to be assigned to at least one agent probe for benchmarking; and benchmarking, by the at least one agent probe, the available configuration based on the threshold of the user-defined virtual machine type to generate the performance results to be stored in the performance results storage.
The present invention consists of features and a combination of parts hereinafter fully described and illustrated in the accompanying drawings, it is being understood that various changes in the details may be made without departing from the scope of the invention or sacrificing any of the advantages of the present invention.
BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWINGS
To further clarify various aspects of some embodiments of the present invention, a more particular description of the invention will be rendered by references to specific embodiments thereof, which are illustrated, in the appended drawings. It is appreciated that these drawings depict only typical embodiments of the invention and are therefore not to be considered limiting of its scope. The invention will be described and explained with additional specificity and detail through the accompanying drawings in which: FIGURE 1 illustrates a block diagram of a sub-system that generates a set of mapping rules.
FIGURE 2 illustrates a flow chart of a method for generating a set of mapping rules.
FIGURE 3A illustrates a block diagram of a sub-system that utilizes a set of mapping rules during initial deployment of virtual machines on physical resources.
FIGURE 3B illustrates a block diagram of a sub-system that utilizes a set of mapping rules during migration of virtual machines on physical resources. FIGURE 4A illustrates a tree format of a configuration test profile.
FIGURE 4B illustrates an exemplary representation of each configuration within the configuration test profile. FIGURE 5 illustrates an exemplary representation of thresholds of user-defined virtual machine types.
FIGURE 6 illustrates an exemplary performance result storage format. FIGURE 7 illustrates an exemplary mapping rule stored in a mapping rule storage.
FIGURE 8A-8E illustrate an exemplary pruning of the tree format configuration test profile. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention relates to a system and method for optimizing physical resources of virtual machines (VM). Hereinafter, this specification will describe the present invention according to the preferred embodiments of the present invention. However, it is to be understood that limiting the description to the preferred embodiments of the invention is merely to facilitate discussion of the present invention and it is envisioned that those skilled in the art may devise various modifications and equivalents without departing from the scope of the appended claims. The present invention more particularly relates to a system and method for optimizing physical resources of virtual machines for cloud computing operation models or platforms. Optimization is achieved by enhancing decision making during allocation of virtual machines on the physical recourses. The enhanced decision making comprises utilizing a set of generated mapping rules during initial deployment as well as migration of virtual machines on the physical resources.
The system and method according to the present invention comprises generating the set of mapping rules (100, 200) and thereafter utilizing (300, 302) the set of mapping rules during allocation of virtual machines on the physical resources. For ease of explanation, the term 'allocation' throughout the description herein refers to both initial deployment as well as migration of virtual machines on the physical resources. The mapping rules aid to allocate each virtual machine to the most suitable physical resources and to ensure that each virtual machine operates within the performance of its Service Level Agreement (SLA).
Generating the set of mapping rules
Reference is collectively being made to FIGURE 1 and FIGURE 2. FIGURE 1 illustrates a block diagram of a sub-system that generates the set of mapping rules. FIGURE 2 illustrates a flow chart of the method for generating the set of mapping rules. The sub-system (100) of the overall system according to the present invention that generates the set of mapping rules comprises a resource information collector (114), a configuration profile generator (104), a virtual machine deployment agent (107), a performance results storage (110) and a mapping rules storage (102). The resource information collector (114), the performance results storage (1 0) and the mapping rales storage (102) may be implemented on any form of database system for storing information of the physical resources (112), performance results and mapping rules in a memory. The configuration profile generator (104) and virtual machine deployment agent (107) may be implemented as software modules on related operating systems. Interaction between the various modules within the sub-system (100) may be implemented by using programming language functions and alternatively by combining relevant communications protocol.
The method (200) of generating the set of mapping rules begins with collection of information of the physical resources (112) by the resource information collector (114). The information comprises hardware attributes, such as number of processor cores, memory size, storage size, network attributes and other related attributes of the physical resources (112) that are part of the could computing operation. The resource information collector (114) constantly collects information of the dynamic physical resources (112) to cater for any additional or removal of the physical resources (112) as well as any upgrades on the physical resources (112), the upgrade includes any hardware and/or software upgrades. The configuration profile generator (104) then generates a configuration test profile (204) for each of the physical resources (112). In one embodiment of the present invention the configuration profile generator (104) utilizes information collected by the resource information collector (114) as well as performance results stored in the performance results storage (110) to generate the configuration test profile.
In a preferred embodiment of the present invention, the configuration test profile comprises a plurality of configurations arranged in a tree format, hereinafter also known as the configuration test tree. Reference is now being made to FIGURE 4A and FIGURE 4B collectively. FIGURE 4A illustrates the tree format of the configuration test profile. Each configuration within the configuration test profile is represented by a node within the configuration test tree as depicted on FIGURE 4A. Each node represents at least one user-defined virtual machine type or a combination of user-defined virtual machine types. FIGURE 4B illustrates an exemplary representation of each of the nodes (or configurations) within the configuration test profile, wherein each node is defined by at least one user-defined virtual machine type or a combination of user-defined virtual machine types.
Reference is specifically being made to FIGURE 4A. The size, i.e. the length and width of the configuration test tree is dependent, in a proportional manner, on the total number of user-defined virtual machine types (for example cl. small, cl. medium, etc) as well as the hardware attributes of the physical resource, such as number of processor cores, memory size, storage size, network attributes and other related attributes. The configuration test tree is organized from the simplest configuration i.e. the largest user-defined virtual machine type (for example 3 cl.xlarge) to the most complex configuration i.e. a combination of the smaller user-defined virtual machine types (for example 2 cl.xlarge + 2 ml. small). Once the configuration test profile has been generated for each of the physical resources (1 12), the configuration profile generator (104) selects an available configuration (206) from the configuration test profile for benchmarking. In the preferred embodiment of the present invention, the selection of the available configuration (206) comprises selecting a plurality of nodes (or configurations) at a particular level of the configuration test tree. In the preferred embodiment of the present invention, the level which has half the number of nodes of the level with the most number of nodes is selected. The selection of the available configuration (206) from the configuration test profile for benchmarking is performed iteratively by the configuration profile generator (104). The nodes (or configurations) from the selected level are forwarded (208) to the virtual machine deployment agent ( 107).
Upon receiving the selected nodes (or configurations) from the configuration profile generator (104), the virtual machine deployment agent (107) benchmarks the nodes (or configurations) based on a threshold of the user-defined virtual machine type (210) to generate performance results. In another preferred embodiment of the present invention, the virtual machine deployment agent (107) comprises a deployment agent (106) and at least one agent probe (108). The deployment agent (106) schedules the selected nodes (or configurations) received from the configuration test profile to be assigned to the agent probe (108). The agent probe (108) benchmarks the nodes (or configurations) based on the threshold of the user-defined virtual machine type (210) to generate the performance results.
Reference is being made to FIGURE 5. FIGURE 5 illustrates an exemplary representation of thresholds of user-defined virtual machine types. For each user-defined virtual machine type, minimum and maximum threshold levels are defined for the processor, memory size, storage size, network attributes and other related attributes that are required on the hosting physical resources to ensure that the virtual machine operates within the performance of its SLA.
If the benchmarked nodes (or configurations) are within the threshold of the user-defined virtual machine type, the performance results are stored (214) in the performance results storage (1 10). Reference is being made to FIGURE 6. FIGURE 6 illustrates an exemplary performance result storage format. The stored performance result will be utilized by the configuration profile generator (104) to generate the configuration test profile (204) for the physical resources (112) as well as to iteratively select available nodes (or configurations) (206) from the configuration test profile for benchmarking.
Finally, a mapping rule is populated for each of the benchmarked nodes (or configurations) that are within the threshold and the said mapping rules are stored (216) in the mapping rules storage (102). Reference is being made to FIGURE 7. FIGURE 7 illustrates an exemplary mapping rule stored in the mapping rule storage. Each mapping rule comprises hardware attribute information of the physical resource, location of the physical resource and the nodes (or configurations) that represent the user-defined virtual machine types that the particular physical resource is capable of hosting based on the benchmarking against the thresholds of user-defined virtual machine types.
In the preferred embodiment of the present invention, if the benchmarked nodes (or configurations) are not within the threshold of the user-defined virtual machine type, the said nodes (or configurations) and it's linked nodes (or configurations) at the lower levels of the configuration test tree are pruned (222) from the configuration test tree.
Once the mapping rule has been populated and stored (216) [for the benchmarked nodes (or configurations) that are within the threshold] or the benchmarked nodes (or configurations) and it's linked nodes (or configurations) at the lower levels have been pruned (222) from the configuration test tree [for the benchmarked nodes (or configurations) that are not within the threshold], the selection of the available configuration (206) from the configuration test profile for benchmarking by the virtual machine deployment agent (107) is iterated by the configuration profile generator (104) as long as there are unverified branches within the configuration test tree (218). Reference is being made to FIGURE 8A-8E that illustrate an exemplary pruning of the tree format configuration test profile according to the preferred embodiment of the present invention. FIGURE 8A illustrates a configuration test tree [which is conceptually similar to that in FIGURE 4A] that is generated (204) by the configuration profile generator (104) for one of the physical resources (112).
Once the configuration test tree has been generated, the configuration profile generator (104) selects an available configuration (206) for benchmarking. In FIGURE 8A, the level with the most number of nodes is the last level containing 8 nodes i.e. nodes 12, 13, 14, 15, 16, 17, 18 and 19. Therefore, the level which has half the number of nodes is the level containing 4 nodes i.e. nodes 8, 9 10 and 11 and this level is selected for benchmarking as depicted in FIGURE 8B. These nodes from the selected level are forwarded (208) to the virtual machine deployment agent (107). These nodes are then benchmarked by the virtual machine deployment agent (107) based on the threshold of the user-defined virtual machine type (210) to generate the performance results. For the purpose of explanation, it is assumed that nodes 8 and 1 1 are within the threshold whereas nodes 9 and 10 are not within the threshold as depicted in FIGURE 8C. The performance results for nodes 8 and 11 are stored (214) in the performance results storage (110) and a mapping rule is populated and stored (216) for each of nodes 8 and 11 in the mapping rules storage (102). Nodes 9 and 10 and it's linked nodes at the lower levels i.e. nodes 14, 15, 16 and 17 are pruned (222) from the configuration test tree as depicted in FIGURE 8D.
At this stage, since there are unverified branches within the configuration test tree (218), the selection of the available configuration (206) from the configuration test tree for benchmarking by the virtual machine deployment agent (107) is iterated by the configuration profile generator (104). Referring to FIGURE 8E, the level with the most number of nodes is the level containing 4 nodes i.e. nodes 4, 5, 6 and 7 and the level which has half the number of nodes is the level containing 2 nodes i.e. nodes 2 and 3. This level is now selected by the configuration profile generator (104) for benchmarking by the virtual machine deployment agent (107). The afore-mentioned steps are iterated as long as there are unverified branches within the configuration test tree. Utilizing the set of mapping rules
Reference is now being made to FIGURE 3A. FIGURE 3A illustrates a block diagram of a subsystem that utilizes the set of mapping rules during initial deployment of virtual machines on the physical resources. Once a virtual machine is launched by a user or operator (116), the user (116) is required to input the virtual machine type according to the user-defined virtual machine types. The virtual machine deployment agent (107) then utilizes the user input, allocation strategy, physical resource information as well as the generated mapping rules stored in the mapping rules storage (102) to decide on the initial deployment of the virtual machines on the physical resources (1 12) within the cloud computing platform.
Reference is made to FIGURE 3B. FIGURE 3B illustrates a block diagram of a sub-system that utilizes the set of mapping rules during migration of virtual machines on the physical resources. Once a request for migration is received from a physical resource (113) hosting a particular virtual machine, the virtual machine migration agent (109) extracts the virtual machine type and utilizes the allocation strategy, physical resource information as well as the generated mapping rules stored in the mapping rules storage (102) to decide on the migration of the virtual machines to the physical resources (1 12) within the cloud computing platform.
Since the resource information collector (1 14) constantly collects information of the dynamic physical resources (112) available within the cloud computing platform and mapping rules are generated based on the user-defined virtual machine types detailing the capability of physical resources (112) hosting a particular virtual machine, the system and method according to the present invention is capable of optimizing the physical recourses within the cloud computing platform.

Claims

1. A system for optimizing physical resources of virtual machines, wherein the system comprises
means (100) for generating a set of mapping rules;
means for utilizing (300, 302) the set of mapping rules during allocation of virtual machines on the physical resources.
2. A system according to claim 1, wherein the means (100) for generating the set of mapping rules further comprises
a resource information collector (114);
a configuration profile generator (104);
a virtual machine deployment agent (107);
a performance results storage (110); and
a mapping rules storage (102),
wherein
the resource information collector (114) obtains information of the physical resources;
the configuration profile generator (104) generates a configuration test profile for each physical resource and iteratively selects an available configuration from the configuration test profile for benchmarking;
the virtual machine deployment agent (107) benchmarks the available configuration based on a threshold of a user-defined virtual machine type to generate a performance results to be stored in the performance results storage (110); and
the mapping rules storage (102) stores a mapping rule that corresponds to the performance results that conform to the threshold during benchmarking.
3. A system according to claim 2, wherein the configuration profile generator (104) utilizes information in the resource information collector (114) and performance results in the performance results storage (110) to generate the configuration test profile.
4. A system according to claim 2, wherein the configuration test profile further comprises a plurality of configurations arranged in a tree format, each configuration represents at least one user-defined virtual machine type or a combination of user-defined virtual machine types.
A system according to claim 2, wherein the configuration profile generator (104) iteratively selects the available configuration from the configuration test profile for benchmarking based on pruning of the plurality of configurations that do not conform to the threshold during benchmarking.
A system according to claim 2, wherein the virtual machine deployment agent (107) further comprises
a deployment agent (106); and
at least one agent probe (108),
wherein
the deployment agent (106) schedules the available configuration from the configuration test profile to be assigned to the at least one agent probe (108) for benchmarking; and
the at least one agent probe (108) benchmarks the available configuration based on the threshold of the user-defined virtual machine type to generate the performance results to be stored in the performance results storage (110).
A system according to claim 1, wherein the means for utilizing (300, 302) the set of mapping rules during allocation of virtual machines on the physical resources further comprises
a virtual machine deployment agent (107);
a virtual machine migration agent (109); and
a mapping rules storage (102),
wherein
the virtual machine deployment agent (107) utilizes the set of mapping rules stored in the mapping rules storage (102) during initial deployment of virtual machines on the physical resources; and
the virtual machine migration agent (109) utilizes the set of mapping rules stored in the mapping rules storage (102) during migration of virtual machines on the physical resources.
8. A method for optimizing physical resources of virtual machines, wherein the method comprises
generating (200) a set of mapping rules; and utilizing the set of mapping rules during allocation of virtual machines on the physical resources.
9. A method according to claim 8, wherein generating (200) the set of mapping rules further comprises
obtaining, by a resource information collector, information of the physical resources;
generating (204), by a configuration profile generator, a configuration test profile for each physical resource and iteratively selecting (206), by the configuration profile generator, an available configuration from the configuration test profile for benchmarking;
benchmarking (210), by a virtual machine deployment agent, the available configuration based on a threshold of a user-defined virtual machine type to generate a performance results to be stored (214) in a performance results storage; and
storing (216), by a mapping rules storage, a mapping rule that corresponds to the performance results that conform to the threshold during benchmarking.
10. A method according to claim 9, wherein generating (204), by the configuration profile generator, the configuration test profile further comprises utilizing information in the resource information collector and performance results in the performance results storage to generate the configuration test profile.
11. A method according to claim 9, wherein the configuration test profile further comprises a plurality of configurations arranged in a tree format, each configuration represents at least one user-defined virtual machine type or a combination of user-defined virtual machine types.
12. A method according to claim 9, wherein iteratively selecting (206), by the configuration profile generator, the available configuration from the configuration test profile for benchmarking further comprises pruning (222) of the plurality of configurations that do not conform to the threshold during benchmarking.
13. A method according to claim 9, wherein benchmarking (210), by the virtual machine allocation agent, further comprises scheduling, by a deployment agent, the available configuration from the configuration test profile to be assigned to at least one agent probe for benchmarking; and
benchmarking, by the at least one agent probe, the available configuration based on the threshold of the user-defined virtual machine type to generate the performance results to be stored in the performance results storage.
14. A method according to claim 8, wherein utilizing the set of mapping rules during allocation of virtual machines on the physical resources further comprises
utilizing, by a virtual machine deployment agent, the set of mapping rules stored in a mapping rules storage during initial deployment of virtual machines on the physical resources; and
utilizing, by a virtual machine migration agent, the set of mapping rules stored in the mapping rules storage during migration of virtual machines on the physical resources.
PCT/MY2012/000107 2011-05-27 2012-05-25 System and method for optimizing physical resources of virtual machines WO2012165937A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2011002430 2011-05-27
MYPI2011002430 2011-05-27

Publications (1)

Publication Number Publication Date
WO2012165937A1 true WO2012165937A1 (en) 2012-12-06

Family

ID=47259576

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2012/000107 WO2012165937A1 (en) 2011-05-27 2012-05-25 System and method for optimizing physical resources of virtual machines

Country Status (1)

Country Link
WO (1) WO2012165937A1 (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2921954A4 (en) * 2012-12-11 2015-11-18 Huawei Tech Co Ltd Virtual machine allocation method and apparatus
US9229643B2 (en) 2013-10-03 2016-01-05 Red Hat Israel, Ltd. Compatible virtual machine joiner
US9396009B2 (en) 2014-01-30 2016-07-19 International Business Machines Corporation Optimized global capacity management in a virtualized computing environment
US9864621B2 (en) 2013-10-03 2018-01-09 Red Hat Israel, Ltd. Virtual machine joiner
WO2018157757A1 (en) 2017-03-02 2018-09-07 Huawei Technologies Co., Ltd. Unified resource management in a data center cloud architecture
WO2018207152A1 (en) 2017-05-12 2018-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for generation and automated usage of characterization metadata for application deployment and scaling

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090293022A1 (en) * 2008-05-22 2009-11-26 Microsoft Corporation Virtual Machine Placement Based on Power Calculations
US20100281482A1 (en) * 2009-04-30 2010-11-04 Microsoft Corporation Application efficiency engine

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090293022A1 (en) * 2008-05-22 2009-11-26 Microsoft Corporation Virtual Machine Placement Based on Power Calculations
US20100281482A1 (en) * 2009-04-30 2010-11-04 Microsoft Corporation Application efficiency engine

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2921954A4 (en) * 2012-12-11 2015-11-18 Huawei Tech Co Ltd Virtual machine allocation method and apparatus
US9229643B2 (en) 2013-10-03 2016-01-05 Red Hat Israel, Ltd. Compatible virtual machine joiner
US9864621B2 (en) 2013-10-03 2018-01-09 Red Hat Israel, Ltd. Virtual machine joiner
US9396009B2 (en) 2014-01-30 2016-07-19 International Business Machines Corporation Optimized global capacity management in a virtualized computing environment
WO2018157757A1 (en) 2017-03-02 2018-09-07 Huawei Technologies Co., Ltd. Unified resource management in a data center cloud architecture
CN110313149A (en) * 2017-03-02 2019-10-08 华为技术有限公司 Unified resource management in data center's cloud framework
WO2018207152A1 (en) 2017-05-12 2018-11-15 Telefonaktiebolaget Lm Ericsson (Publ) Systems and methods for generation and automated usage of characterization metadata for application deployment and scaling

Similar Documents

Publication Publication Date Title
US11630646B2 (en) Software defined network controller
JP5845809B2 (en) Efficient parallelization of software analysis in distributed computing environment by intelligent and dynamic load balancing
WO2012165937A1 (en) System and method for optimizing physical resources of virtual machines
KR101626174B1 (en) Data center programming model
JP5845812B2 (en) Policy scheduling for efficient parallelization of software analysis in distributed computing environments
US9250886B2 (en) Optimizing provisioning workflows in cloud computing
KR101781339B1 (en) Method and device for updating client
JP5845813B2 (en) A node computation initialization method for efficient parallel analysis of software in distributed computing environments
US8495605B2 (en) Policy-based program optimization to minimize environmental impact of software execution
JP5845811B2 (en) Dynamic and intelligent partial computation management for efficient parallelization of software analysis in distributed computing environments
Núñez et al. SIMCAN: A flexible, scalable and expandable simulation platform for modelling and simulating distributed architectures and applications
US20140282540A1 (en) Performant host selection for virtualization centers
CN106294199B (en) Conservative garbage collection and labeled integer for memory management
US20090144743A1 (en) Mailbox Configuration Mechanism
CN115134371A (en) Scheduling method, system, equipment and medium containing edge network computing resources
JP5845810B2 (en) Efficient partial computation for parallel analysis of software in distributed computing environments
US10884764B1 (en) Optimizing managed runtime applications for serverless environments
CN108228197A (en) A kind of method and apparatus for installing software in the cluster
CN115668895A (en) Resource configuration determining method and device of cloud service system
Wu et al. Latency modeling and minimization for large-scale scientific workflows in distributed network environments
KR20140009422A (en) Conservative garbage collecting with concurrent marking and concurrent sweeping for memory management
CN110971665A (en) Management method, system, equipment and storage medium for interfacing multi-type storage
KR20190049059A (en) Apparatus and method for cloud service brokerage
CN105446718B (en) Method of managing software and system based on red cap software package manager
Amato et al. A modeling profile for availability analysis of composite cloud services

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12792717

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 12792717

Country of ref document: EP

Kind code of ref document: A1