Download presentation
Presentation is loading. Please wait.
Published byMarie-Noëlle Vinet Modified over 6 years ago
1
Migrate when necessary: toward partitioned reclaiming for soft real-time systems
Houssam-Eddine Zahaf, Giuseppe Lipari, Luca Abeni RTNS’17 Presenter: Haoran Li
2
Motivation: Decrease Soft Real-Time Deadline misses
Undesirable to miss deadlines but not crucial Task Model Release job aperiodically Execution time varies (“highly dynamic”) Jobs: Possibly unbounded inter-arrival time Tasks may enter and leave the system dynamically Consequence Non-guarantee to respect all deadlines Tasks with long execution times may monopolize the processor, and then increase deadline miss rate. Insight: CPU reservation guarantee CPU share in a timely fashion reclaiming unused CPU cycles exploit unused CPU cycles
3
Reservation: Bandwidth Preserving Servers
a server is a scheduling entity, which specify its <budget, period> The server consumes budget when executing jobs When the budget exhausted, the server stop executing jobs Different budget burn/replenishment algorithms Different servers Deferrable Server GRUB Server (*) Then, the server is treated as if it were a periodic task, which will be scheduled by the host scheduler. * This paper adopt GRUB approach
4
Example: Deferrable Server
Preserve unused capacity till the end of the current period Get better utilization? Assign another server and sched the server by EDF!
5
Example: EDF + Deferrable Server
Better Utilization: suppose we have ONE JOB with very long execution time Reservation! As long as the servers are schedulable, the budget is guaranteed in every period.
6
Issue: “Wasted CPU Cycles”
Server 1: Task 1 releases a job with a long execution time Server 2: No pending jobs Server (4, 6)’s cycle is wasted. How to RECLAME those unused budget?
7
GRUB, another server: A rough “insight”
Note: The algorithm showed here is NOT accurate, just for an insight Server utilization (aka. bandwidth) 𝑢𝑖= 𝐵𝑖 𝑃𝑖 If the server has pending job, mark it as “Active” Ua= 𝑖∈𝑎𝑐𝑡𝑖𝑣𝑒 𝑢𝑖 Each period, Virtual Budget is replenished as its Period. Burns at Different rate, according to active servers only r= 𝑈𝑎 𝑢𝑖 Key Features of GRUB Servers scheduled by “EDF-like” policy For any t, If 𝐔𝐚(𝐭)≤𝟏, then no server misses its scheduling deadline regardless of the behavior of the served tasks
8
Different Burn Rate Server 1: Virtual Budget start at 3, r = 1 / (1/3) = 3 Server 2: Virtual Budget start at 6, r = 1 / (4/6) = 1.5 “EDF-Like” r = 1.5 r = 3
9
Auto Reclaiming Server 1: Only active server: Ua= 1/3, r = (1/3) / (1/3) = 1 Server 2: Not active r = 1 Auto Reclaiming unused CPU cycles!
10
Architecture Partitioned Reservation
Partitioned: GRUB is a single core server + scheduling policy (pEDF like) Each task has a server (no task scheduling within a server) Reservation: Server can guarantee at least Budget execution every Period Global Reclaiming Global: Job can (temporarily) migrate among different PCPU Reclaiming: the migrated job is put in a migrated server, which can exploit the unused PCPU cycles
11
Architecture Preset 𝑢𝑚 as migrating utilization
Total utilization of servers on core Uj Total utilization of other migrating server 𝑈 𝑗 𝑚 Find the core j with smallest 𝑈 𝑗 𝑎 j 𝑢𝑚 + 𝑈𝑗 + 𝑈 𝑗 𝑚 ≤1 Other features: Permanent Migration: If one task is always tend to missing deadlines, do permanent migration Dynamic Load Balance Different partitioned algorithm (e.g. Worst-Fit Best-Fit) If cannot satisfied: do it with best effort: 𝑢𝑚′ =min{𝑢𝑚 ,1- 𝑈𝑗 - 𝑈 𝑗 𝑚 }
12
Evaluation: Two core platform (simulation)
A high CPU demand task t=2000, t=6000. Its server’s utilization = 0.3 Enable Load Balance/Migration Disable Load Balance/Migration
13
Evaluation: Utilization
Enable Load Balance/Migration Disable Load Balance/Migration
14
Contribution We proposed:
heuristics to partition a set of soft real-tasks to a set of identical cores The execution time of each job is not know apriori Tasks may enter and leave the system dynamically We allow: Jobs to migrate to reclaim extra-budget Tasks to migrate to load balance
15
Critiques & Lesson Learned
Reclaiming: “Work Conserving” Exploit unused cycles Trade off: Partitioned Reservation: EDF-Like utilization feature Global Reclaiming: Opportunistic Temporarily Migration Guarantee the pre assigned servers, while give best effort to temporarily job. Challenge: How to choose um??? By profiling? GRUB complexity? Challenge of adopting it in real system? (Marked as Future work)
16
Thank You
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.