Ialloc


Téléchargement de la bibliothèque d'allocation dynamique Ialloc

Ialloc 1.0
copyright (c) 1999, Dan Truong, Inria Rennes
IDDN FR 001-060013-00-S-P-1999-000-10600

Contenu: Le fichier compressé contient les sources de la bibliothèque d'allocation dynamique ialloc, une documentation en Anglais qui explique comment l'utiliser, et deux petit benchmarks mémoire pour tester la bibliothèque.
Prérequis: Cette bibliothèque est écrite en C, et devrait au moins fonctionner sur toute les plateforme Unix. Elle a été utilisée sur des stations Sun, SGI Mips, DEC Alpha, et des PCs sous Linux. Plus généralement, elle devrait fonctionner dè qu'une bibliothèque d'allocation fournit l'une des routines parmis malloc(), memalign(), mmap() ou shmat().
Utilisation: Ce logiciel peut ètre utilisé librement sous certaines conditions. Veuillez lire -et comprendre- la notice de copyright (en Anglais) et vous y conformer avant d'utiliser ce logiciel. Ce logiciel est du domaine de la recherche, et est fourni "comme tel" sans aucune garantie. Si cela est un problème ou si cela ne corresponds pas à la législation en vigeur dans votre pays, veuillez ne pas l'utiliser.

Deux formats de fichiers compressés sond disponibles sur le serveur ftp.

Version tar+gzip: ialloc100.tar.gz (180KB)

Version zip: ialloc100.zip (188KB)

Documentation seule: IallocLib.ps.gz (75KB)

Cette bibliothèque d'allocation permet d'allouer des structures de données sur le tas, comme des listes chaînées ou des arbres, en améliorant souvent la vitesse par rapport aux mallocs standards et en réduisant la quantité de mémoire utilisée pour la gestion du tas. Cette bibliothèque est particulièrement conçue pour faciliter le placement de données en mémoire pour améliorer la performance des caches. Les techniques de placement de données sont décrites dans la documentation. De telles techniques en conjonction avec l'utilisation de cette bibliothèque peuvent apporter des gains de performance significatifs pour les programmes dont le goulot d'étranglement est l'accès aux structures de données allouées en mémoire.

Le copyright pour Ialloc est enregistré au nom de l'INRIA à l'Agence pour la Protection des Programmes (APP), 119, rue de Flandre, 75019 Paris. Phone (+33) 140 350 303.


Articles correspondant

Cette bibliothèque et les techniques de placement de données on été développées durant ma thèse. Vous pouvez survoler mes pages de thèse pour une description succinte des techniques de placement de données et pour voir des résultats expérimentaux.
Mis à part la documentation de Ialloc, deux articles fournissent des explications et des résultats. L'article à PACT'98 décrit les techniques de placement pour les structures de données et donne des résultats expérimentaux pour différent programmes. L'article pour PFDC-1 décrit notre approche pour optimiser les programmes basée sur des profils d'exécution (utilisation des outils exploitant les registres compteurs d'évennement matériels implantés dans les nouvelles générations de processeurs), et fournit des résultats expérimentaux pour différentes plateformes matérielles.

Les références suivantes peuvent être obtenues sur la page de téléchargement.

Improving Cache Behavior of Dynamically Allocated Data Structures.
Dan Truong, Francois Bodin and André Seznec
International Conference on Parallel Architectures and Compilation Techniques (PACT'98), Paris, France, Oct. 12-18 1998.

Considerations on Dynamically Allocated Data Structure Layout Optimization.
Dan Truong.
First Workshop on Profile and Feedback-Directed Compilation (PFDC-1), Paris, France, Oct. 12 1998.