The sixth set of data started writing to the buffers (pong buffer – buf0d/buf1d)
and the vadd kernel (node/actor) must wait to process frame 4 because the buffers are
locked due to the addConstant kernel (node/actor), which must wait to process frame 3.
The fir_32 kernel (node/actor) is still processing frame 1. The copy_in_out kernel must
wait to process frame 3 because the fir_32 kernel (node/actor) is still processing frame
1, which locks the buffers (buf3 and buf4). Even though the copy_in_out kernel can run
parallel, but the fir_32 is running slow, which generated the lock to the buffers
(buf3/buf4).
Figure 1. Frame 6
KPN Terminology | Input Token for Vadd | Node/Actor | Input Token for addConstant | Node/Actor | Input Token for fir_32 | Input Token for copy_in_out | Node/ Actor | Port | Node/ Actor | Port | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
AI Engine | Buffer (ping/pong) | Vadd |
Buffer (ping/pong) |
addConstant |
Buffer (ping/pong) |
Buffer (ping/pong) |
copy_in_out |
Buffer (ping/pong) |
fir_32 |
Buffer (ping/pong) |
||||||
buf0/ buf1 |
buf0d/ buf1d |
buf2 | buf2d | buf3 | buf3d | Buf4 | buf4d | buf6 | buf6d | buf5 | buf5d | |||||
Frame 1 | Fill | - | Waiting | - | - | Waiting | - | - | - | - | Waiting | - | - | Waiting | - | - |
Frame 2 | Token ready Frame 1 | Fill | Processing (Frame 1) | Fill | - | Waiting | - | - | - | - | Waiting | - | - | Waiting | - | - |
Frame 3 | Fill | Token ready Frame 2 | Processing (Frame 2) | Token ready Frame 1 | Fill | Processing (Frame 1) | Fill | - | Fill | - | Waiting | - | - | Waiting | - | - |
Frame 4 | Token ready Frame 3 | Fill | Processing (Frame 3) | Fill | Token ready Frame 2 | Processing (Frame 2) | Token ready Frame 1 | Fill | Token ready for Frame 1 | Fill |
Processing (Frame 1) |
Fill | - |
Processing (Frame 1) |
Fill | - |
Frame 5 | Fill | Token ready Frame 4 | Processing (Frame 4) | - | Locked | Waiting | Locked | Token ready Frame 2 | Locked | Token ready Frame 2 | Processing (Frame 2) | - | Fill | Processing (Frame 1) | Fill | - |
Frame 6 | Locked | Fill | Waiting | Locked | Locked | Waiting | Locked | Token ready Frame 2 | Locked | Locked | Waiting | Fill | - | Processing (Frame 1) | Fill | - |