bud17-320: high resolution data plane timers
TRANSCRIPT
ENGINEERS AND DEVICESWORKING TOGETHER
●
●
●
●
●
●
ENGINEERS AND DEVICESWORKING TOGETHER
●
○
○
○
●
○
○
ENGINEERS AND DEVICESWORKING TOGETHER
CP Core
Timer Thread
123456789012345 DP Thread N
DP Thread 2DP Thread 1
Process Pkts
Scheduler
DP CoresLatency in delivering the timer tick to software (t1)
Latency in processing the timers after the tick expiry (t2)
Latency in starting timer
Latency in delivering the timeout to the application (t3)
ENGINEERS AND DEVICESWORKING TOGETHER
App creates timer
App receives timeout
Timeout DurationTime
App creates timer
Tick DurationTime
t1
Timer module receives tick expiry notification
t2
Timer module expires the timers
t3
App receives timeout
Ideal Behavior
Actual Behavior
Tick Expiry
t1 - Latency in delivering the timer tick to software
t2 - Latency in processing the timers after the tick expiry
t3 - Latency in delivering the timeout to the application
Today’s FOCUS
ENGINEERS AND DEVICESWORKING TOGETHER
Timer Processing Thread(avg in ns)
Timer Processing Thread + Other Control Plane Process (avg in ns)
1T + 1DP 1T + 3DP 1T + 7DP 1T + 1DP 1T + 3DP 1T + 7DP
151 156 161 2652 2709 2933
ENGINEERS AND DEVICESWORKING TOGETHER
123456789012345 DP Thread N
DP Thread 2
DP Thread 1
Process Pkts
Scheduler
DP Cores
Timer
●
●
●
●
ENGINEERS AND DEVICESWORKING TOGETHER
Data plane Threads(avg in ns)
Data plane Threads + Other Control Plane Process (avg in ns)
1DP 3DP 7DP 1DP 3DP 7DP
109 75 55 115 80 65
ENGINEERS AND DEVICESWORKING TOGETHER