×

Application load adaptive multi-stage parallel data processing architecture

  • US 10,061,615 B2
  • Filed: 03/23/2018
  • Issued: 08/28/2018
  • Est. Priority Date: 06/08/2012
  • Status: Active Grant
First Claim
Patent Images

1. A system comprising a plurality of subsystems, implemented on processors, for coordinating resource management of a pool of processing resources on behalf of application programs, the system comprising:

  • a first subsystem configured to, for each period of a plurality of allocation periods,allocate a first number of a plurality of cores of the pool of processing resources to one or more of the plurality of application programs based, for each of the one or more application programs, on a processing demand of the respective application program up to a respective processing resource quota, whereinthe processing demand is based at least in part on a count of ready-to-execute instances for the respective application program, andallocate a second number of the plurality of cores after allocating the first number of the plurality of cores to one or more programs of the plurality of application programs based in part on remaining processing demand of each of the plurality of application programs,such that allocations of the plurality of cores are adjusted over time based at least in part on changes in the processing demands of each of the plurality of application programs;

    a second subsystem configured to, for each of the plurality of application programs, select a number of highest priority instances, corresponding to a number of cores allocated to the respective program by the first subsystem, of one or more instances of the respective program for a next allocation period of the plurality of allocation periods, wherein the number of highest priority instances are selected based at least in part on a relative readiness for execution among one or more instances of the respective program, wherein any of the ready-to-execute instances of the respective program has a higher selection priority than any other instances of the respective program; and

    a third subsystem configured to assign the number of highest priority instances of each of the plurality of application programs selected by the second subsystem to the cores that are allocated to the corresponding program during the next allocation period of the plurality of allocation periods.

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