Wavenets John Chapin MIT x x x x x x x x x y z y z y y z y y z z z z
A A 1 2 B 1:z + 2:s → 3:t 3 A A z s 1 2 1 2 B B 1:z + 2:s → 3:t 1:z + 2:s → 3:t 3 3
A A 1 2 1 2 B B 1:z + 2:s → 3:t 1:z + 2:s → 3:t 3 3 t x x x x x x A A s (empty) s y z y z y z z y z s s s 1 2 1 2 y y B B 1:z + 2:s → 3:t 1:z + 2:s → 3:t 3 3
A A y z y y y y s s 1 2 1 2 B y y B 1:z + 2:s → 3:t 1:z + 2:s → 3:t 3 3 t t t t t t t x x x A A s (empty) 1 2 1 2 y B B 1:z + 2:s → 3:t 1:z + 2:s → 3:t 3 3 t
x x A A s s z 1 2 1 2 B B 1:z + 2:s → 3:t 1:z + 2:s → 3:t 3 3 t x Wavenet = Synchronous circuit A s + Superposition + Wave function collapse 1 2 B 1:z + 2:s → 3:t + Conservation of energy 3
Wavenet = Dining philosophers solution (from philosopher) (to philosopher) A simple primitive that provides: p p p:think => left:fork + right:fork Global concurrency control p:hungry + left:fork + right:fork => p:eat p:hungry --> p:tryagain right right left left Automatic resource management right right table right:fork => table:fork left left:fork => table:fork As many fork table:fork => right:fork philosophers and table:fork => left:fork forks as desired table:fork --> table:fork table left The challenge Dining philosophers solution Computing the latching is NP-complete (from philosopher) (to philosopher) Conservation of energy = p p A powerful primitive that p:think => left:fork + right:fork p:hungry + left:fork + right:fork => p:eat p:hungry --> p:tryagain solves many different problems right right left left right right Efficient implementation? table right:fork => table:fork left left:fork => table:fork As many fork Offline analysis table:fork => right:fork philosophers and table:fork => left:fork forks as desired table:fork --> table:fork Hardware support table left
Why? Batch programs Parallel servers Input Run forever Take off the Turing blindfold! Processing Maintain invariants http://sdg.lcs.mit.edu/wavenets Output Respond to multiple Halt inputs in parallel Turing machines Wavenets Lambda calculus Calculus? Procedures Prog. abstraction?
Recommend
More recommend