Architecture et programmation spatiale
Institution:
Paris 11Disciplines:
Directors:
Abstract EN:
Current processor and multiprocessor architectures are almost all based on the Von Neumann paradigm. Based on this paradigm, one can build a general-purpose computer using very few transistors. The performance improvement of Von Neumann processors was mainly due to the increase in clock frequency of silicon technologies. Because clock frequency may no longer increase as quickly, there is a growing consensus on on-chip concurrent architectures being a major route for the efficient exploitation of an increasing number of transistors. In this thesis, we first introduce a new computing model, the “Blob Computing” defining both an architecture and a language, that is intrinsically designed to exploit space. Through this model, we also want to outline that revisiting some of the principles of today's computing paradigm has the potential of overcoming major limitations of current architectures. Finaly, we propose an implementation of the “Blob Computing” main ideas on more traditional architectures (multithreaded processors). Thanks to this implementation, we advocate that research efforts should further focus on striking the right balance between architecture, compiler and user effort. Especially, we show that letting the user reasonably effortlessly pass information on program parallel properties and making the architecture ``aware'' of this additional information is a promising path for futur processors scalability.
Abstract FR:
Les processeurs et multiprocesseurs actuels sont presque tous basés sur le paradigme Von Neumann. Grâce à ce paradigme, il est aisé de construire un processeur généraliste avec peu de transistors. L'accroissement en performance des processeurs Von Neumann a été majoritairement dû au formidable accroissement en fréquence qu'ont connu les technologies silicium. Dans la mesure où ces fréquences pourraient ne plus augmenter aussi vite qu'auparavant, beaucoup de travaux de recherche accordent aux architectures parallèles sur une même puce la capacité d'exploiter efficacement le nombre croissant de transistors. Dans cette thèse, nous introduisons d'abord un nouveau modèle de calcul, le "Blob Computing", combinant une architecture et un langage, tous les deux intrinsèquement conçus pour exploiter l'espace. A travers l'étude de ce paradigme, nous montrons que la remise en question de quelques principes à la base des machines Von Neumann permet potentiellement de dépasser certaines limitations majeures des architectures actuelles. Enfin, nous proposons une implémentation des concepts généraux du "Blob Computing" vers une architecture plus réaliste (processeurs multithreads). Nous attirons l'attention, grâce à cette implémentation, sur le fait que les efforts de recherche devront se concentrer sur l'obtention d'un équilibre entre le travail fourni par l'architecture, par le compilateur, et par l'utilisateur. En particulier, nous montrons qu'enrichir la sémantique parallèle passée par l'utilisateur dans son programme et donner à l'architecture le moyen d'exploiter cette sémantique constitue une voie prometteuse pour la scalabilité des futurs processeurs.