×

Application load adaptive multi-stage parallel data processing architecture

  • US 10,133,600 B2
  • Filed: 06/21/2018
  • Issued: 11/20/2018
  • Est. Priority Date: 11/04/2011
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising a plurality of subsystems, implemented on hardware logic and/or software logic executing on processors, for load-adaptive resource management of a pool of processing resources on behalf of a plurality of software programs, the plurality of subsystems comprising:

  • a first subsystem configured to periodically, for successive allocation periods,allocate a plurality of cores of the pool of processing resources to the plurality of software programs based at least in part on i) a processing demand of each software program of the plurality of software programs, and ii) a processing resource quota of each program of one or more software programs of the plurality of software programs to computing capacity of the pool of processing resources, whereinperiodically allocating causes allocations of the plurality of cores to adjust over time based at least in part on changes in readiness to execute among one or more instances of a set of instances of each of the plurality of software programs;

    a second subsystem configured to, for each of the plurality of software programs, select a set of highest priority instances of one or more instances of the set of instances, corresponding to a number of cores allocated to the respective program by the first subsystem during a current allocation period of the successive allocation periods, whereinthe set of highest priority instances are selected based at least in part on a relative readiness for processing among the set of instances of the respective program; and

    a third subsystem configured to assign the set of highest priority instances of each of the plurality of software programs selected by the second subsystem to the plurality of cores for execution during an upcoming allocation period based at least in part on the allocations of the cores among the plurality of software programs by the first subsystem, wherein,for at least one of the plurality of software programs,the set of highest priority instances comprises at least one assigned instance currently assigned to a given core of the plurality of cores, andassigning the at least one assigned instance comprises preserving a core assignment of the at least one assigned instance from a current allocation period;

    wherein the system periodically repeats the selecting and the assigning at least in response to the periodically allocating.

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