spatial sorting algorithms for parallel computing in
play

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


  1. Spatial Sorting Algorithms for Parallel Computing in Networks Max OrHai, Christof Teuscher 2011 October 3 1

  2. Overview • Bubble sort as a • Insertion sort in a particle system random network Hypothesis: Spatial abstractions can help structure parallel computation. 2

  3. Collision Sort related work • Cellular automata (e.g. Lindgren and Nordahl 1990) • Agent-based systems • Particle swarm optimization (Kennedy and Eberhart 1995) • Ant colony optimization (Dorigo 1992) • Continuous Signal Machines (Duchier, Durand- Lose, and Senot, SASO 2010) 3

  4. Collision Sort • Represent data as particles in a simulated continuous space • “Bubbles” are space conditional collisions • The space may be partitioned like CA for parallel processing time 4

  5. Collision Sort 10,000 particles – redness + • Simultaneous multi-axis + blueness – sorting is a natural extension • Absolute positioning may time steps: 0 5 10 be non-deterministic time steps to sort entire system without global synchrony 300 0.05 • Performance depends on 200 0.1 velocity in factors beyond particle 0.3 particle 100 count: speed, size of widths per 0.2 step: space... 0.4 0 20 40 60 number of particles in a single-axis space 5

  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

  7. Insertion Sort spatial computer assumptions and terminology “Node” • There are more nodes than items to be sorted • Nodes are functionally identical “token” • all run the same program “buffer” “store” • very limited local storage • no access to global information • Nodes don’t move • Sufficient local connectivity • Atomic transactions 7

  8. Insertion Sort example sequence: extension A. B. C. D. 8

  9. Insertion Sort example sequence: swelling E. F. G. H. 9

  10. 10

  11. 1. 2. 3. 4. 11

  12. Insertion Sort amorphous network approximates a 2D manifold neighbor count node count 12

  13. Insertion Sort performance and limitations • Parallel execution yields 800 O(n) time complexity 600 • Growth process can get time steps to sort overcrowded or stuck 400 • No allowance for node failure in this model 200 • Linear linkage may be a less efficient use of 0 0 75 150 225 300 space than (e.g.) number of data elements spanning trees 13

  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

Recommend


More recommend