Tuesday, November 22, 2016

Benchmark Python Parallel - PP

Esse Post tem como objetivo comparar a execução de um mesmo script python por meio sequencial,
paralela e por cluster.

Módulo PP

PP fornece a opção de execuções de códigos python em paralelo em sistemas com
múltiplos processadores ou núcleos e em clusters.

Instalação

O pacote PP pode ser facilmente instalado através do pip
$ pip install pp

Exemplo Simples

import pp
job_server = pp.Server()
f1 = job_server.submit(func1, args1, modules1)
f2 = job_server.submit(func1, args2, modules1)
r1 = f1()
r2 = f2()
Para mais exemplos e documentação clique aqui

Benchmark

Como base foi utilizado um script de OMR(Optical Mark Recognition). Esse script tem como
função analisar todos os arquivos JPG ou PNG de uma pasta e escrever em um CSV todas 
as marcações encontradas.

Sequencial


Paralela

Utilizando os 4 núcleos do computador.


Cluster 

Vários Computadores ligados via rede. Nesse experimente foram utilizados dois computadores


Resultado

Paralelo teve um tempo 2.12x menor em relação ao sequencial. O Cluster teve o melhor resultado sendo 3.03x mais rápido que o sequencial e 1.42x que a paralela.
Sendo assim, em tese, quanto mais computadores forem colocados em paralelo menor será o tempo de processamento

No comments:

Post a Comment