On the Evaluation of Space-Time Functions Jacob Beal, Kyle Usbeck Spatial Computing SASO 2011 Work sponsored by DARPA; the views and conclusions.

Slides:



Advertisements
Similar presentations
TOWARDS a UNIFIED FRAMEWORK for NONLINEAR CONTROL with LIMITED INFORMATION Daniel Liberzon Coordinated Science Laboratory and Dept. of Electrical & Computer.
Advertisements

Compiling Web Scripts for Apache Jacob Matthews Luke Hoban Robby Findler Rice University.
1 Programming Languages (CS 550) Lecture Summary Functional Programming and Operational Semantics for Scheme Jeremy R. Johnson.
GATEKEEPER MOSTLY STATIC ENFORCEMENT OF SECURITY AND RELIABILITY PROPERTIES FOR JAVASCRIPT CODE Salvatore Guarnieri & Benjamin Livshits Presented by Michael.
Support Vector Machines
From Spatial Computing to Tactical Command of Swarms Jacob Beal 2012 AAAI Fall Symposium: Human Control of Bio-Inspired Swarms November, 2012 Work partially.
Theoretical Program Checking Greg Bronevetsky. Background The field of Program Checking is about 13 years old. Pioneered by Manuel Blum, Hal Wasserman,
Vertically Integrated Analysis and Transformation for Embedded Software John Regehr University of Utah.
16-Jun-15 Recursion. 2 Definitions I A recursive definition is a definition in which the thing being defined occurs as part of its own definition Example:
Optimal Bandwidth Selection for MLS Surfaces
מבוא מורחב 1 Lecture 3 Material in the textbook Sections to
28-Jun-15 Recursion. 2 Definitions I A recursive definition is a definition in which the thing being defined occurs as part of its own definition Example:
Declaring and Checking Non-null Types in an Object-Oriented Language Authors: Manuel Fahndrich K. Rustan M. Leino OOPSLA’03 Presenter: Alexander Landau.
Lecture 4 Neural Networks ICS 273A UC Irvine Instructor: Max Welling Read chapter 4.
Closure and Environment Compiler Baojian Hua
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Recursion. Definitions I A recursive definition is a definition in which the thing being defined occurs as part of its own definition Example: A list.
ICS 273A UC Irvine Instructor: Max Welling Neural Networks.
How Robust are Linear Sketches to Adaptive Inputs? Moritz Hardt, David P. Woodruff IBM Research Almaden.
Fundamentals of Python: From First Programs Through Data Structures
CSE 589 Applied Algorithms Spring Colorability Branch and Bound.
Sublinear time algorithms Ronitt Rubinfeld Computer Science and Artificial Intelligence Laboratory (CSAIL) Electrical Engineering and Computer Science.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Procedure specifications CSE 331. Outline Satisfying a specification; substitutability Stronger and weaker specifications - Comparing by hand - Comparing.
Abstract Types Defined as Classes of Variables Jeffrey Smith, Vincent Fumo, Richard Bruno.
Adaptive CSMA under the SINR Model: Fast convergence using the Bethe Approximation Krishna Jagannathan IIT Madras (Joint work with) Peruru Subrahmanya.
2D/3D Shape Manipulation, 3D Printing Shape Representations Slides from Olga Sorkine February 20, 2013 CS 6501.
Computer Science 313 – Advanced Programming Topics.
Chapter 12 Recursion, Complexity, and Searching and Sorting
Stephen P. Carl - CS 2421 Recursion Reading : Chapter 4.
Chapter 06 (Part I) Functions and an Introduction to Recursion.
CS 326 Programming Languages, Concepts and Implementation Instructor: Mircea Nicolescu Lecture 7.
SE: CHAPTER 7 Writing The Program
On Reducing the Global State Graph for Verification of Distributed Computations Vijay K. Garg, Arindam Chakraborty Parallel and Distributed Systems Laboratory.
1 Adaptable applications Towards Balancing Network and Terminal Resources to Improve Video Quality D. Jarnikov.
Carnegie Mellon Novelty and Redundancy Detection in Adaptive Filtering Yi Zhang, Jamie Callan, Thomas Minka Carnegie Mellon University {yiz, callan,
Copyright © 2006 The McGraw-Hill Companies, Inc. Programming Languages 2nd edition Tucker and Noonan Chapter 1 Overview A good programming language is.
From Error Control to Error Concealment Dr Farokh Marvasti Multimedia Lab King’s College London.
Population Based Optimization for Variable Operating Points Alan L. Jennings & Ra úl Ordóñez, ajennings1ajennings1,
Recursion. Definitions I A recursive definition is a definition in which the thing being defined occurs as part of its own definition Example: A list.
Distributed cooperation and coordination using the Max-Sum algorithm
Progress check Learning Objective: Success Criteria : Can identify various input and output devices - Level 4 – 5 Can identify all the major items of hardware.
RiskTeam/ Zürich, 6 July 1998 Andreas S. Weigend, Data Mining Group, Information Systems Department, Stern School of Business, NYU 2: 1 Nonlinear Models.
Recursion by Ender Ozcan. Recursion in computing Recursion in computer programming defines a function in terms of itself. Recursion in computer programming.
Data Link Layer Architecture for Wireless Sensor Networks Charlie Zhong September 28, 2001.
Problems of First-Class Functions over Space-Time Jacob Beal NEPLS, June 2012 Work partially sponsored by DARPA; the views and conclusions contained in.
Programming Languages 2nd edition Tucker and Noonan
Functions CSC 358/
SE goes software engineering; (practically) managing the Compose
Stateless Combinational Logic and State Circuits
The interpreter.
Parallel Programming By J. H. Wang May 2, 2017.
The DE Language Erik Reeber 6/30/04.
DIGITIAL COMMUNICATION
MAP decoding: The BCJR algorithm
Another problem to solve…
Important Concepts from Clojure
Important Concepts from Clojure
لجنة الهندسة الكهربائية
Partly Verifiable Signals (c.n.)
Another problem to solve…
Adapted from slides by Nicholas Shahan and Dan Grossman
Neural Networks ICS 273A UC Irvine Instructor: Max Welling
Material in the textbook Sections to 1.2.1
CSE-321 Programming Languages Introduction to Functional Programming
Adapted from slides by Nicholas Shahan, Dan Grossman, and Tam Dang
Important Concepts from Clojure
Lecture 2 מבוא מורחב.
Lecture 2 מבוא מורחב.
Another problem to solve…
Presentation transcript:

On the Evaluation of Space-Time Functions Jacob Beal, Kyle Usbeck Spatial Computing SASO 2011 Work sponsored by DARPA; the views and conclusions contained in this document are those of the authors and not DARPA or the U.S. Government.

Distributed function calls are hard! ● Action at a distance ● Recursion ● Function equivalence

Distributed function calls are hard! ● Action at a distance ● Recursion ● Function equivalence Devi ce #1 Devi ce #11 Devi ce #8 Devi ce #7 Devi ce #9 Devi ce #6 Devi ce #3 Devi ce #10 Devi ce #4 Devi ce #5 Devi ce #2 f(Device #6, #10, #11) f6f6 f11f11 f10f10

Distributed function calls are hard! ● Action at a distance ● Recursion ● Function equivalence f(0) f(1) f(2) f(3) f(4) f(3) f(2) f(1) f(0) Device #1Device #2

Distributed function calls are hard! ● Action at a distance ● Recursion ● Function equivalence ● Worse w. 1 st class fns Most “distributed” calls avoid the last two... [c.f. Beal, 2009] Devi ce #11 Devi ce #9 Devi ce #8 Devi ce #7 Devi ce #6 Devi ce #3 Devi ce #10 Devi ce #1 Devi ce #4 Devi ce #5 Devi ce #2 Track the ball

Approach: Continuous Model Advantages: simple, scalable, robust, adaptive... Continuous space & time Infinite number of devices See neighbors' past state Approximate with: Discrete network of devices Signals transmit state neighborhood device

Proto (def gradient (src)...) (def distance (src dst)...) (def dilate (src n) (<= (gradient src) n)) (def channel (src dst width) (let* ((d (distance src dst)) (trail (<= (+ (gradient src) (gradient dst)) d))) (dilate trail width))) neighborhood device Device Kernel evaluation global to local compilation discrete approximation platform specificity & optimization Global Local Discrete [Beal & Bachrach, '06]

Proto's Families of Primitives Pointwise Restriction FeedbackNeighborhood + restrict delay 48 any-hood nbr

Continuous Space-Time Programs tes t- sen se + Manifold Field Operator Return Value (+ 1 (test-sense)) Well-defined iff: each operator's inputs and outputs have same domain.

Functions: Substitution Model Arg : x + 1 (def inc (x) (+ x 1)) (inc (test-sense)) inc: in c tes t- sen se Problems: code bloat, can't compile recursion or 1 st class fns

3 1 Functions: Call In-Place Model Arg : x + 1 (def inc (x) (+ x 1)) (inc (test-sense)) inc: in c tes t- sen se Better: allows “normal” compiled function calls 3 1

Recursion: Substitution vs. Call-in-Place (def factorial (x) (if (= x 0) 1 (* x (factorial (- x 1))))) factoria l To make call-in-place work, we'll need to be able to branch... factorial: Arg : x notnot 0 = muxmux * restri ct factor ial

Proto's Families of Primitives Pointwise Restriction FeedbackNeighborhood + restrict delay 48 any-hood nbr

Different Spaces Interacting Sub-manifold Selector

Different Spaces Interacting (let ((x (bool-sense))) (+ (restrict x 2) (restrict (not x) 3))) + boo l- sen se 2 no t 3 x T F F T 2 3 Not well-defined! 2+? ?+3

Syntactic safety: if & mux Well-defined iff selected inputs cover output. (if (bool-sense) 2 3) mu x boo l- sen se 2 no t T F F T

Changing Field Domains (let ((z 3)) (if (bool-sense) 2 (+ z 1))) mu x boo l- sen se 2 no t + T F F T Not well-defined! z

Changing Field Domains restric t F T 2 4 Well-defined iff output domain becomes subspace of input domain 4

Changing Field Domains (let ((z 3)) (if (bool-sense) 2 (+ z 1))) mu x boo l- sen se 2 no t + restric t T F F T z

Branches and Function Calls mu x tes t- sen se 2 no t in c restric t T F F T Arg : x + 1 inc: (let ((z 3)) (if (bool-sense) 2 (inc z))) 3 3 Manifold restriction → well-defined distributed function calls! z Call function iff domain not empty

Branches → Function Closure (let ((y 2)) (def inc-by (x) (+ x y)) (inc-by (test-sense))) Arg : x + inc-by: inc- by tes t- sen se 2 Problem: what if the function call was in an if? y

Branches → Function Closure (let ((y 2)) (def inc-by (x) (+ x y)) (inc-by (test-sense))) Arg : x + inc-by: inc- by tes t- sen se 2 restric t Solution: external references pass through restrict y

Distributed Recursion Arg : x factorial: Solution: external references pass through restrict fact oria l 1 3 (def factorial (x) (if (= x 0) 1 (* x (factorial (- x 1))))) Arg : x factorial: fact oria l 0 2 Arg : x factorial: fact oria l 1 Arg : x factorial: fact oria l 0

Proto's Families of Primitives Pointwise Restriction FeedbackNeighborhood + restrict delay 48 any-hood nbr

Branches → Feedback Operators no t mu x dchang e dt 0 + dela y (rep x 0 (+ x (dt))) Combination ensures well-defined x x

Proto's Families of Primitives Pointwise Restriction FeedbackNeighborhood + restrict delay 48 any-hood nbr

Neighborhood Ops (max-hood (+ (nbr (test-sense)) 3)) nb r Field~~ + Field~~ 3 tes t- sen se max- hood

Restricting Neighborhoods nb r restric t 3 1 F T Neighborhood must change domain too! Same problem as for restriction without if construct Solution: compile-time error checking

Implementation in Proto ● Previously, all function calls were inlined! ● Upgrades: ● Function call opcodes added to VM ● External references → implicit arguments ● Error checking for bad nbr / if interactions

Verification of Smaller Code Size

Distributed function call problems: ● Action at a distance ● Recursion ● Function equivalence ● 1 st class fns [c.f. Beal, 2009] ✔ ✔ (except part of 1 st class) ✔ (partly implemented)

Contributions & Future Work ● Evaluation model for space-time function calls ● Analysis of Proto operator interactions ● Implementation of call-in-place model in Proto ● Future work: 1 st -class fns, implement recursion