O documento discute programação paralela em Python, apresentando bibliotecas e alternativas como threading, multiprocessing, Parallel Python e MPI for Python. Exemplos mostram como esses módulos podem ser usados para executar tarefas em paralelo em Python.
9. Exemplos: MPI for Python
from mpi4py import MPI
comm = MPI.COMM_WORLD
rank = comm.Get_rank()
if rank == 0:
data = {'a': 7, 'b': 3.14}
comm.send(data, dest=1, tag=11)
elif rank == 1:
data = comm.recv(source=0, tag=11)
10. Alternativas...
●Jython possui um ótimo desempenho usando threads
pois não possui o GIL;
● MPI está implementada em Python.
● Criar novos processos a partir de threads em Python;
●Aproveitar padrões existentes criando novos
modelos...
11. Aplicações de modelos...
● Objetivo é aplicar modelos de programação paralela
que que facilite o trabalho do programador e que
forneça escalabilidade.
●Modelo de programação com fluxos de execução
paralelo implícito – TIRT
12. O módulo TIRT
● Cria trabalhadores implícitos;
● Gerenciamento a cargo do ambiente de execução;
● Balanceamento de carga (Roubo de Tarefas)
● Oferece escalabilidade.