A long version is also available as a research report under the same name.International audienceBalanced trees are pervasive and very often found in databases or other systems which are built around querying non-static data. In this paper, we show that trees implemented as a collection of pointers shows bad data locality, poor cache performance and suffer from a lack of parallelism opportunities. We propose an alternative implementation based on arrays. Both implementations appear to be equivalently efficient time-wise. This new layout exposes new parallelism opportunities which can be then exploited by an optimizing polyhedral compiler
Tree structures are one of the most pervasive data structures. Many tree-based applications feature ...
International audienceIn this work, we show that the Chapel high-productivity language is suitable f...
International audienceScientific applications are commonly modeled as the processing of directed acy...
National audienceBalanced trees are pervasive and very often found in databases or other systems whi...
Recent work showed that compiling functional programs to use dense, serialized memory representation...
Many domains in computer science, from data-mining to graphics to computational astrophysics, focus ...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
Trees are used everywhere, yet their internal operations are nowhere as optimized as arrays are. Our...
Efficient memory usage is crucial for data-intensive applications as a smaller memory footprint ensu...
Memory accesses are a well known bottleneck whose impact might be mitigated by using properly the me...
Despite decades of work in this area, the construction of effective loop nest optimizers and paralle...
Commercial link : http://www.springerlink.de/ ALCHEMY/http://www.springer.comCache memories were inv...
International audienceThe construction of effective loop nest optimizers and par-allelizers remains ...
Many modern (mobile) systems involve memory intensive computations. External memory accesses are cos...
International audienceMemory accesses are a well known bottleneck whose impact might be mitigated by...
Tree structures are one of the most pervasive data structures. Many tree-based applications feature ...
International audienceIn this work, we show that the Chapel high-productivity language is suitable f...
International audienceScientific applications are commonly modeled as the processing of directed acy...
National audienceBalanced trees are pervasive and very often found in databases or other systems whi...
Recent work showed that compiling functional programs to use dense, serialized memory representation...
Many domains in computer science, from data-mining to graphics to computational astrophysics, focus ...
International audienceIncreasing data movement costs motivate the integration of polyhedral loop opt...
Trees are used everywhere, yet their internal operations are nowhere as optimized as arrays are. Our...
Efficient memory usage is crucial for data-intensive applications as a smaller memory footprint ensu...
Memory accesses are a well known bottleneck whose impact might be mitigated by using properly the me...
Despite decades of work in this area, the construction of effective loop nest optimizers and paralle...
Commercial link : http://www.springerlink.de/ ALCHEMY/http://www.springer.comCache memories were inv...
International audienceThe construction of effective loop nest optimizers and par-allelizers remains ...
Many modern (mobile) systems involve memory intensive computations. External memory accesses are cos...
International audienceMemory accesses are a well known bottleneck whose impact might be mitigated by...
Tree structures are one of the most pervasive data structures. Many tree-based applications feature ...
International audienceIn this work, we show that the Chapel high-productivity language is suitable f...
International audienceScientific applications are commonly modeled as the processing of directed acy...