Download presentation
Presentation is loading. Please wait.
Published byLizbeth Miles Modified over 9 years ago
1
Real-Time Systems Group Accounting for Cache Related Pre-emption Delays in Hierarchal Scheduling Will Lunniss 1 Sebastian Altmeyer 2 Giuseppe Lipari 3,4 Robert I. Davis 1 1 Department of Computer Science, University of York, UK {wl510, rob.davis}@york.ac.uk 2 Computer Systems Architecture Group, University of Amsterdam, Netherlands altmeyer@uva.nl 3 Scuola Superiore, Sant'Anna, IT g.lipari@sssup.it 4 LSV – ENS Cachan, FR giuseppe.lipari@lsv.ens-cachan.fr
2
Real-Time Systems Group Outline Hierarchical Scheduling Cache Related Pre-emption Delays (CRPD) Accounting for CRPD in Hierarchical Scheduling Evaluation Conclusions 2
3
Real-Time Systems Group Outline Hierarchical Scheduling Cache Related Pre-emption Delays (CRPD) Accounting for CRPD in Hierarchical Scheduling Evaluation Conclusions 3
4
Real-Time Systems Group Hierarchical Scheduling Hierarchical scheduling provides a means of composing multiple real-time components (applications) on a single processor Components should be isolated and not interfere with each other Divide up access to the processor using a global scheduler Schedule tasks in each component using a local scheduler 4
5
Real-Time Systems Group Hierarchical Scheduling Assume single processor Assume each component has a dedicated server, S, that allocates processor capacity to it Assume servers are scheduled globally using non-pre- emptive scheduler Assume tasks are scheduled locally using pre-emptive FP scheduler Each server S G, has a budget Q G, and a period P G 5
6
Real-Time Systems Group Hierarchical Scheduling 6 Components scheduled globally using non pre- emptive scheduling Tasks scheduled locally using pre-emptive FP scheduling
7
Real-Time Systems Group Supply Bound Function Accounts for non dedicated access to the processor inverse supply bound function (isbf) determine the maximum amount of time needed by a specific server to supply some capacity c 7 [1] I. Shin and I. Lee, "Periodic Resource Model for Compositional Real-Time Guarantees," in Proceedings of the 24th IEEE Real-Time Systems Symposium (RTSS), Cancun, Mexico, 2003, pp. 2-13.
8
Real-Time Systems Group Schedulability Analysis for Hierarchical Systems Wrap response time analysis in the inverse supply bound function Restrict the set of tasks to those in the same component 8
9
Real-Time Systems Group Outline Hierarchical Scheduling Cache Related Pre-emption Delays (CRPD) Accounting for CRPD in Hierarchical Scheduling Evaluation Conclusions 9
10
Real-Time Systems Group Cache Related Pre-emption Delays (CRPD) Pre-empting task can evict cache blocks belonging to the pre-empted task CRPD are introduced when the pre-empted task has to reload some of those evicted cache blocks after resuming Tasks in other components could evict cache blocks, causing ‘inter-component’ CRPD 10
11
Real-Time Systems Group Cache Block Categorisation Evicting Cache Blocks (ECBs) Loaded into cache and can therefore evict other blocks Useful Cache Blocks (UCBs) Reused once they have been loaded into cache before potentially being evicted by the task If evicted by another task, they may have to be reloaded which introduces CRPD UCBs are always also ECBs 11
12
Real-Time Systems Group CRPD in Hierarchical Scheduling Component-level CRPD Task-level CRPD 12
13
Real-Time Systems Group Outline Hierarchical Scheduling Cache Related Pre-emption Delays (CRPD) Accounting for CRPD in Hierarchical Scheduling Evaluation Conclusions 13
14
Real-Time Systems Group Integrating CRPD Analysis Task-level CRPD determined using the Combined Multiset approach [1] Component-level CRPD 14 [1] Altmeyer, S., Davis, R.I., and Maiza, C. Improved Cache Related Pre-emption Delay Aware Response Time Analysis for Fixed Priority Pre-emptive Systems. Real-Time Systems, 48, 5 (September 2012), 499-512.
15
Real-Time Systems Group Approach Variation 1 ‘-All’ Assume that every time server S G is suspended, all of the other servers run and their tasks evict all the cache blocks that they use 15 This approach could be pessimistic if servers do not have equal periods
16
Real-Time Systems Group Approach Variation 1 ‘-All’ Assume that every time server S G is suspended, all of the other servers run and their tasks evict all the cache blocks that they use 16
17
Real-Time Systems Group UCB-ECB-ALL Calculate the union of ECBs of all other components Calculate the union of UCBs of task τ i and all tasks that are part of component G that could pre-empt it Multiplied by the number of times component G is suspended and resumed during the response time of task τ i 17 Multiplied by the cost incurred when reloading a block, the Block Reload Time (BRT)
18
Real-Time Systems Group Approach Variation 2 ‘-Counted’ Consider each component separately by calculating the number of disruptive executions that server S Z can have on task τ i in component G during the response time of task τ i 18 Tasks in component Z cannot evict the same cache block multiple times even if component Z runs more than once while component G is suspended
19
Real-Time Systems Group Approach Variation 2 ‘-Counted’ Consider each component separately by calculating the number of disruptive executions that server S Z can have on task τ i in component G during the response time of task τ i 19
20
Real-Time Systems Group UCB-ECB-Counted Calculate the union of UCBs of task τ i and all tasks that are part of component G that could pre-empt it, intersected with the ECBs of component Z Multiplied by the number of disruptive executions of component Z during the response time of task τ i Summed for all other components 20
21
Real-Time Systems Group Approach Variation 3 ‘-Open’ Ignore details of other components, assume all blocks are evicted by the other components Variation of ‘-All’ approaches The union of ECBs of the other components is assumed to contain all cache blocks Allows the analysis to be used when no information about the other components is available 21
22
Real-Time Systems Group Outline Hierarchical Scheduling Cache Related Pre-emption Delays (CRPD) Accounting for CRPD in Hierarchical Scheduling Evaluation Conclusions 22
23
Real-Time Systems Group Evaluation Methodology Assign equal server periods to all components Split tasks equally between components Default of 24 tasks and 3 components Determine if the system is schedulable Perform a binary search to find the minimum server capacity required to schedule each component As server periods are equal, if the total capacity of all servers is less than 100% then the system is schedulable 23
24
Real-Time Systems Group Evaluation 24 Considering just the other components, and doing so individually performs the worst Accounting for all of the other components at once, or assuming that the cache is flushed, performs the best
25
Real-Time Systems Group Number of Components 25 Assuming the cache if flushed every time a component is suspended is not effective with one component There is no difference between the ‘-All’ and ‘- Counted’ variants when there are two components
26
Real-Time Systems Group Server Period 26 Minimising the server periods maximises schedulability when component CRPD is not considered In practice, the server period must be carefully selected
27
Real-Time Systems Group Cache Utilisation 27 When the cache utilisation is low, not considering the other components can be overly pessimistic Once the cache utilisation of the other components is > 1, assuming the cache is flushed each time a component is suspended can be as effective as the more sophisticated approach
28
Real-Time Systems Group Outline Hierarchical Scheduling Cache Related Pre-emption Delays (CRPD) Accounting for CRPD in Hierarchical Scheduling Evaluation Conclusions 28
29
Real-Time Systems Group Conclusions Presented a number of approaches for bounding CRPD under hierarchical scheduling with a local FP scheduler Shown that it is important to consider inter-component CRPD Note that minimising server periods does not maximise schedulability, as is the case when inter-component CRPD is not considered Must select the server period carefully If the components fill the cache, simply assuming the cache is flushed each time a component is suspended can be very effective with equal server periods Allows a bound on CRPD to be calculated without any information about the other components in the system 29
30
Real-Time Systems Group Thank you for listening Any Questions? 30
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.