Patent · US10666572B2 · B2 · US
Dynamic management of computing platform resources
- (11) Publication number
- US10666572B2
- (21) Application number
- 16/279,423
- (22) Filing date
- 2019-02-19
- (30) Priority date
- 2015-03-19
- (43) Publication date
- 2020-05-26
- (45) Date of grant
- 2020-05-26
- (51) IPC
- G06F 9/00; G06F 9/455; G06F 9/50
- (52) CPC
- (73) Assignee
- International Business Machines Corp
- (72) Inventors
- Narsimha R. Challa; Adam T. Stallman
- (54) Title
- Dynamic management of computing platform resources
- (57) Abstract
Embodiments of the invention provide for methods for the management of logically partitioned computing resources of a data processing system configured with a plurality of hypervisors that each manages one or more logical partitions of the computing resources. Each hypervisor and logical partitions managed thereby are allocated to a domain of a plurality of domains. Logical partitions and hypervisors allocated to a first domain are monitored to determine whether additional computing resources are needed for the first domain. Responsive to determining that additional computing resources are needed for the first domain, a second domain having available computing resources is determined. At least a portion of the available computing resources of the second domain are used by the first domain.
- Full text
- View on Google Patents
Claims (13)
- A data processing system comprising: a pool of logically partitioned computing resources including a plurality of processors and a plurality of memory resources, wherein the pool of logically partitioned computing resources are distributed among a plurality of processing nodes on a plurality of servers; a plurality of hypervisors that each execute on a server among the plurality of servers and manage one or more logical partitions; and a memory that stores program code configured to be executed by at least one processor to cause the at least one processor to: create a plurality of domains and allocate computing resources from the pool of logically partitioned computing resources of the data processing system to each of the plurality of domains, wherein allocating computing resources to each domain isolates the allocated computing resources of each domain from those of other domains; allocate each hypervisor and logical partition managed thereby to a domain among the plurality of domains, including allocate to at least one of the plurality of domains a plurality of hypervisors, wherein allocating each hypervisor allocates each logical partition that is managed by such hypervisor and isolates each logical partition managed by such hypervisor from those managed by hypervisors allocated to other domains; monitor the logical partitions and hypervisors allocated to a first domain among the plurality of domains to determine whether additional computing resources are needed for the first domain; and in response to determining that additional computing resources are needed for the first domain: determine a second domain among the plurality of domains having available computing resources; and use at least a portion of the available computing resources of the second domain by the first domain.
- The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to, prior to use of the portion of the available computing resources of the second domain, temporarily allocate the portion of the available computing resources to the first domain from the second domain.
- The data processing system of claim 2, wherein the program code is further configured, upon execution, to cause the at least one processor to set an owning domain identifier associated with the portion of the available computing resources to identify the first domain.
- The data processing system of claim 2, wherein the program code is further configured, upon execution, to cause the at least one processor to determine a time limit associated with the temporary allocation of the portion of available computing resources.
- The data processing system of claim 2, wherein the portion of the available computing resources of the second domain comprises at least one hypervisor and the one or more logical partitions managed thereby.
- The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to, prior to use of the portion of the available computing resources of the second domain, reserve the portion of the available computing resources with at least one particular hypervisor associated with the portion of the available computing resources.
- The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to consolidate at least one logical partition managed by a first hypervisor of the second domain to a second hypervisor of the second domain to thereby make the computing resources used by the first logical partition available.
- The data processing system of claim 1, wherein the data processing system comprises, for each hypervisor, an associated memory that stores a primary domain identifier and an owning domain identifier for the hypervisor.
- A computer program product comprising: a non-transitory computer readable medium; and program code stored on the computer readable medium and configured to be executed by at least one processor to cause the at least one processor to: for a data processing system including a pool of logically partitioned computing resources including a plurality of processors and a plurality of memory resources that are distributed among a plurality of processing nodes on a plurality of servers and configured with a plurality of hypervisors that each execute on a server among the plurality of servers and manage one or more logical partitions, create a plurality of domains, allocate computing resources from the pool of logically partitioned computing resources to each of the plurality of domains to isolate allocated computing resources of each domain from those of other domains, and allocate each hypervisor and logical partitions managed thereby to a domain of the plurality of domains, including allocate to at least one of the plurality of domains a plurality of hypervisors, wherein allocating each hypervisor allocates each logical partition that is managed by such hypervisor and isolates each logical partition managed by such hypervisor from those managed by hypervisors allocated to other domains; monitor the logical partitions and hypervisors allocated to a first domain among the plurality of domains to determine whether additional computing resources are needed for the first domain; and in response to determining that additional computing resources are needed for the first domain: determine a second domain among the plurality of domains having available computing resources; and use at least a portion of the available computing resources of the second domain by the first domain.
- The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to, prior to using the at least a portion of the available computing resources of the second domain by the first domain, determine if resource sharing is allowed between the first and second domains.
- The data processing system of claim 10, wherein the first and second domains are assigned to first and second customers, and wherein the program code is configured to cause the at least one processor to determine if resource sharing is allowed between the first and second domains by determining if a security and/or performance specification for either of the first and second customers restricts resource sharing between the first and second domains.
- The data processing system of claim 11, wherein the first and second customers are competitors of one another, and wherein the security and/or performance specification prohibits resource sharing between competitors.
- The data processing system of claim 11, wherein the security and/or performance specification requires server, hypervisor, and/or logical partition isolation for the first and/or second customer.
Description
The present invention relates to computing systems, and more particularly to management of logically partitioned computing resources and the allocation of such logically partitioned computing resources.
Modern requirements for a computer system may require that a computer be utilized to run several operating environments, or operating systems, at once. In a typical embodiment, a logically partitioned data processing system may run a plurality of operating systems in one or more logical partitions. Each operating system resides in a logical partition, with each logical partition allocated at least part of a processor, an entire processor, or multiple processors from the computer. Moreover in data processing systems of cloud computing environments, computing resources of the data processing system may be allocated to different customers.
Consequently, there is a continuing need for improving management of computing resources in data processing systems and particularly data processing systems implemented in cloud computing environments.
Embodiments of the invention provide for methods for the management of logically partitioned computing resources of a data processing system configured with a plurality of hypervisors that each manages one or more logical partitions of the computing resources. Each hypervisor and logical partitions managed thereby are allocated to a domain of a plurality of domains. Logical partitions and hypervisors allocated to a first domain are monitored to determine whether additional computing resources are needed for the first domain.
Citations (32)
- US20060090197A1
- US20080282256A1
- US7814495B1
- US20090089790A1
- US20090138877A1
- US20100251238A1
- US20100325454A1
- US20110090911A1
- WO2011067029A1
- US20110137805A1
- US20110145392A1
- US8874749B1
- US20120030673A1
- US20120054280A1
- US20120116782A1
- US20120173730A1
- US20140012995A1
- US20120246641A1
- US20120284709A1
- US20130173900A1
- US20130262682A1
- US20130263208A1
- US20130268643A1
- US20130339949A1
- US20140040474A1
- US20140075568A1
- US20140137104A1
- US20140215172A1
- US20140280701A1
- US20140330948A1
- US20150304243A1
- US20160259750A1
Record as JSON
{
"publication_number": "US10666572B2",
"country": "US",
"kind": "B2",
"title": "Dynamic management of computing platform resources",
"abstract": "Embodiments of the invention provide for methods for the management of logically partitioned computing resources of a data processing system configured with a plurality of hypervisors that each manages one or more logical partitions of the computing resources. Each hypervisor and logical partitions managed thereby are allocated to a domain of a plurality of domains. Logical partitions and hypervisors allocated to a first domain are monitored to determine whether additional computing resources are needed for the first domain. Responsive to determining that additional computing resources are needed for the first domain, a second domain having available computing resources is determined. At least a portion of the available computing resources of the second domain are used by the first domain.",
"claims": [
"1. A data processing system comprising: a pool of logically partitioned computing resources including a plurality of processors and a plurality of memory resources, wherein the pool of logically partitioned computing resources are distributed among a plurality of processing nodes on a plurality of servers; a plurality of hypervisors that each execute on a server among the plurality of servers and manage one or more logical partitions; and a memory that stores program code configured to be executed by at least one processor to cause the at least one processor to: create a plurality of domains and allocate computing resources from the pool of logically partitioned computing resources of the data processing system to each of the plurality of domains, wherein allocating computing resources to each domain isolates the allocated computing resources of each domain from those of other domains; allocate each hypervisor and logical partition managed thereby to a domain among the plurality of domains, including allocate to at least one of the plurality of domains a plurality of hypervisors, wherein allocating each hypervisor allocates each logical partition that is managed by such hypervisor and isolates each logical partition managed by such hypervisor from those managed by hypervisors allocated to other domains; monitor the logical partitions and hypervisors allocated to a first domain among the plurality of domains to determine whether additional computing resources are needed for the first domain; and in response to determining that additional computing resources are needed for the first domain: determine a second domain among the plurality of domains having available computing resources; and use at least a portion of the available computing resources of the second domain by the first domain.",
"2. The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to, prior to use of the portion of the available computing resources of the second domain, temporarily allocate the portion of the available computing resources to the first domain from the second domain.",
"3. The data processing system of claim 2, wherein the program code is further configured, upon execution, to cause the at least one processor to set an owning domain identifier associated with the portion of the available computing resources to identify the first domain.",
"4. The data processing system of claim 2, wherein the program code is further configured, upon execution, to cause the at least one processor to determine a time limit associated with the temporary allocation of the portion of available computing resources.",
"5. The data processing system of claim 2, wherein the portion of the available computing resources of the second domain comprises at least one hypervisor and the one or more logical partitions managed thereby.",
"6. The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to, prior to use of the portion of the available computing resources of the second domain, reserve the portion of the available computing resources with at least one particular hypervisor associated with the portion of the available computing resources.",
"7. The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to consolidate at least one logical partition managed by a first hypervisor of the second domain to a second hypervisor of the second domain to thereby make the computing resources used by the first logical partition available.",
"8. The data processing system of claim 1, wherein the data processing system comprises, for each hypervisor, an associated memory that stores a primary domain identifier and an owning domain identifier for the hypervisor.",
"9. A computer program product comprising: a non-transitory computer readable medium; and program code stored on the computer readable medium and configured to be executed by at least one processor to cause the at least one processor to: for a data processing system including a pool of logically partitioned computing resources including a plurality of processors and a plurality of memory resources that are distributed among a plurality of processing nodes on a plurality of servers and configured with a plurality of hypervisors that each execute on a server among the plurality of servers and manage one or more logical partitions, create a plurality of domains, allocate computing resources from the pool of logically partitioned computing resources to each of the plurality of domains to isolate allocated computing resources of each domain from those of other domains, and allocate each hypervisor and logical partitions managed thereby to a domain of the plurality of domains, including allocate to at least one of the plurality of domains a plurality of hypervisors, wherein allocating each hypervisor allocates each logical partition that is managed by such hypervisor and isolates each logical partition managed by such hypervisor from those managed by hypervisors allocated to other domains; monitor the logical partitions and hypervisors allocated to a first domain among the plurality of domains to determine whether additional computing resources are needed for the first domain; and in response to determining that additional computing resources are needed for the first domain: determine a second domain among the plurality of domains having available computing resources; and use at least a portion of the available computing resources of the second domain by the first domain.",
"10. The data processing system of claim 1, wherein the program code is further configured, upon execution, to cause the at least one processor to, prior to using the at least a portion of the available computing resources of the second domain by the first domain, determine if resource sharing is allowed between the first and second domains.",
"11. The data processing system of claim 10, wherein the first and second domains are assigned to first and second customers, and wherein the program code is configured to cause the at least one processor to determine if resource sharing is allowed between the first and second domains by determining if a security and/or performance specification for either of the first and second customers restricts resource sharing between the first and second domains.",
"12. The data processing system of claim 11, wherein the first and second customers are competitors of one another, and wherein the security and/or performance specification prohibits resource sharing between competitors.",
"13. The data processing system of claim 11, wherein the security and/or performance specification requires server, hypervisor, and/or logical partition isolation for the first and/or second customer."
],
"description_excerpt": "The present invention relates to computing systems, and more particularly to management of logically partitioned computing resources and the allocation of such logically partitioned computing resources.\n\nModern requirements for a computer system may require that a computer be utilized to run several operating environments, or operating systems, at once. In a typical embodiment, a logically partitioned data processing system may run a plurality of operating systems in one or more logical partitions. Each operating system resides in a logical partition, with each logical partition allocated at least part of a processor, an entire processor, or multiple processors from the computer. Moreover in data processing systems of cloud computing environments, computing resources of the data processing system may be allocated to different customers.\n\nConsequently, there is a continuing need for improving management of computing resources in data processing systems and particularly data processing systems implemented in cloud computing environments.\n\nEmbodiments of the invention provide for methods for the management of logically partitioned computing resources of a data processing system configured with a plurality of hypervisors that each manages one or more logical partitions of the computing resources. Each hypervisor and logical partitions managed thereby are allocated to a domain of a plurality of domains. Logical partitions and hypervisors allocated to a first domain are monitored to determine whether additional computing resources are needed for the first domain.",
"cpc": [
"G06F 9/45558",
"G06F 2009/45562",
"G06F 2009/45591",
"G06F 9/00",
"G06F 9/5077",
"H04L 41/0893",
"H04L 41/0894",
"H04L 41/0897",
"H04L 43/10",
"H04L 47/78"
],
"ipc": [
"G06F 9/00",
"G06F 9/455",
"G06F 9/50"
],
"assignees": [
"International Business Machines Corp"
],
"inventors": [
"Narsimha R. Challa",
"Adam T. Stallman"
],
"filing_date": "2019-02-19",
"publication_date": "2020-05-26",
"grant_date": "2020-05-26",
"priority_date": "2015-03-19",
"application_number": "US-201916279423-A",
"family_id": "56924281",
"cited_by_count": 2,
"citations": [
"US20060090197A1",
"US20080282256A1",
"US7814495B1",
"US20090089790A1",
"US20090138877A1",
"US20100251238A1",
"US20100325454A1",
"US20110090911A1",
"WO2011067029A1",
"US20110137805A1",
"US20110145392A1",
"US8874749B1",
"US20120030673A1",
"US20120054280A1",
"US20120116782A1",
"US20120173730A1",
"US20140012995A1",
"US20120246641A1",
"US20120284709A1",
"US20130173900A1",
"US20130262682A1",
"US20130263208A1",
"US20130268643A1",
"US20130339949A1",
"US20140040474A1",
"US20140075568A1",
"US20140137104A1",
"US20140215172A1",
"US20140280701A1",
"US20140330948A1",
"US20150304243A1",
"US20160259750A1"
]
}
Record 2,143 of 8,000 in Patents full text (MLC-0201). Request the full dataset.