Gestion dynamique du parallélisme dans les architectures multi-cœurs pour applications mobiles - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Thèse Année : 2014

Dynamic Parallelism Management in Multi-Core Architectures for Mobile Systems

Gestion dynamique du parallélisme dans les architectures multi-cœurs pour applications mobiles

Résumé

The amount of smartphone sales recently surpassed the desktop computer ones. This is mainly due to the smart integration of many functionalities in the same architecture. This is also due to the wide variety of supported applications like augmented reality, video conferencing and video games. The support of these applications is made by heterogeneous computing resources specialized to support each application type thus allowing to meet required performance and power consumption. For example, multimedia applications are accelerated by hardware modules that help video encoding and decoding and video game 3D rendering is accelerated by specialized processors (GPU). However, applications become more and more complicated. As an example, augmented reality requires image processing, 3D rendering and computing the information to display. This complexity often comes with a variation of the computing load, which dynamically changes application performance requirements. When this application is implemented in parallel, the way parallelism is chosen for a specific workload, becomes inefficient for a different one. This leads to a waste in computing resources and our objective is to optimize the usage of all available computing resources at runtime. The selected use case is a graphic rendering pipeline application because it is a dynamic application, which is also widely used in mobile devices. This application has been implemented and parallelized on a multicore architecture simulator. The profiling shows that the dynamicity of the application, the time and the amount of data needed to compute vary. The profiling also shows that the best balance of the parallelism depends on the rendered scene; a dynamic load balancing is therefore required for this application. These studies brought us about defining a system allowing to dynamically adapt the application parallelism depending on a prediction of its computing requirements, which can be performed by monitoring the data exchanges between the application tasks. Then the new parallelism is calculated for each stage by a central controller that manages the whole application. This system has been implemented in a Timed-TLM simulator in order to estimate performance improvements allowed by the dynamic adaptation. An architecture allowing to accelerate mobile applications, such as general-purpose and 3D applications, has been defined and compared to other multicore architectures. The hardware complexity and the performance of the architecture have also been estimated. For an increased complexity lower that 1,5%, we demonstrate performance improvements up to 20% compared with static parallelisms. We also demonstrated the ability to support a variable amount of resources.
Le nombre de smartphones vendus a récemment dépassé celui des ordinateurs. Ces appareils tendent à regrouper de plus en plus de fonctions, ceci grâce à des applications de plus en plus variées telles que la vidéo conférence, la réalité augmentée, ou encore les jeux vidéo. Le support de ces applications est assuré par des ressources de calculs hétérogènes qui sont spécifiques aux différents types de traitements et qui respectent les performances requises et les contraintes de consommation du système. Les applications multimédia sont par exemple accélérées par des composants permettant un encodage et un décodage vidéo de manière matérielle. De même, les applications graphiques, telles que les jeux vidéo, sont accélérées par un processeur graphique. Cependant les applications deviennent de plus en plus complexes. Une application de réalité augmentée va par exemple nécessiter du traitement d’image, du rendu graphique et un traitement des informations à afficher. Cette complexité induit souvent une variation de la charge de travail qui impacte les performances et donc les besoins en puissance de calcul de l’application. Ainsi, la parallélisation de l’application, généralement prévue pour une certaine charge, devient inappropriée. Ceci induit un gaspillage des ressources de calcul qui pourraient être exploitées par d’autres applications ou par d’autres étages de l’application. L’objectif ici est donc d’optimiser l’utilisation des ressources de calcul à disposition. Un pipeline de rendu graphique a été choisi comme cas d’utilisation car c’est une application dynamique et ce type d’application est de plus en plus répandu dans les appareils mobiles. Cette application a été implémentée et parallélisée sur un simulateur d’architecture multicoeur. Un profilage a confirmé l’aspect dynamique, le temps de calcul de chaque donnée ainsi que le nombre d’objets à calculer variant de manière significative dans le temps. De plus, le profilage a montré que la meilleure répartition du parallélisme évolue en fonction de la scène rendue; ce qui a validé le besoin d’une adaptation dynamique du parallélisme de l’application. Les constatations précédentes nous ont amenés à définir un système permettant d’adapter, au fil de l’exécution, le parallélisme d’une application en fonction d’une prédiction faite de ses besoins. Le choix d’un nouveau parallélisme nécessite de connaître les besoins en puissance de calcul des différents étages, ce qui peut être le cas en surveillant les transferts de données entre les étages de l’application. Enfin, l’adaptation du parallélisme implique une nouvelle répartition des tâches en fonction des besoins des différents étages, ce qui requiert un contrôleur central ayant une vue globale de l’application. Le système a été implémenté dans un simulateur précis au niveau TTLM (Timed TLM) afin d’estimer les gains de performances permis par l’adaptation dynamique. Une architecture permettant l’accélération de différents types d’applications que ce soit généralistes ou graphiques a été définie et comparée à d’autres architectures multicoeurs. Le coût matériel de cette architecture a de plus été quantifié. Les performances de l’architecture ont été évaluées. Ainsi, pour un support matériel dont la complexité est inférieure à 1,5 % du design complet, on démontre des gains de performance allant jusqu’à 20 % par rapport à certains déploiement statiques, ainsi que la capacité à gérer dynamiquement un nombre de ressources de calcul variable.
Fichier principal
Vignette du fichier
mémoire_Matthieu_Texier.pdf (18.88 Mo) Télécharger le fichier
Loading...

Dates et versions

tel-01099853 , version 1 (05-01-2015)

Identifiants

  • HAL Id : tel-01099853 , version 1

Citer

Matthieu Texier. Gestion dynamique du parallélisme dans les architectures multi-cœurs pour applications mobiles. Traitement du signal et de l'image [eess.SP]. Université de Rennes 1, 2014. Français. ⟨NNT : ⟩. ⟨tel-01099853⟩
242 Consultations
351 Téléchargements

Partager

Gmail Facebook X LinkedIn More