3 research outputs found

    Verification of Control Properties in the Polyhedral Model

    Get PDF
    We propose a combination of heuristic methods to prove properties of control signals for regular systems defined by means of affine recurrence equations (AREs). We benefit from the intrinsic regularity of the polyhedral model to handle parameterized systems in a symbolic way. Despite some restrictions on the form of equations we are able to handle, our techniques apply well for a useful set of properties and led us to discover some errors in actual systems. These techniques have been implemented in the MMAlpha environment

    Parallélisme des nids de boucles pour l’optimisation du temps d’exécution et de la taille du code

    Get PDF
    The real time implementation algorithms always include nested loops which require important execution times. Thus, several nested loop parallelism techniques have been proposed with the aim of decreasing their execution times. These techniques can be classified in terms of granularity, which are the iteration level parallelism and the instruction level parallelism. In the case of the instruction level parallelism, the techniques aim to achieve a full parallelism. However, the loop carried dependencies implies shifting instructions in both side of nested loops. Consequently, these techniques provide implementations with non-optimal execution times and important code sizes, which represent limiting factors when implemented on embedded real-time systems. In this work, we are interested on enhancing the parallelism strategies of nested loops. The first contribution consists of purposing a novel instruction level parallelism technique, called “delayed multidimensional retiming”. It aims to scheduling the nested loops with the minimal cycle period, without achieving a full parallelism. The second contribution consists of employing the “delayed multidimensional retiming” when providing nested loop implementations on real time embedded systems. The aim is to respect an execution time constraint while using minimal code size. In this context, we proposed a first approach that selects the minimal instruction parallelism level allowing the execution time constraint respect. The second approach employs both instruction level parallelism and iteration level parallelism, by using the “delayed multidimensional retiming” and the “loop striping”Les algorithmes des systèmes temps réels incluent de plus en plus de nids de boucles, qui sont caractérisés par un temps d’exécution important. De ce fait, plusieurs démarches de parallélisme des boucles imbriquées ont été proposées dans l’objectif de réduire leurs temps d’exécution. Ces démarches peuvent être classifiées selon deux niveaux de granularité : le parallélisme au niveau des itérations et le parallélisme au niveau des instructions. Dans le cas du deuxième niveau de granularité, les techniques visent à atteindre un parallélisme total des instructions appartenant à une même itération. Cependant, le parallélisme est contraint par les dépendances des données inter-itérations ce qui implique le décalage des instructions à travers les boucles imbriquées, provocant ainsi une augmentation du code proportionnelle au niveau du parallélisme. Par conséquent, le parallélisme total au niveau des instructions des nids de boucles engendre des implémentations avec des temps d’exécution non-optimaux et des tailles du code importantes. Les travaux de cette thèse s’intéressent à l’amélioration des stratégies de parallélisme des nids de boucles. Une première contribution consiste à proposer une nouvelle technique de parallélisme au niveau des instructions baptisée « retiming multidimensionnel décalé ». Elle vise à ordonnancer les nids de boucles avec une période de cycle minimale, sans atteindre un parallélisme total. Une deuxième contribution consiste à mettre en pratique notre technique dans le contexte de l’implémentation temps réel embarquée des nids de boucles. L’objectif est de respecter la contrainte du temps d’exécution tout en utilisant un code de taille minimale. Dans ce contexte, nous avons proposé une première démarche d’optimisation qui consiste à utiliser notre technique pour déterminer le niveau parallélisme minimal. Par la suite, nous avons décrit une deuxième démarche permettant de combiner les parallélismes au niveau des instructions et au niveau des itérations, en utilisant notre technique et le « loop striping

    Vérification Formelle dans le Modèle Polyédrique

    No full text
    This document deals with formal verification of safety properties in the context of embedded systems design. This work is based on the polyhedral model formalism, the combination of systems of affine recurrence equations with integer polyhedra. This model is used in high level synthesis fot generating parallel architectures from regular system descriptions, dimensions of which are defined by means of symbolic parameters. We are interested in the verification of safety properties about boolean control signals that are generated or manually introduced during the synthesis. We call control properties properties on such signals. We show in this document that the polyhedral model is well suited to the formal verification of control properties. In this work, we present a ``polyhedral logic'' that allows for specifying and proving properties in the polyhedral model. The syntax and semantics of logical formulae are based on those of a description language designed for systems of affine recurrence equations on polyhedral domains. There are different kinds of deductions rules: ``classical rules'' on logical connectors, rewriting rules and rules induced by the computations in the model. We present an algorithm to automatize the proof construction, and heuristic techniques to speed up this construction. These algorithms allow for proving simple properties like the fact that a signal is always true for a given set of processors and time instants. We then sketch and begin to develop solutions that can be used to expand our logic so as to express and prove more complex properties, like mutual exclusion properties for instance. We give some proof tactics for this augmented formalism.Les travaux présentés dans ce document sont orientés vers la vérification formelle de propriétés de sûreté dans le cadre de la conception des systèmes enfouis. Nous nous plaçons dans le formalisme du modèle polyédrique, combinaison des systèmes d'équations récurrentes affines avec les polyèdes entiers. Ce modèle permet de faire de la synthèse de haut niveau pour générer des architectures parallèles à partir de la description d'un système régulier dont les dimensions sont définies par des paramètres symboliques. Nous nous intéressons à la vérification de propriétés de sûreté portant sur des signaux booléens de contrôle, générés ou introduits manuellement lors de la synthèse. Les propriétés sur de tels signaux seront appelées propriétés de contrôle. Nous montrons dans ce document que le modèle polyédrique est adapté pour la vérification formelle de propriétés de contrôle. Dans ce travail, nous développons une "logique polyédrique" qui nous permet de spécifier et prouver des propriétés dans le modèle polyédrique. La syntaxe et la sémantique des formules logiques s'appuient sur celles d'un langage de description de systèmes d'équations récurrentes affines sur des domaines polyédriques. Les règles de déduction sont de différents types : des règles "classiques" sur les connecteurs logiques, des règles de réécriture et des règles induites par des calculs dans le modèle. Nous développons des algorithmes pour automatiser la construction des preuves, ainsi que des techniques heuristiques permettant d'accélérer cette construction. Ces algorithmes nous permettent de prouver des propriétés simples, comme par exemple la propriété qu'un signal vaut toujours vrai pour un ensemble de processeurs et une durée déterminés. Nous présentons ensuite et commençons à développer des pistes afin d'enrichir notre logique pour exprimer des propriétés plus complexes, comme par exemple des propriétés d'exclusion mutuelle. Nous présentons quelques tactiques de preuve pour ces propriétés plus riches
    corecore