Bernstein conditions for detection of parallelism, Computer Engineering

Bernstein Conditions for Detection of Parallelism

For implementation of instructions or block of instructions in parallel, it should be guaranteed that the instructions are independent of each other. These instructions can be / control dependent / data dependent resource dependent on each other.  We are considering only data dependency between the statements for taking decisions of parallel implementation. A.J. Bernstein has implicated the work of data dependency and resultant some conditions based on which we can settle on the parallelism of processes or instructions.

Bernstein conditions are rely on the subsequent two sets of variables:

i)  The input set or Read set RI that consists of memory locations examine by the statement of instruction I1.

ii)  The output set or Write set WI  that consists of memory locations printed into by instruction I1.

The sets WI and RI are not disjoint as the similar locations are used for writing and reading by SI.

The following are Bernstein Parallelism conditions which are determine to conclude whether the statements are parallel or not:

1) Position in R1 from which S1 reads and the Position W2  onto which S2 writes must be commonly exclusive. It  means S1does'nt read from any memory location onto which S2 writes. It can be indicated as:

                                                                     1510_Bernstein Conditions for Detection of Parallelism.png


2) Likewise, locations in R2 from which S1 writes and the locations W1 onto which S2 reads must be commonly exclusive.It means S2  does not read from some memory location onto which S1 writes. It can be indicate as:

                                                                       138_Bernstein Conditions for Detection of Parallelism 1.png

3) The memory locations W1 and W2 onto which S1 and S2 write, should not be examine by S1 and S2. It means R1 and R2 should be free of W1 and W2.  It can be indicated as :

                                                                      661_Bernstein Conditions for Detection of Parallelism 2.png

To demonstrate the operation of Bernstein's conditions, let consider the following instructions of sequential program:

I1 : x = (a + b) / (a * b)

I2 : y = (b + c) * d

I3 : z = x2 + (a * e)

Now, the read set and write set of I1, I2 and I3 are as given:

R1 = {a,b}                W1 = {x}

R2 = {b,c,d}             W2 = {y}

R3 = {x,a,e}             W3 = {z}


Now let us search out whether I1 and I2 are parallel or not



314_Bernstein Conditions for Detection of Parallelism 3.png

                                                        418_Bernstein Conditions for Detection of Parallelism 4.png

Posted Date: 3/1/2013 7:31:45 AM | Location : United States

Related Discussions:- Bernstein conditions for detection of parallelism, Assignment Help, Ask Question on Bernstein conditions for detection of parallelism, Get Answer, Expert's Help, Bernstein conditions for detection of parallelism Discussions

Write discussion on Bernstein conditions for detection of parallelism
Your posts are moderated
Related Questions
Define system space.  Management routines are part of the operating system of the computer. It is suitable to assemble the OS routines into a virtual address space.

ECE 3550 DIGITAL DESIGN FALL 2013 Homework Assignment #8 Total: 50 pts. Due 11:30am, Wednesday, November 13, 2013 The Potential Impact of the Google Glass on Personal Computing Sea

Define Modem. A modem changes digital signals into audio tones to be transmitted over telephone lines and also changes audio tones from the lines in digitals signals for machin

The LOOP-ENDLOOP on extract datasets can be used without any kind of errors False.  It causes runtime errors.

Address phase: A PCI bus transaction starts having an address phase. The initiator,  after seeing that it has GNT# and the bus is inactive, drives the target address onto the

What is bus arbitration? It is method by which the next device to become the bus master is selected and bus mastership is transferred to it. There are two ways for doing this:

Define swapping.  A process needs to be in memory to be implemented. Though a process can be swapped temporarily out of memory to a backing store and then brought back into mem

OLAP can process difficult queries and give the output in less than 0.1 seconds, for it to achieve like performance OLAP uses aggregations. Aggregations are built by aggregating an

You were offered bonus marks for separating the user interface code from the main logic of your program. This design choice makes it very easy to replace the user interface without

Backpropagation Learning Routine: Conversely as with perceptrons there the information in the network is stored in the weights than the learning problem comes down to the ques