Análise e Entendimento de Desempenho com a Ferramenta Antfarm
Resumo
O projeto e implementação de aplicações paralelizadas escaláveis e eficientes se mantem como um desafio, seja pela complexidade das aplicações e dos dados a serem analisados, seja pelas limitações dos paradigmas atuais de programação paralela para aplicações de alta demanda de processamento e comunicação como mineração de dados. O ambiente Anthill, baseado no paradigma filtro-fluxo identificado, tem se mostrado como um ambiente apropriado para paralelização dessas aplicações, permitindo explorar três estratégias de paralelização: dados, tarefas e assincronia. Entretanto, o entendimento e a depuração de desempenho dessas aplicações pode ser complexo, dada a diversidade de padrões de interação permitida pelo ambiente Anthill. A ferramenta Antfarm tem por objetivo não apenas apresentar o perfil de desempenho da aplicação mas identificar as imerações entre os vários componentes de forma a justificar o desempenho observado. Neste artigo apresentamos as técnicas usadas na ferramenta Antfarm e um protótipo de implementação, que foi utilizado para analisar e entender o desempenho paralelo de uma aplicação popular de mineração de dados: a construção de árvores de decisão baseada em ganho de informação. Como será mostrado no artigo, a ferramema foi capaz de detectar as peculiaridades da paralelização e explicar o seu desempenho. Em particular, fomos capazes de mensurar a assincronia entre os vários processos cooperando na solução de um problema e explicar o seu tempo de execução, incluindo interações entre as execuções das várias partes do algoritmo.
Referências
M. Beynon, C. Chang, U. Çatalyürek, T. Kurç, A. Sussman, H. Andrade, R. Ferreira, and J. Saltz. Processing Jarge-scale multi-dimensional data in parallel and distributed environments. Parallel Computing. 28(5):827-859, 2002.
M. Beynon, T. Kurc, A. Sussman, and J. Saltz. Design of a framework for data-intensive wide-area applications. In Heterogeneous Computing Workshop (HCW), pages 116-130. IEEE Computer Society Press, May 2000.
R. Ferreira, W. M. Jr., D. Guedes. L. Drummond, B. Coutinho. G. Teodoro, T. T. andR. Araújo, and G. Ferreira. Anthill: A scalable run-time environment for data mining applications. In Proc. of the Symp. on Computer Architecture and High Performance Computing, SBAC. Rio de Janeiro. Brazil. October 2005. IEEE.
W. Meira Jr. T. LeBlanc. and V. Almeida. Using cause-effect analysis to understand the performance of distributed programs. In Proceedings of SPDT98: SIGMETRICS Symposium on Parallel and Distributed Tools. pages 101-111. Welches. OR, August 1998. ACM.
B. P. Miller, M. D. Callaghan, J. M. Cargille, J. K. Hollingsworth, R. B. Irvin, K. L. Karavanic, K. Kunchithapadam, and T. Newhall. The Paradyn Parallel Performance Measurement Tool. IEEE Computer. 28(11):37-46, 1995.
W. E. Nagel, A. Arnold, M. Weber, H. C. Hoppe, and K. Solchenbach. VAMPIR: Visualization and analysis of MPI resources. Supercomputer. 12(1):69-80. 1996.
D. A. Reed, R. A. Aydt, R. J. Noe, P. C. Roth, K. A. Shields, B. W. Schwartz, and L. F. Tavera. Scalable Performance Analysis: The Pablo Performance Analysis Environment. In Proc. Scalable Parallel Libraries Conf., pages 104-113. IEEE Computer Society, 1993.
S. Shende, A. D. Malony, J. Cuny, P. Beckman, S. Karmesin, and K. Lindlan. Portable profiling and tracing for parallel, scientific applications using C++. ln SPDT '98: Proceedings of the SIGMETRICS Symposium on Parallel and distributed tools. pages 134-145. New York. NY, USA. 1998. ACM Press.
M. Spencer, R. Ferreira, M. Beynon, T. Kurc, U. Catalyurek, A. Sussman, and J. Saltz. Executing multiple pipelined data analysis operations in the grid. In Proceedings of the 2002 ACM/IEEE conference on Supercomputing, pages 1-18. IEEE Computer Society Press, 2002.
H.-L. Truong, T. F. G. Madsen, A. D. Malony, H. Moritsch, and S. Shende. On using SCALEA for performance analysis of distributed and parallel programs. In SC 01: Proceedings of the 2001 ACM/IEEE Conference on Supercomputing, November 2001.
A. Veloso, W. M. Jr., R. Ferreira, D. Guedes, and S. Parthasarathy. Asynchronous and anticipatory filter-stream based parallel algorithm for frequent itemset mining. In Proceedings of the 8th European Conference on Principies and Practice of Knowledge Discovery in Databases (PKDD), 2004.
M. Zaki, C. Ho, and R. Agrawal. Parallel classification for data mining on shared-memory multiprocessors. In ICDE '99: Proceedings of the 15th International Conference on Data Engineering, page 198. Washington. DC. USA. 1999. IEEE Computer Society.
O. Zaki, E. Lusk, W. Gropp, and D. Swider. Toward scalable performance visualization with Jumpshot. The International Journal of High Performance Computing Applications. 13(3):277-288. Fall 1999.