← Back to Patent Explorer
US5826095A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for maintaining the order of data items processed by parallel processors

Assignee: Hewlett Packard Development Co LP
•
Filing: 1996-08-27
•
Granted: 1998-10-20
•
Expires: 2016-08-27
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data processing system includes two or more parallel processors, a distributor and a combiner. The processors process input data items and generate corresponding output data items. The distributor includes an input counter for generating an ID corresponding to each of the input data items and a distributor for placing the input data items and the corresponding ID's in processor input words and distributing each of the processor input words to selected ones of the processors in accordance with a distribution algorithm. The combiner receives from the processors processor output words containing the output data items and the corresponding ID's. The combiner includes an output counter for generating an output count and comparators for comparing the output count with the ID's in the processor output words. The combiner further includes a combining circuit for transferring an output data item to an output data stream in response to detection by one of the comparators of a match condition between the output count and an ID corresponding to the output data item to be transferred. As a result, the data items in the output data stream have the same order as the data items in the input data stream.

Inventors

  • 👤 Stephen D. Jordan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 17:58
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3824

Claims Analysis

Total Claims: 17
Claim 1
Independent Claim 296 words
A data processing system comprising: a plurality of parallel processors for processing input data items from an input data stream and generating corresponding output data items, each of said processors having an input and an output; a distributor including an input counter for generating an ID corresponding to each of said input data items and a distributing circuit for placing said input data items and said corresponding ID's in processor input words and for distributing each of said processor input words to selected ones of said processors in accordance with a distribution algorithm, said input counter being advanced to its next state in association with receipt of each input data item in the input data stream, each of said processors receiving said processor input words at the input thereof and providing at the output thereof processor output words containing said output data items and said corresponding ID's; and a combiner for receiving each of said processor output words from said processors, said combiner including an output counter for generating an output count, said output counter having the same number of states as said input counter, said output counter being advanced to its next state in association with transfer of each of said output data items to an output data stream, said combiner further including comparators for comparing said output count with the ID's in said processor output words and a combining circuit for transferring an output data item to the output data stream in response to detection by one of said comparators of a match condition between said output count and an ID corresponding to the output data item to be transferred, wherein the output data items in said output data stream have the same order as the input data items in said input data stream.
Claim 2
Dependent Claim 296 words
A data processing system comprising: a plurality of parallel processors for processing input data items from an input data stream and generating corresponding output data items, each of said processors having an input and an output; a distributor including an input counter for generating an ID corresponding to each of said input data items and a distributing circuit for placing said input data items and said corresponding ID's in processor input words and for distributing each of said processor input words to selected ones of said processors in accordance with a distribution algorithm, said input counter being advanced to its next state in association with receipt of each input data item in the input data stream, each of said processors receiving said processor input words at the input thereof and providing at the output thereof processor output words containing said output data items and said corresponding ID's; and a combiner for receiving each of said processor output words from said processors, said combiner including an output counter for generating an output count, said output counter having the same number of states as said input counter, said output counter being advanced to its next state in association with transfer of each of said output data items to an output data stream, said combiner further including comparators for comparing said output count with the ID's in said processor output words and a combining circuit for transferring an output data item to the output data stream in response to detection by one of said comparators of a match condition between said output count and an ID corresponding to the output data item to be transferred, wherein the output data items in said output data stream have the same order as the input data items in said input data stream.
Claim 3
Dependent Claim 64 words
A processing system as defined in claim 1, wherein said distributing circuit includes a staging register for holding each of said processor input words, a distribution register corresponding to each of said processors and a path selection controller for transferring each of said processor input words from said staging register to a selected one of said distribution registers in accordance with said distribution algorithm.
Claim 4
Dependent Claim 75 words
A processing system as defined in claim 1, wherein said combining circuit comprises an output register corresponding to each of said processors for receiving said processor output words from the respective processor, a combining multiplexer for selecting an output data item from one of said output registers, a combining register for holding the selected output data item and a combining controller responsive to said match condition for providing a select signal to said combining multiplexer.
Claim 5
Dependent Claim 36 words
A processing system as defined in claim 1, wherein said input counter and said output counter each have a number of states that is greater than a maximum skew in ID values in said processing circuits.
Claim 6
Dependent Claim 230 words
In a processing system comprising a plurality of parallel processors for processing input data items from an input data stream and generating corresponding output data items, a method for maintaining said input data items and said output data items in the same order, comprising the steps of: with an input counter, generating an ID corresponding to each of said input data items; advancing said input counter to its next state in association with receiving at least selected ones of said input data items in the input data stream; placing said input data items and said corresponding ID's in processor input words; distributing each of said processor input words to selected ones of said processors in accordance with a distribution algorithm; each of said processors receiving said processor input words at an input thereof and providing at an output thereof processor, output words containing said output data items and said corresponding ID's; generating an output count with an output counter; comparing said output count with the ID's in said processor output words; transferring an output data item to an output data stream when a match condition is detected between said output count and an ID corresponding to the output data item to be transferred; and advancing said output counter to its next state in association with transferring at least selected ones of said output data items to the output data stream.
Claim 7
Dependent Claim 230 words
In a processing system comprising a plurality of parallel processors for processing input data items from an input data stream and generating corresponding output data items, a method for maintaining said input data items and said output data items in the same order, comprising the steps of: with an input counter, generating an ID corresponding to each of said input data items; advancing said input counter to its next state in association with receiving at least selected ones of said input data items in the input data stream; placing said input data items and said corresponding ID's in processor input words; distributing each of said processor input words to selected ones of said processors in accordance with a distribution algorithm; each of said processors receiving said processor input words at an input thereof and providing at an output thereof processor, output words containing said output data items and said corresponding ID's; generating an output count with an output counter; comparing said output count with the ID's in said processor output words; transferring an output data item to an output data stream when a match condition is detected between said output count and an ID corresponding to the output data item to be transferred; and advancing said output counter to its next state in association with transferring at least selected ones of said output data items to the output data stream.
Claim 8
Dependent Claim 22 words
A method as defined in claim 5, further including the step of resetting said input counter and said output counter substantially simultaneously.
Claim 9
Dependent Claim 22 words
A method as defined in claim 5, wherein said input counter and said output counter are advanced through equal numbers of states.
Claim 10
Dependent Claim 33 words
A method as defined in claim 5, wherein the step of distributing each of said processor input words includes distributing a processor input word to all processors in response to a broadcast bit.
Claim 11
Dependent Claim 39 words
A method as defined in claim 5, further including the step of inhibiting advancement of the output counter, in response to a data expansion bit, until two or more output data items are transferred to the output data stream.
Claim 12
Dependent Claim 45 words
A method as defined in claim 5, further including the step of inhibiting advancement of the input counter in response to a data reduction bit and transferring two or more input data items having the same ID value to a selected one of said processors.
Claim 13
Dependent Claim 299 words
A data processing system comprising: a plurality of parallel processors for processing input data items from an input data stream and generating corresponding output data items, each of said processors having an input and an output; a distributor including an input counter for generating an ID corresponding to each of said input data items and a distributing circuit for placing said input data items and said corresponding ID's in processor input words and for distributing each of said processor input words to selected ones of said processors in accordance with a distribution algorithm, said input counter being advanced to its next state in association with distribution of at least selected ones of said input data items to said processors, each of said processors receiving said processor input words at the input thereof and providing at the output thereof processor output words containing said output data items and said corresponding ID's; and a combiner for receiving each of said processor output words from said processors, said combiner including an output counter for generating an output count, said output counter having the same number of states as said input counter and being advanced to its next state in association with transfer of at least selected ones of said output data items to an output data stream, said combiner further including means for comparing said output count with the ID's in said processor output words and a combining circuit for transferring an output data item to said output data stream in response to detection by said comparison means of a match condition between said output count and an ID corresponding to the output data item to be transferred, wherein the output data items in said output data stream have the same order as the input data items in said input data stream.
Claim 14
Dependent Claim 299 words
A data processing system comprising: a plurality of parallel processors for processing input data items from an input data stream and generating corresponding output data items, each of said processors having an input and an output; a distributor including an input counter for generating an ID corresponding to each of said input data items and a distributing circuit for placing said input data items and said corresponding ID's in processor input words and for distributing each of said processor input words to selected ones of said processors in accordance with a distribution algorithm, said input counter being advanced to its next state in association with distribution of at least selected ones of said input data items to said processors, each of said processors receiving said processor input words at the input thereof and providing at the output thereof processor output words containing said output data items and said corresponding ID's; and a combiner for receiving each of said processor output words from said processors, said combiner including an output counter for generating an output count, said output counter having the same number of states as said input counter and being advanced to its next state in association with transfer of at least selected ones of said output data items to an output data stream, said combiner further including means for comparing said output count with the ID's in said processor output words and a combining circuit for transferring an output data item to said output data stream in response to detection by said comparison means of a match condition between said output count and an ID corresponding to the output data item to be transferred, wherein the output data items in said output data stream have the same order as the input data items in said input data stream.
Claim 15
Dependent Claim 90 words
A processing system as defined in claim 11, wherein said ID field further includes a broadcast bit, wherein said distributor further includes means responsive to said broadcast bit for distributing an input data item corresponding to said broadcast bit to each of said processors and wherein said combiner further includes means responsive to said broadcast bit for transferring output data items to said output data stream only after a match condition is detected between said output count and the corresponding ID in processor output words from all of said processors.
Claim 16
Dependent Claim 66 words
A processing system as defined in claim 11, wherein said ID field further includes a data expansion bit, which indicates that two or more output data items are to be unloaded together, and wherein said combiner includes means responsive to said data expansion bit for inhibiting advancement of the output counter until said two or more output data items are transferred to the output data stream.
Claim 17
Dependent Claim 75 words
A processing system as defined in claim 11, wherein said ID field further includes a data reduction bit, which indicates that two or more input data items of a group produce a single output data item, and wherein said distributor further includes means responsive to said data reduction bit for inhibiting advancement of the input counter and for transferring the input data items of said group to the selected processor with the same ID value.

References Cited (Backward Citations)

US4380046A Cited
US4901224A Cited
US4833599A Cited
US5710932A Cited
US5243699A Cited
US5581778A Cited
US5655133A Cited
US5724600A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-10-19 2002-04-20 2002-10-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-10-19 2006-04-20 2006-10-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-10-19 2010-04-20 2010-10-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag