Presentation is loading. Please wait.

Presentation is loading. Please wait.

Houssam-Eddine Zahaf, Giuseppe Lipari, Luca Abeni RTNS’17

Similar presentations


Presentation on theme: "Houssam-Eddine Zahaf, Giuseppe Lipari, Luca Abeni RTNS’17"— Presentation transcript:

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


Download ppt "Houssam-Eddine Zahaf, Giuseppe Lipari, Luca Abeni RTNS’17"

Similar presentations


Ads by Google