Abstract-Cache-related pre-emption delays (CRPD) have been integrated into the schedulability analysis of sporadic tasks with constrained deadlines for fixed-priority pre-emptive scheduling (FPPS). This paper generalizes that work by integrating CRPD into the schedulability analysis of tasks with arbitrary deadlines for fixed-priority pre-emption threshold scheduling (FPTS). The analysis is complemented by an optimal threshold assignment algorithm that minimizes CRPD. The paper includes a comparative evaluation of the schedulability ratios of FPPS and FPTS, for constrained-deadline tasks, taking CRPD into account.
I. IntroductionFor cost-effectiveness reasons, it is preferred to use commercial off-the-shelf (COTS) programmable platforms for real-time embedded systems, rather than dedicated, application-domain specific platforms. These COTS platforms typically contain a cache to bridge the gap between the processor speed and main memory speed and to reduce the number of conflicts with other devices on the system bus. Unfortunately, caches give rise to additional delays upon pre-emptions due to cache flushes and reloads of blocks that are replaced during pre-emption. This cache-related pre-emption delay (CRPD) can have a significant impact on the computation times of tasks. For fixed-priority pre-emptive scheduling (FPPS), which is the defacto standard used in industry, CRPD has therefore been integrated into the schedulability analysis [17,26,32,28,3].Recently, limited pre-emptive scheduling schemes received a lot of attention from academia. In particular, fixed-priority scheduling with limited pre-emptions, such as fixed-priority scheduling with deferred pre-emption (FPDS) or co-operative scheduling [16,14,20] and fixed-priority scheduling with preemption thresholds (FPTS) [33,31,30,25], are considered viable alternatives between the extremes of FPPS and fixedpriority non-pre-emptive scheduling (FPNS). Compared to FPPS, limited pre-emptive schemes can (i) reduce memory requirements [31,23,21] and (ii) reduce the cost of arbitrary pre-emptions [16,14,10]. Compared to both FPPS and FPNS, these schemes may significantly improve the feasibility of a task set [14,31,8,20].Although FPDS clearly outperforms FPTS from a theoretical perspective [18], applying FPDS in practice is still a challenge because pre-emption points have to be explicitly added in the code. Assuming strictly periodic tasks with known phasing, a single non-pre-emptive region (NPR) can significantly reduce the preemptions that can feasibly occur [29]. Alternatively, sporadic tasks with floating NPRs [34,6] can be used; however, these require specific operating-system support and can lead