17
Tightening the Bounds on Cache-Related Preemption Delay in Fixed Preemption Point Scheduling Filip Marković, Jan Carlson, Radu Dobrin Mälardalen University, Sweden

Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Tightening the Bounds on Cache-Related Preemption Delay in Fixed Preemption Point

Scheduling

Filip Marković, Jan Carlson, Radu DobrinMälardalen University, Sweden

Page 2: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Content

● Background and Motivation

● Problem formulation

● Proposed approach

● Evaluation

● Conclusions and Future Work

2

Page 3: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Fixed Preemption Points

● Limited Preemptive Scheduling ● An attractive paradigm that combines the benefits of fully-

preemptive and non-preemptive scheduling.● Fixed Preemption Points (FPP)● Preemption allowed only at predefined selected locations

inside the code, called preemption points.● The selection enables control of preemption related delays,

possibly reducing their impact on schedulability.

1

!"##$!%&'(%*+,

!"##$!%#-%*+,Preemption

point

Page 4: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Preemption-Related Delay

Preemption-related delay consists of different delay types:bus-related, scheduling-related, pipeline-related, etc.

Cache-Related Preemption Delay (CRPD) has the largest impact on preemption-related delay.

Therefore, it is important to accurately and as tightly as possible compute its upper bound. 4

!"##$!%&'(%*+,

!"##$!%#-%*+,

estimateddelay

unschedulable

preemption

delay

Page 5: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

CRPD calculation

5

● CRPD depends upon two important factors:1. Where the preemption occurs? 2. Which preempting tasks affect the CRPD at this point?

● Different preempting tasks cause different CRPDs due to eviction!

!"##$!%&'(%*+,

!"##$!%#-%*+,

CRPD

1 2

3 2

2 1

1,2 ∩ 2,3 = {2} 1

2

3

K*Lℎ#

N#$O"P

Block2

evictedbythe

preemptingtask

Memoryblocks

tobeused

3 2 1 1,2 ∩ 2,3,1 = {1,2}

Page 6: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Related FPP approaches

● CRPD for each point is computed in isolation, which leads to:● Maximized pessimism regarding the preemption scenarios.● Pessimistic CRPD upper bounds

6

!"##$!%#-%*+,

VVW VVX

WCETwithout

CRPD

WCETwith

CRPD

Allpreempting tasks

evictusefulcacheblocks

VVW VVX

…sameconceptformorepoints

Page 7: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Motivation

● What if we want to calculate the CRPD defined per task?● To account for each CRPD computed in isolation is pessimistic.● Take into account that preemption scenario at one point affects the

possible preemption scenarios of the succeeding ones.

7

CRPDcomputedinisolation

foreachpreemptionpoint

VVW VVX

AccountedCRPDatonepoint

affectspossibleCRPDofthe

succeedingpoint

VVW VVX

Page 8: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Problem formulation

● How to tighten the CRPD bounds by taking into account the information that preemption scenario at a certain point may affect CRPD of the succeeding points?

● How do we identify the “mutual affection” of CRPDs of the two succeeding preemption points?

8

affectsCRPD

Preemption/Eviction

Combination

+=?

Page 9: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Proposed approach

For each task:1. Identify infeasible preemption scenarios.2. Among the remaining preemption scenarios identify the one

causing the worst CRPD.

9!"##$!%#-%*+,

Worstcase

preemption

VVW VVX

TightenedCRPD

pertask

!"##$!%&'(%*+,+

cX

cW

OnlycWpreempts

Page 10: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Identifying Infeasible Preemption Scenario?● Scenario when the preempting task cannot affect the CRPD of both

succeeding preemption points of the preempted task.● Case when the preempting task cannot be released twice during the

maximum time interval from the start time of one basic block until the start time of the succeeding basic block.

10

!"##$!%#-%*+,

VVW VVX

!"##$!%&'(%*+,, cX

VVW VVX

cX!"##$!%+VVW

ef

cX!"##$!%+VVX

Maximum time interval betweenthe first and the last basic block

Page 11: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Why it is not a trivial problem?● There are many different preemption scenarios. Which one causes

the worst CRPD?

11

!"##$!%#-%*+,

VVW VVX

!"##$!%&'(%*+,, cX

VVW VVX

+L#'*"&O1: cX!"##$!%+VVW

+L#'*"&O2: cX!"##$!%+VVX

KfVhW

KfVhX

iℎ&LℎO'#&+%ℎ#jklmjnj?

Page 12: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Proposed approach

● Optimization formulation:● Input

●Preemption scenarios (not deemed infeasible)● Goal

●Considering the CRPD computations of those scenarios, identify the one causing the worst CRPD bound.

● Output● CRPD bound, defined for task.

12

Page 13: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Evaluation

● Goal of the experiment:● To investigate to what extent the CRPD bounds are tightened,

compared to the simplified CRPD approximation.● Experiment setup● Taskset size fixed to 10● Taskset utilization fixed to 80%● Total Cache utilization (20% - 90%)

13

Page 14: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Evaluation

● Results:● Tightening improved the CRPD bounds.● CRPD bounds tightened by 30% to 50%.● Taskset size increase does not significantly deteriorates the tightening.

1420 30 40 50 60 70 80 90

Cache Utilization (%)

0

500

1000

1500

2000

2500

3000

3500

CR

PD

(m

icro

seco

nds)

Proposed method

Overaproximating ECB calculationProposed methodCRPD computed in isolation

Page 15: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Evaluation

153 4 5 6 7 8 9 10 11 12

Number of tasks

0

500

1000

1500

2000

CR

PD

(m

icro

seco

nds)

Proposed method

Over-approx. ECB

2 4 6 8 10 12

Number of tasks

0

2000

4000

6000

8000

10000

12000

14000

analy

sis

time (

ms)

● Experiment Setup● Taskset size (3 - 12)● Total cache utilization fixed to 40%

Proposed methodCRPD in isolation

● Results● Bounds tightened by 40% to 50%● Tightening scales well with the

taskset increase

Page 16: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Conclusions

● We propose a novel method for computing the CRPD in sporadic task model scheduled under the Fixed Preemption Point approach.

● The novelty of the method comes from the more detailed analysis of the infeasible eviction scenarios, compared to the SOTA.

● The proposed method achieves to tighten the bounds by 30% to 50% compared to the over-approximating worst-case eviction methods.

16

Page 17: Tightening the Bounds on Cache -Related …embedded.cs.uni-saarland.de/wcet-presentations/Filip...Tightening the Bounds on Cache -Related Preemption Delay in Fixed Preemption Point

Future work

● A preemption point selection algorithm that exploits the proposed method.

● Scalability improvement.

● Heuristics and approximation methods with multiset-based CRPD estimation approaches combined with the analysis of infeasible preemption combinations.

● Method for tightening the bounds in Fully-preemptive systems.

17