aggregate programming part 1 mo0va0on field calculus
play

Aggregate Programming Part 1: Mo0va0on & Field Calculus - PowerPoint PPT Presentation

Aggregate Programming Part 1: Mo0va0on & Field Calculus Jacob Beal SFM16: QUANTICOL June 2016 A generative approach to safety Restrict your development environment


  1. Aggregate ¡Programming ¡ Part ¡1: ¡Mo0va0on ¡& ¡Field ¡Calculus ¡ Jacob ¡Beal ¡ SFM16: ¡QUANTICOL ¡ June ¡2016 ¡

  2. A generative approach to safety Restrict your development environment … Crowd&Management& Applica'on* dangerousDensity crowdTracking Code* crowdWarning safeDispersal Collec,ve&Behavior& collectivePerception collectiveSummary managementRegions … Developer* APIs* Percep,on& Ac,on& State& distanceTo timer summarize broadcast lowpass average partition recentTrue regionMax … … … Resilient* built&ins) G T if Coordina'on* C Operators* Field*Calculus* built&ins) nbr rep if Constructs* sensors& actuators& Device* communica,on& state& restric,on& local&func,ons& Capabili'es* … to contain only resilient distributed systems.

  3. Dealing with challenging platforms Emerging ¡Computa4onal ¡ Pla6orms ¡ Computa4onal ¡Field ¡ Programming ¡Models ¡ Inherently ¡Resilient ¡ device ¡ Distributed ¡Systems ¡ neighborhood ¡ Pay ¡a ¡liAle ¡efficiency, ¡get ¡a ¡lot ¡of ¡programmability ¡and ¡resilience ¡

  4. Traditional Monolithic Computing The venerable von Neumann model is breaking down in several ways …

  5. The End of Moore’s Law Intel ¡Xeon ¡Phi: ¡61 ¡cores ¡ Xilinx ¡Virtex-­‑7: ¡2M ¡Logic ¡cells ¡ High-performance computing = mesh

  6. Networked Devices Everywhere 6 ¡

  7. New Computational Materials • Synthetic Biology: [Weiss] ¡ [Levskaya] ¡ [Medford] ¡ [Hasty] ¡ Other ¡emerging ¡areas ¡too, ¡including ¡nanoassembly, ¡ac5ve ¡materials… ¡

  8. Fundamentally different models Isolate ¡Systems ¡ High ¡Dispersion ¡ High ¡ResoluVon ¡Sense/Act ¡ Extremely ¡High ¡FLOPs ¡ Moderate ¡FLOPs ¡ Abysmal ¡FLOPs ¡ How can we program aggregates adaptively & efficiently? Are there commonalities that cross substrates?

  9. Example: Services for Mass Events 9 ¡

  10. Example: Managing Crowd Danger

  11. Device-Centric Programming Dispersal ¡Advice ¡ Conges0on-­‑Aware ¡Naviga0on ¡ Dangerous ¡Density ¡Warning ¡ Crowd ¡Es0ma0on ¡ • Explicit design of adaptation and communication • Complex per-device multi-service application • Intractable to ensure correct behavior

  12. Aggregate Programming Dispersal ¡Advice ¡ Conges0on-­‑Aware ¡Naviga0on ¡ Dangerous ¡Density ¡Warning ¡ Crowd ¡Es0ma0on ¡ • Implicit adaptation and communication • Code each collective service independently • Compose via scope and information flow

  13. Aggregate Programming

  14. Aggregate Programming Stack Crowd&Management& Applica'on* dangerousDensity crowdTracking Code* crowdWarning safeDispersal Collec,ve&Behavior& collectivePerception collectiveSummary managementRegions … Developer* APIs* Percep,on& Ac,on& State& distanceTo timer summarize broadcast lowpass average partition recentTrue regionMax … … … Resilient* built&ins) G T if Coordina'on* C Operators* Field*Calculus* built&ins) nbr rep if Constructs* sensors& actuators& Device* communica,on& state& restric,on& local&func,ons& Capabili'es*

  15. Example: Mesh-Network Cell Phones 15 ¡

  16. Geometric Program: Channel DesV-­‑ ¡ Source ¡ naVon ¡ (cf. ¡Butera) ¡ 16 ¡

  17. Computing with fields source destination width distance-to distance-to distance 10 ¡ 37 ¡ + dilate <= 17 ¡

  18. (Higher Order) Field Calculus Literal ¡Value ¡ Variable ¡ State ¡ Local ¡Ops ¡ Communica0on ¡ Domain ¡Change ¡ Abstract ¡& ¡Call ¡ Func0ons ¡ [Viroli ¡et ¡al., ¡‘13, ¡Damiani ¡et ¡al., ¡‘15] ¡

  19. Field Calculus Example (def distance-to (region) (rep d infinity (mux region 0 (min-hood (+ (nbr d) (nbr-range)))))) Let’s go examine this in simulation …

  20. Field Calculus is Space-Time Universal Space-time Universal = arbitrarily good approximation of any causal, finitely-approximable computation !"#$%&'!"()*+&##,$&-%+&..$/0!1&2/"'+ Specifica0on: ¡ !"#$% !"#$% !"#$% !"#$% !" &'()$% Non-­‑approximable ¡ Acausal ¡ &'()$% &'()$% &'()$% !"#$% !"#$% #$(" %$(" &$(" '$(" !" #$'" &$'" #$&" %$&" #$%" #" !" [Beal, ¡’10; ¡Beal ¡et ¡al., ¡SCW ¡14] ¡ &'()$% &'()$%

  21. Instantiation: Proto Global ¡ ¡ ¡ ¡Local ¡ ¡ ¡Discrete ¡ (def gradient (src) ...) (def distance (src dst) ...) evalua0on ¡ (def dilate (src n) (<= (gradient src) n)) (def channel (src dst width) (let* ((d (distance src dst)) global ¡to ¡local ¡ (trail (<= (+ (gradient src) compila0on ¡ (gradient dst)) d))) plaJorm ¡ device ¡ (dilate trail width))) specificity ¡& ¡ op0miza0on ¡ neighborhood ¡ discrete ¡ approxima0on ¡ Device ¡ Kernel ¡ http://proto.bbn.com/ [Beal ¡& ¡Bachrach, ¡'06] ¡

  22. Instantiation: Protelis • Java-hosted & integrated • Java-like syntax • Eclipse support Architecture: ¡ Protelis)Program) Protelis)Parser) Protelis)Program) Simula/on)Script) Protelis)Program) Enterprise& Protelis'Parser' Simula8on* Protelis) Protelis*Parser* Other& Server& Builder* Devices& Interpreter) Protelis' Other& Environment) Simulated* Protelis* Managers& Interpreter' Service' Variables) Network* Interpreter* Manager' Protelis)Device) Daemon' Environment' Simulated* Environment* Variables' Environment* Variables* Status,' Start/Stop' Sockets' Signals' Protelis'Device' Protelis*Device* Alchemist* Networked' Other& Daemon'Device' Simulator* Simulated*Device* Services& Service' [Pianini, ¡Viroli, ¡& ¡Beal, ¡SAC ¡‘15] ¡

  23. Using Protelis in your projects http://protelis.org

  24. Summary • Aggregate programming addresses emerging networked computation challenges by separating challenges and raising to a more natural abstraction level • Field calculus is a simple, universal model for aggregate programming • Protelis is a field calculus implementation integrated with Java

Recommend


More recommend