Figure 1 (a-h) shows the result obtained from the test of
a set of 8, 16, 24, and 32 children of pi processes on
both schedulers. The smoothed bell-shape graphs for
the O(1) scheduler shows that the standard deviation of
the time consumed for each children to complete their
pi processes are higher than CFS. In the O(1)
scheduler, some children finish executing faster than
others. This explains the wide spread of data across the
graph. In contrast, the smoothed bell-shape graphs for
CFS scheduler are significantly narrower and
concentrated on its average value. This shows the CFS
scheduler distributes its CPU time among each tasks in
a fairer manner compared to O(1) scheduler.
There are many reasons behind the better task
fairness achieved by CFS. One of the reasons is CFS
tries to simulate an ideal multitasking CPU by dividing
the time-slice into very fine granularity. Another factor
that contributes in having fair CPU time in each task is
the usage of nanoseconds accurate accounting. The
time that should be entitled to each task to simulate an
ideal multitasking CPU is calculated in nanoseconds
precision. This accounting improves fairness in
distributing CPU time among tasks.