Distributed Watchpoints:
This presentation is the property of its rightful owner.
Sponsored Links
1 / 19

Aug 19, 2006 PowerPoint PPT Presentation


  • 52 Views
  • Uploaded on
  • Presentation posted in: General

Distributed Watchpoints: Debugging Very Large Ensembles of Robots De Rosa, Goldstein, Lee, Campbell, Pillai. Aug 19, 2006. Motivation. Distributed errors are hard to find with traditional debugging tools Centralized snapshot algorithms Expensive Geared towards detecting one error at a time

Download Presentation

Aug 19, 2006

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Aug 19 2006

Distributed Watchpoints: Debugging Very Large Ensembles of RobotsDe Rosa, Goldstein, Lee, Campbell, Pillai

Aug 19, 2006


Motivation

Motivation

  • Distributed errors are hard to find with traditional debugging tools

  • Centralized snapshot algorithms

    • Expensive

    • Geared towards detecting one error at a time

  • Special-purpose debugging code is difficult to write, may itself contain errors

Distributed Watchpoints


Expressing and detecting distributed conditions

Expressing and Detecting Distributed Conditions

“How can we represent, detect, and trigger on distributed conditions in very large multi-robot systems?”

  • Generic detection framework, well suited to debugging

  • Detect conditions that are not observable via the local state of one robot

  • Support algorithm-level debugging (not code/HW debugging)

  • Trigger arbitrary actions when condition is met

  • Asynchronous, bandwidth/CPU-limited systems

Distributed Watchpoints


Distributed parallel debugging state of the art

Distributed/Parallel Debugging:State of the Art

Modes:

  • Parallel: powerful nodes, regular (static) topology, shared memory

  • Distributed: weak, mobile nodes

    Tools:

  • GDB

  • printf()

  • Race detectors

  • Declarative network systems with debugging support (ala P2)

Distributed Watchpoints


Example errors leader election

Example Errors: Leader Election

Scenario: One Leader Per Two-Hop Radius

Distributed Watchpoints


Example errors token passing

Example Errors: Token Passing

Scenario: If a node has the token, exactly one of it’s neighbors must have had it last timestep

Distributed Watchpoints


Example errors gradient field

Example Errors: Gradient Field

Scenario: Gradient Values Must Be Smooth

Distributed Watchpoints


Expressing distributed error conditions

Expressing Distributed Error Conditions

Requirements:

  • Ability to specify shape of trigger groups

  • Temporal operators

  • Simple syntax (reduce programmer effort/learning curve)

    A Solution:

  • Inspired by Linear Temporal Logic (LTL)

    • A simple extension to first-order logic

    • Proven technique for single-robot debugging [Lamine01]

  • Assumption: Trigger groups must be connected

    • For practical/efficiency reasons

Distributed Watchpoints


Watchpoint primitives

Watchpoint Primitives

  • nodes(a,b,c);

  • n(b,c)

  • &

  • (a.var > b.var)

  • & (c.prev.var != 2)

  • Modules (implicitly quantified over all connected sub-ensembles)

  • Topological restrictions (pairwise neighbor relations)

  • Boolean connectives

  • State variable comparisons (distributed)

  • Temporal operators

Distributed Watchpoints


Distributed errors example watchpoints

Distributed Errors: Example Watchpoints

nodes(a,b,c);n(a.b) & n(b,c) & (a.isLeader == 1) & (c.isLeader == 1)

nodes(a,b,c);n(a,b) & n(a,c) & (a.token == 1) & (b.prev.token == 1) & (c.prev.token == 1)

nodes(a,b);(a.state - b.state > 1)

Distributed Watchpoints


Watchpoint execution

1

2

3

1

2

3

4

5

6

7

8

2

1

9

10

11

12

13

14

15

16

9

1

17

18

19

20

21

22

23

24

9

2

1

25

26

27

28

29

30

31

32

10

9

1

Watchpoint Execution

nodes(a,b,c)…

.

.

.

.

Distributed Watchpoints


Performance watchpoint size

Performance: Watchpoint Size

  • 1000 modules, running for 100 timesteps

  • Simulator overhead excluded

  • Application: data aggregation with landmark routing

  • Watchpoint: are the first and last robots in the watchpoint in the same state?

Distributed Watchpoints


Performance number of matchers

Performance: Number of Matchers

  • This particular watchpoint never terminates early

  • Number of matchers increases exponentially

  • Time per matcher remains within factor of 2

  • Details of the watchpoint expression more important than size

Distributed Watchpoints


Performance periodically running watchpoints

Performance: Periodically Running Watchpoints

Distributed Watchpoints


Future work

Future Work

  • Distributed implementation

  • More optimization

  • User validation

  • Additional predicates

Distributed Watchpoints


Conclusions

Conclusions

  • Simple, yet highly descriptive syntax

  • Able to detect errors missed by more conventional techniques

  • Low simulation overhead

Distributed Watchpoints


Aug 19 2006

Thank You


Backup slides

Backup Slides

Distributed Watchpoints


Optimizations

Optimizations

  • Temporal span

  • Early termination

  • Neighbor culling

  • (one slide per)

Distributed Watchpoints


  • Login