Jenga : l'intelligence artificielle pour gérer la mémoire cache de nos CPU

Gestion de la mémoire cache par Jenga sur un CPU à 36 coeursGestion de la mémoire cache par Jenga sur un CPU à 36 coeursMIT vient de concevoir une intelligence artificielle, nommée Jenga, capable d’analyser le comportement d’un programme, puis de créer un cache hiérarchique virtuel afin d’optimiser les temps de latence. Selon les simulations publiées, le système aurait un rendement supérieur de 23 % en moyenne et jusqu’à 85 % dans certains cas.

Une structure plus flexible

Jenga commence d’abord par analyser les divers niveaux de caches disponibles (L1, L2, L3, DRAM, etc.) et les latences en fonction des coeurs utilisés. L’intelligence étudie aussi le programme pour déterminer la structure, la taille et le type de données stockées. Enfin, elle crée un espace virtuel pour écrire les divers niveaux dans le but d’optimiser les latences et accroître les performances. Par exemple, le système pourra reconnaître une large structure de données et inscrire un jeu entier dans la même mémoire pour optimiser les accès. La prochaine étape sera maintenant de dépasser le cadre de la simulation pour intégrer le système dans une puce réelle.

Posez une question dans la catégorie Les news : vos réactions du forum
Cette page n'accepte plus de commentaires
4 commentaires
Commenter depuis le forum
    Votre commentaire
  • magellan
    Ca fait énormément penser aux concepts de transmeta en leur temps qui, par anticipation, tentaient d'avoir une réaction processeur "différente" d'une architecture X86 conventionnelle. Il est vrai que le X86 est un CISC, ce qui le rend assez psychorigide en terme de fonctionnement...

    Maintenant je suis intrigué par les mécanismes qui sont mis en jeu pour améliorer les latences, d'autant que je n'ai pas vraiment saisi le propos du sous-titre.
  • delphi_jb
    Anonymous a dit :
    Maintenant je suis intrigué par les mécanismes qui sont mis en jeu pour améliorer les latences, d'autant que je n'ai pas vraiment saisi le propos du sous-titre.


    J'imagine qu'il sous entend une architecture hautement flexible, avec des unités grandement pré-cablé entre eux et dont les liaisons seraient manageable par cette IA... Ou alors une plus grosse unités mémoire générique et unique (haute vitesse) dans lequel on peut inscrire des unités mémoire virtuel à la volée. Mais ca je n'y crois pas trop car le but d'avoir plusieurs niveaux de cache, c'est justement d'optimiser la vitesse en rapprochant l'info au plus près des unités de traitement.

    Je suis également curieux...


    N'empêche, au plus tu lance ton logiciel, au plus optimisé il sera... trop beau pour être vrai ? ^^
  • Chklang
    C'est déjà un peu le cas pour le "plus je lance plus c'est rapide" avec les algorithmes prédictifs des OS qui préchargent les applications les plus utilisées. Mais ça reste basique par rapport à cette IA.