×

Dynamic scaling of a cluster of computing nodes used for distributed execution of a program

  • US 8,260,840 B1
  • Filed: 06/28/2010
  • Issued: 09/04/2012
  • Est. Priority Date: 06/28/2010
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method comprising:

  • receiving configuration information regarding execution of an indicated program in a distributed manner that includes executing a plurality of jobs of the indicated program, the configuration information being received by one or more computing systems configured to provide a distributed program execution service that performs distributed execution of programs for clients using a plurality of configurable computing nodes;

    automatically determining a subset of multiple of the plurality of configurable computing nodes to be used for the execution of the indicated program in accordance with the received configuration information, the multiple computing nodes of the determined subset including a first group of one or more computing nodes to act as core computing nodes that each participate in a distributed storage system storing information used in the execution of the indicated program, the multiple computing nodes of the determined subset further including a second group of one or more computing nodes to act as auxiliary computing nodes that do not participate in the distributed storage system, the automatic determining of the subset being performed by the one or more configured computing systems;

    initiating the execution of the indicated program in the distributed manner on the multiple computing nodes at a first time by executing one or more of the plurality of jobs of the indicated program on each of the multiple computing nodes, the initiating of the execution of the indicated program being performed by the one or more configured computing systems; and

    at a second time subsequent to the first time and during the execution of the indicated program, determining to reduce a quantity of the multiple computing nodes that are used for ongoing execution of the indicated program, and automatically reducing the quantity of the multiple computing nodes by initiating removal of at least one of the auxiliary computing nodes of the second group without removing any of the core computing nodes of the first group, the automatic reducing of the quantity of the multiple computing nodes being performed by the one or more configured computing systems.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×