Presentation is loading. Please wait.

Presentation is loading. Please wait.

Implementation of a Run Time System to support parallelization of Partially Parallel loops using R-LRPD Test Pranav Garg ( Y5313 ) Virajith Jalaparti (

Similar presentations


Presentation on theme: "Implementation of a Run Time System to support parallelization of Partially Parallel loops using R-LRPD Test Pranav Garg ( Y5313 ) Virajith Jalaparti ("— Presentation transcript:

1 Implementation of a Run Time System to support parallelization of Partially Parallel loops using R-LRPD Test Pranav Garg ( Y5313 ) Virajith Jalaparti ( Y5510 )

2 Agenda Introduction RLRPD Test Implementation Test Cases Results

3 Introduction Need for Parallelization Exploit Partial Parallelism – Using DOACROSS mechanism One inspector per iteration Cannot parallelize loops which use data values as addresses – R-LRPD Execute loop as a sequence of Fully Parallel Loops

4 R-LRPD Privatize Arrays among the processors Statically schedule the loop among the Processors Speculatively Execute all iterations in parallel Use LRPD Test to detect potential dependencies – Highest Reading Processor < = Lowest Writing Processor

5 R-LRPD … All iterations before the earliest dependence can be executed in parallel Commit all such iterations and modify the privatized data to that in the lower rank processors Reiterate this process until all the iterations are completed Different Strategies for assigning the iterations – Redistribution – Non-redistribution – Sliding Window

6 R-LRPD - Example

7 Implementation The Run Time support provides the following functions: – CheckPoint – MarkRead – MarkWrite – Analyse – Restore – Re-Init – Commit

8 Test Cases for(i=0;i<array_dim;i++) { int r=0; for(r=0;r<100;r++){ int q; int dummy_array[100000]; for(q=1;q<100000;q++) dummy_array [i]=dummy_array [i-1]*2; } b[i]=f[i]; a[k[i]] = a[l[i]]+f[i]; }

9 Test Cases … Parallelized Version

10 Test Cases … Amount of Parallelization depends upon K and L – K= [1 2 3 … M] L = [1 2 3 … M] => Completely Parallel – K = [1 2 3 … M] L = [ 2 3… M 1] => Completely Non-Parallel – K = [ 1 2 3 … M] L = [ 1 2 … 2…3..] => Partially parallel

11 Results Speed ups for various test cases on Intel Core 2 Processor

12 Results … Speed ups for various test cases on Intel Xeon Processor (8 Cores)

13 Results … Speed ups for varying degree of parallelism on Intel Core 2 Processor

14 Results … Speed ups for varying degree of parallelism on Intel Xeon Processor (8 Cores)

15 THANK YOU


Download ppt "Implementation of a Run Time System to support parallelization of Partially Parallel loops using R-LRPD Test Pranav Garg ( Y5313 ) Virajith Jalaparti ("

Similar presentations


Ads by Google