An analysis of multiprocessing and multithreading tools for Python

  • Pedro H. de Almeida UNIFESP
  • Álvaro L. Fazenda UNIFESP

Abstract


Este trabalho compara três ferramentas em Python para multiprocessamento e multithreading: Mpi4Py, Charm4Py e Numba, analisando sua eficácia no método de Jacobi aplicado a matrizes de tamanhos variáveis. A análise foi realizada com base no tempo de execução, utilizando métricas de Speedup e Eficiência, para diferentes números de processos/threads. Os resultados mostraram que Numba se apresentou superior dentre todas as ferramentas analisadas em termos de velocidade e escalabilidade. Por outro lado, a ferramenta com menor desempenho foi o Charm4Py, enquanto o Mpi4Py ficou como meio termo entre os seus comparativos.

References

Galvez, J. (2019). [link]. Charm4Py Docs.

Moore, G. E. (2006). Cramming more components onto integrated circuits, reprinted from electronics, volume 38, number 8, april 19, 1965, pp.114 ff. IEEE Solid-State Circuits Society Newsletter, 11(3):33–35.

Nunes, L. G. (2023). Multithread com python. Disponível em: [link]. 38 f. TCC (Graduação) - Curso de Ciência da Computação, Instituto de Ciência e Tecnologia, Universidade Federal de São Paulo, São José dos Campos.

Rupp, K. (2018). [link]. 42 Years of Microprocessor Trend Data.

Wellein, G., Hager, G., Zeiser, T., Wittmann, M., and Fehske, H. (2009). Efficient temporal blocking for stencil computations by multicore-aware wavefront parallelization. volume 1, pages 579–586.
Published
2025-05-28
ALMEIDA, Pedro H. de; FAZENDA, Álvaro L.. An analysis of multiprocessing and multithreading tools for Python. In: REGIONAL SCHOOL OF HIGH PERFORMANCE COMPUTING FROM SÃO PAULO (ERAD-SP), 16. , 2025, São José do Rio Preto/SP. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2025 . p. 26-29. DOI: https://doi.org/10.5753/eradsp.2025.9712.