Performance coupling: case studies for improving the performance of scientific applications

  • Authors:
  • Jonathan Geisler;Valerie Taylor

  • Affiliations:
  • Department of Electrical and Computer Engineering, Northwestern University, Evanston, Illinois;Department of Electrical and Computer Engineering, Northwestern University, Evanston, Illinois

  • Venue:
  • Journal of Parallel and Distributed Computing
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

Traditional performance optimization techniques have focused on finding the kernel in an application that is the most time consuming and attempting to optimize it. In this paper, we focus on an optimization technique with a more global perspective of the application. In particular, we present a methodology for measuring the interaction, or coupling, between kernels within an application and describe how the measurements can be used to improve the performance of scientific applications. We discuss four case studies to demonstrate the use of this methodology. The first study involves the Conjugate Gradient Benchmark from the NAS Parallel Benchmarks. The coupling measurement aided in the development of a new hybrid data structure and corresponding algorithm that slightly increased the performance of the program. The second study involves the Block Tridiagonal NAS Parallel Benchmark, for which the coupling parameter aided in revising the program to reduce the level-two cache misses by 14%. Next, we introduce improvements to an application in the SpecJVM benchmark suite resulting in 41% reduction in level-one cache misses. Lastly, we present results from the Seis application from the SPEChpc Benchmarks to illustrate the coupling parameters that may result from large-scale scientific applications.