thesis

Analyse d'applications flot de données pour la compilation multiprocesseur

Defense date:

Jan. 1, 2013

Edit

Institution:

Paris 6

Disciplines:

Authors:

Abstract EN:

Les systèmes embarqués sont des équipements électroniques et informatiques, soumis à de nombreuses contraintes et dont le fonctionnement doit être continu. Pour définir le comportement de ces systèmes, les modèles de programmation dataflows sont souvent utilisés. Ce choix de modèle est motivé d'une part, parce qu'ils permettent de décrire un comportement cyclique, nécessaire aux systèmes embarqués; et d'autre part, parce que l'analyse de ces modèles peut fournir des garanties de fonctionnement et de performance essentielles. La société Kalray propose une architecture embarquée, le MPPA. Il est accompagné du langage SigmaC. Ce langage permet de décrire des applications sous forme d'un modèle dataflow Cyclo-Static Dataflow Graph (CSDFG). Cependant, les CSDFG générés par ce langage sont souvent trop complexes pour permettre l'utilisation des techniques d'analyse existantes. L'objectif de cette thèse est de fournir des outils algorithmiques qui résolvent les étapes d'analyse d'une application SigmaC dans un temps raisonnable, et sur de grande instances. Nous étudions trois problèmes d'analyse : la vivacité, l'évaluation du débit, et le dimensionnement mémoire. Pour chacun de ces problèmes, nous fournissons des méthodes algorithmiques rapides, et dont l'efficacité a été vérifiée expérimentalement. Les méthodes que nous proposons sont basées sur les ordonnancements périodiques et fournissent des résultats approchés. Pour pallier cette faiblesse, nous proposons aussi des outils basés sur les ordonnancements K-périodiques. Ces ordonnancements généralisent les ordonnancement périodiques et nous permettrons de concevoir des méthodes d'analyse plus efficaces.

Abstract FR:

Embedded systems are hardware and software based equipment. They are subject to many constraints and must run without stopping. To define the behavior of thesesystems, dataflow programming models are often used. On one hand, this choice is motivated by the fact that dataflow models allow the description of cyclic behavior, which is needed for embedded systems;secondly because the analysis of these models can provide essential guarantees of correctness and performance. The Kalray company provides an embedded architecture: the MPPA. It is accompanied by the Sigma-C programming language. This language allows to describe applications in the form of a well-known dataflow model: the Cyclo-Static Dataflow Graph (CSDFG). However, the dataflow graphs that are generated by this language are often too complex to be analysed with existing techniques. The objective of this thesis will be to provide algorithmic tools that solve the various stages of Sigma-C application analysis, but within a reasonable execution time, as on large instances. We study three different problems: the liveness, the throughput evaluation, and the buffer sizing. For each of these problems, we provide fast algorithmic methods, and we have experimentally verified their efficiency. The proposed methods are based on periodic scheduling. Therefore they provide approximate results without any guarantee of optimality. To overcome this weakness, we also offer new analysis tools based on K-periodic scheduling. This result generalizes our previous work and will allow us in the near future to design more efficient analyzing methods.