Analysis of Execution Time for Local and Remote Access Instructions in a Processor, Exercises of Parallel Computing and Programming

An analysis of the execution time for local and remote access instructions in a processor. It calculates the number of load and store instructions for local and remote access, the time to execute each instruction, and the total execution time. Factors affecting remote access, such as request packet transmission time, data retrieval time, and acknowledgement packet transmission time, are also considered.

Typology: Exercises

2011/2012

Uploaded on 07/23/2012

parama
parama 🇮🇳

4.1

(12)

56 documents

1 / 12

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Q # 1:
a) Local Access:
Load instruction = 10 %
Store instruction = 8 %
% for Load and store instructions for local = (10+8) % = 18%
No. of Load and Store Instructions = (18/100) * 200,000
= 36000 Instructions
Time to execute Load/Store Inst. = 36000*clock cycles*Time of one Inst.
Time for One Instruction Execution = 1/ (Processor’s Clock Rate)
= 1/ (200 MHz)
= 5 ns
Time to execute Load/Store Inst. = 36000 * 4 * 5 (ns)
= 720 µs
b) Remote Access:
i) Load Instructions:
Total load instructions = 10%
Total Load Instructions in the given instructions = (10/100) * 200,000
= 20,000 Instructions
No. of Load Inst. (for local access) = (85/100) * 20,000
= 17,000 Instructions
No. of Load Inst. (for remote access) = (15/100) * 20,000
= 3000 Instructions
Time for Load inst. (local) = 17,000 * 4 * (1/200 MHz)
= 340 µs
docsity.com
pf3
pf4
pf5
pf8
pf9
pfa

Partial preview of the text

Download Analysis of Execution Time for Local and Remote Access Instructions in a Processor and more Exercises Parallel Computing and Programming in PDF only on Docsity!

Q # 1:

a) Local Access:

Load instruction = 10 %

Store instruction = 8 %

% for Load and store instructions for local = (10+8) % = 18% No. of Load and Store Instructions = (18/100) * 200, = 36000 Instructions Time to execute Load/Store Inst. = 36000clock cyclesTime of one Inst. Time for One Instruction Execution = 1/ (Processor’s Clock Rate) = 1/ (200 MHz) = 5 ns Time to execute Load/Store Inst. = 36000 * 4 * 5 (ns)

= 720 μs

b) Remote Access:

i) Load Instructions:

Total load instructions = 10% Total Load Instructions in the given instructions = (10/100) * 200, = 20,000 Instructions No. of Load Inst. (for local access) = (85/100) * 20, = 17,000 Instructions No. of Load Inst. (for remote access) = (15/100) * 20, = 3000 Instructions Time for Load inst. (local) = 17,000 * 4 * (1/200 MHz) = 340 μs

Time for Load inst. (remote) =? There are many factors which are required for remote access. Delay for all these factors will be added. These are as given below:

A) Fix overhead to initiate the request = 12 * (1/200 MHz) = 60 ns B) Time for Sending Request Packet =? As Request block is

Source address (1 byte)

Destination address(1 byte)

Address to memory (3bytes)

Time for transmit Request Packet = (1+1+3) / (Bandwidth of IN) = (5 Bytes) / (75 MBytes/s) = 66.67 ns

C) Time for data retrieved at remote CE (processor)=? = (4 cycles) * (1/200 MHz) = 20 ns D) Fix overhead to initiate the reply by responder = 12 * (1/200 MHz)

= 60 ns E) Time for Sending Reply (Data) Packet =? As Response block is

Source address (1 byte)

Destination address (1 byte)

Data from memory (5 bytes)

So Time for Sending Reply (Data) Packet = (5+1+1) / (Bandwidth of IN) = (7 Bytes) / (75 MBytes/s) = 93.33 ns Total Time for Remote Access = Time of (A+B+C+D+E) = (60+66.67+20+60+93.33) ns = 300.00 ns

C) Time for to store data by remote Processor =? = (4 cycles) * (1/200 MHz) = 20 ns D) Fix overhead to initiate the reply by remote processor = 12 * (1/200 MHz) = 60 ns // for sending Acknowledgement back to sender’s Processor

E) Acknowledgment Packet will be like that

Source Address (1 byte)

Destination Address (1 byte)

Acknowledgment (1 byte)

Time for Sending Ack Packet = (1+1+1) / (Bandwidth of IN) = (3 Bytes) / (75 MBytes/s) = 40 ns Total time for one remote store = Time of (A+B+C+D+E) = (60+133.33+20+60+40) ns = 313.33 ns Total Time for Remote Access (All Store inst) = 313.33 ns * No. of Store Inst. (for remote access) = 313.33 ns * 2400 = 751.992 μs

So total time for Store instructions = (local + remote) = (272 μs + 751.992 μs) = 1023.992 μs = 1024 μs

Q # 2:

a)

c) If we go from Node # 6 to Node # 1 then there will be blocking in the path. As shown in the figure

.Source = S = Node # 6 = 0110 Destination = D = Node # 3 = 0001 Source = S = 0 1 1 0 Destination= 0 0 0 1


R=S(xor)D = 0 1 1 1 R3 R2 R1 R Switch Stages 3 2 1 0

Blocking will occure at stage 3 as shown in figure

d) By using Shuffle and Exchange functions. As

Source = S = Node # 13 = 1101 Destination = D = Node # 7 = 0111 R= S (XOR) D So 1 1 0 1 0 1 1 1


1 0 1 0 R3 R2 R1 R

If value of R is 1 then there will be exchange according to formula and if it is 0 then there will be no exchange. However shuffle operation will be implemented at every stage. Now R Shuffle Exchange ---------------------------------------------------------------- R3 1 S(1101)  1011 E(1011)  1010

R2 0 S(1010)  0101 (No E) 0101

R1 1 S(0101)  1010 E(1010)  1011

R0 0 S(1011)  0111 (No. E) 0111  0111

So 0111 is the destination = 7 Path is shown in figure

e) NxN MIN: Switch Cost = (N/2) x Log 2 N Link Cost = N x Log 2 N Delay = Log 2 N NxN Cross Bar: Switch Cost = N^2 Link Cost = N^2 Delay = 1

For 1024 x 1024 MIN: Switch Cost = 5120 Link Cost = 10240 Delay = 10

Cross Bar: Switch Cost = 1048576 Link Cost = 2097152

Delay = 1

4- For i= n-1 to 0

If ri= 1

move to adjacent node in dim di to Ci( )

Else

don’t move to adjacent node in dim di

End if

End for

Source = S = Node # 14 = 1110 Destination = D = Node # 3 = 0011 Distance = d = S (XOR) D

Source S 1 1 1 0

Destination D 0 0 1 1

Routing vector R = S (xor)E 1 1 0 1 r 3 r 2 r 1 r 0 dimension d 3 d 2 d 1 d 0 Now Source R 3 1 C 3 =(1110)  0110

R 2 1 C 2 (0110)  0010

R 1 0 C 1 (0010)  0010 (don’t move)

R 0 1 C 0 (0010)  0111 Destination

So path will be like this

Q # 4:

a) K-d mesh (no wrap round)

For 3-d mesh Where three dimensions are x, y, z

Routing Algorithm (S, D, k, d)

Source = S = (Sx,Sy, Sz)

Destination =D= (Dx, Dy, Dz)

R = D-S = ( (Dx-Sx),(Dy – Sy ), (Dz-Sz) )

( rx , ry , rz )

For i= x, y, z do

Move ri steps in dim di

End for

Using Algorithms for 2x3x5 Mesh

As given in the question

S = (1, 2, 0)

D = (2, 3, 4)

R = (2-1, 3-2, 4-0)

This means that we have to move 1 step in x-axis, 1 step in y-axis and 4 steps in z-axis direction from the source node, and we will reach at destination node.

b)