Depurando Desempenho de Aplicações Software DSM com Carnival

  • Edison Ishikawa UFRJ / IME
  • Elcio José Pineschi UFRJ
  • Wagner Meira Jr UFMG
  • Cláudio Amorim UFRJ

Resumo


The difficulty of parallel applications to attain reasonable performance levels has motivated the development of performance debugging tools such as Paradyn, StormWatch, and Carnival. Although, developers have usually demonstrated tool capabilities on different kind of applications, often no evaluation of tool effectiveness has been reported from less especialized users facing the task of developing efficient parallel applications with the only support of performance debugging tools. This paper begins to fill this gap. More specifically, we evaluate the effectiveness of Carnival to support the development of software DSM applications by programmers having little background on parallel programming and performance debugging tools. Using Carnival we port four parallel applications to TreadMarks, a well-known software DSM system. Two applications (Raytrace and LU) are from the SPLASH-2 suite and other two applications (TSP and IS) belong to the TreadMarks application benchmarks. Our results show that the causes of synchronization and communication problems in the applications were precisely diagnosed by Carnival. In addition, Carnival diagnostics enabled simple code modifications that increased application performance by up to a factor of 2 in TreadMarks applications and as much as 46 times in Splash2 applications. The main difficulty we faced was Carnival large trace files specially in Raytrace which could be solved by augmenting the granularily of the application instrumentation. In overall, Carnival offers a simple and friendly interface for performance vizualization. Our conclusion is that Carnival offers an effective tool to implement efficient software DSM applications.

Palavras-chave: parallel programming, software DSM, performance analyser

Referências

D. Jiang, H. Shan, and J. P. Singh. Application restructuring and performance portability on shared virtual memory and hardware-coherent multiprocessors. Proceedings of the sixth ACM SIGPLAN symposium on Principies and Practice of Parallel Programming, pages 217-229, June 1997.

P. Keleher. A, L. Cox. S. Dwarkadas, and W. Zwaenepoel. TreadMarks: Distributed shared memory on standard workstations and operating systems. Proceedings of the winter USENIX conference, pages 115-132, January 1994.

P. Keleher. A. L. Cox, and W. Zwaenepoel. Lazy release consistency for software distributed shared memory. Proceedings of the Nineteenth International Symposium on Computer Architecture, pages 13-21 , May 1992.

J. R. Larus. Efficient program tracing. IEEE Computer, pages 52-61 , May 1993.

H. Lu, S. Dwarkadas, A. Cox, and W. Zwaenepoel. Message passing versus distributed shared memory on networks of workstations. Proceedings of Supercomputing '95, December 1985.

W. Meira Jr. Understanding Parallel Program Performance using Cause-Effect Analysis. PhD thesis, University of Rochester, 1997.

W. Meira, T. J. LeBlanc, N. Hardavellas, and C. Amorim. Understanding the performance of dsm applications. Proceedings of the Workshop on Communication and Architectural Support for Network-based Parallel Computing (CANPC' 97), pages 198-211, February 1997.

W. Meira, T. J. LeBlanc, and A. Poulos. Waiting time analysis and performance visualization in carnival. Proceedings of ACM SIGMETRICS Symposium on Parallel and Distributed Tools, pages 1-10, May 1996.

B. Nitzberg and V. Lo. Distributed shared memory: A survey of issues and algorithms. Computer, 24(8):52-60, August 1991.

J. P. Singh, A. Gupta, and M. Levoy. Parallel visualization algorithms: Performance and architectural implications. IEEE Computer, pages 45-55, July 1994.
Publicado
29/09/1999
ISHIKAWA, Edison; PINESCHI, Elcio José; MEIRA JR, Wagner; AMORIM, Cláudio. Depurando Desempenho de Aplicações Software DSM com Carnival. In: INTERNATIONAL SYMPOSIUM ON COMPUTER ARCHITECTURE AND HIGH PERFORMANCE COMPUTING (SBAC-PAD), 11. , 1999, Natal. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 1999 . p. 293-298. DOI: https://doi.org/10.5753/sbac-pad.1999.19803.