5 research outputs found

    Locality-conscious workload assignment for array-based computations in MPSOC architectures

    No full text

    Locality-conscious workload assignment for array-based computations in MPSOC architectures

    No full text
    While the past research discussed several advantages of multipro-cessor-system-on-a-chip (MPSOC) architectures from both area uti-lization and design verification perspectives over complex single core based systems, compilation issues for these architectures have relatively received less attention. Programming MPSOCs can be challenging as several potentially conflicting issues such as data locality, parallelism and load balance across processors should be considered simultaneously. Most of the compilation techniques discussed in the literature for parallel architectures (not necessar-ily for MPSOCs) are loop based, i.e., they consider each loop nest in isolation. However, one key problem associated with such loop based techniques is that they fail to capture the interactions be-tween the different loop nests in the application. This paper takes a more global approach to the problem and proposes a compiler-driven data locality optimization strategy in the context of embed-ded MPSOCs. An important characteristic of the proposed ap-proach is that, in deciding the workloads of the processors (i.e., in parallelizing the application) it considers all the loop nests in the application simultaneously. Our experimental evaluation with eight embedded applications shows that the global scheme brings signif-icant power/performance benefits over the conventional loop based scheme

    Optimisation des mémoires dans le flot de conception des systèmes multiprocesseurs sur puces pour des applications de type multimédia

    Get PDF
    RÉSUMÉ Les systèmes multiprocesseurs sur puce (MPSoC) constituent l'un des principaux moteurs de la révolution industrielle des semi-conducteurs. Les MPSoCs jouissent d’une popularité grandissante dans le domaine des systèmes embarqués. Leur grande capacité de parallélisation à un très haut niveau d'intégration, en font de bons candidats pour les systèmes et les applications telles que les applications multimédia. La consommation d’énergie, la capacité de calcul et l’espace de conception sont les éléments dont dépendent les performances de ce type d’applications. La mémoire est le facteur clé permettant d’améliorer de façon substantielle leurs performances. Avec l’arrivée des applications multimédias embarquées dans l’industrie, le problème des gains de performances est vital. La masse de données traitées par ces applications requiert une grande capacité de calcul et de mémoire. Dernièrement, de nouveaux modèles de programmation ont fait leur apparition. Ces modèles offrent une programmation de plus haut niveau pour répondre aux besoins croissants des MPSoCs, d’où la nécessité de nouvelles approches d'optimisation et de placement pour les systèmes embarqués et leurs modèles de programmation. La conception niveau système des architectures MPSoCs pour les applications de type multimédia constitue un véritable défi technique. L’objectif général de cette thèse est de relever ce défi en trouvant des solutions. Plus spécifiquement, cette thèse se propose d’introduire le concept d’optimisation mémoire dans le flot de conception niveau système et d’observer leur impact sur différents modèles de programmation utilisés lors de la conception de MPSoCs. Il s’agit, autrement dit, de réaliser l’unification du domaine de la compilation avec celui de la conception niveau système pour une meilleure conception globale. La contribution de cette thèse est de proposer de nouvelles approches pour les techniques d'optimisation mémoire pour la conception MPSoCs avec différents modèles de programmation. Nos travaux de recherche concernent l'intégration des techniques d’optimisation mémoire dans le flot de conception de MPSoCs pour différents types de modèle de programmation. Ces travaux ont été exécutés en collaboration avec STMicroelectronics.----------ABSTRACT Multiprocessor systems-on-chip (MPSoC) are defined as one of the main drivers of the industrial semiconductors revolution. MPSoCs are gaining popularity in the field of embedded systems. Pursuant to their great ability to parallelize at a very high integration level, they are good candidates for systems and applications such as multimedia. Memory is becoming a key player for significant improvements in these applications (i.e. power, performance and area). With the emergence of more embedded multimedia applications in the industry, this issue becomes increasingly vital. The large amount of data manipulated by these applications requires high-capacity calculation and memory. Lately, new programming models have been introduced. These programming models offer a higher programming level to answer the increasing needs of MPSoCs. This leads to the need of new optimization and mapping approaches suitable for embedded systems and their programming models. The overall objective of this research is to find solutions to the challenges of system level design of applications such as multimedia. This entails the development of new approaches and new optimization techniques. The specific objective of this research is to introduce the concept of memory optimization in the system level conception flow and study its impact on different programming models used for MPSoCs’ design. In other words, it is the unification of the compilation and system level design domains. The contribution of this research is to propose new approaches for memory optimization techniques for MPSoCs’ design in different programming models. This thesis relates to the integration of memory optimization to varying programming model types in the MPSoCs conception flow. Our research was done in collaboration with STMicroelectronics

    Analyse de performance multi-niveau et partionnement d'application radio sur une plateforme multiprocesseur

    Get PDF
    RESUME Depuis déjà un bon nombre d’années, une demande importante est apparue dans le domaine des télécommunications en ce qui a trait aux systèmes portables. En plus des fonctions téléphoniques déjà existantes, plusieurs applications connexes viennent maintenant se greffer à ces appareils. Afin de pouvoir surmonter les défis imposés par ces nouvelles classes d’applications, de nouvelles méthodologies et topologies de circuit ont vu le jour. Ce mémoire s’inscrit dans le projet global OPERA qui a pour but d’explorer différentes classes d’applications par rapport à une implémentation matérielle existante de manière à guider les phases de configuration, de vérification et possiblement de modification du design actuel. De manière plus spécifique à ce projet, un des buts était de faire ressortir rapidement et automatiquement si une application sélectionnée dans le domaine des télécommunications pouvait être exécutée selon les limites imposées par les différentes normes sur la puce Vocallo fournie par les concepteurs d’Octasic, le partenaire industriel qui supporte ce projet. Pour arriver à cet objectif, la méthodologie dite de conception basée sur les plateformes (Platform based design) a été sélectionnée. Cette technique repose sur la modélisation des différentes couches du système global, soit la couche physique représentant la puce Vocallo et la couche applicative servant à abstraire les algorithmes choisis. Une fois la modélisation des couches effectuées, il suffit de les relier en propageant les contraintes du niveau applicatif vers la couche matérielle de manière à obtenir une estimation de performance selon les caractéristiques abstraites dans chacun des modèles. La puce Vocallo comporte plusieurs caractéristiques peu communes. En effet, le Vocallo est composé d’une matrice de 15 cœurs reliés à une mémoire externe par un seul et unique bus de communication. Chacun des ces cœurs est lui-même constitué de 16 unités opératives asynchrones (ALUs) fonctionnant en parallèle.---------------- ABSTRACT Over the last few years, an important increase in demand has appeared in the telecommunication world in terms of portable system. New classes of applications, like video capability, are now supported by these devices. In order to satisfy the challenges of these new types of software, new circuit topology and emerging methodology became a hot topic of research. This thesis is a small part of the OPERA project that tries to explore several classes of applications in regards to a specific hardware implementation in order to guide efficiently the phases of configuration and verification and possibly could lead to modifications of the design itself. A main goal of this project was to quickly and automatically know if a selected application within the world of telecommunication could be executed on the Vocallo chipset, developed by Octasic, the industrial partner sponsoring this project, while satisfying the requirements imposed by the different standards. In order to achieve this goal, the Platform Based Design approach was chosen. This technique rests on the modeling of the different layers of the overall system. The physical layer serves to represent the Vocallo chip, while the application layer is used to capture the algorithm’s requirements. Upon the completion of the modeling of these layers, the constraints of the application are propagated towards the physical layer to obtain an estimation of performances based on the selected models. The Vocallo chip is characterised by several uncommon particularities. It is composed of a matrix of 15 cores linked to an external memory by a single communication bus. It is also important to specify that each of the cores is composed of 16 asynchronous ALUs working in parallel. By following the selected methodology, an intermediate representation of the application is selected
    corecore