Content: The package comes with sources of the ialloc allocation library,
the documentation which explains how to use it, and two small
memory benchmarks to test drive the library.
Requirements: This library is written in C language, and should be usable on any Unix platform. It has been run on Sun, SGI, DEC and Linux-PC machines.
More generally, it can be used provided your compiler comes with an allocation library
which includes either malloc(), memalign(), mmap() or shmat().
Usage: This software can be used freely under certain conditions. Please read the copyright notice before usage.
This software is research material, and therefore is provided "as is" with no warranty whatsoever.
The packages can be found on the ftp server in two formats.
Tar+gzip version: ialloc100.tar.gz (180KB)
Zip version: ialloc100.zip (188KB)
Documentation alone: IallocLib.ps.gz (75KB)
This allocation library can be used to allocate data structures on the heap, like chained lists and trees to improve overall program speed compared to just using malloc. This library is specifically designed to ease data layout layout to increase cache performance. Data layout techniques are explained in the documentation. Such techniques with the usage of this library can bring noticeable speedups to memory bound applications using mostly data structures.
The copyright for Ialloc is registered to INRIA at the Agence pour la Protection des Programmes (APP), 119, rue de Flandre, 75019 Paris. Phone (+33) 140 350 303. |
This library and the layout techniques have been developped during my PhD.
You may browse my PhD pages
for a brief description of data layout optimizations and to see experimental results.
Besides the documentation provided with the library, there are other related
papers which provide experimental results. The PACT paper is a global description
of the library and of the layout techniques, it provides results for different benchmarks.
The PFDC paper discusses our profile based data layout optimization approach, and provides a few
experimental results on Unix machines from different vendors.
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.