Patent JPS646410A successfully refreshed from Google Patents.
Patent US4819182A successfully refreshed from Google Patents.
Patent EP0353819A2 successfully refreshed from Google Patents.
EP0353819A2
Expired / Lapsed
EP
⏱️ 0.0 years remaining
Method and apparatus for synchronizing parallel processors using a fuzzy barrier
Assignee: Koninklijke Philips NV
•
Filing: 1989-07-27
•
Granted: —
•
Expires: 2009-07-27
Abstract
Abstract A barrier is used to synchronize parallel processors. The barrier is "fuzzy", i.e. it includes several instructions in each instruction stream. None of the processors performing related tasks can execute an instruction after its respective fuzzy barrier until the others have finished the instruction immediately preceding their respective fuzzy barriers. Processors therefore spend less time waiting for each other. A state machine is used to keep track of synchronization states during the synchronization process.
Inventors
- 👤 Rajiv Gupta
- 👤 Michael Abraham Epstein
Bibliographic Details
Application Number
—
Jurisdiction
EP
Data Source
google_patents
Last Synchronized
2026-11-04 21:05
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/30; G06F9/38; G06F9/3824; G06F9/3834; G06F8/00; G06F8/40; G06F8/41; G06F8/45; G06F8/458; G06F9/30003; G06F9/30076; G06F9/30087
Claims Analysis
Total Claims: 24
Claim 1
Independent Claim
41 words
A parallel processing system comprising: a. a plurality of parallel processors; and b. means for synchronizing the processors so that at least one of the processors executes at least one non-idling instruction while awaiting synchronization with at least one other processor.
Claim 2
Dependent Claim
41 words
A parallel processing system comprising: a. a plurality of parallel processors; and b. means for synchronizing the processors so that at least one of the processors executes at least one non-idling instruction while awaiting synchronization with at least one other processor.
Claim 3
Independent Claim
94 words
An apparatus for synchronizing a parallel processor which is part of a parallel processing system which includes a plurality of other parallel processors, the system being for executing computer code as a plurality of parallel instruction streams, the apparatus comprising: a. means for communicating with at least one of the other processors; and b. means for controlling the processor, based on information received from the other processors and based on a respective instruction stream, so that the processor executes at least one non-idling instruction while awaiting synchronization with the at least one other processor.
Claim 4
Independent Claim
94 words
An apparatus for synchronizing a parallel processor which is part of a parallel processing system which includes a plurality of other parallel processors, the system being for executing computer code as a plurality of parallel instruction streams, the apparatus comprising: a. means for communicating with at least one of the other processors; and b. means for controlling the processor, based on information received from the other processors and based on a respective instruction stream, so that the processor executes at least one non-idling instruction while awaiting synchronization with the at least one other processor.
Claim 5
Dependent Claim
148 words
The apparatus of Claim 2 wherein: a. the communicating means comprises: i. input means means for receiving a received indication from other processors that the other processors want to synchronize; and ii. output means means for sending a sent indication to the other processors that the respective processor wants to synchronize; b. the controlling means comprises: i. means for identifying shaded and unshaded regions in a respective one of the instruction streams; and ii. means for controlling execution of the respective one of the instruction streams, in response to the identification of the shaded and unshaded regions and in response to the received indication, so that the respective processor does not execute a respective instruction immediately after a current shaded region until the other processors have completed all respective instructions immediately preceding their respective current shaded regions, the controlling means being coupled to the input and output means.
Claim 6
Dependent Claim
27 words
The apparatus of Claim 2 further comprising means for ignoring a second at least one of the other processors, according to a number of parallel instruction streams.
Claim 7
Dependent Claim
13 words
The apparatus of Claim 4 wherein the ignoring means comprises a mask register.
Claim 8
Dependent Claim
33 words
The apparatus of Claim 2 further comprising means for ignoring at least two of the parallel processors, according to a number of parallel instruction streams, so that the least two processors synchronize independently.
Claim 9
Dependent Claim
14 words
The apparatus of Claim 3 wherein the controlling exeuction means is a state machine.
Claim 10
Dependent Claim
92 words
The apparatus of Claim 7 wherein the state machine comprises: a. a want input, coupled to the input means of the apparatus, for receiving the received indication; b. a second input for receiving a signal identifying the shaded and unshaded regions; c. a first output, coupled to the output means of the apparatus, for supplying the sent indication; d. a stall output, coupled to control execution of the respective processor, for supplying a signal for stopping execution of the respective processor in a stall state and for otherwise enabling the respective processor.
Claim 11
Dependent Claim
105 words
The apparatus of Claim 8 wherein the state machine has four states: a. a first state during which the processor executes instructions in the unshaded region; b. a second state during which the processor executes instructions in the shaded region while waiting for other processors to reach their respective shaded regions; c. a third state during which the processor executes instructions in the shaded region when the other processors have reached their respective shaded regions; and d. a fourth state during which the processor stalls, having reached an end of the shaded region and waits for the other processors to reach their respective shaded regions.
Claim 12
Dependent Claim
121 words
The apparatus of Claim 3 further comprising a mask register for ignoring at least one of the other processors, according to a number of parallel instruction streams; and wherein the execution controlling means is a state machine which comprises: a. a want input, coupled to the input means of the apparatus, for receiving the received indication; b. a second input for receiving a signal identifying the shaded and unshaded regions; c. a first output, coupled to the output means of the apparatus, for supplying the sent indication; d. a stall output, coupled to control execution of the respective processor, for supplying a signal for stopping execution of the respective processor in a stall state and for otherwise enabling the respective processor.
Claim 13
Independent Claim
82 words
A method for compiling computer code in order to improve the efficiency of a parallel processing system, the method comprising the steps of: a. a first identifying a plurality of portions of the code which may be executed in parallel in respective processors of the system; b. marking at least one instruction with a lexically forward or loop carried dependence in at least one of the portions; c. second identifying shaded and unshaded regions within the at least one of the portions.
Claim 14
Independent Claim
82 words
A method for compiling computer code in order to improve the efficiency of a parallel processing system, the method comprising the steps of: a. a first identifying a plurality of portions of the code which may be executed in parallel in respective processors of the system; b. marking at least one instruction with a lexically forward or loop carried dependence in at least one of the portions; c. second identifying shaded and unshaded regions within the at least one of the portions.
Claim 15
Dependent Claim
26 words
The method of Claim 11 further comprising the steps of: a. generating intermediate code from the portions; and b. converting the intermediate code to assembly language.
Claim 16
Dependent Claim
24 words
The method of Claim 11 further comprising the step of reordering code within the portions so that the unshaded regions are reduced in size.
Claim 17
Dependent Claim
83 words
The method of Claim 11 wherein the second identifying step comprises the steps of: a. first locating a first instruction with a lexically forward or loop carried dependence in the at least one of the portions; b. second locating a last instruction with a lexically forward or loop carried dependence in the at least one of the portions; c. designating as unshaded all instructions between the first and last instructions with dependences; and d. designating as shaded all other instructions in the portions.
Claim 18
Independent Claim
155 words
A method for compiling computer code in order to improve the efficiency of a parallel processing system, the method comprising the steps of: a. first identifying a plurality of portions of the code which may be executed in parallel in respective processors of the system; b. marking at least one instruction with a lexically forward or loop carried dependence in at least one of the portions; and c. second identifying shaded and unshaded regions within the at least one of the portions, including the steps of: i. first locating a first instruction with a lexically forward or loop carried dependence in the at least one of the portions; ii. second locating a last instruction with a lexically forward or loop carried dependence in the at least one of the portions; iii. designating as unshaded all instructions between the first and last instructions with dependences; and iv. designating as shaded all other instructions in the portions.
Claim 19
Independent Claim
155 words
A method for compiling computer code in order to improve the efficiency of a parallel processing system, the method comprising the steps of: a. first identifying a plurality of portions of the code which may be executed in parallel in respective processors of the system; b. marking at least one instruction with a lexically forward or loop carried dependence in at least one of the portions; and c. second identifying shaded and unshaded regions within the at least one of the portions, including the steps of: i. first locating a first instruction with a lexically forward or loop carried dependence in the at least one of the portions; ii. second locating a last instruction with a lexically forward or loop carried dependence in the at least one of the portions; iii. designating as unshaded all instructions between the first and last instructions with dependences; and iv. designating as shaded all other instructions in the portions.
Claim 20
Dependent Claim
26 words
The method of Claim 15 comprising the further steps of a. generating intermediate code from the portions; and b. converting the intermediate code to assembly language.
Claim 21
Independent Claim
95 words
A method for synchronizing a plurality of parallel processors comprising the steps of: a. executing related computer code in at least two of the processors, the related computer code being in the form of at least two respective parallel instruction streams which include respective shaded and unshaded regions, and b. controlling the at least two processors so that none of the at least two processors executes an instruction following its respective shaded region until all of the at least two processors have completed all instructions in the unshaded region preceding their respective corresponding shaded region.
Claim 22
Independent Claim
95 words
A method for synchronizing a plurality of parallel processors comprising the steps of: a. executing related computer code in at least two of the processors, the related computer code being in the form of at least two respective parallel instruction streams which include respective shaded and unshaded regions, and b. controlling the at least two processors so that none of the at least two processors executes an instruction following its respective shaded region until all of the at least two processors have completed all instructions in the unshaded region preceding their respective corresponding shaded region.
Claim 23
Independent Claim
24 words
A method for synchronizing parallel processors which execute parallel instruction streams comprising the step of establishing fuzzy barriers in each of said instruction streams.
Claim 24
Independent Claim
24 words
A method for synchronizing parallel processors which execute parallel instruction streams comprising the step of establishing fuzzy barriers in each of said instruction streams.
References Cited (Backward Citations)
No citation records indexed.
USPTO Annuity & Maintenance Windows
Maintenance schedule is calculated for granted US utility patents.