21-09-2016, 07:31
<r><SIZE size="120"><s></s><B><s></s>Souvent, dans le traitement des données big data, les programmes doivent aller piocher dans des données éparpillées, créant un goulot d'étranglement au niveau du processeur et une baisse des performances. Milk, le langage de programmation créé par des chercheurs du Computer Science and Artificial Intelligence Laboratory (CSAIL) du MIT permet d'aborder la gestion de mémoire différemment.<e></e></B><e></e></SIZE><br/>
<br/>
<br/>
La gestion de la mémoire pour assurer le traitement des ensembles de données traditionnels représente déjà un défi. Mais quand il s’agit de données big data, le maintien des performances peut devenir très problématique. Un langage de programmation annoncé par le MIT cette semaine pendant la 25e Conférence internationale PACT (Parallel Architectures and Compilation Techniques) qui c'est tenu le 11 au 15 septembre à Haïfa, Israël, pourrait permettre de remédier à ce problème. Ce langage s’avère d’ores et déjà prometteur puisque les tests montrent qu’il peut multiplier la vitesse de traitement des algorithmes courants par quatre.<br/>
<br/>
<br/>
<B><s></s><SIZE size="150"><s></s><COLOR color="#000080"><s></s>Meilleure gestion de la mémoire<e></e></COLOR><e></e></SIZE><e></e></B><br/>
<br/>
Avec les puces actuelles, la nécessité d’extraire des données de la mémoire principale est responsable des plus importantes baisses de performance. Le fait d'avoir à aller chercher plus fréquemment des données peut considérablement ralentir le processus d’exécution.<br/>
<br/>
C’est pour répondre à ce problème que des chercheurs du Computer Science and Artificial Intelligence Laboratory (CSAIL) du MIT ont créé Milk, un langage qui permet aux développeurs d'applications d’améliorer la gestion de mémoire dans les programmes qui ont besoin d’aller chercher des données dispersées dans de grands ensembles de données. Essentiellement, Milk ajoute quelques commandes à OpenMP, une API pour des langages tels que le C et le Fortran, facilitant l’écriture de code pour les processeurs multicœurs. Avec l’API, le programmeur insère quelques lignes de code supplémentaires autour de chaque instruction pour réduire la recherche à un nombre plus restreint de données. A charge ensuite pour le compilateur de Milk de gérer la mémoire en conséquence.<br/>
<B><s></s><SIZE size="150"><s></s><COLOR color="#000080"><s></s><br/>
Redistribution des données entre CPU <e></e></COLOR><e></e></SIZE><e></e></B><br/>
<br/>
Dans un programme écrit en Milk, si un noyau découvre qu'il a besoin d'un morceau de données et des données adjacentes, il ne le demande pas à la mémoire principale : il ajoute l'adresse de l'élément de données à une liste d'adresses stockées localement. Quand la liste est suffisamment longue, tous les cœurs du processeur mettent leurs listes en commun, regroupent les adresses proches les unes des autres, et les redistribuent aux noyaux. De cette façon, chaque cœur ne demandera que les éléments de données dont il sait qu’il aura besoin et qui peuvent être retrouvés efficacement.</r>
<br/>
<br/>
La gestion de la mémoire pour assurer le traitement des ensembles de données traditionnels représente déjà un défi. Mais quand il s’agit de données big data, le maintien des performances peut devenir très problématique. Un langage de programmation annoncé par le MIT cette semaine pendant la 25e Conférence internationale PACT (Parallel Architectures and Compilation Techniques) qui c'est tenu le 11 au 15 septembre à Haïfa, Israël, pourrait permettre de remédier à ce problème. Ce langage s’avère d’ores et déjà prometteur puisque les tests montrent qu’il peut multiplier la vitesse de traitement des algorithmes courants par quatre.<br/>
<br/>
<br/>
<B><s></s><SIZE size="150"><s></s><COLOR color="#000080"><s></s>Meilleure gestion de la mémoire<e></e></COLOR><e></e></SIZE><e></e></B><br/>
<br/>
Avec les puces actuelles, la nécessité d’extraire des données de la mémoire principale est responsable des plus importantes baisses de performance. Le fait d'avoir à aller chercher plus fréquemment des données peut considérablement ralentir le processus d’exécution.<br/>
<br/>
C’est pour répondre à ce problème que des chercheurs du Computer Science and Artificial Intelligence Laboratory (CSAIL) du MIT ont créé Milk, un langage qui permet aux développeurs d'applications d’améliorer la gestion de mémoire dans les programmes qui ont besoin d’aller chercher des données dispersées dans de grands ensembles de données. Essentiellement, Milk ajoute quelques commandes à OpenMP, une API pour des langages tels que le C et le Fortran, facilitant l’écriture de code pour les processeurs multicœurs. Avec l’API, le programmeur insère quelques lignes de code supplémentaires autour de chaque instruction pour réduire la recherche à un nombre plus restreint de données. A charge ensuite pour le compilateur de Milk de gérer la mémoire en conséquence.<br/>
<B><s></s><SIZE size="150"><s></s><COLOR color="#000080"><s></s><br/>
Redistribution des données entre CPU <e></e></COLOR><e></e></SIZE><e></e></B><br/>
<br/>
Dans un programme écrit en Milk, si un noyau découvre qu'il a besoin d'un morceau de données et des données adjacentes, il ne le demande pas à la mémoire principale : il ajoute l'adresse de l'élément de données à une liste d'adresses stockées localement. Quand la liste est suffisamment longue, tous les cœurs du processeur mettent leurs listes en commun, regroupent les adresses proches les unes des autres, et les redistribuent aux noyaux. De cette façon, chaque cœur ne demandera que les éléments de données dont il sait qu’il aura besoin et qui peuvent être retrouvés efficacement.</r>
<t></t>


![[-]](https://www.tisi-fr.com/board/images/collapse.png)