Wagner Meira Jr., Thomas J. LeBlanc, Nikolaos Hardavellas
Department of Computer Science, University of Rochester, Rochester - NY - 14627 {meira,leblanc,nikolaos}@cs.rochester.edu
Cláudio Amorim
COPPE Systems Engineering, UFRJ, Rio de Janeiro, Brazil - 21945-970 amorim@cos.ufrj.br
From Proceedings of the Workshop on Communication and Architectural Support for Network-based Parallel Computing (CANPC' 97), San Antonio, TX, February 1997
Carnival is a performance measurement and analysis tool that assists users in understanding the performance of DSM applications and protocols. Using traces of program executions, Carnival presents performance data as a hierarchy of execution profiles. During analysis, Carnival automates the inference process that relates performance phenomena to specific causes in the source code or DSM protocol using techniques that focus on the two most important sources of overhead in DSM systems: waiting time analysis identifies the causes of synchronization overhead, and produces an explanation for each source of waiting time in the program; communication analysis identifies the sequence of requests that result in invalidations, and produces an explanation for each source of communication. We describe these techniques and their implementation in TreadMarks, and show how to use waiting time analysis and communication analysis to improve the running time of two programs from the SPLASH application suite when executed on DEC Alphas connected by a DEC Memory Channel network.