EP2628079A1 - Method and device for scheduling semi-periodic tasks in a real-time multitask system - Google Patents

Method and device for scheduling semi-periodic tasks in a real-time multitask system

Info

Publication number
EP2628079A1
EP2628079A1 EP11767994.4A EP11767994A EP2628079A1 EP 2628079 A1 EP2628079 A1 EP 2628079A1 EP 11767994 A EP11767994 A EP 11767994A EP 2628079 A1 EP2628079 A1 EP 2628079A1
Authority
EP
European Patent Office
Prior art keywords
task
scheduling
period
launch
tasks
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP11767994.4A
Other languages
German (de)
French (fr)
Inventor
Christian Valpard
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Safran Electronics and Defense SAS
Original Assignee
Sagem Defense Securite SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sagem Defense Securite SA filed Critical Sagem Defense Securite SA
Publication of EP2628079A1 publication Critical patent/EP2628079A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues

Definitions

  • the present invention relates to the field of real-time kernels and more particularly to a method for scheduling semi-periodic tasks in a real-time multitasking system.
  • Such systems are based on a periodic time base. During each time period of the time base, the kernel determines the tasks to be launched among the tasks declared in the system.
  • Such environments are for example the field of embedded software in aircraft, nuclear power plants or military systems.
  • a task is a software function that executes on a processor and typically consists of a succession of calculation cycles. Such a task is started during a particular period of the time base. It then runs on the system's processor for a number of periods. It ends then.
  • the real-time kernel is responsible for restarting it on a regular basis.
  • Such real-time kernels are generally limited to a mechanism for initiating tasks periodically. This limitation means that tasks that do not strictly follow this periodic launch logic will have to be, for example, duplicated to allow their management by a purely periodic scheduling kernel. This duplication results in expensive management of the resources and computing capacity of the system's processor.
  • the invention aims to solve the above problems by a method of scheduling semi-periodic tasks. These tasks must follow a periodic launches sequence. For each task is defined a scheduling period. Within each period is declared the sequence of moments of launching the task. Thus, the task can be started by respecting a non-periodic launching sequence, this sequence being repeated periodically.
  • the invention relates to a device for processing real-time information, having means for scheduling at least one task, the time being cut off periodically to define a scheduling period, which comprises means for defining for each task a launch period consisting of a whole number of scheduling periods; means for defining for each task particular scheduling periods within the launch period during which said task is to be started and means for determining, during each scheduling period, the tasks to be launched knowing that for each task each defined launcher sequence repeats periodically.
  • the device further comprises means for storing a table containing for each task the duration of the launching period expressed in the form of an integer number of scheduling periods and a list Task start times expressed as indexed scheduling periods during which the task must be started within the launch period.
  • the value -1 assigned to a launch period corresponds to an infinite period for managing an aperiodic task.
  • the invention also relates to a method for scheduling at least one task within a real-time information processing device, the time being cut off periodically to define a scheduling period, which includes a step of defining for each task a launch period consisting of an integer number of scheduling periods; a step of defining for each task the particular scheduling periods within the launching period during which said task must be launched and during each scheduling period, a step of determining the tasks to be launched, knowing that for each task each defined launch sequence repeats itself periodically.
  • Fig. 1 illustrates the scheduling of a set of periodic tasks.
  • Fig. 2 illustrates the scheduling of an example of a semi-periodic task.
  • Real-time multitasking systems are used in many environments where it is necessary to master the operation of an information system. They are used, for example, in areas where the operational safety of the system is paramount, such as the management of sensitive sites such as nuclear power plants or the electronic management of an aircraft.
  • the scheduling is based on a periodic scheduling clock, the associated time interval defines the scheduling period.
  • each task it is known to define for each task to be executed in the system a launch period. This period is usually expressed in a whole number of scheduling periods. This launch period is chosen greater than the maximum known duration of execution of the task. The launch of the task is then triggered during a scheduling period and repeated periodically during the scheduling periods corresponding to the launch period.
  • these systems also define for each periodic task an offset (offset in English) which is the number of scheduling periods that must be expected at the start of the system to launch the first occurrence of the task.
  • Fig. 1 illustrates such a system.
  • the scheduling clock 1.1 is located at the bottom, twelve scheduling periods being shown.
  • Fig. 1 illustrates the launch times of three periodic tasks.
  • the task T0 has an offset of 0 and a period of 3. It is therefore launched at the scheduling periods 0, 3, 6, 9 and 12.
  • the task T1 has an offset of 1 and a period of 3. It is therefore started at scheduling periods 1, 4, 7 and 10.
  • Task T2 has an offset of 2 and a period of 4. It is therefore started at scheduling periods 2, 6 and 10.
  • Task T0 must be started at scheduling periods 0, 2, 6, 8 12, etc. This scheduling can be done with known systems. It must then be considered that there are two tasks, T0 and Tl, to which a period of six intervals is assigned and an offset of 0 for the first and two for the second. The task T0 is thus launched at the scheduling periods 0, 6, 12, while the task T l is launched at the periods 2 and 8. The scheduling of one and the same task then consumes the resources of two tasks within real-time kernel.
  • This launch period is the number of scheduling periods which allows to have a sequence of launching the task which repeats itself identically. For the task illustrated in FIG. 2, it is typically 6 scheduling periods. Once this launch period has been defined, it must be indicated to which scheduling period the task is to be started. We then define a list of indexes, within the sequence, of the scheduling periods to which the task must be launched. For the task illustrated in Fig. 2, these are the indexes 1 and 3, meaning that the task must be started during the first scheduling period of the sequence and in the third.
  • this information is stored by the real-time kernel within a table which contains an entry for each task of the system.
  • This entry consists at least of the indication of the launch period and the list of scheduling period indexes to which the task is to be launched within the period.
  • the kernel then operates by performing a task determination step to be initiated during each scheduling period.
  • An exemplary embodiment of this determination step consists in maintaining for each task an index counter of the scheduling period within the launch sequence. This counter is initialized to 1 and increments during each scheduling task. When its value is equal to the period plus one, the counter is reset to 1. The counter is compared to the indexes in the list associated with the task. If the index is included in the list, the task is started. Alternatively, one can also calculate the index directly by a division of an increasing global index modulo the period of the task. The remainder of this division gives the index within the launch sequence.
  • aperiodic that is, continuous, tasks in addition to semi-periodic tasks in the system.
  • the end of the list of launch indexes within the sequence is indicated by a zero value.
  • This scheduling process makes it possible to manage semi-periodic tasks efficiently. It requires only one entry per task in the management table.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Debugging And Monitoring (AREA)

Abstract

The invention is aimed at a method of scheduling semi-periodic tasks. These tasks must adhere to a periodic sequence of launches. For each task is defined a scheduling period. Within each period is declared the sequence of moments of launch of the task. Thus, the task may be launched while adhering to a nonperiodic sequence of launches. This sequence being, itself, repeated periodically.

Description

Procédé et dispositif d'ordonnancement de tâches semi-périodiques dans un système multitâche temps réel  Method and device for scheduling semi-periodic tasks in a real-time multitasking system
La présente invention concerne le domaine des noyaux temps réel et plus particulièrement un procédé d'ordonnancement de tâches semi-périodiques dans un système multitâche temps réel. The present invention relates to the field of real-time kernels and more particularly to a method for scheduling semi-periodic tasks in a real-time multitasking system.
On s'intéresse en particulier aux systèmes permettant le lancement régulier de tâches. De tels systèmes sont basés sur une base de temps périodique. Lors de chaque période de la base de temps, le noyau détermine les tâches devant être lancées parmi les tâches déclarées dans le système.  We are particularly interested in systems allowing the regular launch of tasks. Such systems are based on a periodic time base. During each time period of the time base, the kernel determines the tasks to be launched among the tasks declared in the system.
De tels environnements sont par exemple le domaine des logiciels embarqués dans les avions, les centrales nucléaires ou les systèmes militaires.  Such environments are for example the field of embedded software in aircraft, nuclear power plants or military systems.
On appelle tâche, une fonction logicielle s'exécutant sur un processeur et typiquement constituée d'une succession de cycles de calcul. Une telle tâche est lancée lors d'une période particulière de la base de temps. Elle s'exécute ensuite sur le processeur du système pendant un certain nombre de périodes. Elle se termine ensuite. Le noyau temps réel est chargé de la relancer de manière régulière. De tels noyaux temps réel sont généralement limités à un mécanisme permettant d'initialiser les tâches de manière périodique. Cette limitation entraîne que des tâches qui ne suivent pas strictement cette logique de lancement périodique vont devoir être, par exemple, dupliquées pour permettre leur gestion par un noyau d'ordonnancement purement périodique. Cette duplication entraîne une gestion dispendieuse des ressources et de la capacité de calcul du processeur du système. A task is a software function that executes on a processor and typically consists of a succession of calculation cycles. Such a task is started during a particular period of the time base. It then runs on the system's processor for a number of periods. It ends then. The real-time kernel is responsible for restarting it on a regular basis. Such real-time kernels are generally limited to a mechanism for initiating tasks periodically. This limitation means that tasks that do not strictly follow this periodic launch logic will have to be, for example, duplicated to allow their management by a purely periodic scheduling kernel. This duplication results in expensive management of the resources and computing capacity of the system's processor.
L'invention vise à résoudre les problèmes précédents par un procédé d'ordonnancement de tâches semi-périodiques. Ces tâches doivent respecter une séquence de lancements périodique. Pour chaque tâche est définie une période d'ordonnancement. Au sein de chaque période est déclarée la séquence des moments de lancement de la tâche. Ainsi, la tâche peut être lancée en respectant une séquence de lancements non périodique, cette séquence étant, elle, répétée de manière périodique.  The invention aims to solve the above problems by a method of scheduling semi-periodic tasks. These tasks must follow a periodic launches sequence. For each task is defined a scheduling period. Within each period is declared the sequence of moments of launching the task. Thus, the task can be started by respecting a non-periodic launching sequence, this sequence being repeated periodically.
L'invention concerne un dispositif de traitement d'information temps réel, disposant de moyens d'ordonnancement d'au moins une tâche, le temps étant découpé de manière périodique pour définir une période d'ordonnancement, qui comporte des moyens pour définir pour chaque tâche une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ; des moyens pour définir pour chaque tâche des périodes d'ordonnancement particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée et des moyens pour déterminer, lors de chaque période d'ordonnancement, les tâches devant être lancées sachant que pour chaque tâche chaque séquence de lancements définie se répète de manière périodique.  The invention relates to a device for processing real-time information, having means for scheduling at least one task, the time being cut off periodically to define a scheduling period, which comprises means for defining for each task a launch period consisting of a whole number of scheduling periods; means for defining for each task particular scheduling periods within the launch period during which said task is to be started and means for determining, during each scheduling period, the tasks to be launched knowing that for each task each defined launcher sequence repeats periodically.
Selon un mode de réalisation particulier de l'invention, le dispositif comporte en outre des moyens de stocker une table contenant pour chaque tâche la durée de la période de lancement exprimée sous la forme d'un nombre entier de périodes d'ordonnancement et une liste des moments de lancement de la tâche exprimés sous la forme d'indexés des périodes d'ordonnancement lors desquelles la tâche doit être lancée au sein de la période de lancement.  According to a particular embodiment of the invention, the device further comprises means for storing a table containing for each task the duration of the launching period expressed in the form of an integer number of scheduling periods and a list Task start times expressed as indexed scheduling periods during which the task must be started within the launch period.
Selon un mode de réalisation particulier de l'invention, la valeur -1 affectée à une période de lancement correspond à une période infinie permettant de gérer une tâche apériodique.  According to a particular embodiment of the invention, the value -1 assigned to a launch period corresponds to an infinite period for managing an aperiodic task.
L'invention concerne également un procédé d'ordonnancement d'au moins une tâche au sein d'un dispositif de traitement d'information temps réel, le temps étant découpé de manière périodique pour définir une période d' ordonnancement, qui comporte une étape de définition pour chaque tâche d'une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ; une étape de définition pour chaque tâche des périodes d'ordonnancement particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée et lors de chaque période d'ordonnancement, une étape de détermination des tâches devant être lancées sachant que pour chaque tâche chaque séquence de lancement définie se répète de manière périodique. The invention also relates to a method for scheduling at least one task within a real-time information processing device, the time being cut off periodically to define a scheduling period, which includes a step of defining for each task a launch period consisting of an integer number of scheduling periods; a step of defining for each task the particular scheduling periods within the launching period during which said task must be launched and during each scheduling period, a step of determining the tasks to be launched, knowing that for each task each defined launch sequence repeats itself periodically.
Les caractéristiques de l'invention mentionnées ci-dessus, ainsi que d'autres, apparaîtront plus clairement à la lecture de la description suivante d'un exemple de réalisation, ladite description étant faite en relation avec les dessins joints, parmi lesquels :  The characteristics of the invention mentioned above, as well as others, will appear more clearly on reading the following description of an exemplary embodiment, said description being given in relation to the attached drawings, among which:
La Fig. 1 illustre l'ordonnancement d'un ensemble de tâches périodiques.  Fig. 1 illustrates the scheduling of a set of periodic tasks.
La Fig. 2 illustre l'ordonnancement d'un exemple de tâche semi-périodique. Fig. 2 illustrates the scheduling of an example of a semi-periodic task.
Les systèmes multitâches temps réel sont utilisés dans nombre d'environnements où il est nécessaire de maîtriser le fonctionnement d'un système d'information. Ils sont utilisés par exemple dans les domaines où la sécurité de fonctionnement du système est primordiale comme le pilotage de sites sensibles tels que les centrales nucléaires ou encore la gestion électronique d'un avion. Real-time multitasking systems are used in many environments where it is necessary to master the operation of an information system. They are used, for example, in areas where the operational safety of the system is paramount, such as the management of sensitive sites such as nuclear power plants or the electronic management of an aircraft.
Ces systèmes sont multitâches dans le sens où une pluralité de fonctions logicielles indépendantes s'exécute sur le même système. Ils sont temps réel, dans la mesure où les moments d'exécution de ces tâches sont connus. Il dérive de ces contraintes que les tâches doivent avoir un temps d'exécution borné et ne doivent pas, même en cas de problème de programmation, pouvoir consommer les ressources du système hors des allocations qui ont été faites, ces ressources comprenant l'utilisation du processeur, des périphériques et aussi du temps.  These systems are multitasking in the sense that a plurality of independent software functions are running on the same system. They are real-time, since the execution times of these tasks are known. It derives from these constraints that the tasks must have a limited execution time and must not, even in the case of programming problems, be able to consume the resources of the system out of the allocations that have been made, these resources including the use of the processor, peripherals and also time.
Les tâches utilisées dans ces systèmes ont donc une durée d'exécution maximale connue. Elles doivent typiquement être exécutées régulièrement. Exceptionnellement, certaines tâches spécifiques ont un fonctionnement permanent.  The tasks used in these systems therefore have a known maximum execution time. They must typically be performed regularly. Exceptionally, certain specific tasks have a permanent function.
Le fonctionnement de ces systèmes est basé sur une découpe périodique du temps. Cette découpe périodique définit donc une horloge de fonctionnement. Le temps entre deux tops de cette horloge est appelé ici un intervalle temporel {time slot en anglais).  The operation of these systems is based on a periodic cutting of time. This periodic cut therefore defines an operating clock. The time between two tops of this clock is called here a time slot {time slot in English).
On s'intéresse ici à la détermination des moments de lancement des différentes tâches devant s'exécuter sur le système, c'est-à-dire à l'ordonnancement de ces tâches. L'ordonnancement est basé sur une horloge d'ordonnancement périodique, l'intervalle temporel associé définit la période d'ordonnancement. We are interested here in the determination of the launch times of the various tasks to be executed on the system, that is to say the scheduling of these tasks. The scheduling is based on a periodic scheduling clock, the associated time interval defines the scheduling period.
Il est connu de définir pour chacune des tâches devant être exécutées dans le système une période de lancement. Cette période s'exprime généralement en un nombre entier de périodes d'ordonnancement. Cette période de lancement est choisie supérieure à la durée maximale connue d'exécution de la tâche. Le lancement de la tâche est alors déclenché lors d'une période d'ordonnancement et répété périodiquement lors des périodes d'ordonnancement correspondant à la période de lancement. Avantageusement, ces systèmes définissent également pour chaque tâche périodique un décalage {offset en anglais) qui est le nombre de périodes d'ordonnancement que l'on doit attendre au démarrage du système pour lancer la première occurrence de la tâche.  It is known to define for each task to be executed in the system a launch period. This period is usually expressed in a whole number of scheduling periods. This launch period is chosen greater than the maximum known duration of execution of the task. The launch of the task is then triggered during a scheduling period and repeated periodically during the scheduling periods corresponding to the launch period. Advantageously, these systems also define for each periodic task an offset (offset in English) which is the number of scheduling periods that must be expected at the start of the system to launch the first occurrence of the task.
La Fig. 1 illustre un tel système. L'horloge d'ordonnancement 1.1 est située en bas, douze périodes d'ordonnancement étant figurées. La Fig. 1 illustre les moments de lancement de trois tâches périodiques. La tâche T0 possède un décalage de 0 et une période de 3. Elle est donc lancée aux périodes d'ordonnancement 0, 3, 6, 9 et 12. La tâche Tl possède un décalage de 1 et une période de 3. Elle est donc lancée aux périodes d'ordonnancement 1, 4, 7 et 10. La tâche T2 possède un décalage de 2 et une période de 4. Elle est donc lancée aux périodes d'ordonnancement 2, 6 et 10.  Fig. 1 illustrates such a system. The scheduling clock 1.1 is located at the bottom, twelve scheduling periods being shown. Fig. 1 illustrates the launch times of three periodic tasks. The task T0 has an offset of 0 and a period of 3. It is therefore launched at the scheduling periods 0, 3, 6, 9 and 12. The task T1 has an offset of 1 and a period of 3. It is therefore started at scheduling periods 1, 4, 7 and 10. Task T2 has an offset of 2 and a period of 4. It is therefore started at scheduling periods 2, 6 and 10.
Le problème se pose de la gestion de tâches qui ne suivraient pas strictement un schéma de lancement périodique. On s'intéresse plus particulièrement à des tâches qualifiées de semi-périodiques. Concernant ces tâches, le lancement n'est pas périodique. Par contre, il est possible d'identifier une séquence de moments de lancement qui elle est périodique.  The problem arises of managing tasks that do not strictly follow a periodic launch scheme. We are particularly interested in semi-periodic tasks. Regarding these tasks, the launch is not periodic. On the other hand, it is possible to identify a sequence of launching moments which is periodic.
Un exemple d'une telle tâche est illustré Fig. 2. La tâche T0 doit être lancée aux périodes d'ordonnancement 0, 2, 6, 8 12, etc. Il est possible de réaliser cet ordonnancement avec les systèmes connus. Il faut alors considérer qu'il y a deux tâches, T0 et Tl auxquelles on affecte une période de 6 intervalles et un décalage de 0 pour la première et de deux pour la seconde. La tâche T0 est donc lancée aux périodes d'ordonnancement 0, 6, 12, tandis que la tâche T l est lancée aux périodes 2 et 8. L'ordonnancement d'une seule et même tâche consomme alors les ressources de deux tâches au sein du noyau temps réel.  An example of such a task is illustrated in FIG. 2. Task T0 must be started at scheduling periods 0, 2, 6, 8 12, etc. This scheduling can be done with known systems. It must then be considered that there are two tasks, T0 and Tl, to which a period of six intervals is assigned and an offset of 0 for the first and two for the second. The task T0 is thus launched at the scheduling periods 0, 6, 12, while the task T l is launched at the periods 2 and 8. The scheduling of one and the same task then consumes the resources of two tasks within real-time kernel.
Pour permettre l'ordonnancement de telles tâches, l'invention se propose de définir pour chaque tâche une période de lancement. Cette période de lancement est le nombre de périodes d'ordonnancement qui permet d'avoir une séquence de lancement de la tâche qui se répète à l'identique. Pour la tâche illustrée à la Fig. 2, elle est typiquement de 6 périodes d'ordonnancement. Une fois cette période de lancement définie, il faut indiquer à quelle période d'ordonnancement la tâche doit être lancée. On définit alors une li ste des index, au sein de la séquence, des périodes d'ordonnancement auxquelles la tâche doit être lancée. Pour la tâche illustrée Fig. 2, il s'agit des index 1 et 3, signifiant que la tâche doit être lancée lors de la première période d'ordonnancement de la séquence et lors de la troisième. To allow the scheduling of such tasks, the invention proposes to define for each task a launch period. This launch period is the number of scheduling periods which allows to have a sequence of launching the task which repeats itself identically. For the task illustrated in FIG. 2, it is typically 6 scheduling periods. Once this launch period has been defined, it must be indicated to which scheduling period the task is to be started. We then define a list of indexes, within the sequence, of the scheduling periods to which the task must be launched. For the task illustrated in Fig. 2, these are the indexes 1 and 3, meaning that the task must be started during the first scheduling period of the sequence and in the third.
Avantageusement, ces informations sont mémorisées par le noyau temps réel au sein d'une table qui contient une entrée pour chaque tâche du système. Cette entrée est constituée au moins de l'indication de la période de lancement et de la liste des index des périodes d'ordonnancement auxquelles la tâche doit être lancée au sein de la période.  Advantageously, this information is stored by the real-time kernel within a table which contains an entry for each task of the system. This entry consists at least of the indication of the launch period and the list of scheduling period indexes to which the task is to be launched within the period.
Le noyau fonctionne alors en effectuant une étape de détermination des tâches devant être lancées lors de chaque période d' ordonnancement. Un exemple de réalisation de cette étape de détermination consiste à maintenir pour chaque tâche un compteur d'index de la période d'ordonnancement au sein de la séquence de lancement. Ce compteur est initialisé à 1 et s'incrémente lors de chaque tâche d'ordonnancement. Lorsque sa valeur est égale à la période plus un, on réinitialise le compteur à 1. Le compteur est comparé aux index de la liste associée à la tâche. Si l'index est compris dans la liste, on lance la tâche. Alternativement, on peut aussi calculer l'index directement par une division d'un index global croissant modulo la période de la tâche. Le reste de cette division donne l'index au sein de la séquence de lancement.  The kernel then operates by performing a task determination step to be initiated during each scheduling period. An exemplary embodiment of this determination step consists in maintaining for each task an index counter of the scheduling period within the launch sequence. This counter is initialized to 1 and increments during each scheduling task. When its value is equal to the period plus one, the counter is reset to 1. The counter is compared to the indexes in the list associated with the task. If the index is included in the list, the task is started. Alternatively, one can also calculate the index directly by a division of an increasing global index modulo the period of the task. The remainder of this division gives the index within the launch sequence.
Avantageusement, une tâche ayant une période négative ne sera jamais relancée. Advantageously, a task having a negative period will never be restarted.
On peut ainsi gérer des tâches apériodiques, c'est-à-dire continues, en sus des tâches semi-périodiques dans le système. It is thus possible to manage aperiodic, that is, continuous, tasks in addition to semi-periodic tasks in the system.
Avantageusement, la fin de la liste des index de lancement au sein de la séquence est indiquée par une valeur nulle.  Advantageously, the end of the list of launch indexes within the sequence is indicated by a zero value.
Ce procédé d'ordonnancement permet de gérer les tâches semi-périodiques efficacement. Il ne nécessite qu'une entrée par tâche dans la table de gestion.  This scheduling process makes it possible to manage semi-periodic tasks efficiently. It requires only one entry per task in the management table.

Claims

REVENDICATIONS
1/ Dispositif de traitement d'information temps réel, disposant de moyens d'ordonnancement d'au moins une tâche, le temps étant découpé de manière périodique pour définir une période d' ordonnancement, caractérisé en ce qu' il comporte : 1 / Real-time information processing device, having means for scheduling at least one task, the time being cut off periodically to define a scheduling period, characterized in that it comprises:
- des moyens pour définir pour chaque tâche une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ;  means for defining for each task a launch period consisting of an integer number of scheduling periods;
- des moyens pour définir pour chaque tâche des périodes d'ordonnancement particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée ;  means for defining for each task particular scheduling periods within the launch period during which said task must be started;
- des moyens pour déterminer, lors de chaque période d'ordonnancement, les tâches devant être lancées sachant que pour chaque tâche chaque séquence de lancement définie se répète de manière périodique.  means for determining, during each scheduling period, the tasks to be launched, knowing that for each task each defined launch sequence repeats itself periodically.
21 Dispositif selon la revendication 1, caractérisé en ce qu'il comporte en outre des moyens de stocker une table contenant pour chaque tâche : 21 Apparatus according to claim 1, characterized in that it further comprises means for storing a table containing for each task:
- la durée de la période de lancement exprimée sous la forme d'un nombre entier de périodes d'ordonnancement ;  - the duration of the launch period expressed as a whole number of scheduling periods;
- une liste des moments de lancement de la tâche exprimés sous le forme d'un index de la période d'ordonnancement lors de laquelle la tâche doit être lancée au sein de la période de lancement.  - a list of job start times expressed in the form of an index of the scheduling period during which the task is to be launched within the launch period.
3/ Dispositif selon la revendication 2, caractérisé en ce que la valeur -1 affectée à une période de lancement corresponde à une période infinie permettant de gérer une tâche apériodique. 3 / Apparatus according to claim 2, characterized in that the value -1 assigned to a launch period corresponds to an infinite period for managing an aperiodic task.
4/ Procédé d'ordonnancement d'au moins une tâche au sein d'un dispositif de traitement d'information temps réel, le temps étant découpé de manière périodique pour définir une période d' ordonnancement, caractérisé en ce qu'il comporte les étapes suivantes : 4 / A method for scheduling at least one task within a real-time information processing device, the time being cut off periodically to define a scheduling period, characterized in that it comprises the steps following:
- une étape de définition pour chaque tâche d'une période de lancement constituée d'un nombre entier de périodes d'ordonnancement ; - une étape de définition pour chaque tâche des périodes d'ordonnancement particulières au sein de la période de lancement durant lesquelles ladite tâche doit être lancée ; a definition step for each task of a launch period consisting of an integer number of scheduling periods; a step of defining for each task particular scheduling periods within the launch period during which said task is to be started;
- lors de chaque période d'ordonnancement, une étape de détermination des tâches devant être lancées sachant que pour chaque tâche chaque séquence de lancement définie se répète de manière périodique.  during each scheduling period, a step of determining the tasks to be launched, knowing that for each task each defined launching sequence repeats itself periodically.
EP11767994.4A 2010-10-11 2011-10-07 Method and device for scheduling semi-periodic tasks in a real-time multitask system Withdrawn EP2628079A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1058226A FR2965947B1 (en) 2010-10-11 2010-10-11 METHOD AND APPARATUS FOR SCHEDULING SEMI-PERIODIC TASKS IN A REAL-TIME MULTI-THROUGH SYSTEM
PCT/EP2011/067537 WO2012049082A1 (en) 2010-10-11 2011-10-07 Method and device for scheduling semi-periodic tasks in a real-time multitask system

Publications (1)

Publication Number Publication Date
EP2628079A1 true EP2628079A1 (en) 2013-08-21

Family

ID=44072606

Family Applications (1)

Application Number Title Priority Date Filing Date
EP11767994.4A Withdrawn EP2628079A1 (en) 2010-10-11 2011-10-07 Method and device for scheduling semi-periodic tasks in a real-time multitask system

Country Status (3)

Country Link
EP (1) EP2628079A1 (en)
FR (1) FR2965947B1 (en)
WO (1) WO2012049082A1 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3060149A1 (en) * 2016-12-12 2018-06-15 Continental Automotive France METHOD FOR DIAGNOSING TASK SCHEDULING
FR3072197B1 (en) * 2017-10-10 2019-10-11 Krono-Safe METHOD OF EXECUTING SEQUENCING PLANS ENSURING LOW-TIME COMMUNICATION BETWEEN TIME-REAL TASKS
FR3072795B1 (en) 2017-10-20 2021-02-12 Thales Sa PROCESS FOR CHECKING THE RESTITUTION OF ALERT (S) AND / OR RECONFIGURATION PROCEDURE (S) SYSTEM (S), COMPUTER PROGRAM PRODUCT AND ASSOCIATED CONTROL SYSTEM
FR3090957B1 (en) * 2018-12-19 2022-02-04 Moben & Rooster task scheduling device and method
CN113777910B (en) * 2021-09-17 2024-02-23 北京空间飞行器总体设计部 Periodic autonomous operation control method for patrol device

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9710522D0 (en) * 1997-05-23 1997-07-16 Rolls Royce Plc Control system

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
None *
See also references of WO2012049082A1 *

Also Published As

Publication number Publication date
FR2965947A1 (en) 2012-04-13
FR2965947B1 (en) 2019-05-31
WO2012049082A1 (en) 2012-04-19

Similar Documents

Publication Publication Date Title
WO2012049082A1 (en) Method and device for scheduling semi-periodic tasks in a real-time multitask system
EP2987081B1 (en) Task time allocation method allowing deterministic error recovery in real time
US20110072437A1 (en) Computer job scheduler with efficient node selection
EP3399720B1 (en) Method and electronic device for monitoring an avionics software application, related computer program and avionics system
Hu et al. On exploring image resizing for optimizing criticality-based machine perception
EP2160682B1 (en) Electronic card able to execute a command originating from a simulation system and a command originating from a diagnostic module and associated simulation method
EP2870535B1 (en) Method for executing, within a multitasking onboard system, an application timed according to a plurality of different time domains including interruption management
CN115858180B (en) Time slicing method and device and electronic equipment
US8612597B2 (en) Computing scheduling using resource lend and borrow
CA2281639C (en) Method and device for executing by a single processor several functions of different criticality levels, operating with high security
EP2850520B1 (en) Method for the management of task execution in a computer system
EP3494475A1 (en) Method and device for distributing partitions on a multicore processor
EP3506201A1 (en) Adaptive system and method for automatically tracking at least one target in at least one video stream
EP2709008B1 (en) Method and device for counting the offset time for a processing unit in an information processing system
Rahni et al. Feasibility analysis of non-concrete real-time transactions with edf assignment priority
FR2995705A1 (en) Method for preparation of sequence of execution for data processing program of service, involves assigning set of atomic sequences and atomic subtasks so that each task of program is executed in duration of temporal frame
US8973007B1 (en) Adaptive lock list searching of waiting threads
AU2008299667A1 (en) Urgency based scheduling
Capota et al. P_FENP: a multiprocessor real-time scheduling algorithm
CN106354553A (en) Task scheduling method and device based on resource estimation in big data system
WO2012038000A1 (en) Method for managing tasks in a microprocessor or in a microprocessor assembly
US11640552B2 (en) Two stage training to obtain a best deep learning model with efficient use of computing resources
CN112181774A (en) System resource monitoring method, device, equipment and machine readable storage medium
EP2953029B1 (en) Performance testing methods and systems with configurable rate
EP3506202A1 (en) Adaptive system and method for automatically tracking at least one target in at least one video stream

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20130422

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

DAX Request for extension of the european patent (deleted)
RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SAGEM DEFENSE SECURITE

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SAFRAN ELECTRONICS & DEFENSE

17Q First examination report despatched

Effective date: 20190709

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN

18D Application deemed to be withdrawn

Effective date: 20200121