Supporting Parallel Component Debugging Using the GDB Python Interface

Please download to get full document.

View again

of 87
All materials on our website are shared by users. If you have any questions about copyright issues, please report us to resolve them. We are always happy to assist you.
Information Report
Category:

Technology

Published:

Views: 8 | Pages: 87

Extension: PDF | Download: 0

Share
Related documents
Description
Download Supporting Parallel Component Debugging Using the GDB Python Interface
Transcript
  • 1. stmicroelectronics, university of grenoble/lig laboratory STMicroelectronics LIG University of GrenobleSupporting Parallel Component Debuggingin Embedded SystemsUsing GDB Python Interfaces.Kevin Pouget, Miguel Santana, Vania Marangozova-Martinand Jean-François MehautGNU Tools Cauldron 2012, July 9th -11thSlide 1/29
  • 2. stmicroelectronics, university of grenoble/lig laboratory Context Embedded System Development • High-resolution multimedia app. ⇒ high performance expectations. • H.265 HEVC • augmented reality, • ... • Sharp time-to-market constraints ⇒ Important demand for • powerful parallel architectures • MultiProcessor on Chip (MPSoC) • convenient programming methodologies • Component-Based Software Engineering • ecient verication and validation tools • Our problematicSlide 2/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 3. stmicroelectronics, university of grenoble/lig laboratory Context MultiProcessor on Chip (MPSoC) • Parallel architecture • more dicult to program • Maybe heterogeneous • hardware accelerators, • GPU-like accelerators (OS-less) • Embedded system • constrained environment, • on-board debugging complicated → performance debugging only • limited-scale functional debugging on simulatorsSlide 3/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 4. stmicroelectronics, university of grenoble/lig laboratory Context Component-Based Software Engineering • Focus on design of independent building blocks • Applications built with interconnected components • Allows the adaptation of the application architecture according to runtime constraints • Runnable components able to exploit MPSoC parallelismSlide 4/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 5. stmicroelectronics, university of grenoble/lig laboratory Agenda 1 Component Debugging Challenges 2 Component-Aware Interactive Debugging 3 Feature Details 4 Python Implementation 5 ConclusionSlide 5/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 6. stmicroelectronics, university of grenoble/lig laboratory Agenda 1 Component Debugging Challenges 2 Component-Aware Interactive Debugging 3 Feature Details 4 Python Implementation 5 ConclusionSlide 6/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 7. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Component-based applications are dynamic • various set of components deployed during the execution • components are dynamically inter-connectedSlide 7/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 8. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Component-based applications are dynamic • various set of components deployed during the execution • components are dynamically inter-connectedSlide 7/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 9. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Component-based applications are dynamic • various set of components deployed during the execution • components are dynamically inter-connectedSlide 7/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 10. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 11. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 12. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 13. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 14. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 15. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 16. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 17. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Components interact with one another • their execution is driven by interface communications • complex framework-dependent steps between an interface call and its executionSlide 8/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 18. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Information ows over the components • a corrupted data may be carried over various component before triggering a visible errorSlide 9/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 19. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Information ows over the components • a corrupted data may be carried over various component before triggering a visible errorSlide 9/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 20. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Information ows over the components • a corrupted data may be carried over various component before triggering a visible errorSlide 9/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 21. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Information ows over the components • a corrupted data may be carried over various component before triggering a visible errorSlide 9/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 22. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Information ows over the components • a corrupted data may be carried over various component before triggering a visible errorSlide 9/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 23. stmicroelectronics, university of grenoble/lig laboratory Component Debugging Challenges Information ows over the components • a corrupted data may be carried over various component before triggering a visible errorSlide 9/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 24. stmicroelectronics, university of grenoble/lig laboratory Agenda 1 Component Debugging Challenges 2 Component-Aware Interactive Debugging 3 Feature Details 4 Python Implementation 5 ConclusionSlide 10/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 25. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Objective: Bring the debugger closer to the component modelSlide 11/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 26. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Objective: Bring the debugger closer to the component model • Show application architecture evolutions • component deployment • interface binding • ...Slide 11/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 27. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Objective: Bring the debugger closer to the component model • Show application architecture evolutions • component deployment • interface binding • ... • Follow the execution ow(s) over the component graph • runnable component execution, • execution triggered by an interface call • ...Slide 11/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 28. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Objective: Bring the debugger closer to the component model • Show application architecture evolutions • component deployment • interface binding • ... • Follow the execution ow(s) over the component graph • runnable component execution, • execution triggered by an interface call • ... • Track inter-component data exchanges • message route history, • message- or interface-based breakpoints • ...Slide 11/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 29. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 30. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 31. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 32. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 33. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 34. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 35. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 36. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 37. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 38. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 39. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 40. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 41. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 42. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 43. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 44. stmicroelectronics, university of grenoble/lig laboratory Component-Aware Interactive Debugging Implementation ⇒ Detect and interpret key events in the component frameworkSlide 12/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 45. stmicroelectronics, university of grenoble/lig laboratory Agenda 1 Component Debugging Challenges 2 Component-Aware Interactive Debugging 3 Feature Details 4 Python Implementation 5 ConclusionSlide 13/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 46. stmicroelectronics, university of grenoble/lig laboratory Feature Details Proof-of-concept environment Platform 2012 ST MPSoC research platform • Heterogeneous • 4x 16 CPU OS-less comp. fabricSlide 14/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 47. stmicroelectronics, university of grenoble/lig laboratory Feature Details Proof-of-concept environment Native Programming Model • P2012 component framework • Provides communication components and interface Platform 2012 ST MPSoC research platform • Heterogeneous • 4x 16 CPU OS-less comp. fabricSlide 14/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 48. stmicroelectronics, university of grenoble/lig laboratory Feature Details Proof-of-concept environment The Gnu Debugger • Adapted to low level debugging • Large user community Native Programming Model • P2012 component framework • Provides communication components and interface Platform 2012 ST MPSoC research platform • Heterogeneous • 4x 16 CPU OS-less comp. fabricSlide 14/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 49. stmicroelectronics, university of grenoble/lig laboratory Feature Details Proof-of-concept environment The Gnu Debugger • Adapted to low level debugging • Large user community Native Programming Model • P2012 component framework • Provides communication components and interface Platform 2012 ST MPSoC research platform • Heterogeneous • 4x 16 CPU OS-less comp. fabricSlide 14/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 50. stmicroelectronics, university of grenoble/lig laboratory Feature Details Case study: Debugging a Pyramidal Feature Tracker • part of an augmented reality application • analyzes video frames to track interesting features motionSlide 15/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 51. stmicroelectronics, university of grenoble/lig laboratory Case study: Debugging a Pyramidal Feature Tracker List components and their interfaces (gdb) info component +connections #1 Host[31272] DMAPush/0x... DMA srcPullBuffer Component... #2 DMAPull/0x... DMA dstPushBuffer Component... #2 * #2 Component[SmoothAndSampleProcessor.so] srcPullBuffer DMA DMAPush/0x... Host[31272] dstPullBuffer DMA DMAPull/0x... Host[31272]Slide 16/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 52. stmicroelectronics, university of grenoble/lig laboratory Case study: Debugging a Pyramidal Feature Tracker Information about messages Message 1: Component A # Message createdSlide 17/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 53. stmicroelectronics, university of grenoble/lig laboratory Case study: Debugging a Pyramidal Feature Tracker Information about messages Message 1: Component A # Message created Component A::Interface A.1 # Message sentSlide 17/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 54. stmicroelectronics, university of grenoble/lig laboratory Case study: Debugging a Pyramidal Feature Tracker Information about messages Message 1: Component A # Message created Component A::Interface A.1 # Message sentSlide 17/29 [email protected] Supporting Parallel Component Debugging. GNU Tools Cauldron 2012, July 9th -11th
  • 55. stmicroelectronics, university of grenoble/lig laboratory Case study: Debugging a Pyramidal Feature Tracker Information about messages Message 1:
  • Recommended
    View more...
    We Need Your Support
    Thank you for visiting our website and your interest in our free products and services. We are nonprofit website to share and download documents. To the running of this website, we need your help to support us.

    Thanks to everyone for your continued support.

    No, Thanks