Avaliando Técnicas de Prefetching para Software DSMs
Resumo
Sistemas de memória compartilhada distribuída com coerência de dados mantida por software, denominados software DSMs, oferecem a facilidade de programação do modelo de memória compartilhada com o baixo custo das arquiteturas de memória distribuída. No entanto, são poucas as classes de aplicações que alcançam um bom desempenho nesses sistemas. Um dos maiores problemas com software DSMs é o overhead da busca de dados remotos, que ocorre no caminho crítico da computação. Neste artigo propomos três técnicas de prefetching que antecipam essa busca. Analisamos o impacto das técnicas de prefetching no desempenho de TreadMarks, usando simulações detalhadas de aplicações reais. Nossos experimentos mostram que o uso dessas técnicas reduz a latência de acesso a dados, mas aumenta o tempo de sincronização e a interferência da busca dos dados com a computação nos processadores remotos. Nossos resultados mostram também que a obtenção de ganhos de desempenho através de prefetching depende de um suporte de hardware que diminua a interferência em processadores remotos; duas das aplicações que estudamos obtiveram ganhos de 22-39% com o auxílio desse hardware especializado.
Referências
R. Bianchini, L. Kontothanassis, R. Pinto, M. De Maria, M. Abud, and C. Amorim. Hiding communication latency and coherence overhead in software DSMs. To appear in Proc. of the 7th ASPLOS, October 1996.
D. Culler et al. Parallel programming in split-c. In Proceedings of Supercomputing '99, pages 262-273, November 1993.
S. Dwarkadas, A. L. Cox, and W. Zwaenepoel. Compiler-directed selective update mechanisms for software and distributed shared memory. Technical Report 95-253, Rice University, 1995.
P. Keleher, A. L. Cox, S. Dwarkadas, and W. Zwaenepoel. An evaluation of software-based release consistent protocols. The Journal of Parallel and Distributed Computing, 29, September 1995.
P. Keleher, A. L. Cox, and W. Zwaenepoel. Lazy release consistency for software distributed shared memory. In Proc. of the 19th ISCA, pages 1321, May 1992.
P. Keleher, S. Dwarkadas, A. Cox, and W. Zwaenepoel. Treadmarks: Distributed shared memory on standard workstations and operating systems. In Proceedings of the USENIX Winter '94 Technical Conference, pages 1721, Jan 1994.
P. Keleher. Sparks: Coherence as an abstract type. Technical Report CS-TR-3543, University of Maryland, 1995.
D. J. Scales and M. S. Lam. The design and evaluation of a shared object system for distributed memory machines. In Proc. of the 1st OSDI, 1994.
J. E. Veenstra and R. J. Fowler. MINT: A front end for efficient simulation of shared-memory multiprocessors. In Proc. of the 2nd MASCOTS, 1994.
S. C. Woo, M. Ohara, E. Torrie, J. P. Singh, and A. Gupta. The SPLASH2 programs: Characterization and methodological considerations. In Proc. of the 22nd ISCA, pages 24-36, May 1995.