Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems...

16
Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor: Professor Barr

Transcript of Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems...

Page 1: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Visualization of Parallel Programming

A Tool for Understanding Message Passing in Parallel Systems

Andrew Schwartz ‘13Computer ScienceUnion College

Advisor: Professor Barr

Page 2: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Introduction

Intel® Quad Core Processor

“Supercomputer”

Page 3: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

1

Sum (Single Processor)• Sum first 100

integers

Input1-100

Processor

x=5050

Output

x=1x=x+2x=x+3…x=x+100

100 additions

Page 4: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

1

Sum (5 Processors)

Input1-100

xtotal

=5050

Output

2

3

4

5

1-20

21-40

41-60

61-80

81-100

x1= 210

x2= 610

x4= 1410

x3= 1010

x5= 1810

xtotal = x1+x2

xtotal = xtotal

+x3 xtotal = xtotal

+x4 xtotal = xtotal

+x5

100+ 4 additionsFirst step parallelized

Page 5: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Timeline Analysis

0 100

Single processor

Time

(100 additions = 100 time steps)

P0

0 100

Five processors

Time

(104 additions, but ~24 time steps

P0

20 24

P5

Page 6: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Architecture Diagrams

Courtesy: Florida State University

NUMA Architecture

goparallel.sourceforge.ne

Page 7: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Topologies and Principles

Page 8: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Background

• Options limited

• Needs more information!

NEXT!

Page 9: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Background

• “Installation a nightmare”

• Dozens of views and diagrams

OVERKILL

MPICL/ParaGraph Overview

Page 10: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

???

Page 11: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Implementation

Page 12: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Implementation

Page 13: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Data Analysis

Page 14: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Side by Side

Page 15: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Demo

Page 16: Visualization of Parallel Programming A Tool for Understanding Message Passing in Parallel Systems Andrew Schwartz ‘13 Computer Science Union College Advisor:

Future Work

• Core design challenges met

• QoL 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