The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State...

27
The Design of an EDF-Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa Sanjoy Baruah The University of North Carolina at Chapel Hill

Transcript of The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State...

Page 1: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

The Design of an EDF-Scheduled Resource-Sharing Open EnvironmentNathan Fisher

Wayne State UniversityMarko Bertogna

Scuola Superiore Santa’Anna of Pisa

Sanjoy BaruahThe University of North Carolina at

Chapel Hill

Page 2: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Outline Background: Open Environments.

• Motivation.• Challenge.

Prior Work. Our Results:

• System Model.• Resource-Sharing Framework:• Formal Properties.

Summary & Future Work.

Page 3: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Traditional Real-Time System Design

Application A:

1

2

3

Application B:

’1

’2

Real-Time Tasks

Background – Prior Work– Our Results– Summary

Page 4: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Traditional Real-Time System Design

Application A:

1

2

3

Application B:

’1

’2

CPU Scheduler

Schedulability Test

Task

Specifications

Background – Prior Work– Our Results– Summary

Page 5: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Traditional Real-Time System Design

Application A:

1

2

3

Application B:

’1

’2

CPU Scheduler

Each task submits jobs

directly to CPU scheduler.

Assumption: All tasks of all real-time applications are known at system-validation time.

Background – Prior Work– Our Results– Summary

Page 6: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Traditional Real-Time System DesignDrawbacks:

1. All tasks in the system need to be validated together and known to system designer, a priori.

• Monolithic system design.

2. Each application on shared platform must use same scheduling algorithm.

3. Temporally-bad behavior of one task may affect other tasks.

Violation of System Design Principles:

• Encapsulation & Abstraction.

• Modularity & Hierarchical Design.

• Fault-containment.

Solution?Solution?

Background – Prior Work– Our Results– Summary

Page 7: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Virtual Processor BVirtual Processor B

LocalScheduler

Virtual Processor AVirtual Processor A

LocalScheduler

Motivation: Real-Time Open Environments

CPU Scheduler

Application Interface:• VP Speed.• Jitter tolerance.• …Application A:

1

2

3

Application B:

’1

’2

IA

IB

Global

Background – Prior Work– Our Results– Summary

Page 8: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Real-Time Open Environments

CPU Scheduler

Application A:

1

2

3

Virtual Processor AVirtual Processor A

Application B:

’1

’2

Virtual Processor BVirtual Processor B

LocalScheduler

LocalScheduler

IA

IB

Application-LevelSchedulability Test

Global

Background – Prior Work– Our Results– Summary

Page 9: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Real-Time Open Environments

CPU Scheduler

Application A:

1

2

3

Virtual Processor AVirtual Processor A

Application B:

’1

’2

Virtual Processor BVirtual Processor B

LocalScheduler

LocalScheduler

IA

IB Application-LevelSchedulability Test

Each application independently developed

& validated.

Global

Background – Prior Work– Our Results– Summary

Page 10: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Real-Time Open Environments

CPU Scheduler

Application A:

1

2

3

Virtual Processor AVirtual Processor A

Application B:

’1

’2

Virtual Processor BVirtual Processor B

LocalScheduler

LocalScheduler

IA

IB

Composability Test

Global

Background – Prior Work– Our Results– Summary

Page 11: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Real-Time Open Environments

CPU Scheduler

Application A:

1

2

3

Virtual Processor AVirtual Processor A

Application B:

’1

’2

Virtual Processor BVirtual Processor B

LocalScheduler

LocalScheduler

IA

IB

Global

Background – Prior Work– Our Results– Summary

Page 12: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Motivation: Real-Time Open EnvironmentsAdvantages:

1. Application’s temporal constraints may be validated independently and need not be known a priori.

• Component-based design.

• Service-oriented design.

2. Each application on shared platform may use different scheduling algorithm.

3. Virtual processors isolate temporally-bad behavior of an application.

Adherence to System Design Principles:

• Encapsulation & Abstraction.

• Modularity & Hierarchical Design.

• Fault-containment.

Background – Prior Work– Our Results– Summary

Page 13: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Challenge: Real-Time Open Environments

CPU Scheduler

Application A:

1

2

3

Application Server AApplication Server A

Application B:

’1

’2

Application Server BApplication Server B

LocalScheduler

LocalScheduler

IA

IB

Global RR11 RR22 RRmm……

Challenge: Tasks may access shared global resources.

Implication: Applications not completely independent.

Background – Prior Work– Our Results– Summary

Page 14: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Prior Work: Real-Time Open Environments “First Generation” Open Environments:

• Examples:• Resource Kernels [Rajkumar et al., MMCM 1998].

• Resource Partitions [Mok, Feng, & Chen, RTAS 2001].• Periodic Resource Model [Shin & Lee, RTSS 2003].

• …

• Periodic tasks.

• Not all consider shared resources.

[Deng & Liu, RTSS 1997]

Background – Prior Work– Our Results– Summary

Page 15: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Prior Work: Real-Time Open Environments “Second Generation” Open Environments:

• Recent Work:• Davis & Burns [RTSS 2006].

• Behnam et al. [RTSS-WiP 2006].• …

• Sporadic tasks.

• Non-preemptive sharing of global resources.

[Deng & Liu, RTSS 1997]

Drawback: May cause blocking among & within applications.Our Work: Allow for preemptive

sharing (when needed).

Background – Prior Work– Our Results– Summary

Page 16: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: System Model

Applications: A1, A2, …, Aq.

Global Resources: R1, R2, …, Rm.

Application Interface for Ak:

IA = (k, k, Hk()) k: virtual processor speed.

k: jitter tolerance.

• Hk(Rℓ): Ak’s resource-hold time of Rℓ.

Each application Ak comprised of sporadic tasks system (Ak).

Background – Prior Work– Our Results– Summary

kMaximum continuous

interval that Ak may lock Rℓ.

Page 17: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Resource-Sharing Framework Bounded-delay Resource Open

Environment (BROE) Server:• Application virtual processor.

• Maintains 3 server variables for Ak:

• Ek: budget.

• Pk: replenishment period.

• Dk: server deadline.

• BROE Servers are scheduled by EDF plus Stack Resource Protocol (SRP) [Baker, 1991] w.r.t. server deadline and period.

Background – Prior Work– Our Results– Summary

Page 18: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Resource-Sharing Framework

IA = (k, k, Hk()) BROE Server Rules:1. Initialize to “normal” replenishment values:

• Period:• Maximum Budget: • Deadline:

kFor all intervals of size t > k, execution over interval

should be at least (t- k ) k

k

Pk =k

2(1-k)Ek =

kk

2(1-k)Dk = + tcur

k

2(1-k)Task system (Ak) scheduled within server

allocation by Ak’s local scheduler.Earlier-deadline applications are executing.

Background – Prior Work– Our Results– Summary

Page 19: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Resource-Sharing FrameworkBROE Server Rules:1. Initialize to “normal” replenishment values.

2. If server is executing, budget is decremented at rate 1.

Budgettime0

Ek =-1, if Ak executing,

0, otherwise.d

dt

IA = (k, k, Hk()) k

Background – Prior Work– Our Results– Summary

Page 20: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Resource-Sharing FrameworkBROE Server Rules:1. Initialize to “normal” replenishment values.

2. If server is executing, budget is decremented at rate 1.

3. If task of (Ak) requests resource Rℓ when Ek < Hk(Rℓ ), then defer execution and update replenishment time & next deadline:

Task requests RTask requests Rℓℓ, ,

but Ebut Ekk < H < Hkk(R(Rℓℓ))

Access to RAccess to Rℓℓ is is

granted heregranted herekExecution over interval > (t- k)k

IA = (k, k, Hk()) k

Background – Prior Work– Our Results– Summary

Page 21: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Formal Properties Composability Test:

Bk: largest Hi(Rℓ) value that can block Ak.

Theorem: Applications A1, A2, …, Aq composable on a unit-speed processor if for all k {1,…, q}:

j + 1Bk

PkPj Pk

Background – Prior Work– Our Results– Summary

Page 22: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Formal Properties Composability Test:

Local-Scheduler “Optimality”:

Theorem: If Ak independently validated on processor of speed k and each job completes k prior to its deadline, then it will meet all deadlines on BROE server with interface IA (k, k, Hk()) when using EDF + SRP.

Theorem: Applications A1, A2, …, Aq composable on a unit-speed processor if for all k {1,…, q}:

j + 1Bk

PkPj Pk

Background – Prior Work– Our Results– Summary

k

Page 23: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Resource-Hold Times How do you determine Hk(Rℓ)?

1. If (Ak) feasible when non-preemptively executing Rℓ on VP, execute non-preemptively on BROE server.

Hk(Rℓ) equals duration of longest critical section of (Ak) on Rℓ.

Background – Prior Work– Our Results– Summary

Page 24: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Resource-Hold Times How do you determine Hk(Rℓ)?

1. If (Ak) feasible when non-preemptively executing Rℓ on VP, execute non-preemptively on BROE server.

2. If (Ak) infeasible on VP using EDF+SRP, then by “optimality” theorem, (Ak) cannot be scheduled on server of speed k.

3. If neither above hold: devise local scheduling technique for minimizing application resource hold time.

Previous paper [RTAS 2007] describes Hk(Rℓ) minimization for EDF+SRP.

Background – Prior Work– Our Results– Summary

Page 25: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Our Results: Blocking Reduction Intra-application preemption + SRP:

reduces blocking of “higher-priority” tasks. Deferring resource execution: prevents

blocking after budget exhausted. Minimization of resource-hold times:

reduces an application’s impact on other applications.

Background – Prior Work– Our Results– Summary

Page 26: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Summary & Future Work

Open Environments:• System design benefits.• Composability of independently-validated applications.

Challenge: Shared Resources. Our Contributions:

• “Clean” interface.• Simple composability test.• Resource-hold times (allowing preemption, if needed).

Future Work:• Interface selection.• General task models & different schedulers.• Multiprocessor platforms.

Page 27: The Design of an EDF- Scheduled Resource-Sharing Open Environment Nathan Fisher Wayne State University Marko Bertogna Scuola Superiore Santa’Anna of Pisa.

Thank You!

Questions?Questions?

[email protected]@cs.wayne.edu