Characterizing the performance penalties induced by irregular code using pointer structures and indirection arrays on the intel core 2 architecture

  • Authors:
  • Harmen L.A. van der Spek;Erwin M. Bakker;Harry A.G. Wijshoff

  • Affiliations:
  • Leiden University, Leiden, Netherlands;Leiden University, Leiden, Netherlands;Leiden University, Leiden, Netherlands

  • Venue:
  • Proceedings of the 6th ACM conference on Computing frontiers
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Irregularity is one of the fundamental causes for performance degradation in applications. Both hardware and software have a hard time coping with irregular memory access patterns and irregularity in flow control. On the hardware side, execution is optimized for regular data accesses and irregular memory access streams cannot be predicted. On the software side, compilers are are not able to reason about memory locations and loop bounds. This prevents many optimizations to be applied. In this paper, we measure and characterize the impact of various facets of irregularity using SPARK00, a set of benchmarks that explicitly targets the measurement of the impact of irregularity, on one of themost commonly used architectures today, the Intel Core 2. The benchmarks consist of kernels that are based on pointers, a notorious cause of irregularity, kernels that use indirection arrays, and kernels that implement regular counterparts of some of the irregular kernels. By employing different data sets and different memory layouts these benchmarks are used to characterize architectural features.