Spatial Sorting Algorithms for Parallel Computing in Networks Max - - PowerPoint PPT Presentation

spatial sorting algorithms for parallel computing in
SMART_READER_LITE
LIVE PREVIEW

Spatial Sorting Algorithms for Parallel Computing in Networks Max - - PowerPoint PPT Presentation

Spatial Sorting Algorithms for Parallel Computing in Networks Max OrHai, Christof Teuscher 2011 October 3 1 Overview Bubble sort as a Insertion sort in a particle system random network Hypothesis: Spatial abstractions can help


slide-1
SLIDE 1

Spatial Sorting Algorithms for Parallel Computing in Networks

Max OrHai, Christof Teuscher 2011 October 3

1

slide-2
SLIDE 2

Overview

  • Bubble sort as a

particle system

  • Insertion sort in a

random network

Hypothesis: Spatial abstractions can help structure parallel computation.

2

slide-3
SLIDE 3

Collision Sort

related work

  • Cellular automata

(e.g. Lindgren and Nordahl 1990)

  • Agent-based systems
  • Particle swarm
  • ptimization

(Kennedy and Eberhart 1995)

  • Ant colony optimization

(Dorigo 1992)

  • Continuous Signal

Machines (Duchier, Durand-

Lose, and Senot, SASO 2010)

3

slide-4
SLIDE 4

Collision Sort

  • Represent data as

particles in a simulated continuous space

  • “Bubbles” are

conditional collisions

  • The space may be

partitioned like CA for parallel processing

time space

4

slide-5
SLIDE 5

Collision Sort

  • Simultaneous multi-axis

sorting is a natural extension

  • Absolute positioning may

be non-deterministic without global synchrony

  • Performance depends on

factors beyond particle count: speed, size of space...

time steps: 5 10

10,000 particles

– redness + + blueness – velocity in particle widths per step: 0.05 time steps to sort entire system number of particles in a single-axis space 40 20 60 100 200 300 0.1 0.3 0.2 0.4

5

slide-6
SLIDE 6

Insertion Sort

(as a developmental dataflow program in an amorphous spatial computer)

related work

  • Growing Point Language

(Coore 1999)

  • Proto

(e.g. Bachrach, Beal 2006)

  • Reconfigurable Asynchronous

Logic Automata (Gershenfeld et al 2010)

6

slide-7
SLIDE 7

Insertion Sort

spatial computer assumptions and terminology

  • There are more nodes than

items to be sorted

  • Nodes are functionally identical
  • all run the same program
  • very limited local storage
  • no access to global information
  • Nodes don’t move
  • Sufficient local connectivity
  • Atomic transactions

“Node” “token” “buffer” “store”

7

slide-8
SLIDE 8

Insertion Sort

example sequence: extension

B. A. C. D.

8

slide-9
SLIDE 9

Insertion Sort

example sequence: swelling

F. E. G. H.

9

slide-10
SLIDE 10

10

slide-11
SLIDE 11

2. 1. 3. 4.

11

slide-12
SLIDE 12

Insertion Sort

amorphous network approximates a 2D manifold

12

node count neighbor count

slide-13
SLIDE 13

Insertion Sort

performance and limitations

  • Parallel execution yields

O(n) time complexity

  • Growth process can get
  • vercrowded or stuck
  • No allowance for node

failure in this model

  • Linear linkage may be a

less efficient use of space than (e.g.) spanning trees

200 400 600 800 75 150 225 300

time steps to sort number of data elements

13

slide-14
SLIDE 14

Conclusions

  • Spatial abstractions can help organize large-

scale, fine-grained parallel computations

  • Spatial programs may, but need not, map

directly to physical computers

  • Random networks can do useful work

Thanks to the Maseeh College of Engineering and Computer Science Undergraduate Research and Mentoring Program All software models are available:

http://cs.pdx.edu/~orhai

14