multicore mixed-criticality with a hierarchical real-time...

Post on 24-Mar-2020

4 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IT 15026

Examensarbete 30 hpApril 2015

Multicore mixed-criticality with a hierarchical real-time scheduler and resource servers

Emanuel Berg

Masterprogram i datavetenskapMaster Programme in Computer Science

Teknisk- naturvetenskaplig fakultet UTH-enheten Besöksadress: Ångströmlaboratoriet Lägerhyddsvägen 1 Hus 4, Plan 0 Postadress: Box 536 751 21 Uppsala Telefon: 018 – 471 30 03 Telefax: 018 – 471 30 00 Hemsida: http://www.teknat.uu.se/student

Abstract

Multicore mixed-criticality with a hierarchicalreal-time scheduler and resource servers

Emanuel Berg

This is a real-time mixed-criticality system on a dual-core Linux desktop. The hardware/software architecture employs memory throttling so that modules can be isolated in execution as well as in analysis/certification.There are two asymmetrically dedicated cores. A critical core runs a hierarchical scheduler (hs) with critical software: hard-coded, or Linux processes with associated metadata. The best-effort core runs arbitrary software.The cores share DRAM and the memory bus. Best-effort activity can delay critical software. Interference is throttled/bounded to retain real-time computability.When necessary, hs freezes/thaws best-effort core software. Task schedulers have budgets to bound memory interference. If depleted, the best-effort core is frozen whenever tasks from such a scheduler execute. Budgets are reset periodically.The scheduling algorithm is a polled-preemptive EDF, with critical-group CPU budgets. Task model: sporadic.Two resource servers uphold isolation in the face of shared resources: memory, and critical-core CPU time.A memory experiment shows that best-effort core activity is throttled dynamically. Alas, the submission mechanism lacks precision in worst-case scenarios: hs is itself suspectible to best-effort interference, so the throttling mechanism can brake before it can effectuate.

Tryckt av: Reprocentralen ITCIT15026Examinator: Edith NgaiÄmnesgranskare: Philipp RümmerHandledare: Pontus Ekberg

mibi!i

Pi

rj tjQjzQgjQsj

ojij

!

ti c ti Diti

c + Di ti

"

–977371 1605918

64K512K

best-effort core

cache L1

cache L2 = LLC

bus

DRAM

A B iA B B A

A B i

B A i

70464921

0

nk

g

g = (l, p, r, S, a)

l

l

p

r gS r

S

a gS

s # S

0 < r < p < l

0 < r

r < p s # S

s$ s$ # S s

p < l

S

S %= & s # S g

S = {si} = {(mi, bi, Pi,!i)}

ss = (m, b, P,!)

mi

pmi

si

bi

bi sit # Pi si

si g sig si bi

bi > 0 g si

si Pibi

si

!i

!i si t # Pi

!ia !i

Pi

Pi = {tj} = {(Cj, Dj, Tj)}

Pi %= &

tj = (Cj, Dj, Tj)

Cj

Dj

Tjtj Tj

0 < Cj ' Dj ' Tj

rj tj

rj tjtj

tj Cjtj

rj = Qj + oj + ij + Cj

Qj

Qj tjtj

tj

Qj = Qgj + Qsj

z

z = rjp

Qgj

tjtj

tj

Di ' Djti ti tj ti

tj hp(tj)tj

Qgj =!

{tj,tk}(Pi,tk#hp(tj)

"rjTk

#Ck

hp(tj) tj

Qsj

tj si

tj

Qsj = ()z* + 1)(p – bi)

tj sitj

Qsj

oj

o o

o

ojtj

r

oj =$rjr%o

ij

p si

mi

ij = )z*mi58.5 ns

!"

si PiPi

si

sbf(!", si) si!"

sbf(!", si)

"1 "2

I = !" = "2 – "1

p sibi

w =$Ip%– 1

si

Bi = wbi

w

R = I – wp

U = p – R2

U bi si biU bi U bi U

#i = 2max(0, bi – U)

w

(w + 2)si mi

(w+2)mi

$ = (w + 2)mi58.5 ns

si t # Pi

sbf(si, I) = Bi + #i – $

tj

f =&ITj

'

tj

h = min(I – fTj, Cj)

dbf(tj, I) = fCj + h

Pit # Pi

dbf(Pi, I) =!

tj#Pidbf(tj, I)

xy

y – x

x = y

Di = Ti

UT =!

ti#TCiTi ' 1

C

1

so = s

s$ o$ = s$

o$$ o o$

g = (l, p, r, S, a) 0 < r < p < l

S = {si} = {(mi, bi, Pi,!i)}

Pi = {tj} = {(Cj, Dj, Tj)}

tj = (Cj, Dj, Tj)

rj = Qj + oj + ij + Cj

z = rjp

oj =$rjr%o

ij = )z*mi58.5 ns

Qj = Qgj + Qsj

Qgj =!

{tj,tk}(Pi,tk#hp(tj)

"rjTk

#Ck

Qsj = ()z* + 1)(p – bi)

I = !" = "2 – "1

w =$Ip%– 1

Bi = wbi

R = I – wp

U = p – R2

#i = 2max(0, bi – U)

sbf(si, I) = Bi + #i – $

h = min(I – fTj, Cj)

dbf(tj, I) = fCj + h

dbf(Pi, I) =!

tj#Pidbf(tj, I)

f =&ITj

'

top related