Transcript ppt
A RELAXED SYNCHRONIZATION
PRIMITIVE FOR
MACROPROGRAMMING SYSTEMS
TIMOTHY W. HNAT AND KAMIN WHITEHOUSE
[email protected], [email protected]
Presented by: S. M. Shahriar Nirjon
Motivation
Synchronization Problems
State of the Art
Node-level programming techniques (TinyOS)
Have
little to no synchronization
Benefits timeliness
Timeliness
Sacrifices
– how quickly the system runs
correctness
Correctness
– how accurate the system is
A fundamental trade-off between timeliness and
correctness.
Macroprogramming
5
Microcode
Microcode
Microcode
Microcode
Microcode
Microcode
Macroprogram
Node-level programming
6
Microcode
Microcode
Microcode
Microcode
Microcode
Microcode
Outline
Synchronization
Exit Conditions
Convergence
Evaluation
Conclusion
Barrier Synchronization
8
1
Node
2
3
4
5
Unreliable and high latency communication
Changes execution timing
Relaxed Synchronization
9
1
Node
2
3
4
5
Control over application concurrency
Relaxed Synchronization
10
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
0
Error
20
Hill Climbing
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
Results – Distance Error
Results – Parameter Variations
Results – 3d Surface
Conclusion
Macroprogramming abstractions typically have an
expectation of sequential-like semantics
Relaxed
Relaxed Barriers allow
Control
Barriers provide a tunable version for WENs
over Timeliness and Accuracy
Provided an algorithm to tune these parameters for
application scenarios
Thank You