Brevet FR3067482A1 (20181214)

REVENDICATIONS1. Dispositif informatique de caractérisation de temps d'exécution par un processeur (P), comprenant une mémoire (8) agencée pour recevoir des données de programme banc (B), des jeux de données de configuration de caractérisation (F[k]) et des jeux de données de cas d'exécution (S), et un constructeur (4) agencé, pour chaque jeu de données de cas d'exécution (S), pour déterminer un jeu de données de configuration pire-cas du processeur (F) et un jeu de valeurs d'initialisation (V) à partir d'un jeu de données de cas d'exécution (S), et déterminer un temps d'exécution de référence (MO[i]) en exécutant le programme banc (B) selon le jeu de données de cas d'exécution (S) par le processeur (P) configure avec le jeu de données de configuration (F) avec le jeu de valeurs d'initialisation (V), l'ensemble des temps d'exécution de référence formant un jeu de temps d'exécution de référence (MO), le constructeur (4) étant en outre agencé, pour chaque jeu de données de configuration de caractérisation (F[k]), pour déterminer un jeu (Mk) de temps d'exécution de caractérisation (Mk[j]), chaque jeu (Mk) de temps d'exécution de caractérisation (Mk[j]) comprenant un nombre de temps d'exécution de caractérisation (Mk[j]) égal au nombre (T) d'éléments du jeu de temps d'exécution de référence (MO) et chaque temps d'exécution de caractérisation (Mk[j]) étant déterminé en exécutant le programme banc (B) par le processeur (P) configure avec un jeu de données de configuration de caractérisation (F[k]) et avec un jeu de valeurs d'initialisation (V) représentatif du programme banc (B) et du processeur (P), le constructeur (4) étant en outre agencé pour déterminer un jeu de coefficients de caractérisation (alph[k]) en appliquant un algorithme de détermination du maximum de vraisemblance entre le jeu de temps d'exécution de référence (MO) et les jeux de temps d'exécution de caractérisation (M[k]), le dispositif étant agencé pour retourner le jeu de données de configuration de caractérisation (F) et le jeu de coefficients de caractérisation (alph[k]). 25\n<CLM>\1\tDispositif selon la revendication 1, dans lequel le constructeur (4) est agencé pour calculer les coefficients de caractérisation (alph[k]) en déterminant, pour chaque jeu 26 (Mk) de temps d'exécution de caractérisation (Mk[j]), une pluralité d'estimateurs (z(0)(k)) dans lequel, pour chaque indice (j), la valeur est nulle ou vaut un si le temps d'exécution de caractérisation (Mk[j]) d'indice (j) est le plus proche du temps d'exécution de référence (MOU]) pour cet indice (j) parmi tous les temps d'exécution 5 de caractérisation (M1 [j]...MK[j]) pour cet indice (j), ainsi qu'une variance (sig(0)(k)) pour chaque jeu de temps d'exécution de caractérisation (Mk) à partir de la pluralité de vecteurs d'estimation (z(0)(k)) et des différences entre les temps d'exécution de référence (MO[i]) et les temps d'exécution de caractérisation (Mk[i]) d'indices identiques, 10 et ensuite en calculant itérativement à partir d'une fenêtre glissante comprenant pour chaque itération et pour chaque jeu (Mk) de temps d'exécution de caractérisation (Mk[j]) un nombre de temps d'exécutions égal au nombre (T) d'éléments du jeu de temps d'exécution de référence (MO) et qui sont les plus récents : - une pluralité de vecteurs d'estimation (z(k)(j+1)) pour l'itération courante, à partir 15 d'une pluralité de lois normales pour chaque jeu de temps d'exécution de caractérisation (Mk) qui ont en commun une variance tirée de celle de l'itération précédente (sig(k)(j-1)), et dont la moyenne est tirée à chaque fois d'un temps d'exécution de caractérisation (Mk[i]) sélectionné par la fenêtre glissante de l'itération courante, lesquelles loi normales sont évaluées chacune au temps 20 d'exécution du jeu de temps d'exécution de référence (MO[i]) qui correspond à celui à partir duquel est déterminé la moyenne, - une variance (sig(j)(k)) et un coefficient caractéristique (alph(j)(k)) pour chaque jeu de (Mk) de temps d'exécution de caractérisation (Mk[j]) à partir de l'estimateur (z(j)(k)) de l'itération courante, des différences entre les temps 25 d'exécution de référence (MO[i]) et les temps d'exécution de caractérisation (Mk[i]) d'indices identiques sélectionnés par la fenêtre glissante de l'itération courante, et le nombre (T) d'éléments du jeu de temps d'exécution de référence (MO), - un nouveau temps d'exécution de caractérisation (Mk[T+j]) pour chaque jeu de 30 temps d'exécution de caractérisation (Mk) en appliquant une loi normale dont la variance est celle calculée pour chaque jeu de temps d'exécution de caractérisation pour l'itération courante (sig(j)(k)) et la moyenne est le temps 27 d'exécution de caractérisation (Mk[T+j-1]) d'indice le plus élevé dans la fenêtre glissante, laquelle loi normale est évaluée au temps d'exécution du jeu de temps de référence (MO[T+j-1]) d'indice le plus élevé dans la fenêtre glissante, et un nouveau temps d'exécution de référence (MO[T+j]) à partir des nouveaux temps 5 d'exécution de caractérisation (Mk[T+j]) pour chaque jeu de temps d'exécution de caractérisation (Mk) et des coefficients caractéristiques (alph(j)(k)) pour chaque jeu de (Mk) de temps d'exécution de caractérisation (Mk[j]) pour l'itération courante, les itérations étant répétées jusqu'à ce qu'une condition portant sur le nombre 10 d'itérations ou sur une différence entre les coefficients de caractérisation (alph(j)(k)) pour chaque jeu de (Mk) de temps d'exécution de caractérisation d'itérations consécutives soit remplie, le jeu de coefficients de caractérisation (alph[k]) étant défini à partir des coefficients de caractérisation (alph(j)(k)) de la dernière itération. 15\n<CLM>\1\tDispositif selon la revendication 2, dans lequel le constructeur (4) est agencé pour calculer les estimateurs (z(j)(k)) selon la formule suivante : z(j)(k, i) = N(Mk(i),sig(j - 1)(k)2)(M0 (0) ET:il 1 N(Mk (i), sig(J - 1)(02)(/0(0) où chaque z(j)(k,i) est un élément d'indice i dans l'estimateur z(j)(k), N(m,$) désigne 20 la loi normale de moyenne m et de variance s, Mk(i) désigne le temps d'exécution d'indice i dans le k-ième jeu de temps d'exécution de caractérisation (Mk), sig(j-1)(k) est la variance pour le k-ième jeu de temps d'exécution de caractérisation (Mk) et Mo(i) désigne le temps d'exécution d'indice i dans le jeu de temps d'exécution de référence. 25\n<CLM>\1\tDispositif selon la revendication 2 ou 3, dans lequel le constructeur (4) est agencé pour calculer les variances (sig(j)(k)) selon la formule suivante : sig (j) (k) 2 = 1-j ET:Ej. (z(j)(k,* (MO(0 Mk(0)2) Lii=j vT+j-1 z(j)(k, où z(j)(k,i) est l'élément d'indice i dans l'estimateur z(j)(k) pour le k-ième jeu de 30 temps d'exécution de caractérisation, Mk(i) désigne le temps d'exécution d'indice i 28 dans le k-ième jeu de temps d'exécution de caractérisation (Mk), et Mo(i) désigne le temps d'exécution d'indice i dans le jeu de temps d'exécution de référence.\n<CLM>\1\tDispositif selon l'une des revendications 2 à 4, dans lequel le constructeur (4) est 5 agencé pour calculer les coefficients de caractérisation (alph(j)(k)) selon la formule suivante : alph(j)(k) / z(i)(1c, j)IT où z(j)(k,i) est l'élément d'indice i dans l'estimateur z(j)(k) pour le k-ième jeu de temps d'exécution de caractérisation et T est le nombre d'éléments du jeu de temps 10 d'exécution de référence MO.\n<CLM>\1\tDispositif selon l'une des revendications 2 à 5, dans lequel le constructeur (4) est agencé pour calculer les nouveaux temps d'exécution de caractérisation (Mk(T+j)) selon la formule suivante : 15 Mx (7' + /) = N(Mic (7' + - 1), si9(/ -\n<CLM>\1\t(k)2) (Ma + - 1)) où N(m,$) désigne la loi normale de moyenne m et de variance s, Mk(i) désigne le temps d'exécution d'indice i dans le k-ième jeu de temps d'exécution de caractérisation (Mk), et sig(j-1)(k) est la variance pour le k-ième jeu de temps d'exécution de caractérisation (Mk). 20\n<CLM>\1\tDispositif selon l'une des revendications 2 à 6, dans lequel le constructeur (4) est agencé pour calculer les nouveaux temps d'exécution de référence (MO[T+j]) selon la formule suivante : Mo(T + =alph(j)(k)Mk(T +1) k=1 25 où Mo(i) désigne le temps d'exécution d'indice i dans le jeu de temps d'exécution de référence, Mk(i) désigne le temps d'exécution d'indice i dans le k-ième jeu de temps d'exécution de caractérisation (Mk), et alph(j)(k) est le coefficient de caractérisation associé au k-ième jeu de temps d'exécution de caractérisation (Mk) dans la j-ième itération. 30 29\n<CLM>\1\tDispositif de calcul d'une base de temps d'exécution pire-cas d'un programme par un processeur (P) comprenant une mémoire (8) agencée pour recevoir des données de programme (TP), des jeux de données de configuration de caractérisation (F[k]) et un jeu de coefficients de caractérisation (alph[k]) obtenu par l'exécution du dispositif 5 selon l'une des revendications précédentes, et un modélisateur (6) agencé pour : - déterminer une pluralité de jeux de valeurs d'initialisation (V) pour chaque jeu de données de configuration de caractérisation (F[k]), le nombre (Ent(R/K)) de jeux de valeurs d'initialisation (V) étant le même pour tous les jeu de données de 10 configuration de caractérisation (F[k]), - déterminer une pluralité de temps d'exécutions (Mk[j]) en exécutant le programme (TP) par le processeur (P) configure avec chaque jeu de données de configuration de caractérisation (F[k]) et avec à chaque fois la pluralité de jeux de valeurs d'initialisation (V) correspondante, et 15 - ajouter dans une base de temps d'exécution pire-cas une pluralité de temps d'exécution pire-cas (MTP0[j+1]), qui sont chacun égaux à la somme pour chaque les jeux de données de configuration de caractérisation (F[k]) du produit d'un des temps d'exécutions (Mk[j]) par le coefficient de caractérisation (alph[k]) associé au jeu de données de configuration de caractérisation (F[k]) qui a permis d'obtenir 20 ce temps d'exécution (Mk[j]), de sorte que la base de temps d'exécution pire-cas comprend un nombre de temps d'exécution (MTPO[j+1]) égale au nombre de jeux de valeurs d'initialisation (V) pour chaque jeu de données de configuration de caractérisation (F[k]). 25\n<CLM>\1\tProcédé de caractérisation de temps d'exécution par un processeur (P), comprenant les opérations suivantes : a) recevoir des données de programme banc (B), des jeux de données de configuration de caractérisation (F[k]) et des jeux de données de cas d'exécution (S), 30 b) pour chaque jeu de données de cas d'exécution (S), déterminer un jeu de données de configuration pire-cas du processeur (F) et un jeu de valeurs d'initialisation (V) à partir d'un jeu de données de cas d'exécution (S), et déterminer un temps 30 d'exécution de référence (MO[i]) en exécutant le programme banc (B) selon le jeu de données de cas d'exécution (S) par le processeur (P) configuré avec le jeu de données de configuration (F) avec le jeu de valeurs d'initialisation (V), l'ensemble des temps d'exécution de référence formant un jeu de temps d'exécution de 5 référence (MO), c) pour chaque jeu de données de configuration de caractérisation (F[k]), déterminer un jeu (Mk) de temps d'exécution de caractérisation (Mk[j]), chaque jeu (Mk) de temps d'exécution de caractérisation (Mk[j]) comprenant un nombre de temps d'exécution de caractérisation (Mk[j]) égal au nombre (T) d'éléments du jeu de 10 temps d'exécution de référence (MO) et chaque temps d'exécution de caractérisation (Mk[j]) étant déterminé en exécutant le programme banc (B) par le processeur (P) configuré avec un jeu de données de configuration de caractérisation (F[k]) et avec un jeu de valeurs d'initialisation (V) représentatif du programme banc (B) et du processeur (P), 15 d) déterminer un jeu de coefficients de caractérisation (alph[k]) en appliquant un algorithme de détermination du maximum de vraisemblance entre le jeu de temps d'exécution de référence (MO) et les jeux de temps d'exécution de caractérisation (M[k]), et e) retourner le jeu de données de configuration de caractérisation (F) et le jeu de 20 coefficients de caractérisation (alph[k]).\n<CLM>\1\tProcédé de calcul d'une base de temps d'exécution pire- d'un programme par un processeur (P) comprenant les opérations suivantes : a) recevoir des données de programme (TP), des jeux de données de configuration 25 de caractérisation (F[k]) et un jeu de coefficients de caractérisation (alph[k]) obtenu par l'exécution du dispositif selon l'une des revendications 1 à 7 ou le procédé selon la revendication 9, b) déterminer une pluralité de jeux de valeurs d'initialisation (V) pour chaque jeu de données de configuration de caractérisation (F[k]), le nombre (Ent(R/K)) de jeux 30 de valeurs d'initialisation (V) étant le même pour tous les jeu de données de configuration de caractérisation (F[k]), 31 c) déterminer une pluralité de temps d'exécutions (Mk[j]) en exécutant le programme (TP) par le processeur (P) configure avec chaque jeu de données de configuration de caractérisation (F[k]) et avec à chaque fois la pluralité de jeux de valeurs d'initialisation (V) correspondante, et 5 d) ajouter dans une base de temps d'exécution pire-cas une pluralité de temps d'exécution pire-cas (MTPO[j+1]), qui sont chacun égaux à la somme pour chaque les jeux de données de configuration de caractérisation (F[k]) du produit d'un des temps d'exécutions (Mk[j]) par le coefficient de caractérisation (alph[k]) associé au jeu de données de configuration de caractérisation (F[k]) qui a permis d'obtenir 10 ce temps d'exécution (Mk[j]), de sorte que la base de temps d'exécution pire-cas comprend un nombre de temps d'exécution (MTPO[j+1]) égale au nombre de jeux de valeurs d'initialisation (V) pour chaque jeu de données de configuration de caractérisation (F [k]).