×

System and method for input data load adaptive parallel processing

DC
  • US 10,310,902 B2
  • Filed: 12/19/2018
  • Issued: 06/04/2019
  • Est. Priority Date: 11/04/2011
  • Status: Active Grant
First Claim
Patent Images

1. A system, executing on at least one of hardware logic and software logic executing on a plurality of processors, for hosting a plurality of application programs, the system comprising:

  • a plurality of processing data input buffers, each input buffer of the plurality of processing data input buffers queuing data for a corresponding instance of one program of the plurality of application programs, wherein each program of the plurality of programs comprises a plurality of instances;

    an array of cores of computing capacity;

    a first subsystem configured to allocate the array of cores of computing capacity among the plurality of application programs, whereinallocating comprises allocating the array of cores of computing capacity based at least in part ona respective volume of processing data at each buffer of the plurality of processing data input buffers, anda respective processing quota of each application program of at least a portion of the plurality of application programs,andallocating comprises allocating more than one core of the array of cores of computing capacity to at least one of the plurality of application programs;

    a second subsystem configured toassign, for each program of the plurality of application programs, each core allocated to the respective program to a different instance of the plurality of instances of the respective program, whereinthe assigning results in assignment of a plurality of selected instances of the plurality of instances of the plurality of application programs, the plurality of instances comprising one or more executable instances of each program of the plurality of application programs, whereina number of the plurality of selected instances is fewer than a maximum number of the plurality of instances, andthe plurality of selected instances is selected based at least in part on respective volumes of processing data available for each instance of the plurality of instances of the respective program at the portion of the plurality of data input buffers queuing data for the respective program, andaccording to the assigning, control connectivity between the plurality of processing data input buffers and the array of cores; and

    a third subsystem configured, according to the controlling, to establish direct data access from each input buffer of at least a subset of the plurality of processing data input buffers to the respective core of the array of cores that is assigned to a given corresponding instance of the program for which the respective input buffer is queuing data;

    wherein the array of cores is periodically allocated by the first subsystem and assigned by the second subsystem based at least in part on changes in respective volumes of processing data associated with each program of the plurality of application programs.

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