Specifying Globally, Controlling Locally E RIC K LAVINS Department of Computer Science California Institute of Technology.

Slides:



Advertisements
Similar presentations
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Advertisements

Covers, Dominations, Independent Sets and Matchings AmirHossein Bayegan Amirkabir University of Technology.
Adopt Algorithm for Distributed Constraint Optimization
Chapter 6 - Convergence in the Presence of Faults1-1 Chapter 6 Self-Stabilization Self-Stabilization Shlomi Dolev MIT Press, 2000 Shlomi Dolev, All Rights.
Experiments and Variables
Dynamic Bayesian Networks (DBNs)
Outline. Theorem For the two processor network, Bit C(Leader) = Bit C(MaxF) = 2[log 2 ((M + 2)/3.5)] and Bit C t (Leader) = Bit C t (MaxF) = 2[log 2 ((M.
CHARDD Kickoff Meeting, Princeton University, September 13, 2007 Toward a Theory of Protocols for Communication Through Action John Baillieul C.I.S.E.
1.2 Row Reduction and Echelon Forms
Linear Equations in Linear Algebra
TCP Stability and Resource Allocation: Part II. Issues with TCP Round-trip bias Instability under large bandwidth-delay product Transient performance.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
AAMAS 2009, Budapest1 Analyzing the Performance of Randomized Information Sharing Prasanna Velagapudi, Katia Sycara and Paul Scerri Robotics Institute,
1 Complexity of Network Synchronization Raeda Naamnieh.
Ordering and Consistent Cuts Presented By Biswanath Panda.
1 University of Freiburg Computer Networks and Telematics Prof. Christian Schindelhauer Distributed Coloring in Õ(  log n) Bit Rounds COST 293 GRAAL and.
Knowledge Acquisitioning. Definition The transfer and transformation of potential problem solving expertise from some knowledge source to a program.
CPSC 668Set 10: Consensus with Byzantine Failures1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Parallel Programming in C with MPI and OpenMP Michael J. Quinn.
Bit Complexity of Breaking and Achieving Symmetry in Chains and Rings.
CSE 421 Algorithms Richard Anderson Lecture 4. What does it mean for an algorithm to be efficient?
1 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
1 Analysis of Link Reversal Routing Algorithms Srikanta Tirthapura (Iowa State University) and Costas Busch (Renssaeler Polytechnic Institute)
October 7, 2010Neural Networks Lecture 10: Setting Backpropagation Parameters 1 Creating Data Representations On the other hand, sets of orthogonal vectors.
Universität Dortmund  P. Marwedel, Univ. Dortmund, Informatik 12, 2003 Hardware/software partitioning  Functionality to be implemented in software.
ECE 720T5 Winter 2014 Cyber-Physical Systems Rodolfo Pellizzoni.
Parallelism and Robotics: The Perfect Marriage By R.Theron,F.J.Blanco,B.Curto,V.Moreno and F.J.Garcia University of Salamanca,Spain Rejitha Anand CMPS.
Memory Management Chapter 7.
The Electronic Geometry Textbook Project Xiaoyu Chen LMIB - Department of Mathematics Beihang University, China.
The DHCP Failover Protocol A Formal Perspective Rui FanMIT Ralph Droms Cisco Systems Nancy GriffethCUNY Nancy LynchMIT.
The Architecture of Secure Systems Jim Alves-Foss Laboratory for Applied Logic Department of Computer Science University of Idaho By, Nagaashwini Katta.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Basics of register-transfer design: –data paths and controllers; –ASM charts. Pipelining.
Lyra – A service-oriented and component-based method for the development of communicating systems (by Sari Leppänen, Nokia/NRC) Traditionally, the design,
1 Memory Management Chapter 7. 2 Memory Management Subdividing memory to accommodate multiple processes Memory needs to be allocated to ensure a reasonable.
© D. Weld and D. Fox 1 Reinforcement Learning CSE 473.
6. A PPLICATION MAPPING 6.3 HW/SW partitioning 6.4 Mapping to heterogeneous multi-processors 1 6. Application mapping (part 2)
Lecture 4 TTH 03:30AM-04:45PM Dr. Jianjun Hu CSCE569 Parallel Computing University of South Carolina Department of.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Behavior Control of Virtual Vehicle
School of Systems, Engineering, University of Reading rkala.99k.org April, 2013 Motion Planning for Multiple Autonomous Vehicles Rahul Kala Conclusions.
1 Mean Field and Variational Methods finishing off Graphical Models – Carlos Guestrin Carnegie Mellon University November 5 th, 2008 Readings: K&F:
Thinking in Parallel – Implementing In Code New Mexico Supercomputing Challenge in partnership with Intel Corp. and NM EPSCoR.
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
CS 484 Load Balancing. Goal: All processors working all the time Efficiency of 1 Distribute the load (work) to meet the goal Two types of load balancing.
Hwajung Lee. Well, you need to capture the notions of atomicity, non-determinism, fairness etc. These concepts are not built into languages like JAVA,
Hwajung Lee. Why do we need these? Don’t we already know a lot about programming? Well, you need to capture the notions of atomicity, non-determinism,
Vertex Coloring Distributed Algorithms for Multi-Agent Networks
Asymptotic behaviour of blinking (stochastically switched) dynamical systems Vladimir Belykh Mathematics Department Volga State Academy Nizhny Novgorod.
Complexity and Efficient Algorithms Group / Department of Computer Science Testing the Cluster Structure of Graphs Christian Sohler joint work with Artur.
Revision Mid 2, Cache Prof. Sin-Min Lee Department of Computer Science.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Fast.
Department of Computer Science, Johns Hopkins University Lecture 7 Finding Concurrency EN /420 Instructor: Randal Burns 26 February 2014.
Applied Discrete Mathematics Week 11: Relations
Parallel Programming By J. H. Wang May 2, 2017.
Parallel Programming in C with MPI and OpenMP
Analysis of Link Reversal Routing Algorithms
Do Now Can you Reason abstractly?
Hidden Markov Models Part 2: Algorithms
The Art Gallery Problem
Internet of Things A Process Calculus Approach
Department of Computer Science University of York
Linear Equations in Linear Algebra
HIGH LEVEL SYNTHESIS.
Parallel Programming in C with MPI and OpenMP
Linear Equations in Linear Algebra
Presentation transcript:

Specifying Globally, Controlling Locally E RIC K LAVINS Department of Computer Science California Institute of Technology

Motivating Example 1: Omniscient Beings Going Places Problem Description: Get each robot to its goal with no collisions. With global knowledge it’s easy. But it doesn’t scale: n 2 communications Many solutions (like optimal control) become computationally infeasible as n goes up. C n ( R 2 ) is connected.

Motivating Example 2: Solipsists Going Places (or “The LA Freeway Model”) So what if the robots just treat others like (moving) obstacles? Communication and computation go down. But you can get especially poor performance. A happy medium uses uses just enough communication, sensing and computation to perform the task. But how much is just enough?

Decentralized Control Given that: There is no leader. Global state or consensus with more than a constant number of other entities is impractical. Communication complexity should be linear or better. What is the right formalism for designing and reasoning about decentralized systems? Approach: Synthesize local controllers from a global specification.

Example: The Minifactory Theorem 1: The compiler produces live (deadlock free), cyclic distributed programs that respect product flow. Observation: Communication goes up linearly. Throughput is constant. [Klavins, HSCC 2000; Klavins and Koditschek, ICRA 2000] Compiler uses a formal composition to build up factory programs. Product description Automated factory assembles copies of product (Pictured is the CMU Minifactory [Hollis, Rizzi, Gowdy ICRA ’97-’99]). Compiler GOAL:

Example: Self Assembly Given: A (graph) specification of an assembly. Neighbors should be distance d nbr apart. Non-neighbors should be farther away. Synthesize: Local controllers for each part that have the “emergent” effect of assembling the product. In a simplified model Theorem 1: Only specified product is assembled. Theorem 2: A maximal number of parts are assembled. Observation: Communication is linear since sensing is bounded. Time to p% assembled is independent of n. [Klavins, CCC 2002; Klavins ICRA 2002]

Example: Oscillator Networks The same analysis on this system gives multiple stable orbits. The system does not perform the task specified. The system corresponding to this connection graph meets the specification: it has a single, global attracting behavior. Simple locomotion model for stick insect analysis: [Klavins, Komsuoglu, Koditschek & Full, NBR 2000] Equation for Individual Oscillator What graphs are valid specifications? [Klavins, Ghrist and Koditschek, WAFR2000; Klavins, Thesis 2001; Klavins and Koditschek, IJRR 2002,...] Observation: Communication complexity depends on the degree of the connection graph.

Toward a Systematic Approach Based on UNITY [Klavins&Hickey, Submitted to CDC2002] IDEA: Take a processor view: Specify a decentralized dynamical system as a parallel program. Each processor (vehicle) owns a set of instructions describing its behavior. The dynamics of the environment is just another processor (a computationally powerful one!). As a result, we get: No continuous/discrete duality. A formal object amenable to automated reasoning. No specification/implementation duality.

A Sample Specification In which the features of “DRL” are highlighted guard rule dynamics controller spec

Non-deterministic Execution Model the kth epoch how g:r transforms the state

Specifying Dynamics and Controllers controller specification  is the “eventually” temporal logic relation new temporal logic relation

Refinement The road from specification to implementation is paved with refinements. PLAN: Build a toolbox of specification transformations that can be used to systematically refine (global) specifications into (local) implementations.

Continuous Communication Refinement Theorem: Given a partition of the clauses of  that respects variable assignments, CCR (  )  . means: for some z  B k (x).

A Multi-Vehicle Example Problem: Each vehicle should maintain an estimate of the position of every other vehicle. Requirement: Nearby vehicles should have better estimates of each other’s position. What is the least amount of communication necessary to implement  com ?

Maintaining Estimates t time to recv time to send e f

The Refinement Theorem:  ’  .

Choosing the Bound Function Recall that we want to have What is a good  ? Assume an infinite number of robots, with density . And suppose that a vehicle communicates with vehicles at distance d every r(d) seconds. Then the total rate for all robots at distance m is Area of nth annulus is 2  (2n-1) Conjecture: Any choice of  results in r(d)=O(d).

Charts and Graphs vehiclesvehicles/m Choose  (d) = kd + 2  com Communication rate goes up as density of vehicles goes up. Message rate divided by worst case rate stays low as n goes up.

The Road Ahead Proof automation Proof of concept with MVWT More natural expression of delays (SWCR doesn’t work) Planning as refinement Communication complexity of tasks