• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 9
  • 9
  • 2
  • Tagged with
  • 20
  • 14
  • 5
  • 5
  • 5
  • 5
  • 5
  • 4
  • 4
  • 3
  • 3
  • 3
  • 3
  • 3
  • 3
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Towards more scalable mutual exclusion for multicore architectures / Vers des mécanismes d'exclusion mutuelle plus efficaces pour les architectures multi-cœur

Lozi, Jean-Pierre 16 July 2014 (has links)
Le passage à l'échelle des applications multi-fil sur les systèmes multi-cœuractuels est limité par la performance des algorithmes de verrou, à cause descoûts d'accès à la mémoire sous forte congestion et des défauts de cache. Lacontribution principale présentée dans cette thèse est un nouvel algorithme,Remote Core Locking (RCL), qui a pour objectif d'améliorer la vitessed'exécution des sections critiques des applications patrimoniales sur lesarchitectures multi-cœur. L'idée de RCL est de remplacer les acquisitions deverrou par des appels de fonction distants (RPC) optimisés vers un fild'exécution matériel dédié appelé serveur. RCL réduit l'effondrement desperformances observé avec d'autres algorithmes de verrou lorsque de nombreuxfils d'exécution essaient d'obtenir un verrou de façon concurrente, et supprimele besoin de transférer les données partagées protégées par le verrou vers lefil d'exécution matériel qui l'acquiert car ces données peuvent souventdemeurer dans les caches du serveur.D'autres contributions sont présentées dans cette thèse, notamment un profilerpermettant d'identifier les verrous qui sont des goulots d'étranglement dansles applications multi-fil et qui peuvent par conséquent être remplacés par RCLafin d'améliorer les performances, ainsi qu'un outil de réécriture de codedéveloppé avec l'aide de Julia Lawall. Cet outil transforme les acquisitions deverrou POSIX en acquisitions RCL. L'évaluation de RCL a porté sur dix-huitapplications: les neuf applications des benchmarks SPLASH-2, les septapplications des benchmarks Phoenix 2, Memcached, ainsi que Berkeley DB avec unclient TPC-C. Huit de ces applications sont incapables de passer à l'échelle àcause de leurs verrous et leur performance est améliorée par RCL sur unemachine x86 avec quatre processeurs AMD Opteron et 48 fils d'exécutionmatériels. Utiliser RCL permet de multiplier les performances par 2.5 parrapport aux verrous POSIX sur Memcached, et par 11.6 fois sur Berkeley DB avecle client TPC-C. Sur une machine SPARC avec deux processeurs Sun Ultrasparc T2+et 128 fils d'exécution matériels, les performances de trois applications sontaméliorées par RCL: les performances sont multipliées par 1.3 par rapport auxverrous POSIX sur Memcached et par 7.9 fois sur Berkeley DB avec le clientTPC-C. / The scalability of multithreaded applications on current multicore systems is hampered by the performance of lock algorithms, due to the costs of access contention and cache misses. The main contribution presented in this thesis is a new lock algorithm, Remote Core Locking (RCL), that aims to improve the performance of critical sections in legacy applications on multicore architectures. The idea of RCL is to replace lock acquisitions by optimized remote procedure calls to a dedicated hardware thread, which is referred to as the server. RCL limits the performance collapse observed with other lock algorithms when many threads try to acquire a lock concurrently and removes the need to transfer lock-protected shared data to the hardware thread acquiring the lock because such data can typically remain in the server's cache. Other contributions presented in this thesis include a profiler that identifies the locks that are the bottlenecks in multithreaded applications and that can thus benefit from RCL, and a reengineering tool developed with Julia Lawall that transforms POSIX locks into RCL locks. Eighteen applications were used to evaluate RCL: the nine applications of the SPLASH-2 benchmark suite, the seven applications of the Phoenix 2 benchmark suite, Memcached, and Berkeley DB with a TPC-C client. Eight of these applications are unable to scale because of locks and benefit from RCL on an x86 machine with four AMD Opteron processors and 48 hardware threads. Using RCL locks, performance is improved by up to 2.5 times with respect to POSIX locks on Memcached, and up to 11.6 times with respect to Berkeley DB with the TPC-C client. On an SPARC machine with two Sun Ultrasparc T2+ processors and 128 hardware threads, three applications benefit from RCL. In particular, performance is improved by up to 1.3 times with respect to POSIX locks on Memcached, and up to 7.9 times with respect to Berkeley DB with the TPC-C client.
2

Improving performance on NUMA systems / Amélioration de performance sur les architectures NUMA

Lepers, Baptiste 24 January 2014 (has links)
Les machines multicœurs actuelles utilisent une architecture à Accès Mémoire Non-Uniforme (Non-Uniform Memory Access - NUMA). Dans ces machines, les cœurs sont regroupés en nœuds. Chaque nœud possède son propre contrôleur mémoire et est relié aux autres nœuds via des liens d'interconnexion. Utiliser ces architectures à leur pleine capacité est difficile : il faut notamment veiller à éviter les accès distants (i.e., les accès d'un nœud vers un autre nœud) et la congestion sur les bus mémoire et les liens d'interconnexion. L'optimisation de performance sur une machine NUMA peut se faire de deux manières : en implantant des optimisations ad-hoc au sein des applications ou de manière automatique en utilisant des heuristiques. Cependant, les outils existants fournissent trop peu d'informations pour pouvoir implanter efficacement des optimisations et les heuristiques existantes ne permettent pas d'éviter les problèmes de congestion. Cette thèse résout ces deux problèmes. Dans un premier temps nous présentons MemProf, le premier outil d'analyse permettant d'implanter efficacement des optimisations NUMA au sein d'applications. Pour ce faire, MemProf construit des flots d'interactions entre threads et objets. Nous évaluons MemProf sur 3 machines NUMA et montrons que les optimisations trouvées grâce à MemProf permettent d'obtenir des gains de performance significatifs (jusqu'à 2.6x) et sont très simples à implanter (moins de 10 lignes de code). Dans un second temps, nous présentons Carrefour, un algorithme de gestion de la mémoire pour machines NUMA. Contrairement aux heuristiques existantes, Carrefour se concentre sur la réduction de la congestion sur les machines NUMA. Carrefour permet d'obtenir des gains de performance significatifs (jusqu'à 3.3x) et est toujours plus performant que les heuristiques existantes. / Modern multicore systems are based on a Non-Uniform Memory Access (NUMA) design. In a NUMA system, cores are grouped in a set of nodes. Each node has a memory controller and is interconnected with other nodes using high speed interconnect links. Efficiently exploiting such architectures is notoriously complex for programmers. Two key objectives on NUMA multicore machines are to limit as much as possible the number of remote memory accesses (i.e., accesses from a node to another node) and to avoid contention on memory controllers and interconnect links. These objectives can be achieved by implementing application-level optimizations or by implementing application-agnostic heuristics. However, in many cases, existing profilers do not provide enough information to help programmers implement application-level optimizations and existing application-agnostic heuristics fail to address contention issues. The contributions of this thesis are twofold. First we present MemProf, a profiler that allows programmers to choose and implement efficient application-level optimizations for NUMA systems. MemProf builds temporal flows of interactions between threads and objects, which help programmers understand why and which memory objects are accessed remotely. We evaluate MemProf on Linux on three different machines. We show how MemProf helps us choose and implement efficient optimizations, unlike existing profilers. These optimizations provide significant performance gains (up to 2.6x), while requiring very lightweight modifications (10 lines of code or less). Then we present Carrefour, an application-agnostic memory management algorithm. Contrarily to existing heuristics, Carrefour focuses on traffic contention on memory controllers and interconnect links. Carrefour provides significant performance gains (up to 3.3x) and always performs better than existing heuristics.
3

De l'exécution structurée d'applications scientifiques OpenMP sur les architectures hiérarchiques.

Broquedis, François 09 December 2010 (has links) (PDF)
Le domaine applicatif de la simulation numérique requiert toujours plus de puissance de calcul. La technologie multicœur aide à satisfaire ces besoins mais impose toutefois de nouvelles contraintes aux programmeurs d'applications scientifiques qu'ils devront respecter s'ils souhaitent en tirer la quintessence. En particulier, il devient plus que jamais nécessaire de structurer le parallélisme des applications pour s'adapter au relief imposé par la hiérarchie mémoire des architectures multicœurs. Les approches existantes pour les programmer ne tiennent pas compte de cette caractéristique, et le respect de la structure du parallélisme reste à la charge du programmeur. Il reste de ce fait très difficile de développer une application qui soit à la fois performante et portable.La contribution de cette thèse s'articule en trois axes. Il s'agit dans un premier temps de s'appuyer sur le langage OpenMP pour générer du parallélisme structuré, et de permettre au programmeur de transmettre cette structure au support exécutif ForestGOMP. L'exécution structurée de ces flots de calcul est ensuite laissée aux ordonnanceurs Cacheet Memory développés au cours de cette thèse, permettant respectivement de maximiser la réutilisation des caches partagés et de maximiser la bande passante mémoire accessible par les programmes OpenMP. Enfin, nous avons étudié la composition de ces ordonnanceurs, et plus généralement de bibliothèques parallèles, en considérant cette voie comme une piste sérieuse pour exploiter efficacement les multiples unités de calcul des architectures multicœurs.Les gains obtenus sur des applications scientifiques montrent l'intérêt d'une communication forte entre l'application et le support exécutif, permettant l'ordonnancement dynamique et portable de parallélisme structuré sur les architectures hiérarchiques.
4

Caractérisation de la performance temporelle et de la consommation électrique de systèmes embarqués basés sur des plates-formes multiprocesseurs/coeurs et mettant en oeuvre du logiciel temps réel : FORECAST : perFORmance and Energy Consumption AnalysiS Tool

Kriegel, Joffrey 29 January 2013 (has links) (PDF)
La multiplication des plate-formes embarquées disponibles sur le marché rend de plus en plus complexe le choix d'une plate-forme pour un produit. L'arrivée des architectures multi-processeurs augmente encore plus ce phénomène. Dans le contexte industriel actuel, il est nécessaire de disposer d'une méthodologie et des outils associés permettant d'évaluer rapidement ces plate-formes et celles qui apparaitront dans le futur sur le marché afin de faire des premiers choix tôt dans le cycle de conception des produits. Précédemment, il était nécessaire d'attendre l'arrivée sur le marché des plate-formes de test afin d'exécuter sur ces plate-formes des benchmarks et des applications afin d'évaluer leur performance et leur consommation. Nous proposons ici une méthodologie et les outils associés permettant de modéliser un système (logiciel et matériel) puis d'estimer ses performances et sa consommation d'énergie. Notre méthodologie s'appuie sur des modèles simples à mettre en œuvre utilisant uniquement des informations présentes dans les documents techniques des constructeurs. Autre avantage de notre approche, la simulation réalisée s'appuie sur du code exécutable généré automatiquement afin de s'exécuter en natif sur un ordinateur. Cela permet une exécution rapide des scénarios de test et offre la possibilité de faire de l'exploration d'architectures. Nous avons procédé à diverses validations en utilisant des applications variées (décodeur H.264, application radio, benchmarks classiques, ...) et en comparant les performances et la consommation estimée avec l'équivalent sur des plate-formes réelles (OMAP3/4, i.MX6, QorIQ, ...). Cela a permis d'évaluer l'erreur d'estimation de FORECAST (l'outil développé lors de cette thèse) et ainsi de s'assurer que le taux d'erreur reste dans des bornes admissibles c'est-à-dire inferieures à 20%. Nous avons d'un autre côté comparé notre approche avec celles développées dans deux autres projets OpenPEOPLE (ANR) et COMCAS (Catrene) afin de s'assurer que le rapport effort/précision de notre approche est intéressant.
5

Performance monitoring of throughput constrained dataflow programs executed on shared-memory multi-core architectures / Evaluation de performance d'applications flot de données executées sur des architectures multi-coeur

Selva, Manuel 02 July 2015 (has links)
Les progrès continus de la microélectronique couplés au problème de gestion de la puissance dissipée ont conduit les fabricants de processeurs à se tourner vers des puces dites multi-coeurs au début des années 2000. Ces processeurs sont composés de plusieurs unités de calcul indépendantes. Contrairement aux progrès précédents ces architectures multi-coeurs, le logiciel doit être en grande parti repensé pour tirer parti de toutes les unités de calcul. Il faut pouvoir paralléliser une application séquentielle en tâches le plus indépendantes possibles pour pouvoir les exécuter sur différentes unités de calcul. Pour cela, de nombreux modèles de programmations dits concurrents ont été proposés. Dans cette thèse nous nous intéressons aux programmes décrits à l’aide du modèle dataflow. Ce travail porte sur l’évaluation des performances de programmes dataflow (forme que revêtent typiquement des applications de types traitement de flux vidéos ou protocoles de communication) sur des architectures multi-coeurs. Plus particulièrement, le sujet de la thèse porte sur l’extension de modèles de programmation dataflow avec des éléments d’expression de propriétés de qualité de service ainsi que la prise en compte de ces éléments pour détecter, à l’exécution, les goulots d’étranglement de performance au sein des programmes. Les informations concernant les goulots d'étranglements collectées pendant l'exécution sont utilisées à la fois pour faire de l'analyse hors-ligne et pour faire des adaptations pendant l'exécution des programmes. Dans le premier cas, le programmeur utilise ces informations pour savoir quelles parties du programme dataflow il faut optimiser et pour savoir comment distribuer efficacement le programme sur les unités de calcul. Dans le second cas, les informations collectées sont utilisées par des mécanismes d'adaptation automatique afin de redistribuer le travail sur les différentes unités de calcul de façon plus efficace. Nous portons une attention particulière au profiling de l'utilisation faite par les applications dataflow du système mémoire. Les informations sur les échanges de données fournies par le modèle de programmation permettent d'exploiter de façon intelligente les architectures mémoires des machines multi-coeurs. Néanmoins, la complexité de ces dernières ne permet pas de façon générale d'évaluer statiquement l'impact sur les performances des accès mémoires. Nous proposons donc la mise en place d'un système de profiling mémoire pour des applications dataflow basé sur des mécanismes matériels. / Because of physical limits, hardware designers have switched to parallel systems to exploit the still growing number of transistors per square millimeter of silicon. These parallel systems are made of several independent computing units. To benefit from these computing units, software must be changed. Existing sequential applications have to be split into independent tasks to be executed in parallel on the different computing units. To that end, many concurrent programming models have been proposed and are in use today. We focus in this thesis on the dataflow concurrent programming model. This work is about performance evaluation of dataflow programs on multicore architectures. We propose to extend dataflow programming models with the notion of throughput constraints and to take this information into account in the compilation tool chain to detect at runtime the throughput bottlenecks. The profiling results gathered during the execution are used both for off-line analyzes and to adapt the application during its execution. In the former case, the developer uses this information to know which part of the dataflow program should be optimized and to efficiently distribute the program on the computing units. In the later case, the profiling information is used by runtime adaptation mechanisms to distribute differently the work on the computing units. We give a particular focus on the profiling of the usage of the memory subsystem. The data exchange information provide by the programming model allows to efficiently used the memory subsystem of multicore architectures. Nevertheless, the complexity of modern memory systems doesn't allow to statically evaluate the impact of memory accesses on the global performances of the application. We propose to set up memory profiling dedicated to dataflow applications based on hardware profiling mechanisms.
6

Amplification fibrée multivoie avec décomposition spectrale pour la synthèse d’impulsions femtosecondes / Multichannel fiber amplification with spectral splitting for femtosecond pulse synthesis

Rigaud, Philippe 28 November 2014 (has links)
Les impulsions femtosecondes (fs) sont employées pour réaliser des interactions lumière matière athermiques intéressant aussi bien les mondes industriel, médical que scientifique.Des lasers avec toujours plus de puissance crête (P c ) à des cadences toujours plus élevées sont requis. Les sources à fibre dopée ytterbium ont pour cela un potentiel important. Or, la durée des impulsions amplifiées demeure élevée (~ 300 fs) en raison du rétrécissement du spectre amplifié pour de forts niveaux de gain, limitant la valeur de P c accessible. L’amplification avec division spectrale à travers un réseau d’amplificateurs fibrés et la synthèse d’impulsions fs par recombinaison spectrale cohérente est proposée comme solution. Les composantes spectrales sont amplifiées séparément en parallèle avant d’être réassemblées en un seul faisceau. La gestion des relations de phase entre les rayonnements issus des voies assurent la reconstruction de l’impulsion après amplification. Différentes architectures sont considérées.Après avoir choisi et dimensionné l’une d’entre elles, nous avons réalisé l’amplification et la synthèse d’impulsions de 280 fs à travers 12 guides non couplés d’une fibre multicœur, sans étireur/compresseur. Nous avons mis en évidence le gain en puissance de cette architecture par rapport à un amplificateur monovoie, proportionnel au carré du nombre de voies mises enjeu. La compatibilité de ce montage avec l’amplification d’impulsions large bande (≈ 40 nm)a été prouvée. En perspective, les performances énergétiques accessibles et la transposition du schéma d’amplification aux oscillateurs en vue de produire des impulsions fs large bande à haute énergie sont discutées. / Femtosecond pulses (fs) are used to produce no thermal light matter interactions which areinteresting for industrial, medical, or scientific activities. Lasers producing higher peak powerat a higher repetition rate are required. Ytterbium doped fiber sources are good candidates.However, pulse duration is still high (~ 300 fs) owing to spectral narrowing at high gainlevels. Peak power is also limited. Amplification in an array of amplifiers with spectralsplitting and fs pulse synthesis by coherent spectral combining is proposed as a solution.Spectral components are separately amplified before to coherently recombine the amplifieroutputs in a single beam. Phase management of the radiations from different amplifiers leadsto short pulse synthesis. Different setups are considered. After the choice and the gauging ofone of them, we amplified and synthesized 280 fs pulses through 12 uncoupled cores of amulticore fiber, without stretcher/compressor devices. We demonstrated the powerenhancement of this setup compared to a single amplifier, proportional to the square of thenumber of amplifier used. Compatibility of the setup with broadband amplification (≈ 40 nm)was demonstrated. In prospects, performance scaling in terms of peak power are in a first timedevelopped. The conception of an oscillator based of this amplification scheme to produce fsbroadband and energetic pulses is proposed in a second time.
7

Etude et évaluation de politiques d'ordonnancement temps réel multiprocesseur / Study and evaluation of real-time multiprocessor scheduling policies

Cheramy, Maxime 11 December 2014 (has links)
De multiples algorithmes ont été proposés pour traiter de l’ordonnancement de tâchestemps réel dans un contexte multiprocesseur. Encore très récemment de nouvelles politiquesont été définies. Ainsi, sans garantie d’exhaustivité, nous en avons recensé plusd’une cinquantaine. Cette grande diversité rend difficile une analyse comparée de leurscomportements et performances. L’objectif de ce travail de thèse est de permettre l’étudeet l’évaluation des principales politiques d’ordonnancement existantes. La première contributionest SimSo, un nouvel outil de simulation dédié à l’évaluation des politiques. Grâceà cet outil, nous avons pu comparer les performances d’une vingtaine d’algorithmes. Laseconde contribution est la prise en compte, dans la simulation, des surcoûts temporelsliés à l’exécution du code de l’ordonnanceur et à l’influence des mémoires caches sur la duréed’exécution des travaux par l’introduction de modèles statistiques évaluant les échecsd’accès à ces mémoires / Numerous algorithms have been proposed to address the scheduling of real-time tasksfor multiprocessor architectures. Yet, new scheduling algorithms have been defined veryrecently. Therefore, and without any guarantee of completeness, we have identified morethan fifty of them. This large diversity makes the comparison of their behavior and performancedifficult. This research aims at allowing the study and the evaluation of keyscheduling algorithms. The first contribution is SimSo, a new simulation tool dedicatedto the evaluation of scheduling algorithms. Using this tool, we were able to compare theperformance of twenty algorithms. The second contribution is the consideration, in the simulation,of temporal overheads related to the execution of the scheduler and the impactof memory caches on the computation time of the jobs. This is done by the introductionof statistical models evaluating the cache miss ratios
8

Caractérisation de la performance temporelle et de la consommation électrique de systèmes embarqués basés sur des plates-formes multiprocesseurs/coeurs et mettant en oeuvre du logiciel temps réel : FORECAST : perFORmance and Energy Consumption AnalysiS Tool / Performance and power consumption characterisation of embedded systems for multiprocessor/multicore platforms supporting real time software. : FORECAST : perFORmance and Energy Consumption AnalysiS Tool

Kriegel, Joffrey 29 January 2013 (has links)
La multiplication des plate-formes embarquées disponibles sur le marché rend de plus en plus complexe le choix d’une plate-forme pour un produit. L’arrivée des architectures multi-processeurs augmente encore plus ce phénomène. Dans le contexte industriel actuel, il est nécessaire de disposer d’une méthodologie et des outils associés permettant d’évaluer rapidement ces plate-formes et celles qui apparaitront dans le futur sur le marché afin de faire des premiers choix tôt dans le cycle de conception des produits. Précédemment, il était nécessaire d’attendre l’arrivée sur le marché des plate-formes de test afin d’exécuter sur ces plate-formes des benchmarks et des applications afin d’évaluer leur performance et leur consommation. Nous proposons ici une méthodologie et les outils associés permettant de modéliser un système (logiciel et matériel) puis d’estimer ses performances et sa consommation d’énergie. Notre méthodologie s’appuie sur des modèles simples à mettre en œuvre utilisant uniquement des informations présentes dans les documents techniques des constructeurs. Autre avantage de notre approche, la simulation réalisée s’appuie sur du code exécutable généré automatiquement afin de s’exécuter en natif sur un ordinateur. Cela permet une exécution rapide des scénarios de test et offre la possibilité de faire de l’exploration d’architectures. Nous avons procédé à diverses validations en utilisant des applications variées (décodeur H.264, application radio, benchmarks classiques, ...) et en comparant les performances et la consommation estimée avec l’équivalent sur des plate-formes réelles (OMAP3/4, i.MX6, QorIQ, ...). Cela a permis d’évaluer l’erreur d’estimation de FORECAST (l’outil développé lors de cette thèse) et ainsi de s’assurer que le taux d’erreur reste dans des bornes admissibles c’est-à-dire inferieures à 20%. Nous avons d’un autre côté comparé notre approche avec celles développées dans deux autres projets OpenPEOPLE (ANR) et COMCAS (Catrene) afin de s’assurer que le rapport effort/précision de notre approche est intéressant. / The number of available commercial platforms is constantly increasing. The choice of an architecture that fit as much as possible the requirements is therefore more and more complex. This is even more real with the availability of recent multiprocessors architectures. As a consequence, methodologies with their associated tools are required in order to quickly evaluate future platforms, so that choices can be made early in the design flow. So far, evaluating either the performance or the power consumption of a dedicated platform was performed through executing benchmarks and applications on this platform. In this thesis, a new methodology with its associated tools, called FORECAST, is proposed to model both the hardware and software of a system, and then to estimate its performance and its power consumption. Our methodology is based on efficient models, easy to characterize using only information provided by constructor datasheets. Moreover, our approach is able to automatically generate an executable code of the system that can be simulated on the host machine. This simulation allows a rapid execution of multiple test cases. Our approach is therefore well adapted for performing architecture exploration. A lot of experimentations have been performed using our tool FORECAST for different applications (H.264 video decoder, radio application, benchmarks. . .) and different hardware platforms. Results obtained both in performance and in power consumption have then been compared with existing platforms (OMAP3, OMAP4, i.MX6, QorIQ. . .), but also with two collaborative projects, OpenPeple (ANR) and COMCAS (Catrene), dealing also with performance and power estimations. The comparison demonstrates the accuracy of our approach as the estimation is always below a 20% error margin. These experimentations have also shown that our methodology provides a very efficient ratio between the modeling effort and the accuracy of the estimations.
9

Processus de détermination d'architecture logicielle optimale pour processeurs Multicœurs pour le milieu automobile / Design process for the optimization of embedded software architectures on to multi-core processors in automotive industry

Wang, Wenhao 10 July 2017 (has links)
La migration récente des plateformes mono-cœur vers multi-cœur, dans le domaine automobile, révèle de grands changements dans le processus de développement du logiciel embarqué. Tout d’abord, les concepteurs de logiciel ont besoin de nouvelles méthodes leur permettant de combler le fossé entre la description des applications (versus Autosar) et le déploiement de tâches. Deuxièmement, l’utilisation du multi-cœur doit assurer la compatibilité avec les contraintes liées aux aspects temps-réel et à la Sûreté de fonctionnement. Au final, les développeurs ont besoins d’outils pour intégrer de nouveaux modules dans leur système multi-cœur. Confronter aux complexités ci-dessus, nous avons proposé une méthodologie afin de repartir, de manière optimale, les applications sous forme de partitions logiques. Nous avons ainsi intégré dans notre processus de développement, un outil de distribution des traitements d’un système embarqué sur différents processeurs et compatible avec le standard AUTOSAR (AUTomotive Open System ARchitecture). Les solutions de partitionnement traitent simultanément l’allocation des applications ainsi que la politique d’ordonnancement. Le périmètre d’étude du partitionnement est automatique, les solutions trouvées étant évaluées par nos fonctions de coût. Elles prennent aussi en compte des critères tels que, le coût de communication inter-cœur, l’équilibrage de la charge CPU entre les cœurs et la gigue globale. Pour la partie ordonnancement, nous présentons une formalisation des dépendances sous forme périodiques pour répondre au besoin automobile. L’algorithme d’ordonnancement proposé prend en compte cette spécificité ainsi que les contraintes temps-réel et fonctionnelles, assurant l’applicabilité de notre méthodologie dans un produit industriel. Nous avons expérimenté nos solutions avec une application de type contrôle moteur, sur une plateforme matérielle multi-cœur. / The recent migration from single-core to multi-core platforms in the automotive domain reveals great challenges for the legacy embedded software design flow. First of all, software designers need new methods to fill the gap between applications description and tasks deployment. Secondly, the use of multiple cores has also to remain compatible with real-time and safety design constraints. Finally, developers need tools to assist them in the new steps of the design process. Face to these issues, we proposed a method integrated in the AUTOSAR (AUTomotive Open System ARchitecture) design flow for partitioning the automotive applications onto multi-core systems. The method proposes the partitions solution that contains allocation of application as well as scheduling policy simultaneously. The design space of the partitioning is explored automatically and the solutions are evaluated thanks to our proposed objective functions that consider certain criteria such as communication overhead and global jitters. For the scheduling part, we present a formalization of periodic dependencies adapted to this automotive framework and propose a scheduling algorithm taking into account this specificity. Our defined constraints from real-time aspect as well as functional aspect make sure the applicability of our method on the real life user case. We leaded experiments with a complex and real world control application onto a concrete multi-core platform.
10

Modular Avionics Software Integration on Multi-Core COTS : certification-Compliant Methodology and Timing Analysis Metrics for Legacy Software Reuse in Modern Aerospace Systems / Intégration logicielle d'Applications Avioniques Modulaires Intégrées (IMA) sur COTS multicoeur : méthodologie d'intégration et métriques d'analyse temporelle conformes aux régulations de certification pour la réutilisation de logiciel dans les systèmes IMA

M'sirdi, Soukayna Raja 05 July 2017 (has links)
Les interférences apparaissant dans les multicoeurs sont indésirables dans les systèmes tempsréel critiques, en particulier dans le domaine de l'aéronautique, où le déterminisme du fonctionnement temporel de tout système doit être formellement prouvé lors de la conception du système de manière à pouvoir être certifié et considéré comme opérationnel. Le but de cette thèse est de proposer une approche pour l'intégration logicielle d'applications IMA sur processeur multicoeur, sans impliquer de modification des plateformes logicielle et matérielle, et en respectant un maximum d'exigences de certification et concepts clés de l'avionique actuels, comme le partitionnement spatial et temporel ou encore la certification incrémentale. L'un des objectifs de la thèse est de respecter au maximum les procédés industriels d'intégration actuels de manière à maximiser les chances des contributions résultantes de la thèse d'être réutilisées au sein des industries avioniques. Un second objectif mineur est de permettre de réduire au minimum la phase d'adaptation des différents profils impliqués dans le processus d'intégration logicielle. Enfin, un troisième objectif est d'aider à optimiser le temps passé à effectuer les vérifications temporelles qui peuvent s'avérer difficiles et coûteuses en temps, mais aussi les choix architecturaux, de manière à réduire le time-to-market mais aussi optimiser le design du système en cours de conception. La contribution majeure de cette thèse est la proposition de deux stratégies complètes d'intégration logicielle/matérielle sur multicoeur pour des applications IMA. L'un des deux processus respecte les contraintes majeures de certification actuelles, ce qui en fait une stratégie potentiellement exploitable pour les applications les plus critiques de DAL A de l'aérospatial; la seconde offre un design le plus optimisé possible en termes de réduction de poids masse et consommation énergétique embarqués. Chaque stratégie est dite complète car elle contient: - une analyse temporelle statique qui borne les interférences inter-coeurs et permet de dériver des bornes supérieures de WCETs de manière fiable; - une formulation de problème de programmation par contraintes (PPC) pour l'allocation automatique et optimisée de logiciel sur matériel; la configuration résultante est correcte par construction car le problème de PPC exprimé exploite l'analyse temporelle mentionnée précédemment pour effectuer une vérification temporelle sur chaque configuration testée. - une formulation de problème de PPC pour la génération d'ordonnancement automatique et optimisé; la configuration résultante est correcte par construction car le processus exploite l'analyse temporelle mentionnée précédemment pour effectuer une vérification temporelle sur chaque configuration testée. / Interference in multicores is undesirable for hard real-time systems and especially in the aerospace industry, for which it is mandatory to ensure beforehand timing predictability and deadlines enforcement in a system runtime behavior, in order to be granted acceptance by certification authorities. The goal of this thesis is to propose an approach for multi-core integration of legacy IMA software, without any hardware nor software modification, and which complies as much as possible to current, incremental certification and IMA key concepts such as robust time and space partitioning. The motivations of this thesis are to stick as much as possible to the current IMA software integration process in order to maximize the chances of acceptation by avionics industries of the contributions of this thesis, but also because the current process has long been proven efficient on aerospace systems currently in usage. Another motivation is to minimize the extra effort needed to provide certification authorities with timing-related verification information required when seeking approval. As a secondary goal depending on the possibilities, the contributions should offer design optimization features, and help reduce the time-to-market by automating some steps of the design and verification process. This thesis proposes two complete methodologies for IMA integration on multi-core COTS. Each of them offers different advantages and has different drawbacks, and therefore each of them may correspond to its own, complementary situations. One fits all avionics and certification requirements of incremental verification and robust partitioning and therefore fits up to DAL A applications, while the other offers maximum Size, Weight and Power (SWaP) optimization and fits either up to DAL C applications, multipartition applications or non-IMA applications. The methodologies are said to be "complete" because this thesis provides all necessary metrics to go through all steps of the software integration process. More specifically, this includes, for each strategy: - a static timing analysis for safely upper-bounding inter-core interference, and deriving the corresponding WCET upper-bounds for each task. - a Constraint Programming (CP) formulation for automated software/hardware allocation; the resulting allocation is correct by construction since the CP process embraces the proposed timing analysis mentioned earlier. - a CP formulation for automated schedule generation; the resulting schedule is correct by construction since the CP process embraces the proposed timing analysis mentioned earlier.

Page generated in 0.0679 seconds