Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘ 13 Computer Science Union College Advisor: Professor Barr
Sum (Single Processor) • Sum first 100 integers Input Processor 1 -100 1 x=x+2 x=x+3 … x=x+100 Output x=5050 100 additions
Sum (5 Processors) 1 -20 21 -40 Input 1 -100 41 -60 61 -80 81 -100 1 2 3 4 5 x 1= 210 x 2= 610 x 3= 1010 xtotal = x 1+x 2 xtotal = xtotal +x 3 xtotal = xtotal +x 4 xtotal = xtotal +x 5 Output xtotal =5050 x 4= 1410 x 5= 1810 100+ 4 additions First step parallelized
Timeline Analysis Single processor P 0 0 (100 additions = 100 time steps) Time 100 Five processors P 5 P 0 0 Time 20 24 (104 additions, but ~24 time steps 100
Architecture Diagrams NUMA Architecture Courtesy: Florida State University goparallel. sourceforge. ne
Topologies and Principles
Background • Options limited • Needs more information! NEXT!
Background MPICL/Para. Graph Overview • “Installation a nightmare” • Dozens of views and diagrams OVERKILL
Implementation
Implementation
Data Analysis
Side by Side
Demo
Future Work • Core design challenges met • Qo. L functionality still left to be implemented before release • Extensible project design -> new functions can be modeled with new algos • Port to UNIX via Mono • Initial results promising but need to test in the classroom