• Aucun résultat trouvé

Réduire la omplexité dans le as préemptif

Partie II Contributions

5.3 Réduire la omplexité dans le as préemptif

Danseas,restégalà

jpgcd{T i,Tj} 2 k ou lpgcd{T i,Tj} 2 m .

L'algorithmed'alloationdissimilarosetxelesosetsdestâhespériodiquesdanslebutde

maximi-serlamesuredéniepréédemment.L'algorithmetrielesouplesdetâhesi, τj)parvaleurdéroissante degd{Ti, Tj}.Ensuite,ilassigneitérativementlesosetsOi etOj desouplestriési, τj)pourobtenir laplusgrande distane minimale(i.e., r=jpgcd{T

i,Tj} 2

k

). Durantette alloation, trois aspeuventse

produire:

1. quandjpgcd{TOi et Oj ne sont pas enore alloués, un oset aléatoire est hoisi pour Oi et Oj = Oi+

i,Tj} 2

k

,

2. quand Oi (resp. Oj) est et Oj (resp. Oi) ne l'est pas, Oj = Oi+jpgcd{T i,Tj} 2 k (resp. Oi = Oj+jpgcd{T i,Tj} 2 k ),

3. quandOj etOi sontdéjàhoisis,iln'yarienàfaire. LaomplexitétemporellemaximaleestO(n2·(log Tmax

+ logn2)Tmax

def

= max1≤k≤n(Tk).

5.3 Réduire la omplexité dans le as préemptif

Dansettesetion,nousproposonsunetehnique,reposantsurl'alloationdeprioritéd'Audsley,pour

réduiredemanièresigniativel'espae dereherhedansleaspréemptif. Nousprésentonsavanttout

despropriétésdel'ordonnanementreposantsurlesprioritésxesetl'algorithmed'Audsley[14℄utilesà

laompréhensiondenotre tehnique.

5.3.1 Propriétés de l'ordonnanement à priorité

Sousunordonnanementreposantsurlespriorités(préemptifounon-préemptif),lesinstanesprêtes

às'exéuteraveunepriorité supérieure àτi retardentland'exéutiondesinstanesdeτi :

Lemme3 Le temps de réponse de τi dépend de l'ensemble de tâhes de priorité supérieure, mais est indépendantde l'ordre relatif despriorités parmiestâhesde priorité supérieure.

Deplus,lorsque l'ordonnanementest préemptif,lesinstanes destâhes deplusbassepriorité

n'inter-fèrentpasavel'exéution desinstanesdeτi etdonneretardentpasleurnd'exéution:

Lemme4 Sous l'ordonnanement préemptif à priorité xe, le temps de réponse de τi est indépendant destâhesde prioritéinférieure.

Lehozkyetal.[72℄ontmontréquelepiretempsderéponsesousunordonnanementpréemptifàpriorité

τ1, O1= 1

0 5 10

t

τ2, O2= 0

Fig.5.1Ordonnanementnon-préemptifdel'ensembledetâhesT ={τ1, τ2}τ1est plusprioritaire queτ2 et τ1 = (C1 = 1, T1 = 5, D1 = 5, O1)et τ2 = (2,5,5, O2)ave l'alloationd'osets : O1 = 1,

O2= 0.

0 5 10

τ1, O1= 1

τ2, O2= 2 t

Fig.5.2Ordonnanementnon-préemptifdel'ensembledetâhesT ={τ1, τ2}τ1est plusprioritaire queτ2 et τ1 = (C1 = 1, T1 = 5, D1 = 5, O1)et τ2 = (2,5,5, O2)ave l'alloationd'osets : O1 = 1,

O2= 2.

Lemme5 [72℄ Le piretemps de réponse sous unordonnanement préemptifà prioritéxe arrive dans

unsénario danslequeltouteslestâhessont ativéesàl'instant 0 (i.e.,situation synhrone).

C'estpourquoi,ommenousl'avonsdéjàrappelédansl'introdution,leassynhroneesttrèspessimiste

enequionernelafaisabilité,arleassynhroneestlepireentermedefaisabilitépour

l'ordonnane-mentpréemptif,danslesensoù,siunsystèmeestordonnançabledansleassynhroneil estégalement

ordonnançabledanstouteslessituationsasynhrones.

Parailleur,notonsquelelemme4n'estpasvalidesousunordonnanementnon-préemptif.Eneet,le

tempsderéponsed'unetâhedépenddestâhesdeprioritéinférieure(ex.:deleuroset). Parexemple,

les gures 5.1 et 5.2 présentent l'ordonnanement non-préemptif de l'ensemble T = {τ1, τ2} τ1 est plusprioritaire queτ2 et τ1 = (C1 = 1, T1 = 5, D1 = 5, O1) et τ2 = (2,5,5, O2)ave lesalloations d'osets:O1= 1,O2= 0(gure 5.1)et O1= 1,O2= 2(gure5.2).

Commeonpeutleonstatersurlesgures5.1et5.2,letempsderéponsedeτ1est2avelapremière alloationd'osets (gure5.1) et est 2 avelaseonde (gure 5.2).Le tempsde réponse de latâhe la plusprioritaireτ1 estdondépendantedel'osetdelatâheτ2 moinsprioritaire.

5.3.2 Algorithme d'Audsley ave des osets xés

L'algorithme d'Audsley [14℄ réalise une alloation de priorité statique qui est optimale dans le as

asynhrone(dansleaspréemptifetnon-préemptif)selonladénition7.

Une alloationdeprioritéest dénieparunensembleP den ouplesj, pj),unpourhaquetâhe, pj est laprioritédelatâheτj dansl'alloationdepriorité P.Lafontiond'alloationP(i)donnela tâheτj allouer auniveaudepriorité ien utilisantlaonvention: pluspetit leniveaude priorité,plus grandeestlapriorité.

Entrée:ensembledetâhesT ={τ1, τ2..., τn}

Sortie: ensembledetâhesdontlespriorités nesontpasallouées Données: i :niveaudeprioritéàallouer

Ri : ensembledetâhesn'ayantpasenoredepriorité

P :alloationpartielledepriorité

Ri=T; 1 P =∅; 2 pouri=nà 1 faire 3

essayer d'allouer la priorité i : 4

herherunetâheτj faisableauniveaudeprioritéidansRi

5

sipasde tâhe faisableauniveaude prioritéialors 6

éhe, retourner l'ensemble de tâhes dont les priorités ne sont pas 7 allouées : retournerRi; 8 sinon 9

soitτj unetâhefaisableàlapriorité i; 10 allouer la priorité i : 11 P =P ∪(τj, i); 12 enlever τj de Ri : 13 Ri=Rij; 14 nsi 15 npour 16

suès, une alloation faisable a été trouvée : 17

retourner; 18

Algorithme1:Algorithmeoptimald'Audsleyréalisantune alloationdeprioritésxes.

L'algorithmed'Audsley,dontlepseudo-odeest donnédansl'algorithme1,onsidèreauplusO(n2)

alloationsdeprioritésdistintes.Lesprioritéssontallouéesdelaplusfaibleprioritéàlaplusimportante,

f.algorithme1ligne3.Ahaqueniveaudepriorité,l'algorithmeherheunetâhefaisable.Ilommene par herher une tâhe τi dans T faisable à la plus faible priorité, i.e., essaye d'allouer le niveau de prioritén,f.algorithme1lignes4et5.Ensuite,àhaqueniveaudeprioritéi,l'algorithmeherheune tâhe faisable dans l'ensemble Ri omposé de l'ensemble des tâhes n'ayant pas enorede priorité, f. algorithme1lignes4 et5.Aprèsl'exéutiondel'algorithmed'Audsley, deuxaspeuventseproduire:

1. (f.lignes17et18)L'alloationdeprioritéréaliséeparl'algorithme d'Audsleymène àunsystème ordonnançable(i.e.,l'alloationaréussi):l'ensembledetâhesT estordonnançableavel'alloation deprioritédonnéeparP.

2. (f.lignes7et8)Sinon,l'algorithmed'Audsleynetrouvepasdetâhefaisableauniveaudepriorité

i i ∈ [1, n] (i.e., l'alloation de priorité éhoue). Notez que quand l'algorithme d'Audsley est utilisélesinstanesdel'ensembledetâhes{P(i+ 1),P(i+ 2), ...,P(n)}respetentleuréhéane. Eneet,l'ordonnançabilitéd'unetâheàunniveaudepriorité,aveunordonnanementàpriorité

xe,nedépendpasdel'ordredeprioritéparmil'ensembledestâhesdeplushautespriorités[14,67℄

Fig.5.3Algorithmed'alloationd'osetsetdepriorités T=audsley(T)signiequel'algorithme d'Audsley est appliqué à l'ensemble T et T

est l'ensemble de tâhes dont les priorités n'ont pas été allouéespar Audsley. Ii, lafaisabilité (étape 2et 4) est évaluée en simulantle systèmesur l'intervalle d'étude[0, Omax+ 2P)proposéparLeungetWhitehead[12℄,

5.3.3 Utilisation de Audsley pour réduire l'espae de reherhe sous un

or-donnanement préemptif

Dansettesetion,nousexpliquonsommentallouerensemblelesprioritésetlesosetsenréduisant

lenombred'alloationsd'osetsàonsidèrersousunordonnanementpréemptif. Lagure5.3 présente

notreapprohedansuneformepseudo-algorithmique.

Dansunpremiertemps,nousinitialisonslavaleurdesosetsand'êtredansunesituationsynhrone

(∀i, Oi= 0).Ensuite,nousutilisonsl'algorithmed'Audsley,f.Ÿ5.3.2préédent,pourallouerlespriorités (dansleassynhrone).Sil'algorithmed'Audsleyréussitàallouertouteslespriorités(as1,setion5.3.2),

lesystème estordonnançabledans leassynhrone.Sinon,l'algorithmed'Audsleyaéhouédansleas

synhrone(as2,setion5.3.2),unesituation asynhroneordonnançabledoitêtreherhée.Pourtester

lafaisabilité(étape2et4),lesystèmeestétudiésurl'intervalled'étude[0, Omax+ 2P)proposéparLeung etWhitehead[12℄,

Enonséquene,nousutilisonsàetteétapeunerèglepourhoisirlesosetspourlesous-ensemble

detâhesT

n'ayantpasenoredeprioritéallouéeparAudsley:T′def

etnousutilisons ensuiteAudsleyuneseondefois surlesous-ensembleT

(passurl'ensemblede tâhes

d'origine) pour xer les priorités de 1 à i. Nous pouvons uniquement onsidérer dans l'alloation des osetsetdesprioritésde1 àilestâhesdel'ensembleT

ar:

1. lestâhesdeprioritéinférieure(i.e.,tâhesdusous-ensembledetâhes{P(i+1),P(i+2), ...,P(n)}) respetentleursontraintesdetempsquelsquesoitlesosetsetl'ordredeprioritéparmilestâhes

de priorité supérieure. En eet, les tâhes dans {P(i+ 1),P(i+ 2), ...,P(n)} sont faisables aux plus bas niveaux de priorités dans le as synhrone.Comme le as synhroneest le pire pour la

faisabilitéenequionernel'ordonnanementpréemptif(f.lemme5)etqueletempsderéponse

d'unetâhedépend del'ensembledetâhesdeprioritésupérieure,maisestindépendantdel'ordre

relatifdesprioritésparmiestâhes(f.lemme3),estâhesrestentfaisablesauxplusbasniveaux

deprioritédansn'importequellesituationasynhroneetquelquesoitl'ordredeprioritéparmiles

tâhesdeplushautepriorité.

2. sous l'ordonnanement préemptif à priorité xe, le temps de réponse de τi est indépendant des tâhesdeprioritéinférieure(f.lemme4),'est-à-direqueletempsderéponsedestâhesdeT

ne

dépend pasdesosetsdestâhesdel'ensemble{P(i+ 1),P(i+ 2), ...,P(n)}.

Ave ette méthode le nombre de tâhes à onsidérer dans l'alloation d'oset est plus petit (plus de

détailsserontdonnésensetion5.5.1).Commelaomplexitéentempsdel'alloationd'osetdépenddu

nombredetâheset deleurpériode,laomplexitéestdonréduite.

Nousvoulonsfaireremarquerquenousnepouvonspasutiliserettetehniqueavel'ordonnanement

non-préemptif. La prinipale raison est due au fait que sous l'ordonnanement non-préemptif, omme

nousl'avonsmontrédansleŸ5.3.1,letempsderéponsed'unetâheestdépendantdestâhesdepriorité

inférieure. Don, si Audsley éhoue (dans leas synhrone), il faut également onsidèrer lestâhes de

l'ensemble{P(i+ 1),P(i+ 2), ...,P(n)} dansl'alloationd'osetsarlavaleurdesosetsdees tâhes aunimpatesurletempsderéponsedestâhesdepriorité supérieure(i.e., tâhesdel'ensembleT

).

Documents relatifs