• Aucun résultat trouvé

Les protocoles optimistes sont-ils ordonnançables ?

Dans le document The DART-Europe E-theses Portal (Page 47-51)

Afin de montrer qu'un protocole optimiste est ordonnançable, Ghosh [34] part de l'hypothèse que l'on connait un ordonnancement conservatif satisfaisant pour l'application visée.

Il impose ensuite deux principales conditions :

L'ordonnancement évènementiel temps-réel - 35

• D'abord, la simulation doit être sans fausse date (NFT1). Dans ce type de simulation, si un évènement est créé à une date donnée au cours de la simulation, un évènement valide (pas forcément le même) est créé à cette même date au cours de la simulation. Des évènements invalides – qui seront supprimés du système par le mécanisme de retour arrière – peuvent donc être générés, pour peu qu'ils soient remplacés plus tard par des

Sa démonstration aboutit au théorème de R-ordonnançabilité suivant : Si l'on connait un ordonnancement conservatif valide, au sens temps-réel, pour une application donnée et si cette application est sans fausse date, l'ordonnancement par un protocole optimiste avec annulation paresseuse est possible, au sens temps-réel, moyennant l'ajout d'une durée R au pire temps d'exécution de chaque tâche.

La durée R correspond au temps nécessaire à l'accomplissement d'un retour arrière. Elle englobe le temps de mémorisation de l'état du processus logique, le temps de restauration de cet état et le temps de transfert des anti-messages.

La principale difficulté est que le cadre des NFT imposé aux applications est très restrictif et difficilement appréciable en pratique. Ghosh montrera plus tard que les protocoles de type « agressifs, sans risques » (ANR2) suggérés par, Reynolds [68] constituent un cas extrême de protocole paresseux et qu'ils sont également R-ordonnançables [35]. Ils ont l'avantage de rendre toute application compatible avec le cadre de la démonstration de [34]. Ces protocoles restreignent les retours arrière à des usages exclusivement locaux. Seuls des messages valides peuvent être échangés entre les processus logiques.

Plusieurs simulateurs mettront en œuvre un protocole ANR [21]. Steinman [78]

proposera deux ans avant la démonstration de Ghosh un protocole ANR mis en œuvre dans un simulateur interactif appelé SPEEDES. Ghosh proposera sa version, le système PORTS, trois ans plus tard sans véritablement en préciser les mécanismes internes [35]. SPEEDS et PORTS restent encore aujourd'hui les deux principales références d'implémentation d'un protocole ANR dans un cadre temps-réel [56].

1 No False Timestamps dans le texte 2 Agressive No Risk dans le texte.

36 - Chapitre 1

Figure 14. L'horizon des évènements

Le principe du protocole ANR de SPEEDES repose sur la notion d'horizon des évènements [80]. Steinman s'appuie sur le fait que les évènements engendrent des messages toujours positionnés dans le futur sur l'axe temporel de la simulation.

Chacun de ces messages est susceptible d'engendrer un évènement à sa date propre, c'est-à-dire à une date postérieure à celle de l'évènement qui en est la cause1. Partant de l'évènement non encore évalué le plus ancien, on peut identifier la date avant laquelle aucun message ne sera plus généré. Cette date est par définition l'horizon des évènements. Tous les évènements situés avant l'horizon peuvent être évalués sans risque d'être annulés par un retour arrière. Cependant, la détermination de cet horizon suppose un calcul global sur l'ensemble des processus logiques tout aussi difficile que de déterminer le GVT d'une simulation optimiste quelconque.

Le protocole de Steinman repose sur un cycle de simulation en deux phases :

• Lors de la première phase, chaque processus logique exécute les évènements de sa liste jusqu'à identifier l'horizon des évènements locaux.

Lorsque la date du prochain évènement à évaluer est inférieure à la date du message généré le plus ancien, l'horizon local est atteint. Chaque processus diffuse la date trouvée de manière à identifier l'horizon global, c'est-à-dire le minimum des horizons locaux sur l'ensemble des processus logiques du système.

• Lors de la deuxième phase les messages qui ont été générés lors de la phase précédente sont envoyés à leurs destinataires. Seuls les messages générés par des évènements antérieurs à l'horizon global sont envoyés.

Cette phase peut engendrer localement des retours arrière pour les évènements situés temporellement entre l'horizon global et l'horizon local.

Mais les messages diffusés ne seront eux, jamais remis en cause.

1 Principe de causalité, ni plus ni moins.

L'ordonnancement évènementiel temps-réel - 37

Figure 15. Trois cycles du protocole de SPEEDES.

Le mécanisme de SPEEDES est loin de convenir à tous les cas de figure. Les possibilités d'anticipation étant réduites, l'algorithme ne sera efficace que si la charge de calcul est bien répartie entre les processus logiques. Par ailleurs, l'efficacité de l'algorithme se trouve rapidement détériorée si l'horizon des évènements ne dépasse pas le cycle Δ. De façon plus générale, ce protocole impose aux différents processus logiques d'avancer de façon synchrone, cycle par cycle, afin de pouvoir déterminer l'horizon global des évènements. Cette nécessité algorithmique établit des relations de dépendance entre tous les processus logiques là où l'application proprement dite n'en n'impose pas nécessairement.

C'est là le défaut principal de ce protocole.

Avant de clore cette section, rappelons que le cadre fixé par Ghosh [34] est celui des protocoles de synchronisation paresseux. L'ANR implémenté dans SPEEDES est une version extrême de cette famille de protocoles. Il est donc beaucoup plus restrictif que nécessaire. En pratique, certains simulateurs temps-réel sortent du cadre fixé par Ghosh et utilisent l'algorithme de Jefferson sans trop de restriction, par exemple pour tirer avantage de la capacité de Jefferson à prendre de l'avance [41]. Les calculs longs peuvent ainsi être anticipés.

Il faut donc faire la part des choses. Prenons acte que d'un point de vue théorique, le protocole de Jefferson n'est pas prouvable à moins d'être sévèrement encadré ; et autorisons-nous à une réflexion plus intuitive et pragmatique. Les propriétés d'ordonnançabilité des protocoles paresseux proviennent du fait qu'ils évitent les réactions en chaine lorsqu'un retour arrière est engagé. L'idée fondamentale est donc celle-ci : les protocoles optimistes sont d'autant plus compatibles avec des contraintes temps-réel qu'ils évitent la propagation de retours arrière en cascade.

Plus le contexte est dur, plus les retours arrière sont à proscrire. Reste à savoir comment procéder en pratique pour synchroniser un simulateur avec l'horloge murale.

38 - Chapitre 1

3.3 La synchronisation temps-réel des simulateurs distribués

Dans le document The DART-Europe E-theses Portal (Page 47-51)