Skip to content

Commit 597464d

Browse files
Design of DP scheduling with deadline calculations
this commit contains a detailed description of DP scheduling and DP deadline calculations Signed-off-by: Marcin Szkudlinski <[email protected]>
1 parent 7a448ff commit 597464d

30 files changed

+1614
-0
lines changed

architectures/firmware/sof-zephyr/mpp_layer/dp_scheduling.rst

Lines changed: 611 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n100ms of data\n" as buf1
6+
7+
(DP1) as mod2 #ADD1B2
8+
9+
note bottom of mod2
10+
period 100ms
11+
LPT: 5ms
12+
end note
13+
14+
rectangle "BUF2\n\n10ms of data\n" as buf2
15+
16+
(DP2) as mod3 #ADD1B2
17+
18+
note bottom of mod3
19+
period 10ms
20+
LPT: 9ms
21+
end note
22+
23+
rectangle "BUF3\n\n15ms of data\n" as buf3
24+
25+
(LL2) as mod4 #f6ed80
26+
27+
28+
mod1--> buf1
29+
buf1 --> mod2
30+
mod2-->buf2
31+
buf2 --> mod3
32+
mod3-->buf3
33+
buf3 --> mod4
34+
@enduml
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n109ms of data\n" as buf1
6+
7+
(DP1) as mod2 #ADD1B2
8+
9+
note bottom of mod2
10+
period 100ms
11+
LPT: 5ms
12+
end note
13+
14+
rectangle "BUF2\n\n10ms of data\n" as buf2
15+
16+
(DP2) as mod3 #ADD1B2
17+
18+
note bottom of mod3
19+
period 10ms
20+
LPT: 9ms
21+
end note
22+
23+
rectangle "BUF3\n\n6ms of data\n" as buf3
24+
25+
(LL2) as mod4 #f6ed80
26+
27+
28+
mod1--> buf1
29+
buf1 --> mod2
30+
mod2-->buf2
31+
buf2 --> mod3
32+
mod3-->buf3
33+
buf3 --> mod4
34+
@enduml
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n109ms of data\n" as buf1
6+
7+
(DP1) as mod2 #ADD1B2
8+
9+
note bottom of mod2
10+
period 100ms
11+
LPT: 5ms
12+
end note
13+
14+
rectangle "BUF2\n\n0ms of data\n" as buf2
15+
16+
(DP2) as mod3 #ADD1B2
17+
18+
note bottom of mod3
19+
period 10ms
20+
LPT: 9ms
21+
end note
22+
23+
rectangle "BUF3\n\n16ms of data\n" as buf3
24+
25+
(LL2) as mod4 #f6ed80
26+
27+
28+
mod1--> buf1
29+
buf1 --> mod2
30+
mod2-->buf2
31+
buf2 --> mod3
32+
mod3-->buf3
33+
buf3 --> mod4
34+
@enduml
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n14ms of data\n" as buf1
6+
note bottom of buf1
7+
there was 109ms
8+
LL1 produced 5ms
9+
DP1 consumed 100ms
10+
109+5-100 = 14ms
11+
end note
12+
13+
(DP1) as mod2 #ADD1B2
14+
15+
note bottom of mod2
16+
period 100ms
17+
LPT: 5ms
18+
end note
19+
20+
rectangle "BUF2\n\n100ms of data\n" as buf2
21+
22+
(DP2) as mod3 #ADD1B2
23+
24+
note bottom of mod3
25+
period 10ms
26+
LPT: 9ms
27+
end note
28+
29+
rectangle "BUF3\n\n11ms of data\n" as buf3
30+
31+
(LL2) as mod4 #f6ed80
32+
33+
34+
mod1--> buf1
35+
buf1 --> mod2
36+
mod2-->buf2
37+
buf2 --> mod3
38+
mod3-->buf3
39+
buf3 --> mod4
40+
@enduml
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n100ms of data\n" as buf1
6+
7+
(DP1) as mod2 #ADD1B2
8+
9+
note bottom of mod2
10+
period 100ms
11+
LPT: 5ms
12+
end note
13+
14+
rectangle "BUF2\n\n10ms of data\n" as buf2
15+
16+
(DP2) as mod3 #ADD1B2
17+
18+
note bottom of mod3
19+
period 10ms
20+
LPT: 9ms
21+
end note
22+
23+
rectangle "BUF3\n\n15ms of data\n" as buf3
24+
25+
note bottom of buf3
26+
there was 11ms
27+
DP2 produced 90ms
28+
LL2 consumed 86ms
29+
11+90-86 = 15ms
30+
end note
31+
32+
33+
(LL2) as mod4 #f6ed80
34+
35+
36+
mod1--> buf1
37+
buf1 --> mod2
38+
mod2-->buf2
39+
buf2 --> mod3
40+
mod3-->buf3
41+
buf3 --> mod4
42+
@enduml
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n105ms of data\n" as buf1
6+
7+
(DP1) as mod2 #ADD1B2
8+
9+
note bottom of mod2
10+
period 100ms
11+
LPT: 5ms
12+
end note
13+
14+
rectangle "BUF2\n\n0ms of data\n" as buf2
15+
16+
(DP2) as mod3 #ADD1B2
17+
18+
note bottom of mod3
19+
period 10ms
20+
LPT: 9ms
21+
end note
22+
23+
rectangle "BUF3\n\n20ms of data\n" as buf3
24+
25+
note bottom of buf3
26+
there was 15ms
27+
DP2 produced 10ms
28+
LL2 consumed 5ms
29+
15+10-5 = 20ms
30+
end note
31+
32+
(LL2) as mod4 #f6ed80
33+
34+
35+
mod1--> buf1
36+
buf1 --> mod2
37+
mod2-->buf2
38+
buf2 --> mod3
39+
mod3-->buf3
40+
buf3 --> mod4
41+
@enduml
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n5ms of data\n" as buf1
6+
7+
(DP1) as mod2 #ADD1B2
8+
9+
note bottom of mod2
10+
period 5ms
11+
LPT: 2ms
12+
end note
13+
14+
rectangle "BUF2\n\n15ms of data\n" as buf2
15+
16+
(DP2) as mod3 #ADD1B2
17+
18+
note bottom of mod3
19+
period 20ms
20+
LPT: 10ms
21+
end note
22+
23+
rectangle "BUF3\n\n18ms of data\n" as buf3
24+
25+
(LL2) as mod4 #f6ed80
26+
27+
28+
mod1--> buf1
29+
buf1 --> mod2
30+
mod2-->buf2
31+
buf2 --> mod3
32+
mod3-->buf3
33+
buf3 --> mod4
34+
@enduml
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n2ms of data\n" as buf1
6+
note bottom of buf1
7+
there was 5ms
8+
LL1 produced 2ms
9+
DP1 consumed 5ms
10+
5-5+2 = 2ms
11+
end note
12+
13+
(DP1) as mod2 #ADD1B2
14+
15+
note bottom of mod2
16+
period 5ms
17+
LPT: 2ms
18+
end note
19+
20+
rectangle "BUF2\n\n20ms of data\n" as buf2
21+
22+
(DP2) as mod3 #ADD1B2
23+
24+
note bottom of mod3
25+
period 20ms
26+
LPT: 10ms
27+
end note
28+
29+
rectangle "BUF3\n\n16ms of data\n" as buf3
30+
31+
(LL2) as mod4 #f6ed80
32+
33+
34+
mod1--> buf1
35+
buf1 --> mod2
36+
mod2-->buf2
37+
buf2 --> mod3
38+
mod3-->buf3
39+
buf3 --> mod4
40+
@enduml
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
@startuml
2+
left to right direction
3+
(LL1) as mod1 #f6ed80
4+
5+
rectangle "BUF1\n\n5ms of data\n" as buf1
6+
7+
(DP1) as mod2 #ADD1B2
8+
9+
note bottom of mod2
10+
period 5ms
11+
LPT: 2ms
12+
end note
13+
14+
rectangle "BUF2\n\n20ms of data\n" as buf2
15+
16+
(DP2) as mod3 #ADD1B2
17+
18+
note bottom of mod3
19+
period 20ms
20+
LPT: 10ms
21+
end note
22+
23+
rectangle "BUF3\n\n13ms of data\n" as buf3
24+
25+
(LL2) as mod4 #f6ed80
26+
27+
28+
mod1--> buf1
29+
buf1 --> mod2
30+
mod2-->buf2
31+
buf2 --> mod3
32+
mod3-->buf3
33+
buf3 --> mod4
34+
@enduml

0 commit comments

Comments
 (0)