Clustered device dispersion in a multi-tenant environment
First Claim
1. A computer-implemented method of managing customer instances in a multi-tenant environment, comprising:
- under control of one or more computer systems configured with executable instructions,receiving a request to a placement manager to provision a plurality of virtual machines for at least one of a customer or customer workload in a multi-tenant environment, the multi-tenant environment including a plurality of servers connected by a network aggregation fabric including layers of network switches, each of the plurality of servers operable to host one or more virtual machines for one or more customers;
determining a communication pattern of the customer;
based at least in part upon the determined communication pattern of the customer, determining a number of servers to host the virtual machines and, for at least a lowest layer of the aggregation fabric, a number of network switches over which to disperse the determined number of servers;
wherein a level of dispersion of the virtual machines for a customer or customer workload can be at least one of determined or adjusted based at least in part upon the communication pattern of the customer.
1 Assignment
0 Petitions
Accused Products
Abstract
Host machines and other devices performing synchronized operations can be dispersed across multiple racks in a data center to provide additional buffer capacity and to reduce the likelihood of congestion. The level of dispersion can depend on factors such as the level of oversubscription, as it can be undesirable in a highly connected network to push excessive host traffic into the aggregation fabric. As oversubscription levels increase, the amount of dispersion can be reduced and two or more host machines can be clustered on a given rack, or otherwise connected through the same edge switch. By clustering a portion of the machines, some of the host traffic can be redirected by the respective edge switch without entering the aggregation fabric. When provisioning hosts for a customer, application, or synchronized operation, for example, the levels of clustering and dispersion can be balanced to minimize the likelihood for congestion throughout the network.
81 Citations
25 Claims
-
1. A computer-implemented method of managing customer instances in a multi-tenant environment, comprising:
under control of one or more computer systems configured with executable instructions, receiving a request to a placement manager to provision a plurality of virtual machines for at least one of a customer or customer workload in a multi-tenant environment, the multi-tenant environment including a plurality of servers connected by a network aggregation fabric including layers of network switches, each of the plurality of servers operable to host one or more virtual machines for one or more customers; determining a communication pattern of the customer; based at least in part upon the determined communication pattern of the customer, determining a number of servers to host the virtual machines and, for at least a lowest layer of the aggregation fabric, a number of network switches over which to disperse the determined number of servers; wherein a level of dispersion of the virtual machines for a customer or customer workload can be at least one of determined or adjusted based at least in part upon the communication pattern of the customer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
13. A system for managing customer instances in a multi-tenant environment, comprising:
-
a processor; and memory storing instructions that, when executed by the processor, cause the system to; receive a request to a placement manager to provision a plurality of virtual machines for at least one of a customer or customer workload in a multi-tenant environment, the multi-tenant environment including a plurality of servers connected by a network aggregation fabric including layers of network switches, each of the plurality of servers operable to host one or more virtual machines for one or more customers; determine a communication pattern of the customer; based at least in part upon the determined communication pattern of the customer, determine a number of servers to host the virtual machines and, for at least a lowest layer of the aggregation fabric, a number of network switches over which to disperse the determined number of servers; wherein a level of dispersion of the virtual machines for a customer or customer workload can be at least one of determined or adjusted based at least in part upon the communication pattern of the customer. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer-readable storage medium including instructions that, when executed by a processor, cause the processor to:
-
receive a request to a placement manager to provision a plurality of virtual machines for at least one of a customer or customer workload in a multi-tenant environment, the multi-tenant environment including a plurality of servers connected by a network aggregation fabric including layers of network switches, each of the plurality of servers operable to host one or more virtual machines for one or more customers; determine a communication pattern of the customer; based at least in part upon the determined communication pattern of the customer, determine a number of servers to host the virtual machines and, for at least a lowest layer of the aggregation fabric, a number of network switches over which to disperse the determined number of servers; wherein a level of dispersion of the virtual machines for a customer or customer workload can be at least one of determined or adjusted based at least in part upon the communication pattern of the customer. - View Dependent Claims (24, 25)
-
Specification