demo of isp eclipse gui command-line options set-up audience with livedvd
DESCRIPTION
Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD. About 30 minutes – by Ganesh. Understanding Out-of-order Execution. For MPI programs, no dynamic tool can maintain in-order (in program order) issue of all instructions and yet cover the full extent of non-determinism! - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/1.jpg)
Demo of ISPEclipse GUI
Command-line OptionsSet-up Audience with LiveDVD
About 30 minutes – by Ganesh
1
![Page 2: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/2.jpg)
• For MPI programs, no dynamic tool can maintain in-order (in program order) issue of all instructions and yet cover the full extent of non-determinism!
• Luckily, the MPI semantics are such that out-of-order issue of ‘hijacked’ instructions is OK !
• Theory of ‘happens-before’ (after break) justifies
• Illustration on Crooked-barrier now– Real code illustration is through POE-Illustration
Understanding Out-of-order Execution
![Page 3: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/3.jpg)
• Experiment with Autosend examples– MPI_Autosend1 and Autosend2
• These execute without deadlocks• Stepping in internal issue order shows how ISP performs
things• The IntraCompletesBefore (recently called
IntraHappensBefore) justifies this out-of-order execution– MPI_Autosend3
• This example deadlocks• Pattern is R(from:0,h1); W(h1); B; S(to:0,h2); W(h2)
– Try variant MPI_Autosend4• Have pattern S(to:0,h2); W(h2); B; R(from:0,h1); W(h1)• Run with and without buffering• What do you observe?
– The case with buffering does not deadlock!
Demonstrate on Auto-send Examples
![Page 4: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/4.jpg)
Process P0
Isend(1, req) ;
Barrier ;
Wait(req) ;
Process P1
Irecv(*, req) ;
Barrier ;
Recv(2) ;
Wait(req) ;
Process P2
Barrier ;
Isend(1, req) ;
Wait(req) ;
‘Crooked Barrier’ in POE-Illustration.c
4
![Page 5: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/5.jpg)
5
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ?
![Page 6: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/6.jpg)
6
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ? YES! Here is how!
![Page 7: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/7.jpg)
7
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ? YES! Here is how!
![Page 8: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/8.jpg)
8
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ? YES! Here is how!
![Page 9: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/9.jpg)
9
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ? YES! Here is how!
![Page 10: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/10.jpg)
10
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ? YES! Here is how!
![Page 11: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/11.jpg)
11
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ? YES! Here is how!
![Page 12: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/12.jpg)
12
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Can S2 (to : P2 ) match R(from : *) ? YES! Here is how!
![Page 13: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/13.jpg)
13
The “Crooked Barrier” example
P0---
S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
ISP handles this situation through • Out-of-order execution• Dynamic Instruction Rewriting
![Page 14: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/14.jpg)
14
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
ISP handles this situation through • Out-of-order execution• Dynamic Instruction Rewriting
![Page 15: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/15.jpg)
15
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
ISP handles this situation through • Out-of-order execution• Dynamic Instruction Rewriting
Collect
![Page 16: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/16.jpg)
16
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Collect
Issue into MPI runtimeIssue into MPI runtime
Issue into MPI runtime
![Page 17: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/17.jpg)
17
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Collect
![Page 18: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/18.jpg)
18
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Collect
Collect
![Page 19: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/19.jpg)
19
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Collect
Collect
Form Matches
![Page 20: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/20.jpg)
20
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : 0);
BS2 (to : P2 )
Collect
Collect
Rewrite, play
![Page 21: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/21.jpg)
21
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : *);
BS2 (to : P2 )
Collect
Collect
Re-executeto get back here
![Page 22: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/22.jpg)
22
The “Crooked Barrier” example
P0---Collect S1 (to : P2 );
B
P1---
B;
P2---
R(from : 1);
BS2 (to : P2 )
Collect
Collect
Rewrite, play
![Page 23: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/23.jpg)
23
P0 P1 P2
Barrier
Isend(1, req)
Wait(req)
Scheduler
Irecv(*, req)
Barrier
Recv(2)
Wait(req)
Isend(1, req)
Wait(req)
Barrier
Isend(1)
sendNext Barrier
MPI Runtime
Hijack Calls, Generate Relevant Interleavings
![Page 24: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/24.jpg)
P0 P1 P2
Barrier
Isend(1, req)
Wait(req)
Scheduler
Irecv(*, req)
Barrier
Recv(2)
Wait(req)
Isend(1, req)
Wait(req)
Barrier
Isend(1)
sendNextBarrier
Irecv(*)Barrier
24
MPI Runtime
Hijack Calls, Generate Relevant Interleavings
![Page 25: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/25.jpg)
P0 P1 P2
Barrier
Isend(1, req)
Wait(req)
Scheduler
Irecv(*, req)
Barrier
Recv(2)
Wait(req)
Isend(1, req)
Wait(req)
Barrier
Isend(1)
Barrier
Irecv(*)
Barrier
Barrier
Barrier
Barrier
Barrier
25
MPI Runtime
Hijack Calls, Generate Relevant Interleavings
![Page 26: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/26.jpg)
P0 P1 P2
Barrier
Isend(1, req)
Wait(req)
MPI Runtime
Scheduler
Irecv(*, req)
Barrier
Recv(2)
Wait(req)
Isend(1, req)
Wait(req)
Barrier
Isend(1)
Barrier
Irecv(*)
Barrier
Barrier
Wait (req)
Recv(2)
Isend(1)
SendNext
Wait (req)
Irecv(2)Isend
Wait
No Match-Set
26
Deadlock!
Hijack Calls, Generate Relevant Interleavings
![Page 27: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/27.jpg)
Example 1: Any-src-can-deadlock9.c (Umpire)lucky.c and unlucky.c are just variations
• Distribute LiveDVDs– Help audience boot into it
• Source code of any-src-can-deadlock.c– Demonstrate Verification Options– Observe completes-before
• Source code of POE-illustration.c– Observe completes-before– Observe internal issue order and program
order
![Page 28: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/28.jpg)
• For Windows, boot using LiveDVD – Select ‘try Linux without installing
• For MAC, select boot device with LiveDVD present inside drive– Select to be DVD– Power down– Power-up with DVD in drive
• For MAC, you can restore boot device by pressing and holding down ALT / Option when booting again
LiveDVD Instructions
![Page 29: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/29.jpg)
• ISP finds deadlock• In Java GUI, do these– Watch the execution deadlock– Learn how to step
• Step into different interleavings• Step through the traces of an interleaving
– Do the above with and without rank locking– Do the above by locking ranks and watching
• According to Program Order• According to Internal Issue Order
• Watch the IntraCB and InterCB
Observations of examples lucky / unlucky
![Page 30: Demo of ISP Eclipse GUI Command-line Options Set-up Audience with LiveDVD](https://reader030.vdocuments.site/reader030/viewer/2022020320/56815f88550346895dce8e13/html5/thumbnails/30.jpg)
End of C
30