WO2018109288A1 - Procédé de diagnostic d'un ordonnancement de tâches - Google Patents

Procédé de diagnostic d'un ordonnancement de tâches Download PDF

Info

Publication number
WO2018109288A1
WO2018109288A1 PCT/FR2017/050350 FR2017050350W WO2018109288A1 WO 2018109288 A1 WO2018109288 A1 WO 2018109288A1 FR 2017050350 W FR2017050350 W FR 2017050350W WO 2018109288 A1 WO2018109288 A1 WO 2018109288A1
Authority
WO
WIPO (PCT)
Prior art keywords
task
tasks
counting means
recurring
chain
Prior art date
Application number
PCT/FR2017/050350
Other languages
English (en)
Inventor
Stéphane Eloy
Benjamin MARCONATO
Lionel Cailler
Original Assignee
Continental Automotive France
Continental Automotive Gmbh
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 Continental Automotive France, Continental Automotive Gmbh filed Critical Continental Automotive France
Publication of WO2018109288A1 publication Critical patent/WO2018109288A1/fr

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit

Definitions

  • the present invention relates to a computer system comprising at least two paired recurring tasks, and more particularly to a method for diagnosing a task scheduling error.
  • an operating system performs a task scheduling respecting several types of constraints that can be contradictory. Thus it must respect rules of precedence between certain tasks, but still react according to events resulting from the piloted industrial system. Some of these events are substantially predictable in that they are recurrent and periodic and result in a substantially constant determined load. Other of these events are less predictable in that they are random and / or recurrent but not periodic and / or require a variable load. This can lead a thread, responding to such unforeseen events, to have to perform more tasks than its nominal load does and allows it to be overloaded. In order to avoid such a detrimental overload, the operating system arbitrarily removes as many tasks as needed, typically the ones that would exceed the nominal load. The problem that arises then, the operating system does not usually inform of its action of suppression, is to diagnose such a situation of suppression.
  • the invention proposes to monitor the recurring tasks and comparatively to count the occurrences of paired recurring tasks, in order to be able to detect an inconsistency.
  • the subject of the invention is a diagnostic method, for a computer system comprising at least two paired recurring tasks, comprising the following steps:
  • the hardware part of the computer system comprises at least two execution units.
  • said at least two paired recurring tasks are synchronous with each other, respectively multiple with a relative recurrence ratio, and the expected values of their respective number of occurrences are equal, respectively in a ratio equal to the ratio of their relative recurrence.
  • said at least two paired recurring tasks are chained and ordered in a chain, and a next task in the chain can start only if the previous task in the chain is started and / or is complete, and the expected values their respective number of occurrences are equal.
  • said at least two paired recurring tasks are hierarchical, a parent task starting the first triggers the execution of at least one daughter task and ends only after all its girls are finished, and the expected values of their child. number of respective occurrences are equal.
  • the updating of a counting means of a number of occurrences dedicated to a recurring task is performed by said task.
  • the comparison step takes account of a previously detected inconsistency so as to detect only a new error.
  • the comparison step tolerates an inconsistency lower than a threshold.
  • the comparison step is performed after updating the counting means dedicated to the task of lower recurrence, preferably by said task of lower recurrence.
  • the comparison step is performed after updating the counting means dedicated to the last task of the chain, preferably by said last task of the chain.
  • the comparison step is performed after updating the counting means dedicated to the last child task and after updating the counting means dedicated to the parent task, preferably by the mother task.
  • a single counting means preferably a binary flag, is used for a string, the updating step activating the counting means during the execution of a first task of the string and disabling the counting means when executing a last task of the string, the expected value of the counting means being "deactivated" before the execution of a first task of the string and after execution of a last task in the chain.
  • the updating step verifies that the counting means is deactivated before proceeding with its activation.
  • said computer system controls an industrial system, such as an automobile engine.
  • the data of the counting means are stored in a memory shared between all the tasks.
  • the implementation of a counting means comprises a cyclic counter.
  • FIGS. 1A and 1B show a block diagram illustrating a scheduling error
  • FIG. 2 presents a time diagram illustrating an embodiment of the method for hierarchical tasks and for multiple tasks.
  • FIGS 1A and 1B illustrate a possible problem leading to a deletion of a task.
  • T1, T2, T3 These three tasks T1 -T3 come from the same process, divided into three tasks, so that they can be performed in a distributed manner on three execution units A0, A1, A2.
  • a thread may be a core or core of the same processor or a processor.
  • the three tasks must be scheduled to meet the same constraints as when running on a single thread.
  • a first constraint is that these tasks T1 -T3 are chained, a next task in the chain can start only when the immediately preceding task is completed, some data from a previous task can be used in a subsequent task.
  • time is divided into time intervals depending on the position of the motor, called segments or cylinders CyM, Cyl2, and determining a period of validity of certain parameters.
  • segments or cylinders CyM, Cyl2 and determining a period of validity of certain parameters.
  • a second constraint is that all the tasks of the same chain T1 - T3 must be executed during the same cylinder.
  • Figure 1A illustrates a nominal operation.
  • the time / load available for the CyM cylinder is sufficient to allow the successive execution, in the order, of the three tasks T1 -T3.
  • the time / charge available for the CyM cylinder is variable.
  • the load of an A0-A2 execution unit can be reduced by an exceptional superposition of random events from the controlled industrial system.
  • the time allocated to a cylinder can also vary.
  • the duration of a cylinder CyM, Cyl2 is inversely proportional to the engine speed.
  • This deletion is very detrimental in that it can, in extreme cases, lead to engine breakage. Moreover, the operating system does not put back any information concerning this deletion. So it is necessary to find a method of diagnosis of such a deletion.
  • the diagnostic process provides a very advantageous tool in the development phase for detecting at the earliest and in a detailed manner erratic scheduling problems otherwise very difficult to identify.
  • the invention uses the presence, in the software part of the computer system of at least two paired recurring tasks.
  • the basic idea of the invention is to take advantage of the predictability of recurring tasks and their matching to detect a removal of one of these at least two tasks. Indeed, two such paired tasks have correlated execution dynamics and must, in nominal operation, have similarly correlated occurrence numbers. Any inconsistency with the expected operation is indicative of an error.
  • the invention uses a counting means of an occurrence number dedicated to a recurring task.
  • the diagnostic method comprises the following steps: updating a means of counting a number of occurrences dedicated to a recurring task, at each new occurrence of said recurring task, and comparing the respective counting means of said recursive task. minus two recurring tasks paired with expected values.
  • the counting means of the said at least two paired tasks must present values that are consistent with the expected and predictable values as a function of the relative dynamics of the paired tasks. Any inconsistency of at least one of the counting means with its expected value is indicative of an error, typically indicative of a deleted task.
  • the hardware part of the computer system comprises at least two execution units. It is important to note that the invention is applicable to a computer system comprising only one execution unit. However, the problem diagnosed, that is, the deletion of a task, can occur only in a system with at least two threads. Also the invention is particularly advantageous for such a system.
  • the at least two paired recurring tasks are synchronous with one another.
  • the synchronicity here must be comprehensively understood in that the said two tasks are correlated in the time.
  • Both tasks can run at the same time, run with the same time interval between them, or be multiple in that a fast task runs n times while a slow job runs one time , n, a relative recurrence ratio not necessarily being integer.
  • Synchronous paired tasks can be periodic (and therefore synchronous with time). This is the case, for example a clock task, which runs periodically every 10ms. This task is then multiple of a task running periodically every 100ms, with a recurrence ratio of 10.
  • Synchronous paired tasks can be recurrent without being periodic. These are called aperiodic tasks. This is the case, for example of a "segment" task resulting from a heat engine and indicating a marker, for example an angular position preceding a fixed angular interval given the top dead center of a cylinder, at each turn crankshaft. A "half-segment” task indicating a marker offset by half a motor revolution is then paired synchronously with the "segment” task. Likewise, a task indicating the top dead spots of all the cylinders is multiple paired with the "segment" task with a recurrence ratio equal to the number of cylinders of the engine.
  • the matched tasks are simply synchronous: the relative recurrence ratio n is equal to 1, the expected values of their respective occurrence numbers must be equal, in nominal operation. Any difference detected indicates an inconsistency and therefore an error.
  • the paired tasks are multiple synchronous: with a relative recurrence ratio n different from 1, the expected values of their respective number of occurrences must be in a ratio equal to the ratio n of their relative recurrence, in nominal operation. Any difference detected indicates an inconsistency and therefore an error.
  • Chained tasks are ordered within a chain and check a chaining condition that can be selected from two. Thus, a next task can only begin if the preceding task is started or alternatively, and as illustrated in the example of FIGS. 1A and 1B, a subsequent task can only begin if the preceding task is finished.
  • Tasks thus linked are matched in that all the tasks of the same chain must execute substantially at the same time, in sequence, and above all must have an identical number of occurrences. Also, the expected value for each respective occurrence number is that the occurrence numbers must be equal to each other.
  • Hierarchical tasks are matched by a hierarchical report.
  • a parent task (or master (sse) or higher or primary) begins the first and ends the last one. During its execution, it triggers the execution of one or more child tasks (or slave or subordinate or secondary). The parent task then waits for all of her daughters to finish before she can finish herself.
  • Such hierarchical tasks are matched in that all the tasks of the same mother / daughter set must execute substantially at the same time, in a given order and generally repeatable. These tasks, mother and daughters, must, if a child task is triggered only once by the parent task, have an identical occurrence number.
  • the expected value for each respective occurrence number of both the parent task and the child task (s) is that the occurrence numbers must be equal to each other. In the case where a child task is triggered p times, it appears a multiple synchronicity and the occurrence number of said child task must be p times that of the parent task.
  • a parent task is typically used to trigger the chained tasks of a string as child tasks.
  • a central single task can perform all update operations and / or comparison operations.
  • the updating of a counting means of a number of occurrences dedicated to a recurring task is performed by the task itself.
  • an inconsistency typically in the form of a counting means that does not have the expected value
  • this inconsistency if maintained, will induce the comparison step to determine an error, even if no new errors have occurred in between since the last comparison.
  • the step of This comparison takes into account any previous inconsistencies that led to the detection of an error and detects an error only in the case of a new error causing a new inconsistency.
  • a first embodiment during the detection of an error, all the counting means are reset, in that they take an initial value, for example zero, or the counting means showing an inconsistency are corrected in what they take the value they should have taken, the expected value. Thus the inconsistency is removed at the source and a new comparison will not detect an inconsistency unless a new error has occurred in the meantime.
  • an indication of the inconsistency is stored, such as an offset between the counting means and its expected value.
  • the comparison step can take into account the previously detected inconsistency (s) by means of the corresponding storage (s) and verify, by integrating the corresponding offsets, that the counting means displays a value consistent with the expected value. If, taking into account all the inconsistencies memorized, it still remains an inconsistency, this is indicative of the occurrence of a new error in the meantime.
  • a comparison step has thus far been described detecting an error on the first deletion of a task.
  • a more or less important tolerance threshold corresponding to a greater or lesser inconsistency, it is possible to tolerate one or more task deletions before detecting an error.
  • the comparison step is preferably performed after updating the counting means dedicated to the task of lower recurrence.
  • any task can perform the comparison step.
  • the lowest recurrence task is best placed to perform this step.
  • the comparison step is preferably performed after updating the counting means dedicated to the last task of the chain.
  • any task can perform the comparison step.
  • the last task in the chain is best placed to perform this step.
  • the comparison step is preferably performed after updating the counting means dedicated to the last child job and after updating the counting means dedicated to the parent task.
  • any task can perform the comparison step.
  • the parent task is best placed to perform this step.
  • a counting means could be dedicated to each task. In the case of linked tasks, we necessarily have the same number of occurrences for all the tasks. Also, alternatively, a single counting means, preferably a binary flag, can be used for the complete chain.
  • the update step activates the counting means when executing a first task of the string and deactivates it when executing a last task of the string. Thus, in nominal operation, if the first and the last tasks execute, neither the first task nor the last task have been deleted, nor any of the intermediate tasks of the chain.
  • the expected value of the counting means must be "deactivated" before the execution of a first task of the chain and after the execution of a last task of the chain and "activated” otherwise, either between the execution of a first task of the chain and the execution of a last task of the chain. In the opposite case, at least one of the tasks of the chain has been deleted, or is not yet completed while a new segment begins, and the counting means has an inconsistent state.
  • the counting means may be implemented by means of a selectively raised / enabled or lowered / disabled binary flag. Equally, a selectively incremented / activated or decremented / deactivated counter may be used.
  • the invention is advantageously applicable to a computer system controlling an industrial system.
  • This industrial system can be automobile engine, the computer system providing engine control.
  • a first recurrence is periodic with tasks triggered according to a fixed period (for example: 10ms, 100ms) in order to manage sampled parameters in real time.
  • a second recurrence is aperiodic with tasks triggered in relation to the operation of the engine (angular crankshaft reference: for example high dead point, camshaft angular mark, etc.) in synchronization with the engine speed.
  • the counting means and the data associated therewith must be writable by the entity or entities that perform the update step and be readable by the entity or entities that perform (s) the comparison step. As these entities may be different, it is necessary to set up a means of communicating these data.
  • any means of communication is possible here, for example by message exchange. According to a preferred embodiment, this is achieved by means of a shared memory in which all data is stored. This memory is at least shared between the task (s) performing the update and the task (s) performing the comparison. Advantageously, where appropriate, this memory is shared between the execution units involved or between all the execution units.
  • a counting means can be implemented by a counter counting the occurrences of an associated task, incremented with each new occurrence of said task.
  • this counter is cyclic in that it counts the occurrences of 0 to N and that N + 1 is equal to 0, the counter being reset in case of overshoot.
  • the comparison step knows to take into account such a cyclic counter, provided that N is large enough to avoid confusion.
  • a first parent task is executed every 10ms.
  • the two columns on the right are two execution units A and B.
  • the "10ms" parent task triggers a child task on each of the two execution units A, B, which is a task "A 10ms” and a task “B 10ms” ".
  • Each of these three hierarchical tasks is associated with a counting means, namely CTR I Oms for the parent task, CTR AI Oms for the child task executed on the execution unit A, and CTR BI Oms for the child task executed. on the execution unit B.
  • the three counting means are equal to 25, so no inconsistency is to be reported.
  • each of the three tasks executes correctly and the respective counting means are updated, by an incrementation of 1, to the value 26. Still no inconsistency. Same as the next line where the counting means are updated to 27.
  • a comparison step can then compare the counting means of the mother task CTR I Oms with the counting means CTR AI Oms, CTR BI Oms of each of its two daughters without noting any inconsistency indicative of an error.
  • the parent task and its daughter on thread A execute correctly, but the girl on thread B is deleted.
  • the counting means of the mother task CTR I Oms and the counting means of the daughter task A CTR AI Oms are incremented and reach the value 28.
  • the associated counting means CTR BI Oms remains unchanged equal to 27.
  • a comparison of counting means CTR BI Oms of the child task B with the counting means CTR I Oms of the parent task or with the counting means CTR AI Oms of the child task A shows an inconsistency in the form of a difference of 1 indicative of an error.
  • the 10ms (mother) job is a multiple job of a 100ms job.
  • the relative recurrence ratio is here of 10.
  • a third occurrence of the 100ms task naturally occurs after the thirtieth occurrence of the 10ms task.
  • the comparison step can verify that the counting means CTR I Oms of the task 10ms and the counting means CTR I OOms of the task 100ms are indeed in a ratio of 30 to 3, ie 10, equal to the relative recurrence ratio .
  • the 100ms parent task is itself hierarchized with two 100ms girls tasks A and B with which it is still possible to check the consistency.
  • each pairing enriches the diagnosis and it is possible to detect a removal of any task belonging to at least one pairing.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

La présente invention a pour objet un procédé de diagnostic, pour un système informatique comprenant au moins deux tâches (T1-T3) récurrentes appariées, comprenant les étapes suivantes : mise à jour d'un moyen de comptage d'un nombre d'occurrence dédié à une tâche (T1-T3) récurrente, lors de chaque nouvelle occurrence de ladite tâche (T1-T3) récurrente, comparaison des moyens de comptage respectifs desdites au moins deux tâches (T1-T3) récurrentes appariées avec des valeurs attendues, une incohérence d'au moins un des moyens de comptage avec sa valeur attendue étant indicative d'une erreur.

Description

Procédé de diagnostic d'un ordonnancement de tâches
La présente invention concerne un système informatique comprenant au moins deux tâches récurrentes appariées, et plus particulièrement un procédé de diagnostic d'une erreur d'ordonnancement des tâches.
Dans le domaine de l'ordonnancement des tâches, de manière connue, un système d'exploitation réalise un ordonnancement des tâches en respectant plusieurs types de contraintes pouvant être contradictoires. Ainsi il doit respecter des règles de préséance entre certaines tâches, mais encore réagir en fonction d'événements issus du système industriel piloté. Certains de ces événements sont sensiblement prévisibles en ce qu'ils sont récurrents et périodiques et entraînent une charge déterminée sensiblement constante. D'autres de ces événements sont moins prévisibles en ce qu'ils sont aléatoires et/ou récurrents mais non périodiques et/ou nécessitent une charge variable. Ceci peut conduire une unité d'exécution, réagissant à de tels imprévus, à devoir exécuter plus de tâches que sa charge nominale ne lui permet et à se retrouver ainsi en surcharge. Afin d'éviter une telle surcharge préjudiciable, le système d'exploitation supprime arbitrairement autant de tâches que nécessaire, typiquement la où les tâches qui déborderaient de la charge nominale. Le problème qui se pose alors, le système d'exploitation n'informant habituellement pas de son action de suppression, est de diagnostiquer une telle situation de suppression.
Afin de répondre à ce problème, l'invention propose de surveiller les tâches récurrentes et de compter comparativement les occurrences de tâches récurrentes appariées, afin de pouvoir détecter une incohérence.
L'invention a pour objet un procédé de diagnostic, pour un système informatique comprenant au moins deux tâches récurrentes appariées, comprenant les étapes suivantes :
· mise à jour d'un moyen de comptage d'un nombre d'occurrence dédié à une tâche récurrente, lors de chaque nouvelle occurrence de ladite tâche récurrente, • comparaison des moyens de comptage respectifs desdites au moins deux tâches récurrentes appariées avec des valeurs attendues,
une incohérence d'au moins un des moyens de comptage avec sa valeur attendue étant indicative d'une erreur.
Selon une autre caractéristique, la partie matérielle du système informatique comprend au moins deux unités d'exécution.
Selon une autre caractéristique lesdites au moins deux tâches récurrentes appariées sont synchrones entre elles, respectivement multiples avec un rapport de récurrence relative, et les valeurs attendues de leur nombre d'occurrence respectif sont égales, respectivement dans un rapport égal au rapport de leur récurrence relative. Selon une autre caractéristique lesdites au moins deux tâches récurrentes appariées sont chaînées et sont ordonnées dans une chaîne, et une tâche suivante dans la chaîne ne peut débuter que si la tâche précédente dans la chaîne est débutée et/ou est terminée, et les valeurs attendues de leur nombre d'occurrence respectif sont égales.
Selon une autre caractéristique lesdites au moins deux tâches récurrentes appariées sont hiérarchisées, une tâche mère débutant la première déclenche l'exécution d'au moins une tâche fille et ne termine qu'après que toutes ses filles soient terminées, et les valeurs attendues de leur nombre d'occurrence respectif sont égales.
Selon une autre caractéristique la mise à jour d'un moyen de comptage d'un nombre d'occurrence dédié à une tâche récurrente est réalisée par ladite tâche.
Selon une autre caractéristique l'étape de comparaison tient compte d'une incohérence précédemment détectée, afin de ne détecter qu'une nouvelle erreur.
Selon une autre caractéristique l'étape de comparaison tolère une incohérence inférieure à un seuil.
Selon une autre caractéristique, pour des tâches multiples, l'étape de comparaison est réalisée après la mise à jour du moyen de comptage dédié à la tâche de plus faible récurrence, préférentiellement par ladite tâche de plus faible récurrence.
Selon une autre caractéristique, pour des tâches chaînées, l'étape de comparaison est réalisée après la mise à jour du moyen de comptage dédié à la dernière tâche de la chaîne, préférentiellement par ladite dernière tâche de la chaîne.
Selon une autre caractéristique, pour des tâches hiérarchisées, l'étape de comparaison est réalisée après la mise à jour du moyen de comptage dédié à la dernière tâche fille et après la mise à jour du moyen de comptage dédié à la tâche mère, préférentiellement par la tâche mère.
Selon une autre caractéristique, pour des tâches chaînées, un unique moyen de comptage, préférentiellement un drapeau binaire, est utilisé pour une chaîne, l'étape de mise à jour activant le moyen de comptage lors de l'exécution d'une première tâche de la chaîne et désactivant le moyen de comptage lors de l'exécution d'une dernière tâche de la chaîne, la valeur attendue du moyen de comptage étant « désactivé » avant l'exécution d'une première tâche de la chaîne et après l'exécution d'une dernière tâche de la chaîne.
Selon une autre caractéristique l'étape de mise à jour vérifie que le moyen de comptage est désactivé avant de procéder à son activation.
Selon une autre caractéristique ledit système informatique pilote un système industriel, tel un moteur automobile.
Selon une autre caractéristique les données des moyens de comptage sont stockées dans une mémoire partagée entre toutes les tâches. Selon une autre caractéristique l'implémentation d'un moyen de comptage comprend un compteur cyclique.
La description détaillée ci-après, est donnée en relation avec des dessins sur lesquels :
- les figures 1 A et 1 B présentent un synoptique illustrant une erreur d'ordonnancement,
- la figure 2 présente un diagramme temporel illustrant un mode de réalisation du procédé pour des tâches hiérarchisées et pour des tâches multiples. D'autres caractéristiques, détails et avantages de l'invention ressortiront plus clairement de la description détaillée donnée ci-après à titre indicatif.
Les figures 1 A et 1 B illustrent un possible problème conduisant à une suppression d'une tâche. On est ici en présence de trois tâches T1 , T2, T3. Ces trois tâches T1 -T3 sont issues d'un même traitement, découpé en trois tâches, afin de pouvoir être exécuté de manière répartie sur trois unités d'exécution A0, A1 , A2. Une unité d'exécution peut être un noyau ou cœur d'un même processeur ou un processeur. Les trois tâches doivent être ordonnancées de manière à respecter les mêmes contraintes que lors d'une exécution sur une unique unité d'exécution. Une première contrainte est que ces tâches T1 -T3 sont chaînées, une tâche suivante de la chaîne ne pouvant débuter que lorsque la tâche immédiatement précédente est terminée, certaines données issues d'une tâche précédente pouvant être utilisées dans une tâche suivante. De plus, le temps est découpé en intervalles de temps dépendant de la position du moteur, nommés segments ou cylindres CyM , Cyl2, et déterminant une période de validité de certains paramètres. Une deuxième contrainte est que toutes les tâches d'une même chaîne T1 - T3 doivent être exécutées au cours d'un même cylindre.
La figure 1 A illustre un fonctionnement nominal. Ici, le temps/charge disponible pour le cylindre CyM est suffisant pour permettre l'exécution successive, dans l'ordre, des trois tâches T1 -T3.
Cependant, le temps/charge disponible pour le cylindre CyM est variable. La charge d'une unité d'exécution A0-A2 peut se trouver réduite par une superposition exceptionnelle d'événements aléatoires en provenance du système industriel piloté. Le temps alloué à un cylindre peut aussi varier.
Ainsi dans un exemple d'application où le système informatique est un système de contrôle moteur automobile, la durée d'un cylindre CyM , Cyl2 est inversement proportionnelle au régime moteur.
Pour ces deux raisons, la charge disponible ou le temps alloué à un cylindre peuvent devenir insuffisant à l'exécution chaînées des trois tâches T1 -T3 durant le cylindre CyM . Aussi tel qu'illustré à la figure 1 B, l'occurrence de la tâche T3 pour le cylindre Cyl1 ne peut être exécutée durant Cyl1 et est supprimée par le système d'exploitation. Le risque est alors qu'elle soit confondue avec l'occurrence de la tâche T3 pour le cylindre suivant Cyl2.
Cette suppression est très préjudiciable en ce qu'elle peut, dans des cas extrêmes, conduire à une casse moteur. De plus le système d'exploitation ne remonte aucune information concernant cette suppression. Aussi est-il nécessaire de trouver un procédé de diagnostic d'une telle suppression. Le procédé de diagnostic fournit un outil très avantageux en phase de mise au point permettant de détecter au plus tôt et de manière circonstanciée des problèmes erratiques d'ordonnancement autrement très difficiles à identifier.
Pour cela l'invention utilise la présence, dans la partie logicielle du système informatique d'au moins deux tâches récurrentes appariées. L'idée de base de l'invention est de mettre à profit la prévisibilité des tâches récurrentes et leur appariement afin de détecter une suppression de l'une de ces au moins deux tâches. En effet deux telles tâches appariées ont des dynamiques d'exécution corrélées et doivent, en fonctionnement nominal, présenter des nombres d'occurrences pareillement corrélés. Toute incohérence relativement au fonctionnement attendu est indicative d'une erreur.
Pour cela l'invention utilise un moyen de comptage d'un nombre d'occurrence dédié à une tâche récurrente. Le procédé de diagnostic comprend les étapes suivantes : mise à jour d'un moyen de comptage d'un nombre d'occurrence dédié à une tâche récurrente, lors de chaque nouvelle occurrence de ladite tâche récurrente, et comparaison des moyens de comptage respectifs desdites au moins deux tâches récurrentes appariées avec des valeurs attendues. Ainsi en fonctionnement nominal, les moyens de comptage desdites au moins deux tâches appariées doivent présenter des valeurs cohérentes avec les valeurs attendues et prévisibles en fonction des dynamiques relatives des tâches appariées. Toute incohérence d'au moins un des moyens de comptage avec sa valeur attendue est indicative d'une erreur, typiquement indicative d'une tâche supprimée.
Selon une caractéristique, la partie matérielle du système informatique comprend au moins deux unités d'exécution. Il est important de remarquer que l'invention est applicable à un système informatique ne comprenant qu'une unité d'exécution. Cependant le problème diagnostiqué, à savoir la suppression d'une tâche, ne peut survenir que dans un système comprenant au moins deux unités d'exécution. Aussi l'invention est particulièrement avantageuse pour un tel système.
II est temps maintenant de définir la notion d'appariement. Lesdites au moins deux tâches récurrentes appariées sont synchrones entre elles. La synchronicité doit ici être comprise de manière étendue en ce que lesdites deux tâches sont corrélées dans le temps. Les deux tâches peuvent s'exécuter en même temps, s'exécuter avec un même intervalle de temps les séparant, ou encore être multiples en ce qu'une tâche rapide s'exécute n fois pendant qu'une tâche lente s'exécute une fois, n, un rapport de récurrence relative n'étant pas nécessairement entier.
Des tâches appariées synchrones (entre elles) peuvent être périodiques (et donc synchrones au temps). Ceci est le cas, par exemple d'une tâche horloge, qui s'exécute périodiquement toutes les 10ms. Cette tâche est alors multiple d'une tâche s'exécutant périodiquement toutes les 100ms, avec un rapport de récurrence égal à 10.
Des tâches appariées synchrones (entre elles) peuvent être récurrentes sans être périodiques. On nomme ces tâches apériodiques. Ceci est le cas, par exemple d'une tâche « segment » issue d'un moteur thermique et indiquant un repère, par exemple une position angulaire précédant d'un intervalle angulaire fixe donné le point mort haut d'un cylindre, à chaque tour de vilebrequin. Une tâche « demi-segment » indiquant un repère décalé d'un demi-tour moteur est alors appariée synchrone avec la tâche « segment » . De même une tâche indiquant les points mort haut de tous les cylindres est appariée multiple de la tâche « segment » avec un rapport de récurrence égal au nombre de cylindres du moteur.
Il est possible de comparer au moins deux tâches appariées synchrones entres elles pour peu qu'elles appartiennent toutes au même type : périodique ou apériodique.
Si les tâches appariées sont simplement synchrones : le rapport de récurrence relative n étant égal à 1 , les valeurs attendues de leur nombre d'occurrence respectif doivent être égales, en fonctionnement nominal. Toute différence détectée indique une incohérence et donc une erreur.
Si les tâches appariées sont synchrones multiples : avec un rapport de récurrence relative n différent de 1 , les valeurs attendues de leur nombre d'occurrence respectif doivent être dans un rapport égal au rapport n de leur récurrence relative, en fonctionnement nominal. Toute différence détectée indique une incohérence et donc une erreur.
Afin de préciser cette notion de synchronicité, deux exemples particuliers de tâches appariées synchrones (simple ou multiple) vont maintenant être donnés : tâches chaînées et tâches hiérarchisées.
Des tâches chaînées sont ordonnées au sein d'une chaîne et vérifient une condition d'enchaînement pouvant être choisie parmi deux. Ainsi une tâche suivante ne peut débuter que si la tâche précédente est débutée ou alternativement, et comme illustré dans l'exemple des figures 1 A et 1 B, une tâche suivante ne peut débuter que si la tâche précédente est terminée. Des tâches ainsi chaînées sont appariées en ce que toutes les tâches d'une même chaîne doivent s'exécuter sensiblement dans un même temps, en séquence, et surtout doivent présenter un nombre d'occurrence identique. Aussi, la valeur attendue pour chaque nombre d'occurrence respectif est que les nombres d'occurrence doivent être égaux entre eux.
Un autre exemple de tâches synchrones entre elles concerne les tâches hiérarchisées. Des tâches hiérarchisées sont appariées par un rapport hiérarchique. Une tâche mère (ou maitre(sse) ou supérieur(e) ou primaire) débute la première et se termine la dernière. Durant son exécution, elle déclenche l'exécution d'une ou plusieurs tâches filles (ou esclave ou subordonné(e) ou secondaire). La tâche mère attend ensuite que toutes ses filles soient terminées avant de pouvoir terminer elle-même. Des tâches ainsi hiérarchisées sont appariées en ce que toutes les tâches d'un même ensemble mère/filles doivent s'exécuter sensiblement dans un même temps, dans un ordre donnée et généralement répétable. Ces tâches, mère et filles, doivent donc, si une tâche fille est déclenchée une seule fois par la tâche mère, présenter un nombre d'occurrence identique. Aussi, la valeur attendue pour chaque nombre d'occurrence respectif, tant de la tâche mère que de la ou des tâches filles est que les nombres d'occurrence doivent être égaux entre eux. Dans le cas où une tâche fille est déclenchée p fois, il apparaît une synchronicité multiple et le nombre d'occurrence de ladite tâche fille doit être p fois celui de la tâche mère.
II est bien évidement possible de combiner les deux exemples précédents : une tâche mère est typiquement utilisée pour déclencher en tant que tâches filles les tâches chaînées d'une chaîne.
Il n'a jusqu'ici pas été évoqué en détail l'organisation logicielle et notamment quelle tâche réalise les opérations du procédé : mise à jour et comparaison, ou sur quelle unité d'exécution. Ceci est justifié par le fait que toute organisation, centralisée ou répartie, peut être envisagée pour implémenter les principes décrits.
Ainsi, selon un mode de réalisation, une tâche unique centrale peut réaliser toutes les opérations de mise à jour et/ou les opérations de comparaison.
Alternativement selon un mode de réalisation préféré, la mise à jour d'un moyen de comptage d'un nombre d'occurrence dédié à une tâche récurrente est réalisée par la tâche elle-même.
Lorsqu'une première tâche est supprimée une incohérence, typiquement sous la forme d'un moyen de comptage qui ne présente pas la valeur attendue, est créée. Lors d'une comparaison ultérieure, cette incohérence, si elle est maintenue, va induire l'étape de comparaison à déterminer une erreur, même si aucune nouvelle erreur ne s'est produite entre temps, depuis la dernière comparaison. Aussi afin d'éviter cette « mémorisation » de l'incohérence, selon une caractéristique avantageuse, l'étape de comparaison tient compte des éventuelles incohérences précédentes ayant conduit à détecter une erreur et ne détecte une erreur que dans le cas d'une nouvelle erreur occasionnant une nouvelle incohérence.
Ceci peut être réalisé selon au moins deux modes de réalisation. Selon un premier mode de réalisation, lors de la détection d'une erreur, tous les moyens de comptage sont réinitialisés, en ce qu'ils prennent une valeur initiale, par exemple nulle, ou les moyens de comptage faisant apparaître une incohérence sont corrigés en ce qu'ils prennent la valeur qu'ils auraient dû prendre, soit la valeur attendue. Ainsi l'incohérence est supprimée à la source et une nouvelle comparaison ne détectera pas une incohérence, sauf si une nouvelle erreur s'est produite entre temps.
Selon un autre mode de réalisation, il est mémorisé une indication de l'incohérence, tel un décalage entre le moyen de comptage et sa valeur attendue. Ainsi lors d'une nouvelle comparaison, l'étape de comparaison peut tenir compte de la ou des incohérences précédemment détectées aux moyens de la ou des mémorisations correspondantes et vérifier, en intégrant les décalages correspondants que le moyen de comptage affiche une valeur en cohérence avec la valeur attendue. Si en tenant compte de toutes les incohérences mémorisées, il persiste malgré tout une incohérence, ceci est indicatif de la survenance d'une nouvelle erreur entre temps.
Lorsqu'un gestionnaire de panne interprète une erreur, il est possible de réinitialiser les compteurs.
Il a été décrit jusqu'à présent une étape de comparaison détectant une erreur à la première suppression d'une tâche. Alternativement, il est possible de réaliser une étape de comparaison légèrement plus tolérante. Ainsi au moyen d'un seuil de tolérance plus ou moins important, correspondant à une incohérence plus ou moins grande, il est possible de tolérer une ou plusieurs suppressions de tâche avant de détecter une erreur.
Il est avantageux de réaliser l'étape de comparaison à un moment plus favorable, lorsque les moyens de comptage ont été mis à jour et ont plus de chance d'être en cohérence.
Ainsi, pour des tâches multiples, l'étape de comparaison est préférentiellement réalisée après la mise à jour du moyen de comptage dédié à la tâche de plus faible récurrence.
Ici encore, une tâche quelconque peut réaliser l'étape de comparaison. Cependant, particulièrement pour une architecture répartie, la tâche de plus faible récurrence est la mieux placée pour effectuer cette étape.
De manière analogue, pour des tâches chaînées, l'étape de comparaison est préférentiellement réalisée après la mise à jour du moyen de comptage dédié à la dernière tâche de la chaîne. Ici encore, une tâche quelconque peut réaliser l'étape de comparaison. Cependant, particulièrement pour une architecture répartie, la dernière tâche de la chaîne est la mieux placée pour effectuer cette étape.
De manière analogue, pour des tâches hiérarchisées, l'étape de comparaison est préférentiellement réalisée après la mise à jour du moyen de comptage dédié à la dernière tâche fille et après la mise à jour du moyen de comptage dédié à la tâche mère.
Ici encore, une tâche quelconque peut réaliser l'étape de comparaison. Cependant, particulièrement pour une architecture répartie, la tâche mère est la mieux placée pour effectuer cette étape.
II a été vu dans le mode de réalisation général, que l'on pouvait dédier un moyen de comptage à chaque tâche. Dans le cas de tâches chaînées, on a nécessairement le même nombre d'occurrence pour toutes les tâches. Aussi, alternativement, un unique moyen de comptage, préférentiellement un drapeau binaire, peut être utilisé pour la chaîne complète. Dans ce mode de réalisation, l'étape de mise à jour active le moyen de comptage lors de l'exécution d'une première tâche de la chaîne et le désactive lors de l'exécution d'une dernière tâche de la chaîne. Ainsi, en fonctionnement nominal, si la première et la dernière tâches s'exécutent, ni la première tâche ni la dernière tâche n'ont été supprimées, ni aucune des tâches intermédiaires de la chaîne. Aussi la valeur attendue du moyen de comptage doit être « désactivé » avant l'exécution d'une première tâche de la chaîne et après l'exécution d'une dernière tâche de la chaîne et « activé » sinon, soit entre l'exécution d'une première tâche de la chaîne et l'exécution d'une dernière tâche de la chaîne. Dans un cas contraire, au moins une des tâches de la chaîne a été supprimée, ou n'est pas encore terminée alors qu'un nouveau segment commence, et le moyen de comptage présente un état incohérent.
Le moyen de comptage peut être implémenté au moyen d'un drapeau binaire sélectivement levé / activé ou baissé / désactivé. De manière équivalente un compteur sélectivement incrémenté / activé ou décrémenté / désactivé peut être utilisé.
L'invention est avantageusement applicable à un système informatique pilotant un système industriel. Ce système industriel peut être moteur automobile, le système informatique assurant le contrôle moteur.
Un tel système gère, en plus d'événements aléatoires, deux récurrences. Une première récurrence est périodique avec des tâches déclenchées selon une période fixe (par exemple : 10ms, 100ms) afin de gérer des paramètres échantillonnés en temps réel. Une deuxième récurrence est apériodique avec des tâches déclenchées en relation avec le fonctionnement du moteur (repère angulaire vilebrequin : par exemple point mort haut, repère angulaire arbre à cames, etc.) en synchronisation avec le régime moteur. Les moyens de comptages et les données qui leur sont associées doivent être accessible en écriture par la ou les entité(s) qui réalise(nt) l'étape de mise à jour et être accessible en lecture par la ou les entité(s) qui réalise(nt) l'étape de comparaison. Ces entités pouvant être différentes, il convient de mettre en place un moyen de communication de ces données. Tout moyen de communication est ici possible, par exemple par échange de messages. Selon un mode de réalisation préféré, ceci est réalisé au moyen d'une mémoire partagée dans laquelle toutes les données sont stockées. Cette mémoire est au moins partagée entre la/les tâches qui effectuent la mise à jour et la/les tâches qui réalisent la comparaison. Avantageusement, le cas échéant, cette mémoire est partagée entre les unités d'exécution impliquées ou entre toutes les unités d'exécution.
Dans le cas général, un moyen de comptage peut être implémenté par un compteur comptant les occurrences d'une tâche associé, incrémenté à chaque nouvelle occurrence de ladite tâche. De manière avantageuse ce compteur est cyclique en ce qu'il compte les occurrences de 0 à N et que N+1 est égal à 0, le compteur étant réinitialisé en cas de dépassement. L'étape de comparaison sait tenir compte d'un tel compteur cyclique, pour peu que N soit suffisamment grand pour éviter toute confusion.
En référence avec la figure 2 vont maintenant être décrits quelques cas d'utilisation. Sur la colonne de gauche figurent les occurrences de tâches mères périodiques. Une première tâche mère est exécutée toutes les 10ms. Les deux colonnes de droite figurent deux unités d'exécution A et B. La tâche mère « 10ms » déclenche une tâche fille sur chacune des deux unités d'exécution A, B, soit une tâche « A 10ms » et une tâche « B 10ms ». Chacune de ces trois tâches hiérarchisées est associée avec un moyen de comptage, soit respectivement CTR I Oms pour la tâche mère, CTR A I Oms pour la tâche fille exécutée sur l'unité d'exécution A, et CTR B I Oms pour la tâche fille exécutée sur l'unité d'exécution B. Pour la première ligne, tout se passe bien. Les trois moyens de comptage sont égaux à 25, donc aucune incohérence n'est à signaler. A la ligne suivante, chacune des trois tâches s'exécute correctement et les moyens de comptage respectifs sont mis à jour, par une incrémentation de 1 , à la valeur 26. Toujours aucune incohérence. Idem à la ligne suivante où les moyens de comptage sont mis à jour à 27.
Une étape de comparaison peut alors comparer le moyen de comptage de la tâche mère CTR I Oms avec le moyen de comptage CTR A I Oms, CTR B I Oms de chacune de ses deux filles sans relever aucune incohérence indicative d'une erreur. A la ligne suivante, la tâche mère ainsi que sa fille sur l'unité d'exécution A s'exécutent correctement, mais la fille sur l'unité d'exécution B est supprimée. Lors de l'étape de mise à jour, le moyen de comptage de la tâche mère CTR I Oms et le moyen de comptage de la tâche fille A CTR A I Oms sont incrémentés et atteignent la valeur 28. Pour la tâche fille B supprimée, il n'y a pas de mise à jour et le moyen de comptage associé CTR B I Oms reste inchangé égal à 27. Une comparaison des moyens de comptage CTR B I Oms de la tâche fille B avec le moyen de comptage CTR I Oms de la tâche mère ou avec le moyen de comptage CTR A I Oms de la tâche fille A fait apparaître une incohérence sous la forme d'une différence de 1 indicative d'une erreur.
Cette erreur étant égale à l'incrément, indique de plus le nombre, ici 1 , de tâche supprimée.
Pour la suite cette différence de 1 est mémorisée. Ainsi la différence qui se maintient entre les compteurs (29, 29, 28 ; 30, 30, 29 ; 31 , 31 , 30) n'est pas à nouveau interprétée comme une erreur. Par contre une nouvelle différence serait indicative d'une nouvelle incohérence et donc d'une nouvelle erreur. Ainsi des compteurs 32, 32, 30, indiqueraient une nouvelle suppression de la tâche fille B, tandis que des compteurs 32, 31 , 31 , indiqueraient une suppression de la tâche fille A.
La tâche (mère) 10ms est une tâche multiple d'une tâche 100ms. Le rapport de récurrence relative est ici de 10. Une troisième occurrence de la tâche 100ms apparaît naturellement après la trentième occurrence de la tâche 10ms. L'étape de comparaison peut vérifier que le moyen de comptage CTR I Oms de la tâche 10ms et le moyen de comptage CTR I OOms de la tâche 100ms sont bien dans un rapport de 30 pour 3, soit 10, égal au rapport de récurrence relative.
La tâche mère 100ms est elle-même hiérarchisée avec deux tâches 100ms filles A et B avec lesquelles il est encore possible de vérifier la cohérence. Ainsi chaque appariement permet d'enrichir le diagnostic et il est possible de détecter une suppression de toute tâche appartenant à au moins un appariement.

Claims

REVENDICATIONS
1. Procédé de diagnostic, pour un système informatique comprenant au moins deux tâches (T1 -T3) récurrentes appariées, caractérisé en ce qu'il comprend les étapes suivantes :
• mise à jour d'un moyen de comptage d'un nombre d'occurrence dédié à une tâche (T1 -T3) récurrente, lors de chaque nouvelle occurrence de ladite tâche (T1 -T3) récurrente,
• comparaison des moyens de comptage respectifs desdites au moins deux tâches (T1 -T3) récurrentes appariées avec des valeurs attendues,
une incohérence d'au moins un des moyens de comptage avec sa valeur attendue étant indicative d'une erreur.
2. Procédé selon la revendication 1 , où la partie matérielle du système informatique comprend au moins deux unités d'exécution (A0-A2).
3. Procédé selon l'une quelconque des revendications 1 ou 2, où lesdites au moins deux tâches (T1 -T3) récurrentes appariées sont synchrones entre elles, respectivement multiples avec un rapport de récurrence relative, et où les valeurs attendues de leur nombre d'occurrence respectif sont égales, respectivement dans un rapport égal au rapport de leur récurrence relative.
4. Procédé selon l'une quelconque des revendications 1 à 3, où lesdites au moins deux tâches (T1 -T3) récurrentes appariées sont chaînées, en ce qu'elles sont ordonnées dans une chaîne et qu'une tâche suivante dans la chaîne ne peut débuter que si la tâche précédente dans la chaîne est débutée et/ou est terminée, et où les valeurs attendues de leur nombre d'occurrence respectif sont égales.
5. Procédé selon l'une quelconque des revendications 1 à 4, où lesdites au moins deux tâches récurrentes appariées sont hiérarchisées, en ce qu'une tâche mère débute la première, déclenche l'exécution d'au moins une tâche fille et ne termine qu'après que toutes ses filles soient terminées, et où les valeurs attendues de leur nombre d'occurrence respectif sont égales.
6. Procédé selon l'une quelconque des revendications 1 à 5, où la mise à jour d'un moyen de comptage d'un nombre d'occurrence dédié à une tâche (T1 -T3) récurrente est réalisée par ladite tâche.
7. Procédé selon l'une quelconque des revendications 1 à 6, où l'étape de comparaison tient compte d'une incohérence précédemment détectée, afin de ne détecter qu'une nouvelle erreur.
8. Procédé selon l'une quelconque des revendications 1 à 7, où l'étape de comparaison tolère une incohérence inférieure à un seuil.
9. Procédé selon l'une quelconque des revendications 3 à 8, où pour des tâches multiples, l'étape de comparaison est réalisée après la mise à jour du moyen de comptage dédié à la tâche de plus faible récurrence, préférentiellement par ladite tâche de plus faible récurrence.
10. Procédé selon l'une quelconque des revendications 4 à 9, où pour des tâches chaînées, l'étape de comparaison est réalisée après la mise à jour du moyen de comptage dédié à la dernière tâche de la chaîne, préférentiellement par ladite dernière tâche de la chaîne.
11 . Procédé selon l'une quelconque des revendications 5 à 10, où pour des tâches hiérarchisées, l'étape de comparaison est réalisée après la mise à jour du moyen de comptage dédié à la dernière tâche fille et après la mise à jour du moyen de comptage dédié à la tâche mère, préférentiellement par la tâche mère.
12. Procédé selon l'une quelconque des revendications 4 à 1 1 , où pour des tâches chaînées (T1 -T3), un unique moyen de comptage, préférentiellement un drapeau binaire, est utilisé pour une chaîne, l'étape de mise à jour activant le moyen de comptage lors de l'exécution d'une première tâche (T1 ) de la chaîne et désactivant le moyen de comptage lors de l'exécution d'une dernière tâche (T3) de la chaîne, la valeur attendue du moyen de comptage étant « désactivé » avant l'exécution d'une première tâche (T1 ) de la chaîne et après l'exécution d'une dernière tâche (T3) de la chaîne.
13. Procédé selon la revendication 12, où l'étape de mise à jour vérifie que le moyen de comptage est désactivé avant de procéder à son activation.
14. Procédé selon l'une quelconque des revendications 1 à 13, où ledit système informatique pilote un système industriel, tel un moteur automobile.
15. Procédé selon l'une quelconque des revendications 1 à 14, où les données des moyens de comptage sont stockées dans une mémoire partagée entre toutes les tâches (T1 -T3).
16. Procédé selon l'une quelconque des revendications 1 à 15, où l'implémentation d'un moyen de comptage comprend un compteur cyclique.
PCT/FR2017/050350 2016-12-12 2017-02-16 Procédé de diagnostic d'un ordonnancement de tâches WO2018109288A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1662282 2016-12-12
FR1662282A FR3060149A1 (fr) 2016-12-12 2016-12-12 Procede de diagnostic d'un ordonnancement de taches

Publications (1)

Publication Number Publication Date
WO2018109288A1 true WO2018109288A1 (fr) 2018-06-21

Family

ID=58267139

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2017/050350 WO2018109288A1 (fr) 2016-12-12 2017-02-16 Procédé de diagnostic d'un ordonnancement de tâches

Country Status (2)

Country Link
FR (2) FR3060149A1 (fr)
WO (1) WO2018109288A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3099826A1 (fr) * 2019-08-09 2021-02-12 Continental Automotive Gmbh Procédé de traitement d’un capteur arbre à came

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3085770B1 (fr) * 2018-09-11 2020-08-07 Continental Automotive France Procede de detection d’une disparition de tache
FR3089315B1 (fr) * 2018-11-30 2021-08-20 Continental Automotive France Procédé de détection d’une disparition de tache
FR3090157B1 (fr) * 2018-12-12 2020-11-20 Continental Automotive France Procédé de commande d’une unité de contrôle moteur à processeur multicœur

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2871592A1 (fr) * 2004-06-15 2005-12-16 Siemens Ag Procede de recherche et de transmission des temps d'execution de programmes dans des systemes embarques
FR2903774A1 (fr) * 2006-07-17 2008-01-18 Renault Sas Procede de validation d'un diagnostic de fontionnement d'un dispositif.
FR2965947A1 (fr) * 2010-10-11 2012-04-13 Sagem Defense Securite Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel
WO2013153167A1 (fr) * 2012-04-13 2013-10-17 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif pour générer une signature à l'exécution d'une tâche de programme et méthode de comparaison de flots d'exécution
WO2013171227A1 (fr) * 2012-05-15 2013-11-21 Sagem Defense Securite Procede de gestion d'une execution de taches dans un systeme informatique

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2871592A1 (fr) * 2004-06-15 2005-12-16 Siemens Ag Procede de recherche et de transmission des temps d'execution de programmes dans des systemes embarques
FR2903774A1 (fr) * 2006-07-17 2008-01-18 Renault Sas Procede de validation d'un diagnostic de fontionnement d'un dispositif.
FR2965947A1 (fr) * 2010-10-11 2012-04-13 Sagem Defense Securite Procede et dispositif d'ordonnancement de taches semi-periodiques dans un systeme multitache temps reel
WO2013153167A1 (fr) * 2012-04-13 2013-10-17 Commissariat A L'energie Atomique Et Aux Energies Alternatives Dispositif pour générer une signature à l'exécution d'une tâche de programme et méthode de comparaison de flots d'exécution
WO2013171227A1 (fr) * 2012-05-15 2013-11-21 Sagem Defense Securite Procede de gestion d'une execution de taches dans un systeme informatique

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LUI SHA ET AL: "Evolving dependable real-time systems", AEROSPACE APPLICATIONS CONFERENCE, 1996. PROCEEDINGS., 1996 IEEE ASPEN, CO, USA 3-10 FEB. 1, NEW YORK, NY, USA,IEEE, US, vol. 1, 3 February 1996 (1996-02-03), pages 335 - 346, XP010159009, ISBN: 978-0-7803-3196-9, DOI: 10.1109/AERO.1996.495894 *
WONG W ERIC ET AL: "A Survey on Software Fault Localization", IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, IEEE SERVICE CENTER, LOS ALAMITOS, CA, US, vol. 42, no. 8, 1 August 2016 (2016-08-01), pages 707 - 740, XP011619554, ISSN: 0098-5589, [retrieved on 20160811], DOI: 10.1109/TSE.2016.2521368 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3099826A1 (fr) * 2019-08-09 2021-02-12 Continental Automotive Gmbh Procédé de traitement d’un capteur arbre à came
WO2021028147A1 (fr) * 2019-08-09 2021-02-18 Vitesco Technologies GmbH Procédé de traitement d'un capteur arbre à came
CN114190099A (zh) * 2019-08-09 2022-03-15 纬湃科技有限责任公司 凸轮轴传感器的处理方法
US11946424B2 (en) 2019-08-09 2024-04-02 Vitesco Technologies GmbH Processing method of a camshaft sensor

Also Published As

Publication number Publication date
FR3060150A1 (fr) 2018-06-15
FR3060150B1 (fr) 2020-09-25
FR3060149A1 (fr) 2018-06-15

Similar Documents

Publication Publication Date Title
WO2018109288A1 (fr) Procédé de diagnostic d'un ordonnancement de tâches
CN109960488B (zh) App全周期监控方法、装置、计算机设备及存储介质
CN110537170B (zh) 分析大规模数据处理作业的方法、系统以及计算机可读存储设备
CA2209697A1 (fr) Methode de planification de transactions distribuees
FR2988191A1 (fr) Procede de filtrage et dispositif de filtre pour des donnees de capteur
FR2958059A1 (fr) Procede, programme d'ordinateur et dispositif de validation d'execution de taches dans des systemes informatiques evolutifs
EP2850520B1 (fr) Procede de gestion d'une execution de taches dans un systeme informatique
CN112035322B (zh) Jvm监控方法及装置
EP2628079A1 (fr) Procédé et dispositif d'ordonnancement de tâches semi-périodiques dans un système multitâche temps réel
FR3014139A1 (fr) Procede de determination de la position angulaire instantanee d'une cible vilebrequin
FR3003365A1 (fr) Procede et dispositif de gestion de mises a jour logicielles d'un ensemble d'equipements d'un systeme tel qu'un systeme d'un aeronef
FR3101975A1 (fr) Procede de gestion d'une base de donnees partagee par un groupe d'applications, produit programme d'ordinateur et systeme embarque associes
FR3029239A1 (fr) Procede de surveillance du fonctionnement d'une turbomachine
FR3018933A1 (fr) Procede de determination de l'etat d'un equipement d'aeronef.
EP3343375B1 (fr) Procédé et système de surveillance de traitements par lots d'applications exécutées dans une infrastructure informatique
WO2012038000A1 (fr) Procede de gestion de taches dans un microprocesseur ou un ensemble de microprocesseurs
US9891615B2 (en) Numerical controller with function of automatically reconstructing settings and function of preventing incorrect settings
CN114237844A (zh) 一种任务调度方法、装置及电子设备
EP3938910A1 (fr) Localisation de panne dans un système d'acquisition redondant
EP3215897B1 (fr) Contrôleur amélioré d'état d'un système piloté par une commande
FR2871592A1 (fr) Procede de recherche et de transmission des temps d'execution de programmes dans des systemes embarques
EP3791561B1 (fr) Raccourcissement d'ancrage entre des noeuds de diffusion en continu
WO2015116057A1 (fr) Vidage de ressources
FR3082338A1 (fr) Procede de gestion d’une pluralite de taches par un calculateur automobile multicœur
CN111090528B (zh) 死锁确定方法、装置及电子设备

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17710593

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17710593

Country of ref document: EP

Kind code of ref document: A1