Uma Biblioteca de Processos Leves para a Implementação de Aplicações Altamente Paralelas

  • Gerson Geraldo H. Cavalheiro UNISINOS
  • Lucas Correia Villa Real UNISINOS
  • Evandro Clivatti Dall'Agnol UNISINOS

Resumo


Um dos maiores problemas ligados à programação concorrente (ou paralela) não está relacionado somente à questão da identificação da concorrência do problema, mas também à exploração eficiente do paralelismo do hardware disponível. Neste sentido, diversos ambientes de programação/execução buscam realizar o mapeamento da concorrência do programa em execução ao paralelismo real da arquitetura sobre a qual a execução está se desenvolvendo. Em geral, estes ambientes apoiam-se em técnicas de escalonamento e modelos de programação. Neste trabalho é apresentada uma interface de programação, baseada no padrão threads POSIX, voltada à descrição da concorrência em aplicações e o núcleo executivo associado.

Referências

Alverson, G. A., Griswold, W. G., Lin. C., Notkin, D., and Snyder, L. (1998). Abstractions for portable, scalable parallel programming. IEEE Trans. on Parallel and Distributed Systems, 9(1):71-86.

Blelloch, G. E., Gihbons, P. B., Matias, Y., and Narlikar, G. J. (1997). Space-efficient scheduling of parallelism with synchronization variables. In Proc. of the 9th Annual ACM Symp. on Parallel Algorithms and Architectures, Newport.

Blumofe, R. D., Joerg, C. F., Kuszmaul. B. C., Leiserson. C. E., Randall, K. H., and Zhou, Y. C. E. (1995). Cilk: an efficient multithreaded runtime system. ACM SIGPLAN Notices, 30(8):207-216.

Cavalheiro, G. G. H. (2001). A general scheduling framework for parallel execution environments. In Proceedings of SLAB'01 , Brisbane, Australia.

Cavalheiro, G. G. H., Denneulin, Y., and Roch, J.-L. (1998). A general modular specification for distributed schedulers. In Verlag, S., editor, Proc. of Europar'98, Southampton.

Cohen, W. E. et ai (1998). Exploitation of multithreading to improve program performance. In Proc. of The Yale Multithreaded Programming Workshop, New Haven.

Denneulin, Y. (1998). Conception et ordonnancement des applications hautement irrégulières dans un contexte de parallélisme à grain fin. PhD thesis, Université des Sciences et Technologies de Lille, Lille.

Denneulin, Y., Namyst, R., and Méhaut, J. F. (1998). Architecture virtualization with mobile threads. In Proc. of ParCo 97, volume 12 of Advances in Parallel Computing, Amsterdam. Elsevier.

Galilée, F., Roch, J.-L. , Cavalheiro, G. G. H., and Doreille. M. (1998). Athapascan-1: online building data flow graph in a parallel language. In Pact '98, Paris, France.

Garzão, A. S .. Villa Real. L. C., e Cavalheiro, G. G. H. (2001). Ferramentas para desenvolvimento de um ambiente de programação sobre agregados. In Anais do Workshop em Software Livre, Porto Alegre.

Ghezzi, C. and Jazayeri. M. (1998). Programming Language Concepts. John Wilei & Sons. New York, 3 edition.

Graham, R. L. (1969). Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics, 17(2):41-29.

Konig, J.-C. et Roch, J.-L. (1997). Machines virtuelles et techniques d'ordonnancement. In Barth, D. et ai editor, ICaRE'97: Conception et mise en oeuvre d'applications parallèles irrégulières de grande taille, Aussois. CNRS.

Moschetta, E., Osório, F. S., e Cavalheiro, G. G. H. (2002). Reconhecimento de imagens em aplicações críticas. In III Workshop em Sistemas de Alto Desempenho, Vitória. SBC.

Skillicorn, D. (1994 ). Foundations of Parallel Programming. Cambridge, Great Britain.

Snir, M., Otto, S. W., Huss-Lederman, S., Walker, D. W., and Dongarra, J. (1996). MPI: the complete reference. MIT Press, Cambridge, MA, USA.

Vilia Real, L. C., Dall'Agnol , E. C., e Cavalheiro, G. G. H. (2002). Construção de um ambiente de programação para o processamento de alto desempenho. In ERAD 2002: Sessão de Pôsteres, São Leopoldo. SBC.
Publicado
10/11/2003
CAVALHEIRO, Gerson Geraldo H.; REAL, Lucas Correia Villa; DALL'AGNOL, Evandro Clivatti. Uma Biblioteca de Processos Leves para a Implementação de Aplicações Altamente Paralelas. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 4. , 2003, São Paulo. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2003 . p. 117-124. DOI: https://doi.org/10.5753/wscad.2003.19111.