O objetivo dos experimentos realizados foi determinar qual o melhor paradigma e dentre eles o melhor particionamento para serem utilizados ao se paralelizar a equação do mapa logístico buscando uma redução no tempo total de execução, para tanto experimentos foram realizados e algumas informações recolhidas. Neste contexto, o principal instrumento para esta análise são os índices de desempenho definidos no capítulo 2 apresentados em forma de gráficos para cada paradigma na seção 4.2 deste capítulo.
O paradigma manager/worker com particionamento estático mostrou-se cada vez mais eficiente à medida que são acrescentados processadores a uma execução, isto quer dizer que quanto maior o número de processadores participando de uma mesma execução maior é o ganho em tempo de execução e mais tempo os mesmos gastam executando e não comunicando ou gerenciando processos pertinentes a execução paralela.
O paradigma manager/worker com particionamento dinâmico no geral mostrou-se menos eficiente que o paradigma manager/worker com particionamento estático. Para uma população inicial de 1200000 elementos gerados randomicamente o particionamento dinâmico mostrou-se bastante inconstante. Quanto maior a tarefa definida pior a eficiência geral das execuções, os processadores passam mais tempo se comunicando do que realizando os cálculos. Quanto maior a tarefa este paradigma também apresenta os menores valores de speedup colhidos em todos os experimentos.
O paradigma SPMD possui somente o particionamento estático e desta forma o tamanho da tarefa de cada execução é definido levando-se em consideração a população inicial e a quantidade de processadores disponíveis, isto é, para cada execução paralela existe apenas um valor de tarefa. Os resultados colhidos mostraram que o SPMD possui um ganho em tempo de execução linear à medida que processadores são adicionados a execução, a cada adição de um processador o tempo de execução total diminui cada vez mais. A eficiência deste paradigma apresentou-se elevada durante todas as execuções paralelas devido a existência de um processador a mais de cômputo diferente do que
ocorre no paradigma manager/worker. Quanto a eficiência pode-se também observar que a medida que mais processadores participam de uma execução o valor da eficiência decresce devido ao fato de que quanto mais processadores participam de uma execução mais mensagens são distribuídas pela rede.
Por fim o paradigma SPMD foi considerado a melhor forma de paralelizar a equação do mapa logístico. O paradigma SPMD apresentou os maiores ganhos de tempo de execução dentre todas as estratégias estudadas e para todas as execuções paralelas realizadas, desde as execuções com 3 processadores até as execuções com 23 processadores, como é mostrado na Figura 30.
Figura 30 - Speedup total.
A estratégia de paralelização baseada no paradigma SPMD também se mostrou a mais eficiente dentre todas as estratégias comparadas Figura 31. Isto quer dizer que esta estratégia foi a que passou mais tempo executando durante todo o processo não desperdiçando tempo com gerenciamento de processos ou comunicação entre os processos. 0 5 10 15 20 25 3 4 5 6 7 8 9 1011121314151617181920212223 S p ee d u p Processadores
Speedup Total
Estático Dinâmico - Tarefa 1 Dinâmico - Tarefa 2 SPMDFigura 31 - Eficiência total. 0 20 40 60 80 100 120 3 5 7 9 11 13 15 17 19 21 23 E fici ência (% ) Processadores
Eficiência Total
Estático Dinâmico - Tarefa 1 Dinâmico - Tarefa 2 SPMD5 CONSIDERAÇÕESFINAIS
A fim de suprir a demanda pelo alto poder de processamento, desenvolveu-se o esquema de paralelização de processamento. Um esquema particular de grande popularidade são os clusters - sistemas que possuem como características: disponibilidade, desempenho, balanceamento de carga, escalabilidade, baixo custo e o uso maciço de software livre – fatores que vieram a propiciar uma popularização dos sistemas paralelos. Atualmente, os clusters são utilizados na paralelização de processos de diversas áreas, desde pesquisas científicas a processamentos gráficos.
Um caso particular de problema que exige um alto poder de processamento e gera um grande volume de dados é o cálculo do mapa logístico, bastante estudado por físicos e usado em sistemas dinâmicos discretos para determinar o limiar do caos. Neste sentido, a paralelização desse cálculo vem a se tornar uma ótima opção para a redução do tempo gasto na execução desse algoritmo. Para isso, no entanto, há diversas métodos.
Deste modo, o objetivo deste trabalho foi descobrir qual o melhor método de paralelização da equação do mapa logístico. Para tanto foram escolhidas três técnicas de paralelização baseadas em dois paradigmas. O primeiro paradigma manager/worker foi implementado com duas formas de particionamento, estático e dinâmico. O segundo paradigma, SPMD, foi implementado usando apenas o particionamento estático.
Foi possível observar vários comportamentos das curvas de speedup e eficiência para diferentes fatores de potência para o cálculo do mapa logístico. Para todas as curvas de speedup (paradigmas manager/worker e SPMD) é possível observar que a execução do fator de potência 15 e 16 produzem os melhores resultados. O inverso, por outro lado, ocorre com a execução do fator de potência 9, apresentando os piores resultados de speedup. Quanto à eficiência, pode-se constatar o mesmo comportamento para execuções com as potências 15 e 16, embora, em intervalos restritos, algumas potências apresentaram melhores resultados; e novamente, o fator de potência 9 apresentou os piores resultados. Isto demonstra que quanto maior o fator de potência – o número de iterações – melhores os benefícios obtidos com a paralelização.
Sugerem-se para trabalhos futuros as seguintes possibilidades de extensão para este trabalho, dentre elas:
Aumentar ainda mais a população inicial e ver como os tempos finais se comportam para cada estratégia;
Aumentar ainda mais a quantidade de nós de cômputo disponíveis no cluster e comparar os resultados obtidos neste trabalho;
REFERÊNCIAS
AMDAHL, G. M. Validity of the Single Processor Approach to Achieving Large Scale
Computing Capabilities. AFIPS Conference Proceedings, v. 30, p. 483–485, 1967. Disponível em: <http://impact.asu.edu/cse520fa08/Alaw.pdf>. Acesso em: 20 set. 2010.
CARVALHO JUNIOR, F. H. C. Programação paralela eficiente e de alto nível sobre
arquiteturas distribuídas. 2003.275f. Tese (Doutorado em Ciência da Computação)-Centro de Informática, Universidade Federal de Pernambuco.
FIEDLER-FERRARA, N.; PRADO, C. P. C. Caos: Uma Introdução.1. ed. São Paulo-SP: Editora Edgard Blücher LTDA, 1994.
FLYNN, M. J. Some computer organizations and their effectiveness, IEEE Transactions on Computers, v. C-21, n. 9, p. 948-960, 1972.
FOSTER, I. Designing and Building Parallel Programs: Concepts and Tools for Parallel Software Engineering. Boston-MA: Addison-Wesley Longman Publishing Co, 1995.
GROPP, W.; LUSK, E.; STERLING, T. Beowulf Cluster Computing with Linux. 2. ed. Cambridge: The MIT Press, 2003.
GUSTAFSON, J. L. Reevaluating Amdahl's Law. Communications of the ACM, v. 31, n. 5, p. 532-533, 1988.
KANTZ, H.; SCHREIBER, T. Nonlinear Time Series Analysis. 2. ed. Cambridge: Cambridge University Press, 2004.
KUGIUMTZIS, D.; LILLEKJENDLIE, B.; CHRISTOPHERSEN, N. Chaotic time series part I: Estimation of some invariant properties in state space. Modeling, Identification and Control, v. 15, n. 4, p. 205-224, 1994.
MENEZES JÚNIOR, J. M. P. M. Redes Neurais Dinâmicas para Predição e Modelagem Não-Linear de Séries Temporais. 2006. 132f. Dissertação (Mestrado em Engenharia Teleinformática)-Departamento de Engenharia Teleinformática, Universidade Federal do Ceará.
MOLDOVAN, D. I. Parallel Processing: From Applications to Systems. 1. ed. San Francisco- CA: Morgan Kaufmann Publishers, 1993.
MORRISON, R. S. Cluster Computing: Architecture, Operating Systems, Parallel Processing and Programming Languages. GNU General Public License, 2003.
MPI FORUM. MPI: A Message-Passing Interface Standard. Message Passing Interface Forum. 2003a. Fórum de discussão para o desenvolvimento da API. Disponível em: http://www.mpi- forum.org/docs/mpi1-report.pdf. Acesso em: 15 ago. 2010.
MPI FORUM. MPI-2: Extensions to the Message Passing Interface. Message Passing Interface Forum, 2003b. Fórum de discussão para o desenvolvimento da API. Disponível em:
<http://www.mpi-forum.org/docs/mpi2-report.pdf>. Acesso em: 15 ago. 2010.
PATTERSON, D. A.; HENNESSY, J. L. Computer Organization and Design: The Hardware Software Interface. 2.ed. Morgan Kaufmann, 1995.
PITANGA, M. Computação em Cluster. 1. ed. Rio de Janeiro: Brasport, 2003.
ROSE, C. A. F. D.; NAVAUX, P. O. A. Arquiteturas paralelas. 1. ed. Porto Alegre-RS: Bookman Companhia, 2003.
SHIVARATRI, N. G.; KRUEGER, P.; SINGHAL, M. Load Distributing for Locally Distributed Systems. Computer, v. 25, n. 12, p. 33-44, December 1992.
SNIR, M. et al. MPI: The complete reference. 2. ed. Cambridge: The MIT Press, 1998.
TIRNAKLI, U.; TSALLIS, C.; BECK, C. Closer look at time averages of the logistic map at the edge of chaos. Physical Review E, v. 79, n. 5, p. 056209/1-056209/6, Maio, 2009.