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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend