Dear Claudio,

Thanks a lot for the pointers. Will surely study and experiment with this
new scheduling policy in Linux Kernel from Android Service perspective.
Looking forward to more updates from you on this.

Warm Regards,
Anil

On Thu, Aug 27, 2015 at 2:12 PM, <[email protected]> wrote:

> Dear developers,
>
> starting from release 3.14,  every Linux kernel has an additional CPU
> scheduling policy called *SCHED_DEADLINE* [1, 2].
> This email is to encourage you in evaluating the benefits that such a
> policy could bring when scheduling the Android services.
>
> The policy allows to assign each task two timing information: a runtime Qi
> and a period Pi.
> The Linux kernel will then schedule the task so that it receives the CPU
> exactly for a time equal to Qi every period Pi (the task will therefore get
> a CPU share exactly equal to Qi/Pi).
> References [1] and [2] provide further information about the specific
> algorithm.
>
> The interesting thing about this policy is the so called *temporal
> isolation*: the timing execution of a task is not be affected by the
> behaviour of the other tasks running on the system.
> This way, if a task misbehaves trying to use a resource for a time longer
> than expected, it is stopped and cannot affect the timing performance of
> the other tasks running in the system.
>
> This property can be leveraged for two goals:
>
>    - Providing timing guarantees to time-sensitive Android services: if
>    scheduled with SCHED_DEADLINE, the Android service will be guaranteed to
>    receive the specified share of CPU time, regardless of the behaviour of the
>    other tasks running on the system.
>    - Enforcing timing confinement of (untrusted) Android services: the
>    service will be forced to use no more than its assigned CPU share.
>    This is useful to limit the amount of CPU used by high-priority
>    services which, in case of bug or intensive computation, may starve the
>    rest of the system.
>
> An interesting experimental comparison of SCHED_DEADLINE vs SCHED_FIFO and
> SCHED_OTHER is available at [3] (unfortunately, it's not free).
>
> Best regards,
>
>             Claudio
>
>
> [1] SCHED_DEADLINE on Wikipedia:
> https://en.wikipedia.org/wiki/SCHED_DEADLINE
> [2] Documentation in the Linux kernel:
> http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/Documentation/scheduler/sched-deadline.txt
> [3] Deadline scheduling in the Linux kernel,
> http://onlinelibrary.wiley.com/doi/10.1002/spe.2335/abstract
>
> --
> --
> unsubscribe: [email protected]
> website: http://groups.google.com/group/android-kernel
> ---
> You received this message because you are subscribed to the Google Groups
> "Android Linux Kernel Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
-- 
unsubscribe: [email protected]
website: http://groups.google.com/group/android-kernel
--- 
You received this message because you are subscribed to the Google Groups 
"Android Linux Kernel Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to