• No se han encontrado resultados

THE ROYAL SITES IN TIMES OF CHARLES III ABSTRACT

4. EL COSTE DE LAS JORNADAS

First, we made the —not entirely unexpected— observation that, if blocking effects are not the “bottleneck” of a task set determining its schedulability, for instance in cases of low resource contention, then the choice of spin lock type has little impact. An example for such a configuration is shown in Figure 6.4, where schedulability is close to the no-blocking case regardless of the spin lock type or analysis. However, as shown in Figures 6.5 and 6.6 (and most other results presented here), even with moderate resource contention, significant differences in terms of schedulability can be observed as the system load or the number of critical sections increases.

Second, we found that the schedulability results from both sets of experiments, where we varied either load or contention, exhibit largely similar patterns and trends. Hence, unless specified otherwise, the following observations apply to both sets of experiments.

Comparison with Prior Analyses

Figure 6.5 depicts the schedulability for varying load in a case representative for a broad range of configurations. Here, the holistic analysis of F|N locks (labeled “MSRP-holistic”) results in slightly higher schedulability than Gai et al .’s classic MSRP analysis (labeled “MSRP-classic”), which can be attributed to a decrease of pessimism in the holistic analysis. Similar observations can be made when varying contention, for instance, in the

0

Figure 6.4: Schedulability for m = 8, U = 0.3n, 4 shared resources, rsf = 0.40, Nmax = 2, and short critical sections.

schedulability results depicted in Figure 6.6.

Under our analysis of F|N locks, the schedulability is further increased: in the scenario depicted in Figure 6.5, more than ten additional tasks can be supported on the same platform (or approximately 4 additional critical sections in Figure 6.6). This increase in schedulability under our analysis can be observed for a wide range of different configurations, which highlights the typically less pessimistic nature inherent in our approach.

This decrease in pessimism under our analysis is further substantiated when comparing the schedulability results under the the prior MSRP analyses

0 0.2 0.4 0.6 0.8 1

40 60 80 100 120 140

schedulable

number of tasks MSRP-classic

MSRP-holistic F|N U|NP|N no blockingPF|N

Figure 6.5: Schedulability under non-preemptable spin locks for m = 16, U = 0.1n, 16 shared resources, rsf = 0.4, Nmax = 2, and short critical sections.

with our analysis for U|N locks. In the results depicted in Figure 6.5, our analysis of U|N locks yields schedulability results equal to or slightly higher than both prior MSRP analyses. This observation is particularly remarkable since our analysis for U|N locks naturally cannot make any assumptions about the ordering of requests for global resources, while the prior MSRP analyses can analytically exploit the strong FIFO-ordering under the MSRP.

In this particular configuration, however, the inherent pessimism in both prior MSRP analyses outweighed the analytical benefits of guaranteed FIFO-ordering. Note that this is not a general observation, and in particular, our analysis of U|N locks does not generally yield higher schedulability results than prior MSRP analyses. For instance, in Figures 6.7a, 6.8a and 6.9a the MSRP under any prior analysis yields higher schedulability than U|N locks under our analysis. all prior MSRP analyses yield higher schedulability than our analysis of U|N locks.

0

Figure 6.6: Schedulability under non-preemptable spin locks for m = 16, U = 0.1n, 8 shared resources, rsf = 0.25, and short critical sections.

Impact of Ordering Policy

When comparing our analyses for U|N and F|N locks, avoiding the inherent pessimism of prior analyses, we can observe in Figure 6.5 that F|N locks yield significantly higher schedulability results than U|N locks. In general, it can be observed that in all configurations and for both preemptable and non-preemptable spin locks, FIFO-ordered spin locks yield at least the same schedulability as unordered spin locks. The same holds for priority-ordered spin locks that generally yield at least the same schedulability as unordered spin locks. This observation mirrors the dominance of FIFO- and priority-ordered spin locks over unpriority-ordered ones shown in Section 5.4. Moreover, both FIFO- and priority-ordered spin locks typically yield substantially higher schedulability results than unordered spin locks (except for scenarios in which blocking is not a limiting factor, or scenarios that can be deemed unschedulable regardless of the spin lock type). For instance, the results depicted in Figures 6.7, 6.8 and 6.10 show a clear increase of schedulability under FIFO- and priority-ordered spin locks over unordered ones.

In our experiments, FIFO-ordered spin locks yield higher schedulability than

0

Figure 6.7: Schedulability for m = 16, U = 0.2n, 16 shared resources, rsf = 0.75, Nmax = 5, and short critical sections.

priority-ordered spin locks in most configurations, regardless of whether preemptions are allowed or not. This trend can be observed, for instance, in the schedulability results depicted in Figures 6.5, 6.10 and 6.14. In some configurations, however, priority-ordered spin locks outperform the FIFO-ordered ones, for instance in Figures 6.7a, 6.8a and 6.13. Both observations are in line with the incomparability between FIFO- and priority-ordered spin locks shown in Section 5.5. It is worth noting that the schedulability results for priority-ordered spin locks naturally depend on the priority-assignment scheme employed, and we cannot preclude that a different scheme would have resulted in higher schedulability. However, our simplistic scheme performed

0

Figure 6.8: Schedulability for m = 16, U = 0.2n, 32 shared resources, rsf = 0.75, Nmax = 2, and short critical sections.

reasonably well, as shown by the improvements of priority-ordered spin locks over unordered ones and also FIFO-ordered spin locks in a number of cases.

The development of a more elaborate scheme is beyond the scope of this thesis and left to future work.

PF|N and PF|P locks generally resulted in schedulability at least as high as under spin locks using either FIFO- or priority-ordering alone. In most cases, the schedulability under PF|N and PF|P locks was typically on a par with or marginally higher than under FIFO-ordered spin locks, as shown, for instance in Figures 6.9, 6.10 and 6.11. In some cases, for instance

0

Figure 6.9: Schedulability for m = 16, U = 0.2n, 32 shared resources, rsf = 0.25, Nmax = 5, and short critical sections.

in Figures 6.7, 6.8 and 6.12, PF|N and PF|P led to noticeably higher schedulability than FIFO- or priority-ordered spin locks, which suggests that a number of task sets clearly benefits from the combination of both ordering policies. This observation shows that there are configurations in which task sets are unschedulable under pure FIFO-ordered spin locks, but selectively assigning higher request priorities to one or more tasks reduced the blocking bound to an extent such that schedulability could be guaranteed.

0

Figure 6.10: Schedulability for m = 4, U = 0.2n, 2 shared resources, rsf = 0.75, Nmax = 10, and medium critical sections.

Impact of Preemptable Spinning

The trends described above for the impact of the ordering policy largely hold regardless of whether preemptions while spinning are allowed. In fact, spin locks with non-preemptable and preemptable spinning exhibit largely similar patterns in terms of schedulability: FIFO-ordered spin locks in most cases yield higher schedulability results than priority-ordered ones, unordered spin locks consistently lead to lowest, and FN|∗ locks to highest schedulability results.

A direct comparison of preemptable and non-preemptable spin lock types

0

Figure 6.11: Schedulability for m = 8, U = 0.3n, 16 shared resources, rsf = 0.10, Nmax = 10, and medium critical sections.

does not lead to clear conclusions: depending on the concrete configuration, but also depending on the ordering policy, enabling preemptions can result in an increase or a decrease of schedulability. The schedulability results for a scenario in which the impact of preemptable spinning appears to depend on the ordering policy is depicted in Figure 6.15. In the same configuration, enabling preemptable spinning under priority-ordered spin locks increases schedulability (P|P vs. P|N in the plot), and for FIFO-ordered spin locks, enabling preemptable spinning decreases schedulability (F|P vs. F|N). In general, the impact of enabling preemptions while spinning highly depends on the concrete configuration (and task set).

0

Figure 6.12: Schedulability for m = 16, U = 0.3n, 32 shared resources, rsf = 0.40, Nmax = 1, and short critical sections.