update
This commit is contained in:
parent
52b5fdeb98
commit
85d4edf508
2 changed files with 244 additions and 220 deletions
|
|
@ -26,7 +26,7 @@ This principle provide a mathematically proovable way for each task to determine
|
|||
= Polynomials
|
||||
|
||||
Contrary to popular beliefs, polynomials are not boring.
|
||||
Let us consider a problem with four tasks $(t_0,t_1,t_2,t_3)$ and a schedule array of 20 time period
|
||||
Let us consider a problem with four tasks $(t_0,t_1,t_2,t_3)$ and a schedule array of 20 time periods
|
||||
$
|
||||
A = [0,1,2,3,0,0,1,2,0,1,2,3,0,3,0,2,3,2,0,1]
|
||||
$
|
||||
|
|
@ -34,4 +34,28 @@ $
|
|||
#figure(
|
||||
image("images/polyfit.svg", width:100%),
|
||||
caption: "Scheduling function defined as a polynomial fit of the scheduling array."
|
||||
)
|
||||
)<fig-polyfit>
|
||||
|
||||
== Clock Sensitivity
|
||||
In order for every task to know when they can transmit, they all need to evaluate the scheduling function at the same times.
|
||||
In the real world, that could be very difficult as the clock of each task can drift over time.
|
||||
Some people suggested to use atomic clock chips as the RTC of clock so that, after a syncronisation phase, all timings across tasks would remain exact #footnote[Atomic clocks drift is estimated at one second per hunred million year (Wikipedia).].
|
||||
However, I suspect that the person proposing this solution have atomic clock in their office drawer and don't think of us, mere students, that do not have 6k to invest in a fancy clock.
|
||||
|
||||
This raises the question; How sensitive is a scheduling function to clock imprecision?
|
||||
After all, the function is exact on the start of the period but has no constraint during the period.
|
||||
We define the clock sensitivity of a scheduling function $"cs"(s)$ as the maximum time delta around any period start without an incorrect task decision.
|
||||
$
|
||||
"cs"(s) = max_(delta t)(s(tau_i plus.minus delta t) = A[tau_i]; forall tau_i)
|
||||
$
|
||||
|
||||
Let us consider again the example displayed in @fig-polyfit.
|
||||
As the degree of the polynomial grows to perfectly fit the schedul, extreme variations appear during the periods.
|
||||
These extreme variations induce high derivative of the function at the sampling time that makes the clock sensitivity very small.
|
||||
|
||||
== Problems with Polynomials
|
||||
A single polynomial fitted to the schedul does not seem like a good approach as it require a very precise clock to obtain the correct values.
|
||||
Moreover, storing the polynomial coefficient for the function requires at least as much memory as storing the schedule itself.
|
||||
Finally, evaluating the function is more computation-intensive than looking up a value in a table.
|
||||
|
||||
= Regression, imprefect fit, and flatten scheduling array.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue