×

Full exploitation of parallel processors for data processing

  • US 8,959,524 B2
  • Filed: 06/28/2012
  • Issued: 02/17/2015
  • Est. Priority Date: 01/30/2012
  • Status: Expired due to Fees
First Claim
Patent Images

1. A method for full exploitation, after a plurality of initialization steps, of a set of a plurality of parallel processors to perform a task on a sequence of data chunks by a processor device in a computing environment, wherein each of the data chunks are processed in several time steps and by a plurality of layers with the plurality of layers being dealt with by at least one of a plurality of processors at each of the time steps, the method comprising:

  • partitioning the set of the plurality of parallel processors into disjoint subsets according to indices of the set of the plurality of parallel processors wherein,the plurality of parallel processors are partitioned in accordance with one or more of a plurality of constraints;

    the number of the plurality of parallel processors that are available is n=2d

    1, where d is the number of the plurality of layers, n is the number of the plurality of parallel processors, and 2d

    1 is also equal to n=(2d)−

    1, anda size of each of the disjoint subsets corresponds to a number of the plurality of processors assigned to the processing of the data chunks at one of the plurality of layers;

    partitioning the task into the plurality of layers independent of partitioning the set of the plurality of parallel processors;

    assigning each of the plurality of processors to the plurality of layers of the task according to the partitioning of the task such that each of the plurality of processors are busy and each of the data chunks are fully processed within a number of the time steps equal to the number of the plurality of layers, wherein the number of the plurality of parallel processors assigned to the processing of the data chunks at one of the plurality of layers is smaller than the number of the plurality of parallel processors assigned to the processing of the data chunks at a preceding one of the plurality of layers;

    selecting and using one of a plurality of constraints for restricting any one of the plurality of parallel processors to always work on the same one of the plurality of layers or, for each of the plurality of layers except for a first layer, to always work on a same data chunk as in each of the previous layers;

    processing each one of the data chunks within a number of time steps equal to a number of the plurality of layers; and

    devising a transition function from the indices of the set of the plurality of parallel processors at one of the time steps to the indices of the set of the plurality of parallel processors at a following time step, wherein the transition function is consistent with the assigning.

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