Intercepting functions for memoization

Arjun Suresh 1
1 ALF - Amdahl's Law is Forever
Inria Rennes – Bretagne Atlantique , IRISA-D3 - ARCHITECTURE
Résumé : Nous avons proposé des mécanismes pour mettre en œuvre la mémoïsation de fonction au niveau logiciel dans le cadre de nos efforts pour améliorer les performances du code séquentiel. Nous avons analysé le potentiel de la mémoïsation de fonction sur des applications et le gain de performance qu'elle apporte sur des architectures actuelles. Nous avons proposé trois approches - une approche simple qui s'applique au chargement et qui fonctionne pour toute fonction de bibliothèque liée dynamiquement, une approche à la compilation utilisant LLVM qui peut permettre la mémoïsation pour toute fonction du programme, ainsi qu'une proposition d'implémentation de la mémoïsation en matériel et ses avantages potentiels. Nous avons démontré avec les fonctions transcendantales que l'approche au chargement est applicable et donne un bon avantage, même avec des architectures et des compilateurs (avec la restriction qu'elle ne peut être appliquée que pour les fonctions liées dynamiquement) modernes. Notre approche à la compilation étend la portée de la mémoïsation et en augmente également les bénéfices. Cela fonctionne pour les fonctions définies par l’utilisateur ainsi que pour les fonctions de bibliothèque. Nous pouvons gérer certains types de fonctions non pures comme les fonctions avec des arguments de type pointeur et l'utilisation de variables globales. La mémoïsation en matériel abaisse encore le seuil de profitabilité de la mémoïsation et donne plus de gain de performance en moyenne.
Type de document :
Thèse
Programming Languages [cs.PL]. Université Rennes 1, 2016. English. 〈NNT : 2016REN1S106〉
Liste complète des métadonnées

Littérature citée [44 références]  Voir  Masquer  Télécharger

https://tel.archives-ouvertes.fr/tel-01410539
Contributeur : Abes Star <>
Soumis le : jeudi 11 mai 2017 - 01:02:04
Dernière modification le : vendredi 11 janvier 2019 - 13:52:56
Document(s) archivé(s) le : samedi 12 août 2017 - 12:40:16

Fichier

SURESH_Arjun.pdf
Version validée par le jury (STAR)

Identifiants

  • HAL Id : tel-01410539, version 2

Citation

Arjun Suresh. Intercepting functions for memoization. Programming Languages [cs.PL]. Université Rennes 1, 2016. English. 〈NNT : 2016REN1S106〉. 〈tel-01410539v2〉

Partager

Métriques

Consultations de la notice

595

Téléchargements de fichiers

557