interactive debugging of dynamic dataflow embedded ... · stmicroelectronics, university of...
TRANSCRIPT
![Page 1: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/1.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
STMicroelectronicsLIGUniversity of Grenoble
Interactive Debugging ofDynamic Dataflow Embedded Applications.
Kevin Pouget, Patricia Lopez Cueva,Miguel Santana, Jean-François Méhaut
HIPS’13, Boston, USA — May 20th 2013
![Page 2: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/2.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Embedded System Development• High-resolution multimedia app. ⇒ high performance expectations.
• H.265 HEVC• Augmented reality,• 4K digital television• . . .
• Sharp time-to-market constraints
⇒ Important demand for• Powerful parallel architectures
• MultiProcessor on Chip (MPSoC)• Convenient programming methodologies
• Dynamic dataflow programming• Efficient verification and validation tools
• Our research contribution
Slide 2 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 3: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/3.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
MultiProcessor on Chip (MPSoC)• Parallel architecture
• More difficult to program• Maybe heterogeneous
• Application-specific processors,• Hardware accelerators,• GPU-like architecture (OS-less processors)
• Embedded system• Constrained environment,• On-board debugging complicated→ performance debugging only
• Limited-scale functional debugging on simulators
Slide 3 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 4: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/4.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it. +
*
+
⇒ Inherently parallel
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 5: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/5.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it. +
*
+
5
⇒ Inherently parallel
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 6: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/6.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it.
+
*
+
5 7
⇒ Inherently parallel
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 7: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/7.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it.
+
*
+
2 3
⇒ Inherently parallel (“2 PCs” here)
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 8: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/8.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it.
+
*
5
+
⇒ Inherently parallel
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 9: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/9.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it.
+
*
5
+
12
⇒ Inherently parallel
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 10: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/10.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it. +
*
+
60
⇒ Inherently parallel
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 11: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/11.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological Context
Dataflow Programming• Alternative to von Neumann model (↔ C/ASM)• Instructions executed when their operandsa are ready,not when the Instruction Pointer(aka. Program Counter, %PC)reaches it. +
*
+
60
⇒ Inherently parallel
⇒ Today: coarser granularity, with imperative/object instruction blocksaoperand == token == message
Slide 4 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 12: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/12.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological ContextDifferent Dataflow Models
Decidable Dataflow• Correctness analysis• Deadlock-free static scheduling• Powerful optimization
but:• Strong constraints imposed to dev.• Reduced expressiveness
• no dynamic problem
Dynamic Dataflow
e
ctlr
dyn_filter
out_1
out_2in
WORK() { /* dyn_filter.c */
flg = ctlr.next()
cnt = ctlr.next()
if (flg)
out_1.send(treat(cnt))
else
for (i in 0:cnt)
nxt = in.next()
out_2.send(treat(nxt))
}
1
Slide 5 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 13: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/13.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological ContextDifferent Dataflow Models
Decidable Dataflow• Correctness analysis• Deadlock-free static scheduling• Powerful optimization
but:• Strong constraints imposed to dev.• Reduced expressiveness
• no dynamic problem
Dynamic Dataflow• Increased modeling flexibility• Conditional token emission/rcption• Variable input/output rates
but:• Limited static analysis• Debugging is notstraightforward ,
e
ctlr
dyn_filter
out_1
out_2in
WORK() { /* dyn_filter.c */
flg = ctlr.next()
cnt = ctlr.next()
if (flg)
out_1.send(treat(cnt))
else
for (i in 0:cnt)
nxt = in.next()
out_2.send(treat(nxt))
}
1
Slide 5 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 14: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/14.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Technological ContextDifferent Dataflow Models
Decidable Dataflow
Dynamic Dataflow• Increased modeling flexibility• Conditional token emission/rcption• Variable input/output rates
but:• Limited static analysis• Debugging is notstraightforward ,
e
ctlr
dyn_filter
out_1
out_2in
WORK() { /* dyn_filter.c */
flg = ctlr.next()
cnt = ctlr.next()
if (flg)
out_1.send(treat(cnt))
else
for (i in 0:cnt)
nxt = in.next()
out_2.send(treat(nxt))
}
1
Slide 5 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 15: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/15.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Agenda
1 Debugging Challenges of Dataflow Applications
2 Dataflow-Aware Interactive Debugging
3 Proof of Concept Implementation
4 Case Study: a H.264 Video Decoder
5 Conclusion
Slide 6 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 16: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/16.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Agenda
1 Debugging Challenges of Dataflow Applications
2 Dataflow-Aware Interactive Debugging
3 Proof of Concept Implementation
4 Case Study: a H.264 Video Decoder
5 Conclusion
Slide 6 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 17: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/17.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow Applications
Dataflow applications
Graph-Based Architect. Flow-Fork Instructions Token-Based Execution
pipe
pred_controller
ipredhwcfg
ipf
Single-threaded applications Multi-threaded applications
• only one execution context • multi-sequential execution• flat organization:
• no inter-thread relationshipSlide 7 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 18: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/18.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow Applications
Dataflow applications
Graph-Based Architect. Flow-Fork Instructions Token-Based Execution
WORK() { /* dyn_filter.c */
flg = ctlr.next()
cnt = ctlr.next()
if (flg)
out_1.send(treat(cnt))
else
for (i in 0:cnt)
nxt = in.next()
out_2.send(treat(nxt))
}
1
⇐=
after this instruction:• dyn_filr continues• out_1 can run
ctlr
dyn_filter
out_1
out_2in
Single-threaded applications Multi-threaded applications• %PC sequential execution• simple flow-ctrl mechanisms:
• functions, if-else, loops
Slide 7 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 19: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/19.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow Applications
Dataflow applications
Graph-Based Architect. Flow-Fork Instructions Token-Based Execution
• no function calls• only async. filter activation
• tokens exchanged among filters
• filter execution conditioned byinput tokens generation
pred_controller
ipredhwcfg
pipe
ipf
1
1
Single-threaded applications Multi-threaded applications• %PC sequential execution• simple flow-ctrl mechanisms:
• functions, if-else, loops
Slide 7 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 20: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/20.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow ApplicationsExample
pipe
pred_controller
ipredhwcfg
(asleep)
ipf
• The application is frozen, how can GDB help us?• red filters are starving, waiting for data from the red link• filter hwcfg was not scheduled for execution by pred_controller
• hint: not much!
Slide 8 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 21: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/21.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow ApplicationsExample
pipe
pred_controller
ipredhwcfg
(asleep)
ipf
(gdb) info threadsId Target Id Frame1 Thread 0xf7e77b 0xf7ffd430 in __kernel_vsyscall ()
* 2 Thread 0xf7e797 operator= (val=..., this=0xa0a1330)
Slide 9 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 22: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/22.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow ApplicationsExample
pipe
pred_controller
ipredhwcfg
(asleep)
ipf
(gdb) thread apply all whereThread 1 (Thread 0xf7e77b):#0 0xf7ffd430 in __kernel_vsyscall ()#1 0xf7fcd18c in pthread_cond_wait@ ()#2 0x0809748f in wait_for_command_completion(struct ... *)#3 0x0809596e in pred_controller_work_function()#4 0x08095cbc in entry(int, char**) ()#5 0x0809740a in host_launcher_entry_point ()#6 0xf7fc9aff in start_thread ()
Slide 10 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 23: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/23.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow ApplicationsExample
pipe
pred_controller
ipredhwcfg
(asleep)
ipf
Thread 2 (Thread 0xf7e797):#0 operator= (val=..., this=0xa0a1330)#1 pipeRead (data=0) at pipeFilter.c:154154 Smb = pedf.io.hwcfgSmb[count];#2 0x0804da63 in PipeFilter_work_function () at pipe.c:361#3 0x080a4132 in PedfBaseFilter::controller (this=0xa0a0d18)#4 0x080bec81 in sc_core::sc_process_b::semantics (this=0xa0a3598)#5 0x080c12f0 in sc_core::sc_thread_cor_fn (arg=0xa0a3598)#6 0x08111831 in sc_core::sc_cor_qt_wrapper (...)
Slide 11 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 24: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/24.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Debugging Challenges of Dataflow Applications
ObjectiveProvide debugger users with means to
better understand the state of the dataflow executionand easily reach key transition events.
Slide 12 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 25: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/25.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Agenda
1 Debugging Challenges of Dataflow Applications
2 Dataflow-Aware Interactive Debugging
3 Proof of Concept Implementation
4 Case Study: a H.264 Video Decoder
5 Conclusion
Slide 12 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 26: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/26.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive Debugging
Idea: Integrate dataflow programming model conceptsin interactive debugging
Slide 13 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 27: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/27.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Application State• model the application as a graph• view token distribution• sent/received counters on filter interfaces• filter state: blocked waiting for more data? deadlocked ?
pipe
pred_controller
ipredhwcfg
ipf
Slide 14 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 28: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/28.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Application State• model the application as a graph• view token distribution• sent/received counters on filter interfaces• filter state: blocked waiting for more data? deadlocked ?
pipe
pred_controller
ipredhwcfg
ipf1
1
2
3
Slide 14 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 29: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/29.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Application State• model the application as a graph• view token distribution• sent/received counters on filter interfaces• filter state: blocked waiting for more data? deadlocked ?
pipe
pred_controller
ipredhwcfg
ipf
10
2010
Slide 14 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 30: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/30.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Application State• model the application as a graph• view token distribution• sent/received counters on filter interfaces• filter state: blocked waiting for more data? deadlocked ?
pipe
pred_controller
ipredhwcfg
(asleep)
ipf
Slide 14 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 31: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/31.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Application State• model the application as a graph• view token distribution• sent/received counters on filter interfaces• filter state: blocked waiting for more data? deadlocked ?
pipe
pred_controller
ipredhwcfg
ipf
Slide 14 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 32: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/32.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 33: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/33.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 34: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/34.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
break
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 35: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/35.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
1
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 36: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/36.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
1break
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 37: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/37.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
1
1
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 38: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/38.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
1
1break
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 39: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/39.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
1
11
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 40: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/40.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow ControlCatchpoints on dataflow events:• filter is activated or terminates• token generation/consumption
• and allow conditional stops with token inspection
pipe
pred_controller
ipredhwcfg
ipf
1
11
break
Slide 15 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 41: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/41.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow Control / Step-by-step• token exchange ⇐⇒ function calls
pipe
pred_controller
ipredhwcfg
ipf
Slide 16 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 42: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/42.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow Control / Step-by-step• token exchange ⇐⇒ function calls
pipe
pred_controller
ipredhwcfg
ipfZ
Slide 16 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 43: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/43.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow Control / Step-by-step• token exchange ⇐⇒ function calls
pipe
pred_controller
ipredhwcfg
ipfZ
Slide 16 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 44: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/44.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow Control / Step-by-step• token exchange ⇐⇒ function calls
pipe
pred_controller
ipredhwcfg
ipfZ
Slide 16 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 45: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/45.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Flow Control / Step-by-step• token exchange ⇐⇒ function calls
pipe
pred_controller
ipredhwcfg
ipfZ
Slide 16 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 46: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/46.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Dataflow-Aware Interactive DebuggingIntegrate dataflow programming model concepts in interactive debugging
Two-level Debugging• source-code and symbol breakpoints• line-by-line• watchpoints, processor inspection, etc.
(gdb) next(gdb) step(gdb) break $pc + 0x45F(gdb) break hwcfgFilter.c:27 if *mbType != 0xFFFFFFFF(gdb) watch *pedf.attr.cHwcfgQuant
Slide 17 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 47: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/47.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Agenda
1 Debugging Challenges of Dataflow Applications
2 Dataflow-Aware Interactive Debugging
3 Proof of Concept Implementation
4 Case Study: a H.264 Video Decoder
5 Conclusion
Slide 17 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 48: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/48.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationProof-of-concept environment
Platform 2012ST/CEA MPSoC research platform• Heterogeneous• 4x16 CPU OS-less comp. fabric
Slide 18 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 49: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/49.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationProof-of-concept environment
Dataflow Programming Model• Predicated Execution DataFlow
• Dataflow framework for H.265
Platform 2012ST/CEA MPSoC research platform• Heterogeneous• 4x16 CPU OS-less comp. fabric
Slide 18 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 50: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/50.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationProof-of-concept environment
The Gnu Debugger• Adapted to low level/C debugging
• Large user community
• Extendable with Python API
Dataflow Programming Model• Predicated Execution DataFlow
• Dataflow framework for H.265
Platform 2012ST/CEA MPSoC research platform• Heterogeneous• 4x16 CPU OS-less comp. fabric
Slide 18 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 51: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/51.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationProof-of-concept environment
The Gnu Debugger• Adapted to low level/C debugging
• Large user community• Extendable with Python API
Dataflow Programming Model• Predicated Execution DataFlow
• Dataflow framework for H.265
Platform 2012ST/CEA MPSoC research platform• Heterogeneous• 4x16 CPU OS-less comp. fabric
Slide 18 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 52: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/52.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events
⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 53: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/53.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 54: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/54.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 55: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/55.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 56: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/56.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 57: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/57.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 58: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/58.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 59: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/59.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 60: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/60.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 61: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/61.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 62: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/62.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 63: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/63.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 64: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/64.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 65: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/65.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 66: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/66.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 67: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/67.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 68: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/68.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Proof of Concept ImplementationWork with framework events⇒ Detect and interpret key events in the programming framework
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 69: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/69.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Agenda
1 Debugging Challenges of Dataflow Applications
2 Dataflow-Aware Interactive Debugging
3 Proof of Concept Implementation
4 Case Study: a H.264 Video Decoder
5 Conclusion
Slide 19 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 70: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/70.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Case Study: a H.264 Video DecoderOverview
• dynamic dataflow application• exploit P2012 heterogeneous capabilities• eventually, filters ⇒ HW accelerators
front
pred
front_controller
bh
imvp
pred_controller
red
pipe
ipred
hwcfg
3 ipf
4
2
H.264 logo byhttp://bullboykennels.deviantart.com
Slide 20 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 71: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/71.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Case Study: a H.264 Video DecoderApplication State
• Model the application as a graph• View token distribution
front
pred
front_controller
bh
imvp
pred_controller
red
pipe
ipred
hwcfg
3 ipf
4
2
(gdb) info connections pipe#tk #interface #remote itf #remote filter
Red2PipeLumaDC_in < Red2PipeLumaDC_out front.red(3) HwcfgQuant_in < pipe_HwcfgQuant_out hwcfg
Pipe2AddCrMB_out > Pipe2AddCrMB_in ipred(2) LumaCBF_out > LumaCBF_in ipf
Slide 21 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 72: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/72.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Case Study: a H.264 Video DecoderStep-by-step
• Next token send / received
(gdb) filter pipe next token out...[Stopped on token enqueued in ‘Pipe2IpredCrMB_out -> ipred’]120 pedf.io.Pipe2IpredCrMB_out[count++] = *Pipe2IpredCrMB;
(gdb) filter ipred next token in...[Stopped on token received from ‘Pipe2IpredCrMB_in <- pipe’]204 pedf.data.Pipe2IpredCrMB = pedf.io.Pipe2IpredCrMB_in[count++];
(gdb) filter pipe itf Pipe2IpredCrMB_out follow last
Slide 22 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 73: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/73.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Case Study: a H.264 Video DecoderStep-by-step
• Next token send / received
(gdb) filter pipe next token out...[Stopped on token enqueued in ‘Pipe2IpredCrMB_out -> ipred’]120 pedf.io.Pipe2IpredCrMB_out[count++] = *Pipe2IpredCrMB;
(gdb) filter ipred next token in...[Stopped on token received from ‘Pipe2IpredCrMB_in <- pipe’]204 pedf.data.Pipe2IpredCrMB = pedf.io.Pipe2IpredCrMB_in[count++];
(gdb) filter pipe itf Pipe2IpredCrMB_out follow last
Slide 22 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 74: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/74.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Agenda
1 Debugging Challenges of Dataflow Applications
2 Dataflow-Aware Interactive Debugging
3 Proof of Concept Implementation
4 Case Study: a H.264 Video Decoder
5 Conclusion
Slide 22 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 75: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/75.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Conclusion• Debugging complex applications is challenging• Lack of high level information about programming frameworks
• Our work: bring debuggers closer to dataflow programming models• Better understanding application behavior• Keep programmers focused on bug tracking
• Proof-of-concept• P2012 dataflow programming environment
• component debugging published earlier• different models, same approach⇒ first step towards programming-model centric debugging
• GDB and its Python interface• missing hooks contributed to the project
• Going further with programming-model aware debugging• GPU computing, OpenCL API• Visualization to aid in understanding app. behavior
Slide 23 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 76: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/76.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Conclusion• Debugging complex applications is challenging• Lack of high level information about programming frameworks
• Our work: bring debuggers closer to dataflow programming models• Better understanding application behavior• Keep programmers focused on bug tracking
• Proof-of-concept• P2012 dataflow programming environment
• component debugging published earlier• different models, same approach⇒ first step towards programming-model centric debugging
• GDB and its Python interface• missing hooks contributed to the project
• Going further with programming-model aware debugging• GPU computing, OpenCL API• Visualization to aid in understanding app. behavior
Slide 23 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 77: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/77.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Conclusion• Debugging complex applications is challenging• Lack of high level information about programming frameworks
• Our work: bring debuggers closer to dataflow programming models• Better understanding application behavior• Keep programmers focused on bug tracking
• Proof-of-concept• P2012 dataflow programming environment
• component debugging published earlier• different models, same approach⇒ first step towards programming-model centric debugging
• GDB and its Python interface• missing hooks contributed to the project
• Going further with programming-model aware debugging• GPU computing, OpenCL API• Visualization to aid in understanding app. behavior
Slide 23 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013
![Page 78: Interactive Debugging of Dynamic Dataflow Embedded ... · stmicroelectronics, university of grenoble/lig laboratory TechnologicalContext EmbeddedSystemDevelopment High-resolutionmultimediaapp](https://reader035.vdocument.in/reader035/viewer/2022071018/5fd16c5a3a42e666f97e69ea/html5/thumbnails/78.jpg)
s tm icroelectron i c s , un i ver s i ty of grenoble/l ig laboratory
Thanks for your attention
Slide 24 — [email protected] — Dynamic Dataflow Applications Debugging — HIPS’13, Boston, USA — May 20th 2013