Programming Research Group Technical Report TR-17-97

Portable and Architecutre Independent Parallel Performance Tuning using a call-graph profiling tool: A case study in optimising SQL

Jonathan M.D Hill, Stephen A Jarvis, Constantinos Siniolakis and Vasil P Vasilev.

Abstract:

This paper describes a post-mortem call-graph profiling tool that analysis trace information generated during the execution of BSPlib programs. The purpose of the tool is to expose imbalance in either computation or communication, and to highlight portions of code that are amenable to improvement. One of the major benefits of this tool is that the amount of information displayed when visualising a profile for a parallel program is no more complex than that of a sequential program. The simplicity and practical relevance of the tool is demonstrated by analysing an SQL database query evaluation program. The tool is used to guide a series of optimisations that minimise the communication imbalance in the SQL program; this results in significant improvements in the performance of the parallel algorithms used in the program. Unlike other profiling tools, the architecture independent metric of size of data communicated is used to guide the optimisation process.


This paper is available as a 291634 byte compressed PostScript file