FR3112635A1 - Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation - Google Patents

Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation Download PDF

Info

Publication number
FR3112635A1
FR3112635A1 FR2007519A FR2007519A FR3112635A1 FR 3112635 A1 FR3112635 A1 FR 3112635A1 FR 2007519 A FR2007519 A FR 2007519A FR 2007519 A FR2007519 A FR 2007519A FR 3112635 A1 FR3112635 A1 FR 3112635A1
Authority
FR
France
Prior art keywords
design
trace
power consumption
simulation
emulation
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.)
Granted
Application number
FR2007519A
Other languages
English (en)
Other versions
FR3112635B1 (fr
Inventor
Caaliph ANDRIAMISAINA
Pierre-Guillaume LEGUAY
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.)
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
Original Assignee
Commissariat a lEnergie Atomique CEA
Commissariat a lEnergie Atomique et aux Energies Alternatives CEA
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 Commissariat a lEnergie Atomique CEA, Commissariat a lEnergie Atomique et aux Energies Alternatives CEA filed Critical Commissariat a lEnergie Atomique CEA
Priority to FR2007519A priority Critical patent/FR3112635B1/fr
Publication of FR3112635A1 publication Critical patent/FR3112635A1/fr
Application granted granted Critical
Publication of FR3112635B1 publication Critical patent/FR3112635B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Data Mining & Analysis (AREA)
  • Medical Informatics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

L’invention porte sur un procédé mis en œuvre par ordinateur de conception d’un système sur puce. Ce procédé comprend la détermination d’un modèle de consommation de puissance dudit système (Mod) à partir de données d’apprentissage (Dapp) chacune constituée : - d’une trace, dite d’apprentissage (Tapp), constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système dite d’apprentissage (Capp), d’un ensemble de valeurs de signaux dits essentielles dudit système (LSess), et - d’une évaluation de la consommation de puissance de ladite conception d’apprentissage (Capp) basée sur la trace d’apprentissage (Tapp). - Selon l’invention, pour constituer une trace d’apprentissage l’ensemble des valeurs des signaux essentiels n’est enregistré que sur certaines fenêtres temporelles (LW) de ladite simulation ou émulation. Figure pour l’abrégé : Figure 1.

Description

Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation
Le domaine de l’invention est celui de la conception par ordinateur de systèmes sur puce. L’invention concerne plus particulièrement les méthodes d’analyse de consommation de puissance de systèmes sur puce en cours de développement qui exploitent un modèle construit par apprentissage machine.
L’analyse de la consommation de puissance est une étape importante durant le développement de logiciels et de matériels. Au niveau logiciel, il est par exemple nécessaire d’instrumenter un système sur puce à des fins de gestion de la consommation de puissance dans le but d’augmenter la durée de vie des batteries. L’analyse de consommation de puissance est aussi utilisée lors de l’étape de développement matériel d’une architecture numérique afin d’apporter au plus tôt des modifications permettant à cette architecture de moins consommer.
Avec la complexité grandissante des architectures numériques et des applications exécutées sur ces architectures, l’analyse de consommation prend beaucoup de temps (plusieurs semaines ou mois) car elle dépend d’une longue trace de simulation correspondant à l’enregistrement d’une grande quantité de données. Ainsi, pour accélérer cette étape et comme par exemple décrit dans l’article de Y. Zhou, H. Ren, Y. Zhang, B. Keller, B. Khailany et Z. Zhang, intitulé «PRIMAL: Power Inference using Machine Learning,»Design Automation Conference,pp. 1-6, 2019, il est avantageux d’avoir recours à un modèle de consommation de puissance de l’architecture numérique construit par apprentissage machine.
La création d’un modèle de consommation de puissance par apprentissage machine se décompose en deux étapes.
La première étape consiste en la génération de données d’apprentissage chacune constituée d’une trace de simulation ou d’émulation d’une conception possible (on parle également d’architecture ou dedesign) du système sur puce et d’une estimation de consommation de puissance d’une telle conception. La trace de simulation/émulation est obtenue à l’issue d’une simulation ou d’une émulation de ladite conception, avec des outils de simulation ou d’émulation du commerce. Cette trace de simulation/émulation est constituée par l’enregistrement, lors de ladite simulation ou émulation, d’un ensemble de valeurs de signaux du système dont une liste est pour cela définie. En fonction du nombre de signaux dont les valeurs sont à enregistrer, de la complexité du système et/ou de l’application exécutée sur ce système, l’étape de simulation/émulation peut être très longue. La consommation de puissance est quant à elle estimée à l’aide d’outils, très précis, d’analyse de consommation du commerce qui effectuent par exemple cette analyse à partir d’une description au niveau portes logiques de ladite conception et de la trace de simulation/émulation. Le temps d’estimation de la consommation de puissance peut être très élevé lorsque la conception est complexe et/ou lorsque la trace de simulation/émulation est grande.
La deuxième étape consiste en la modélisation elle-même qui peut être faite à l’aide d’une régression linéaire, d’un réseau de neurones convolutionnels ou d’autres algorithmes d’apprentissage. En fonction de la quantité de données utilisées lors de l’apprentissage, cette étape peut aussi être très consommatrice en temps.
Une fois le modèle construit, seule est enregistrée une trace de simulation/émulation contenant les valeurs des signaux du modèle d’une conception du système à évaluer. Cette trace de simulation/émulation et le modèle précédemment construit permettent alors de fournir une estimation de la consommation de puissance de la conception à évaluer, sans qu’il soit alors nécessaire de mener une analyse de consommation de puissance en tant que telle.
Pour que le modèle généré soit fiable il est nécessaire d’enregistrer une quantité importante de valeurs de signaux ce qui engendre une taille de trace de simulation/émulation pouvant aller jusqu’à quelques téraoctets. Par conséquent, la construction d’un tel modèle devient le nouveau goulot d’étranglement.
L’invention a pour objectif d’accélérer la modélisation de la consommation de puissance d’un système sur puce tout en générant un modèle précis.
A cet effet, l’invention propose un procédé mis en œuvre par ordinateur de conception d’un système sur puce, comprenant la détermination d’un modèle de consommation de puissance dudit système à partir de données d’apprentissage. Chaque donnée d’apprentissage comprend :
une trace, dite d’apprentissage, constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système, d’un ensemble de valeurs de signaux dits essentiels dudit système ; et
une évaluation de la consommation de puissance de ladite conception basée sur la trace d’apprentissage.
Dans ce procédé, pour constituer une trace d’apprentissage l’ensemble de valeurs des signaux essentiels n’est enregistré que sur certaines fenêtres temporelles de ladite simulation ou émulation.
Certains aspects préférés mais non limitatifs de ce procédé sont les suivants :
- il comprend une étape de sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré, ladite étape de sélection comprenant :
- l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception, d’un ensemble de valeurs de signaux dits de sélection dudit système pour constituer une trace dite de sélection ;
- le découpage de la trace de sélection en une pluralité de fenêtres temporelles successives ;
- l’identification d’ensembles de fenêtres temporelles similaires dans la pluralité de fenêtres temporelles successives ;
- pour chaque ensemble de fenêtres temporelles similaires, la sélection d’une fenêtre représentative de l’ensemble, ladite fenêtre représentative constituant une fenêtre sur laquelle l’ensemble des valeurs des signaux essentiels de la trace d’apprentissage est enregistré ;
- chacune des fenêtres temporelles successives comprend pour chacun desdits signaux de sélection une série temporelle d’instances du signal de sélection et l’identification d’ensembles de fenêtres temporelles similaires comprend :
- la transformation de chaque série temporelle en une donnée non temporelle, chacune des fenêtres temporelles successives étant représentées par un ensemble de données non temporelles,
- un partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires en fonction d’une similarité de leur représentation par l’ensemble de données non temporelles ;
- la donnée non temporelle dans laquelle une série temporelle d’instances d’un signal de sélection est transformée correspond à la somme de chaque instance de la série temporelle ;
- le partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires est un partitionnement du type à k-moyennes ;
- la sélection d’une fenêtre représentative d’un ensemble de fenêtres similaires comprend la sélection de la fenêtre la plus proche du centroïde des fenêtres similaires dudit ensemble ;
- le nombre de signaux de sélection est inférieur au nombre de signaux essentiels.
- l’enregistrement de l’ensemble de valeurs des signaux de sélection comprend, de préférence consiste en, l’enregistrement de valeurs de compteurs de performance matérielle ;
- l’évaluation de la consommation de puissance de ladite conception exploite une description de ladite conception et la trace d’apprentissage constituée lors de la simulation ou de l’émulation de ladite conception ;
- la description de ladite conception est une description au niveau transfert de registres ;
- il comprend une étape de synthèse logique qui convertit une description au niveau transferts de registres de ladite conception en ladite description au niveau portes logiques ;
- la détermination du modèle de consommation de puissance à partir des données d’apprentissage comprend une réduction de dimensionnalité suivie d’une régression linéaire ;
- la réduction de dimensionnalité comprend une analyse en composantes principales.
- il comprend comprenant une estimation de la consommation de puissance de ladite conception, ladite estimation étant basée sur une trace constituée par l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception, d’un ensemble de valeurs de signaux dits d’évaluation dudit système et sur le modèle de consommation de puissance.
D'autres aspects, buts, avantages et caractéristiques de l’invention apparaîtront mieux à la lecture de la description détaillée suivante de formes de réalisation préférées de celle-ci, donnée à titre d'exemple non limitatif et faite en référence aux dessins annexés sur lesquels :
la figure 1 est un schéma représentant la génération de données d’apprentissage destinées à être utilisées lors de la détermination par apprentissage machine d’un modèle de consommation de puissance d’une conception possible d’un système sur puce en cours de développement ;
la figure 2 est un schéma représentant un exemple de réalisation possible de la sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré ;
la figure 3 est un schéma représentant l’utilisation du modèle de consommation de puissance pour estimer la consommation de puissance d’une conception en cours d’évaluation du système sur puce.
EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS
L’invention a pour cadre la conception par ordinateur d’un système sur puce. Cette conception intègre l’estimation de la consommation de puissance du système sur puce pour différents applicatifs. L’invention s’inscrit plus particulièrement dans les techniques qui, pour accélérer cette estimation, élaborent et exploitent un modèle de consommation de puissance dudit système.
Dans ce cadre, l’invention porte plus particulièrement sur un procédé permettant d’accélérer la modélisation par apprentissage de la consommation de puissance des architectures numériques.
Comme représenté sur la figure 1, ce procédé comprend la détermination d’un modèle de consommation de puissance Mod d’un système sur puce à partir de données d’apprentissage Dapp chacune constituée :
- d’une trace, dite d’apprentissage Tapp, constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système CON, d’un ensemble de valeurs de signaux dits essentiels dudit système LSess, et
- d’une évaluation Papp de la consommation de puissance de ladite conception CON basée sur la trace d’apprentissage Tapp.
Les données d’apprentissage Dapp sont plus particulièrement générées dans un bloc référencé 10 sur la figure 1. On retrouve dans ce bloc 10 de génération des données d’apprentissage une liste de signaux essentiels LSess de la conception CON. Ces signaux essentiels de la conception CON correspondent par exemple aux registres, aux entrées/sorties et aux signaux combinatoires non supprimés lors d’une étape de synthèse logique de la conception CON. A titre purement illustratif, dans un exemple de réalisation particulier de l’invention ces signaux essentiels sont au nombre de 60487.
Cette liste de signaux essentiels LSess est fournie à un simulateur ou à un émulateur SIM/EMU de la conception CON. Le simulateur peut être un outil de simulation qui exploite une description au niveau transferts de registres (RTL pour « Register Transfer Level ») de ladite conception CON. Dans un exemple de réalisation de l’invention, l’émulateur ZeBu® de la société Synopsys est utilisé. Le simulateur/émulateur SIM/EMU va former la trace d’apprentissage Tapp constituée par l’enregistrement, lors de la simulation ou de l’émulation de la conception CON, de l’ensemble de valeurs des signaux essentiels dudit système LSess. La trace ainsi constituée peut être enregistrée sous un format VCD (« Value Change Dump ») ou FSDB (« Fast Signal Data Base »).
L’évaluation de la consommation de puissance Papp de la conception CON est quant à elle générée par un outil d’analyse de consommation PWest, par exemple l’outil PrimeTime PX, l’outil PrimePower ou encore l’outil ZeBu® Power Analyzer, tous proposés par la société Synopsys.
Cet outil PWest exploite la trace d’apprentissage Tapp et une description de la conception CON. La description de ladite conception CON peut être une description au niveau portes logiques. Si nécessaire, une étape de synthèse logique SynLog peut être mise œuvre afin de convertir une description au niveau transferts de registres de ladite conception CON en ladite description au niveau portes logiques.
Les données d’apprentissage Dapp sont exploitées pour déterminer par apprentissage machine le modèle de consommation de puissance Mod. Une mise en forme de la trace d’apprentissage peut être réalisée qui consiste à générer une matrice d’activité, à savoir une matrice binaire dont les coefficients (0 ou 1) traduisent le changement de valeur d’un signal essentiel du cycle précédent au cycle courant. Ainsi, un changement de valeur peut correspondre à un coefficient égal à 1 et une absence de changement de valeur à un coefficient égal à 0.
L’apprentissage machine est basée sur les méthodes d’apprentissage connues, telles que la régression linéaire, la régression linéaire combinée avec de la réduction de dimensionnalité par exemple au moyen d’une analyse en composantes principales (PCA pour « Principal Component Analysis »), les réseaux de neurones convolutionnels, les arbres de décision, etc.
Dans un mode de réalisation possible, un modèle linéaire est recherché, par exemple au moyen d’une régression linéaire, qui relie la consommation de puissance P aux activités X des signaux essentiels selon P=βX avec β des coefficients à déterminer lors de la caractérisation du modèle de consommation de puissance.
Dans un mode de réalisation préférentiel, la détermination du modèle de consommation de puissance Mod intègre une réduction de dimensionnalité de manière à créer un modèle qui n’exploite parmi les signaux essentiels que des signaux pertinents en matière de consommation. Dans ce cadre, un modèle linéaire peut également être recherché, par exemple au moyen d’une réduction de dimensionnalité suivie d’une régression linéaire pour résoudre l’équation P=βX. La réduction de dimensionnalité peut par exemple être obtenue au moyen d’une analyse en composantes principales. A titre illustratif, dans un exemple de réalisation de l’invention, les seuls signaux essentiels pertinents en matière de consommation ne représentent qu’environ 2% des signaux essentiels. Une fois le modèle déterminé, la consommation de puissance peut alors être estimée selon l’équation P’=β’X’ avec X’ les activités de signaux dits d’évaluation qui correspondent aux signaux utilisés dans le modèle de consommation de puissance, en l’occurrence les seuls signaux essentiels pertinents en matière de consommation.
Selon l’invention, la taille des traces d’apprentissage Tapp est réduite. Pour cela, lors de la constitution d’une trace d’apprentissage Tapp, l’ensemble de valeurs de signaux essentiels n’est enregistré que sur certaines fenêtres temporelles de ladite simulation ou émulation SIM/EMU de la conception CON. Une liste de fenêtres LW est pour cela fournie au bloc 10 de génération des données d’apprentissage, plus particulièrement au simulateur/émulateur SIM/EMU. L’enregistrement de l’ensemble de valeurs de signaux essentiels sur une liste de fenêtres réduite permet d’accélérer l’étape de simulation ou émulation SIM/EMU de la conception CON et, de là, la constitution de la trace d’apprentissage. L’utilisation d’une trace d’apprentissage réduite permet d’accélérer fortement l’évaluation de la consommation de puissance Papp de la conception d’apprentissage Capp réalisée par l’outil d’analyse de consommation PWest. L’accélération conjointe de l’étape de simulation/émulation et de l’étape d’évaluation de la consommation de puissance permetin fined’accélérer l’étape de détermination du modèle de consommation de puissance Mod.
Cette liste LW est plus particulièrement fournie au bloc 10 par un bloc 20 de sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré. D’une manière générale, ce bloc 20 vient générer une trace de simulation/émulation de la conception CON constituée par l’enregistrement de valeurs d’un faible nombre de signaux du système sur puce en cours de développement, ces signaux étant fortement corrélées aux différents états de fonctionnement dudit système. Puis les redondances dans cette trace de simulation/émulation sont identifiées et éliminées. Seules des fenêtres temporelles uniques caractéristiques de l’activité du système sur puce sont alors conservées pour former la liste LW.
Dans un mode de réalisation possible, le procédé selon l’invention comprend la mise en œuvre dans le bloc 20 d’une étape de sélection, manuelle ou automatique, des fenêtres temporelles LW sur lesquelles l’ensemble de valeurs des signaux essentiels LSess d’une trace d’apprentissage Tapp de la conception CON est enregistré. Ladite étape de sélection comprend l’enregistrement, lors d’une simulation ou d’une émulation de la conception CON, d’un ensemble de valeurs de signaux dits de sélection dudit système LSsel pour constituer une trace dite de sélection Tsel.
On retrouve ainsi dans ce bloc 20 une liste des signaux de sélection LSsel de la conception CON. Ces signaux de sélection sont de préférence fortement corrélés au fonctionnement de la conception CON et en nombre inférieur au nombre de signaux essentiels.
Dans un mode de réalisation préférentiel, l’ensemble de valeurs des signaux de sélection comprend, de préférence consiste en, un ensemble de valeurs de compteurs de performance matérielle (HPC pour « Hardware Performance Counter », ces compteurs étant également désignés comme des moniteurs de performance matérielle HPM pour « Hardware Performance Monitors ») qui permettent d’observer la performance d’une application exécutée sur un processeur.
Dans une réalisation de l’invention basée sur le processeur RISC-V Rocket core, les signaux de sélection sont constitués de moniteurs HPM qui, en faible nombre, permettent d’avoir des informations telles que le nombre d’instructions exécutées par cycles et leur type, le nombre d’accès aux caches, etc. A titre d’exemple illustratif, les 12 HPM suivants ont pu être retenus dans la liste des signaux de sélection LSsel :
Type d’évènements HPM
Mémoire et système Défaut de cache de données/Accès MMIO (Data cache miss/MMIO access)
Présence en cache de données (Data cache hits)
Présence en cache d’instructions (Instruction cache hits)
Instructions Chargement de donnée entière (Integer load)
Stockage de donnée entière (Integer store)
Division de donnée entière (Integer division)
Opération arithmétique de donnée entière (Integer arithmetic)
Microarchitecture Branche conditionnelle (Conditional branch)
Mauvaise prédiction de direction de branchement (Branch direction misprediction)
Mauvaise prediction de saut de branchement (Branch jump to target misprediction)
Vidage du pipeline (Pipeline flush)
Verrouillage de multiplication entière (Integer multiply interlock)
Cette liste de signaux de sélection LSsel est fournie au simulateur ou à l’émulateur SIM/EMU lors de la simulation ou émulation de la conceptionCON. Le simulateur/émulateur SIM/EMU va former la trace de sélection Tsel constituée par l’enregistrement, lors de la simulation ou de l’émulation de la conception CON, de l’ensemble de valeurs des signaux de sélection LSsel. La trace ainsi constituée peut être enregistrée sous un format VCD (« Value Change Dump ») ou FSDB (« Fast Signal Data Base »).
L’étape de sélection des fenêtres temporelles LW peut se poursuivre de manière à identifier et éliminer les redondances dans la trace de sélection Tsel par une opération d’analyse ELIM de la trace de sélection. En référence à la figure 2, cette opération d’analyse peut comprendre :
- le découpage WD de la trace de sélection en une pluralité de fenêtres temporelles successives, typiquement en fenêtres de même taille, par exemple en fenêtres de 100 cycles;
- l’identification TRANS, CLUST d’ensembles de fenêtres temporelles similaires dans la pluralité de fenêtres temporelles successives ;
- pour chaque ensemble de fenêtres temporelles similaires, la sélection SLC d’une fenêtre représentative de l’ensemble, ladite fenêtre représentative étant intégrée à la liste LW comme une fenêtre sur laquelle l’ensemble de valeurs des signaux essentiels de la trace d’apprentissage est enregistré.
Chacune des fenêtres temporelles successives comprend pour, chacun desdits signaux de sélection, une série temporelle d’instances d’un signal de sélection, où chaque instance représentant la valeur du signal de sélectionjau cyclekest notéee k ,j .
Les algorithmes pour identifier des similitudes entre des séries temporelles ont une complexité très élevée et sont donc très gourmands en calcul contrairement aux algorithmes utilisés pour identifier des similitudes entre données non temporelles. Ainsi dans un mode de réalisation privilégié de l’invention, l’identification d’ensembles de fenêtres temporelles similaires comprend :
- la transformation TRANS de chaque série temporelle en une donnée non temporelle, chacune des fenêtres temporelles successives étant représentées par un ensemble des données non temporelles,
- un partitionnement CLUST des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires en fonction d’une similarité de leur représentation par l’ensemble de données non temporelles.
La donnée non temporelle dans laquelle une série temporelle d’instances d’un signal de sélection est transformée peut correspondre à la somme de chaque instance de la série temporelle. Avecwsreprésentant la taille d’une fenêtre en nombre de cycles, la donnée non temporelle relative à la série temporelle des valeurs d’un signal de sélectionjpour la fenêtreis’exprime selon . Ainsi, après transformation des séries temporelles, chaque fenêtreise retrouve représentée par un vecteur de données non temporelles avec m le nombre de signaux de sélection. Le partitionnement CLUST est alors mis en œuvre pour identifier des fenêtres présentant des vecteurs de données non temporelles similaires.
Dans un mode de réalisation possible, le partitionnement des fenêtres temporelles successives en ensembles de fenêtres temporelles similaires est un partitionnement du type à k-moyennes. L’invention n’est toutefois aucunement limitée à ce type d’algorithme, d’autres algorithmes de partitionnement pouvant parfaitement être mis en œuvre comme par exemple l’algorithme de classification ascendante hiérarchique (CAH) ou le k-médoïdes.
Lorsqu’un partitionnement du type à k-moyennes est utilisé, la sélection d’une fenêtre représentative d’un ensemble de fenêtres similaires peut comprendre la sélection de la fenêtre la plus proche (par exemple au sens de la distance euclidienne ou de la distance de Manhattan) du centroïde des fenêtres similaires dudit ensemble. Lorsqu’un partitionnement du type à k-médoïdes est utilisé, la fenêtre représentative peut correspondre au médoïde qui est la fenêtre la plus centrale d’une partition.
Dans un exemple de réalisation de l’invention, l’exploitation de la liste LW pour réduire la taille de la trace d’apprentissage conduit, dans le cas d’un démarrage d’un système d’exploitation Linux sur le processeur RISC-V Rocket core, à ce que cette trace d’apprentissage présente une taille de 55 Mo là où elle présenterait une taille de 161 Go en l’absence de mise en œuvre de l’invention. Un taux de compression d’environ 3000 est ainsi constaté.
Des résultats du temps d’exécution nécessaire pour mener différentes étapes de la détermination d’un modèle de consommation de puissance sont donnés ci-dessous à titre d’exemples, en venant comparer mise en œuvre de l’invention (« Avec fenêtrage ») et absence de mise en œuvre de l’invention (« Sans fenêtrage ») toujours dans le cadre d’un démarrage d’un système d’exploitation Linux.
Etapes Temps d’exécution (secondes)
Sans fenêtrage Avec fenêtrage
Génération de la trace de sélection - 994
Sélection des fenêtres - 900
Génération de la trace d’apprentissage 8354 197
Génération de la donnée d’apprentissage Impossible à générer 85
Création du modèle de consommation de puissance Infaisable 115
Total Infaisable 2291
On constate ainsi que 38 minutes seulement sont nécessaires pour élaborer le modèle de consommation de puissance.
On rappelle en outre que ce modèle peut ne reposer que sur des signaux essentiels pertinents en matière de consommation qui ne représentent qu’environ 2% des signaux essentiels. Pour autant le modèle présente une précision d’environ 95%.
On a représenté sur la figure 3 un schéma représentant l’utilisation du modèle de consommation de puissance Mod pour estimer la consommation de puissance de la conception CON. Cette estimation est basée sur une trace Teva constituée par l’enregistrement, lors d’une simulation ou d’une émulation SIM/EMU de ladite conception CON, d’un ensemble de valeurs de signaux dits d’évaluation dudit système (définis dans une liste LSeva) et sur le modèle de consommation de puissance Mod. Les signaux d’évaluation correspondent aux signaux utilisés dans le modèle de consommation de puissance Mod.
L’invention n’est pas limitée au procédé tel que précédemment décrit, mais s’étend également à un produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre de ce procédé lorsque ledit programme est exécuté sur un ordinateur.

Claims (15)

  1. Procédé mis en œuvre par ordinateur de conception d’un système sur puce, comprenant la détermination d’un modèle de consommation de puissance dudit système (Mod) à partir de données d’apprentissage (Dapp) chacune constituée :
    • d’une trace, dite d’apprentissage (Tapp), constituée par l’enregistrement, lors d’une simulation ou d’une émulation d’une conception possible dudit système (CON), d’un ensemble de valeurs de signaux dits essentiels dudit système (LSess) ; et
    • d’une évaluation de la consommation de puissance de ladite conception (CON) basée sur la trace d’apprentissage (Tapp) ;
    caractérisé en ce que pour constituer une trace d’apprentissage l’ensemble de valeurs des signaux essentiels n’est enregistré que sur certaines fenêtres temporelles (LW) de ladite simulation ou émulation.
  2. Procédé selon la revendication 1, comprenant une étape de sélection des fenêtres temporelles sur lesquelles l’ensemble de valeurs des signaux essentiels d’une trace d’apprentissage est enregistré, ladite étape de sélection comprenant :
    • l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception (CON), d’un ensemble de valeurs de signaux dits de sélection dudit système (LSsel) pour constituer une trace dite de sélection (Tsel) ;
    • le découpage de la trace de sélection en une pluralité de fenêtres temporelles successives ;
    • l’identification d’ensembles de fenêtres temporelles similaires dans la pluralité de fenêtres temporelles successives ;
    • pour chaque ensemble de fenêtres temporelles similaires, la sélection d’une fenêtre représentative de l’ensemble, ladite fenêtre représentative constituant une fenêtre sur laquelle l’ensemble des valeurs des signaux essentiels de la trace d’apprentissage est enregistré.
  3. Procédé selon la revendication 2, dans lequel chacune des fenêtres temporelles successives comprend pour chacun desdits signaux de sélection une série temporelle d’instances du signal de sélection et dans lequel l’identification d’ensembles de fenêtres temporelles similaires comprend :
    • la transformation de chaque série temporelle en une donnée non temporelle, chacune des fenêtres temporelles successives étant représentées par un ensemble de données non temporelles,
    • un partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires en fonction d’une similarité de leur représentation par l’ensemble de données non temporelles.
  4. Procédé selon la revendication 3, dans lequel la donnée non temporelle dans laquelle une série temporelle d’instances d’un signal de sélection est transformée correspond à la somme de chaque instance de la série temporelle.
  5. Procédé selon l’une des revendications 3 et 4, dans lequel le partitionnement des fenêtres temporelles successives en lesdits ensembles de fenêtres temporelles similaires est un partitionnement du type à k-moyennes.
  6. Procédé selon la revendication 5, dans lequel la sélection d’une fenêtre représentative d’un ensemble de fenêtres similaires comprend la sélection de la fenêtre la plus proche du centroïde des fenêtres similaires dudit ensemble.
  7. Procédé selon l’une des revendications 2 à 6, dans lequel le nombre de signaux de sélection est inférieur au nombre de signaux essentiels.
  8. Procédé selon la revendication 7, dans lequel l’enregistrement de l’ensemble de valeurs des signaux de sélection comprend, de préférence consiste en, l’enregistrement de valeurs de compteurs de performance matérielle.
  9. Procédé selon l’une des revendications 1 à 7, dans lequel l’évaluation de la consommation de puissance de ladite conception (CON) exploite une description de ladite conception et la trace d’apprentissage (Tapp) constituée lors de la simulation ou de l’émulation de ladite conception.
  10. Procédé selon la revendication 9, dans lequel la description de ladite conception est une description au niveau transfert de registres.
  11. Procédé selon la revendication 10, comprenant une étape de synthèse logique (SynLog) qui convertit une description au niveau transferts de registres de ladite conception en ladite description au niveau portes logiques.
  12. Procédé selon l’une des revendications 1 à 11, dans lequel la détermination du modèle de consommation de puissance à partir des données d’apprentissage comprend une réduction de dimensionnalité suivie d’une régression linéaire.
  13. Procédé selon la revendication 12, dans lequel la réduction de dimensionnalité comprend une analyse en composantes principales.
  14. Procédé selon l’une des revendications 1 à 13, comprenant en outre une estimation de la consommation de puissance de ladite conception (CON), ladite estimation étant basée sur une trace (Teva) constituée par l’enregistrement, lors d’une simulation ou d’une émulation de ladite conception, d’un ensemble de valeurs de signaux dits d’évaluation dudit système (LSeva) et sur le modèle de consommation de puissance (Mod).
  15. Produit programme d’ordinateur comprenant des instructions de code de programme pour la mise en œuvre du procédé selon l’une des revendications 1 à 14 lorsque ledit programme est exécuté sur un ordinateur.
FR2007519A 2020-07-17 2020-07-17 Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation Active FR3112635B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2007519A FR3112635B1 (fr) 2020-07-17 2020-07-17 Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2007519 2020-07-17
FR2007519A FR3112635B1 (fr) 2020-07-17 2020-07-17 Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation

Publications (2)

Publication Number Publication Date
FR3112635A1 true FR3112635A1 (fr) 2022-01-21
FR3112635B1 FR3112635B1 (fr) 2024-01-19

Family

ID=73793285

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2007519A Active FR3112635B1 (fr) 2020-07-17 2020-07-17 Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation

Country Status (1)

Country Link
FR (1) FR3112635B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118379916A (zh) * 2024-06-25 2024-07-23 浙江大成工程项目管理有限公司 一种基于用户侧的能效诊断仿真培训系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
ISCI C ET AL: "Identifying program power phase behavior using power vectors", WORKLOAD CHARACTERIZATION, 2003. WWC-6. 2003 IEEE INTERNATIONAL WORKSH OP ON OCT. 27, 2003, PISCATAWAY, NJ, USA,IEEE, 1 January 2003 (2003-01-01), pages 108 - 118, XP010670880, ISBN: 978-0-7803-8229-9, DOI: 10.1109/WWC.2003.1249062 *
SAGI MARK ET AL: "Multicore Power Estimation using Independent Component Analysis Based Modeling", 2019 IEEE 13TH INTERNATIONAL SYMPOSIUM ON EMBEDDED MULTICORE/MANY-CORE SYSTEMS-ON-CHIP (MCSOC), IEEE, 1 October 2019 (2019-10-01), pages 38 - 45, XP033662663, DOI: 10.1109/MCSOC.2019.00013 *
TODI R: "SPEClite: using representative samples to reduce SPEC CPU2000 workload", WORKLOAD CHARACTERIZATION, 2001. WWC-4. 2001 IEEE INTERNATIONAL WORKSH OP ON 2 DEC. 2001, PISCATAWAY, NJ, USA,IEEE, 1 January 2001 (2001-01-01), pages 15 - 23, XP010583987, ISBN: 978-0-7803-7315-0 *
Y. ZHOUH. RENY. ZHANGB. KELLERB. KHAILANYZ. ZHANG: "PRIMAL: Power Inference using Machine Learning", DESIGN AUTOMATION CONFERENCE, 2019, pages 1 - 6, XP033601465

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN118379916A (zh) * 2024-06-25 2024-07-23 浙江大成工程项目管理有限公司 一种基于用户侧的能效诊断仿真培训系统

Also Published As

Publication number Publication date
FR3112635B1 (fr) 2024-01-19

Similar Documents

Publication Publication Date Title
US10846643B2 (en) Method and system for predicting task completion of a time period based on task completion rates and data trend of prior time periods in view of attributes of tasks using machine learning models
EP3155608B1 (fr) Procedé de suivi d'une partition musicale et modélisation associée
Liu et al. A semi-supervised and inductive embedding model for churn prediction of large-scale mobile games
US20200285960A1 (en) Effective user modeling with time-aware based binary hashing
JP2018526710A (ja) 情報推薦方法および情報推薦装置
CN111369299B (zh) 识别的方法、装置、设备及计算机可读存储介质
CN111258593B (zh) 应用程序预测模型的建立方法、装置、存储介质及终端
US20210279606A1 (en) Automatic detection and association of new attributes with entities in knowledge bases
US20210374582A1 (en) Enhanced Techniques For Bias Analysis
FR2966618A1 (fr) Traduction automatique utilisant un echantillonnage et des alignements de biphrases qui se recoupent
Evans Uncertainty and error
CN111553729A (zh) 一种电商用户画像数据生成方法、装置和计算设备
CN111973996A (zh) 一种游戏资源投放方法和装置
CN112148552A (zh) 用于选择代码数据结构类型的方法、系统、制品和装置
CN117235586B (zh) 酒店客户画像构建方法、系统、电子设备及存储介质
CN114514537A (zh) 用于高效数据协同聚类的协同信息生成对抗网络
US11907962B2 (en) Estimating conversions
FR3112635A1 (fr) Procédé de modélisation de la consommation de puissance d’un système sur puce avec réduction de trace de simulation/émulation
Ouyang et al. Modeling and forecasting the popularity evolution of mobile apps: A multivariate hawkes process approach
AU2021251463B2 (en) Generating performance predictions with uncertainty intervals
FR3082962A1 (fr) Determination automatique et auto-optimisee des parametres d'execution d'une application logicielle sur une plateforme de traitement de l'information
RU2715024C1 (ru) Способ отладки обученной рекуррентной нейронной сети
WO2019160691A1 (fr) Système et procédé d'acquisition d'utilisateur pour une application client
US20230063608A1 (en) Measure gui response time
EP4252162A1 (fr) Procédé d'évaluation de la performance d'un algorithme de prédiction et dispositifs associés

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20220121

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5