Clustered dispersion of resource use in shared computing environments
First Claim
1. A computer-implemented method of managing traffic in a networked environment, comprising:
- under control of one or more computer systems configured with executable instructions,receiving a request to a provisioning component for the networked environment, the networked environment including a plurality of host servers connected by an aggregation fabric including layers of network switches, a path across the aggregation fabric to each host server involving a number of connections across the network switches;
determining a number of the host servers to be used in performing subsequent operations associated with a source of the request;
determining a level of subscription for at least a lowest layer of the aggregation fabric;
determining, for at least the lowest layer of the aggregation fabric, a number of network switches over which to disperse the determined number of host servers, the number of network switches being based at least in part on (i) the level of subscription for at least the lowest layer of the aggregation fabric and (ii) a topology of links associated with the aggregation fabric, the number of network switches at the lowest layer being at most equal to the determined number of host servers; and
in response to receiving one of the subsequent operations for processing, assigning a subset of the determined number of host servers to process the received subsequent operation,wherein each of the determined host servers in the subset is operable to concurrently perform at least a portion of the received subsequent operation.
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.
-
Citations
25 Claims
-
1. A computer-implemented method of managing traffic in a networked environment, comprising:
-
under control of one or more computer systems configured with executable instructions, receiving a request to a provisioning component for the networked environment, the networked environment including a plurality of host servers connected by an aggregation fabric including layers of network switches, a path across the aggregation fabric to each host server involving a number of connections across the network switches; determining a number of the host servers to be used in performing subsequent operations associated with a source of the request; determining a level of subscription for at least a lowest layer of the aggregation fabric; determining, for at least the lowest layer of the aggregation fabric, a number of network switches over which to disperse the determined number of host servers, the number of network switches being based at least in part on (i) the level of subscription for at least the lowest layer of the aggregation fabric and (ii) a topology of links associated with the aggregation fabric, the number of network switches at the lowest layer being at most equal to the determined number of host servers; and in response to receiving one of the subsequent operations for processing, assigning a subset of the determined number of host servers to process the received subsequent operation, wherein each of the determined host servers in the subset is operable to concurrently perform at least a portion of the received subsequent operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A computer-implemented method of dispersing host machines for a customer in a data center, comprising:
under control of one or more computer systems configured with executable instructions, receiving a request to provision a specified number of host servers for a customer, the host servers each being connected to one of a plurality of host server-connected switches of an aggregation network fabric comprising a plurality of network switches; determining a level of subscription for at least a lowest layer of the aggregation network fabric; determining a number of host server-connected switches over which to disperse the specified number of host servers, the number of host server-connected switches being based at least in part on the level of subscription and network topology for at least a lowest layer of the aggregation fabric; and in response to receiving an operation for the customer, provisioning a subset of the specified number of host servers across the determined number of host server-connected switches to process the received operation for the customer, wherein the received operation for the customer can be performed in parallel using the provisioned subset of host servers in the data center. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
23. A system for managing data in a networked environment, comprising:
-
a hardware processor; and memory including instructions that, when executed by the processor, cause the system to;
receive a request to a provisioning component for the networked environment, the networked environment including a plurality of host servers connected by an aggregation fabric including layers of network switches, a path across the aggregation fabric to each host server involving a common number of connections across the network switches;determine a number of the host servers to be used in performing subsequent operations associated with a source of the request; determine a level of subscription for at least a lowest layer of the aggregation fabric; determine, for at least a lowest layer of the aggregation fabric, a number of network switches over which to disperse the determined number of host servers, the number of network switches being based at least in part on (i) the level of subscription for at least the lowest layer of the aggregation fabric and (ii) a topology of links associated with the aggregation fabric, the number of network switches at the lowest layer being at most equal to the determined number of host servers; and in response to receiving one of the subsequent operations for processing, assign a subset of the determined number of host servers to process the received subsequent operation, wherein each of the determined host servers in the subset is operable to concurrently perform at least a portion of the received subsequent operation. - View Dependent Claims (24, 25)
-
Specification