200 likes | 293 Views
Timothy W. Hnat and Kamin Whitehouse hnat@cs.virginia.edu, WHITEHOUSE@cs.virginia.edu . A Relaxed Synchronization Primitive for Macroprogramming Systems. Presented by: S. M. Shahriar Nirjon. Motivation. Synchronization Problems. State of the Art.
E N D
Timothy W.Hnat and Kamin Whitehouse hnat@cs.virginia.edu, WHITEHOUSE@cs.virginia.edu A Relaxed Synchronization Primitive forMacroprogramming Systems Presented by: S. M. ShahriarNirjon
State of the Art • Node-level programming techniques (TinyOS) • Have little to no synchronization • Benefits timeliness • Timeliness – how quickly the system runs • Sacrifices correctness • Correctness– how accurate the system is • A fundamental trade-off between timeliness and correctness.
Macroprogramming Microcode Microcode Microcode Microcode Microcode Microcode Macroprogram
Node-level programming Microcode Microcode Microcode Microcode Microcode Microcode
Outline • Synchronization • Exit Conditions • Convergence • Evaluation • Conclusion
Barrier Synchronization 1 2 Node 3 4 5 Unreliable and high latency communication Changes execution timing
Relaxed Synchronization 1 2 Node 3 4 5 Control over application concurrency
Relaxed Synchronization • Allows the programmer to control the amount of parallelism • Tradeoff between timeliness and accuracy • Timeliness – how quickly the system runs • Accuracy – how close the measurements are to the real world
Exit Conditions • Nodes • Radius • Deadline
Brute Force Search • Enumerate all combinations of Nodes, Radius, and Deadline • Typically a very large search space • Brute force search • Guaranteed to discover the optimal solution given enough time • Extremely slow to run
Hill Climbing 20 Error 0 0 Number of Nodes 100
Experimental Setup • Object Tracking Application • Simulation every(1) magVals= magSensors.sense() RB(NODES,DEADLINE,RADIUS,fitness) active = find(sum(neighborMag>500,2)>3) maxNeighbor= max(neighborMag, 2) leaders = find(maxNeighbor(active)==magVal(active)) pos = weightedAverage(neighborMag) if leaders focusCamera(pos) end end
Experimental Setup • Object Tracking Application • Simulation • Five Scenarios • Single target • Two targets • Fast-moving target • High-density deployment • False-positive errors
Conclusion • Macroprogramming abstractions typically have an expectation of sequential-like semantics • Relaxed Barriers provide a tunable version for WENs • Relaxed Barriers allow • Control over Timeliness and Accuracy • Provided an algorithm to tune these parameters for application scenarios