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âhes(τi, τj)parvaleurdéroissante degd{Ti, Tj}.Ensuite,ilassigneitérativementlesosetsOi etOj desouplestriés(τi, τ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 xé 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)où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}oùτ1est plusprioritaire queτ2 et où τ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}oùτ1est plusprioritaire queτ2 et où τ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} où τ1 est plusprioritaire queτ2 et où τ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 ouples(τj, pj),unpourhaquetâhe, où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=Ri\τj; 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 où 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 où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édansle5.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′
).