Técnicas para Detecção Dinâmica de Padrões na Passagem de Locks em Software DSMs
Resumo
Sistemas de memória compartilhada distribuída, com coerência de dados mantida por software, têm se mostrado uma alternativa de baixo custo para programação no modelo de memória compartilhada. Entretanto, tais sistemas, denominados software DSMs, apresentam desempenho limitado devido principalmente ao grande overhead gerado pelo protocolo de coerência empregado. Nesse trabalho apresentamos técnicas para previsão dinâmica da passagem de locks entre os processadores. Essas técnicas podem ser utilizadas por software DSMs para sobrepor o overhead de comunicação e a computação útil. Mais especificamente, se um processador p pode prever o próximo processador p a adquirir a seção crítica em que ele se encontra, ele pode enviar antecipadamente suas mensagens de coerência a q e assim esconder a latência dessas mensagens com computação útil em q. Realizamos simulações com dois software DSMs diferentes e, para um conjunto de seis aplicações reais, mostramos que podemos estabelecer dinamicamente um pequeno conjunto de processadores que são os mais prováveis "próximos acquirers" de uma seção crítica. Os resultados obtidos em nossos experimentos indicam que as nossas técnicas alcançam taxas de acerto altas, variando de 60% a 97% do total de eventos de lock.
Referências
Bailey, D. "The NAS Parallel Benchmarks", Technical Report RNR-94-007, NASA Ames Research Center, Ma.rch 1994.
Bershad, B.N., Zekauskas, M.J and Sawdon, W.A. "The Midway Distributed Memory System", COMPCON 1993.
Bianchini, R., Kontothanassis, L., Pinto, R., De Maria, M. Abud, M, Amorim, C.L., "Hiding Communication Latency and Coherence Overhead in Software DSMs", to appear in Proc of the 7th ASPLOS, October 1996.
Carter, J.B., Bennet, J.K. and Zwaenepoel, W. "Implementation and Performance of Munin", Proc of the 19th SOSP, October 1991, pp 152-164.
Qharachorloo, K. Lenoski, D., Laudon, J., Gibbons, P., Gupta A. and Henessy, J.L. "Memory Consistency and Event Ordering in Scalable Shared-Memory Multiprocessors",Proc of the 17th ISCA, May 1990, pp 148-159.
Keleher, P., Cox, A. and Zwaenepoel, W., "Lazy Release Consistency for Software Distributed Shared Memory", Technical Report TR91-168 Computer Science Department, Rice university, November 1991.
Keleher, P., Dwarkadas, S., Cox, A. and Zwaenepoel, W., "TreadMarks: Distributed Shared Memory on Standard Workstations and Operating Systems", Proc of the USENIX Winter 94 Technical Conference, January 1994, pp 17-21.
Kontotha.nassis, 1.1., and Scott, M.L. "Distributed Shared Memory for New Generation Networks", Proc of the 2nd HPCA, February 1996.
Veenstra, J.E. and Fowler, R.J. "Mint: A front end for effiecient simulation of shared memory multiprocessors", Proc of the 2nd MASCOTS, 1994.
Woo, S.C., Ohara, M., Torrie, E., Singh, J.P., and Gupta, A. "The Splash2 programs: Characterization and methodological considerations",Proc of the 22nd ISCA, May 1995, pp 24-36.