Les systèmes temps réel sont des systèmes informatiques composés de tâches auxquelles sont associées des contraintes temporelles, appelées échéances. Dans notre étude, nous distinguons deux familles de tâches : les tâches temps réel dur et les tâches temps réel souple. Les premières possèdent une échéance stricte, qu'elles doivent impérativement respecter. Elles sont de nature périodique, ou sporadique, et l'étude analytique de leur comportement fait l’objet d’un état de l’art conséquent. Les secondes sont de nature apériodique. Aucune hypothèse sur leur modèle d’arrivéée ni sur leur nombre n’est possible. Aucune garantie ne saurait être donnée sur leur comportement dès lors que l’on ne peut écarter les situations de surcharge, où la demande de calcul peut dépasser les capacités du système. La problématique devient alors l'étude des solutions d’ordonnancement mixte de tâches périodiques et apériodiques qui minimisent les temps de réponse des tâches apériodiques tout en garantissant les échéances des tâches périodiques. De nombreuses solutions ont été proposées ces vingt dernières années. On distingue les solutions basées sur la réservation de ressources, les serveurs de tâches, des solutions exploitant les instants d'inactivité du système, comme les algorithmes de vol de temps creux. La spécification Java pour le temps réel (RTSJ) voit le jour dans les années 2000. Si cette norme répond à de nombreux problèmes liés à la gestion de la mémoire ou à l'ordonnancement des tâches périodiques, celui de l'ordonnancement mixte de tâches périodiques et apériodiques n'est pas abordé. Nous proposons dans cette thèse d’apporter les modifications nécessaires aux algorithmes principaux d’ordonnancement mixte, le Polling Server (PS), le Deferrable Server (DS) et le Dynamic Approximate Slack Stealer (DASS) en vue de leur implantation avec RTSJ. Ces algorithmes ne peuvent en effet être implantés directement tels qu'ils sont décrits, car ils sont trop liés à l'ordonnanceur du système. Nous proposons des extensions aux APIs RTSJ existantes pour faciliter l’implantation de ces mécanismes modifiés, et nous fournissons les interfaces utiles à l’ajout d'autres solutions algorithmiques. Nous proposons également des modifications sur les APIs existantes de RTSJ afin de répondre aux problèmes d'intégration et d'implantation d’algorithmes d’analyse de faisabilité. Nous proposons enfin un algorithme d’estimation des temps creux, le Minimal Approximate Slack Stealer (MASS), dont l’implantation au niveau utilisateur, permet son intégration dans RTSJ / In computer science, real-time systems are composed of tasks. To each task is associated a timing constraint called a deadline. We distinguish two kinds of tasks : the hard ones and the soft ones. Hard tasks have hard deadlines, which must be respected to ensure the correctness of the system. So hard tasks are in essence periodic, or sporadic. Their behavior has been extensively studied. Soft tasks have soft deadlines that the system has to try to respect. When a task arrival model is unknown, i.e. when task is aperiodic, burst arrivals situation can happens, which makes the tasks timing behavior unpredictable. So aperiodic tasks can only have soft deadlines. The studied problem in this thesis is then the joint scheduling of hard periodic tasks with soft aperiodic events, where the response times of soft tasks have to be as low as possible while the guarantee to meet their deadlines has to be given to hard tasks. A lot of solutions have been proposed these past two decades. We distinguish solutions based on resource reservation, like task servers, and solutions which take benefit from system idle times, like the slack stealer techniques. The first version of the Real-Time Specification for Java (RTSJ) was proposed in early 2000. This specification addresses a lot of problems related to the memory management or the scheduling of periodic tasks. But if it proposes a model to write aperiodic events, advanced mechanisms for the integration of such events to handle the above-mentioned problem are not discussed. We propose modifications to the main advanced mixed scheduling mechanisms like the Polling Server (PS), the Deferrable Server (DS) or the Dynamic Approximate Slack Stealer (DASS) in order to make their implementation possible with the RTSJ. Indeed, these algorithms are deeply connected to the system scheduler, and have to be adapted in order to be implemented in a user-land level.We propose extensions to current RTSJ APIs in order to integrate the modified algorithms and to allow the addition of other algorithms in a unified framework. We also propose some modifications to the RTSJ APIs in order to solve some problems we encountered during the integration of modified algorithms, especially in the field of the feasibility analysis algorithms integration in the specification. Finally, we propose the Minimal Approximate Slack Stealer algorithm (MASS), which is independent of the scheduler implementation and has a lower overhead than DASS
Identifer | oai:union.ndltd.org:theses.fr/2008PEST0247 |
Date | 08 December 2008 |
Creators | Masson, Damien |
Contributors | Paris Est, Roussel, Gilles, Midonnet, Serge |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.082 seconds