• Nenhum resultado encontrado

Diferente do tempo obtido na execu¸c˜ao do la¸co, onde foi medido o tempo entre um c´odigo paralelizado e um c´odigo sequencial, nos tempos totais ´e considerado todo o c´odigo ainda sequencial e todas as chamadas de m´etodos implementados em outra linguagem de programa¸c˜ao(Fortran) e o c´odigo paralelizado.

Tabela 6.2: Resultados m´edios das 10 execu¸c˜oes em cada computador e m´etodo de execu¸c˜ao do la¸co para cada n´umero de pontos da curva de luz.

Pontos i5 single i7 single i5 parallel i7 parallel 1000000 00:16,481 00:12,931 00:12,798 00:10,246

A diferen¸ca na execu¸c˜ao considerando os tempos totais, seguem um perfil semelhante entre os computadores com i5 e i7.

Isto pode ser melhor observado na Figura 6.5 e Figura 6.6, por´em os tempos obtidos s˜ao significativamente menores.

Figura 6.5: Gr´afico comparativo entre vers˜ao sequencial do c´odigo utilizado em dois computadores diferentes

Na execu¸c˜ao em paralelo o resultado obtido ´e mostrado na Figura 6.6

Figura 6.6: Gr´afico comparativo entre vers˜ao paralelizada do c´odigo utilizado em dois computadores diferentes

Diferente das execu¸c˜oes em la¸co, no computador com processador i5 o tempo total teve um speedup m´edio de 1,29 vezes a execu¸c˜ao sequencial com um tempo de execu¸c˜ao de 77,72% do tempo de execu¸c˜ao entre as vers˜oes paralela e sequencial, segue proporcional ao aumento do n´umero de pontos, conforme mostrado nos dois pr´oximos gr´aficos da pr´oxima p´agina.

Figura 6.7: Compara¸c˜ao entre o m´etodo sequencial e paralelo no i5

Os dados das execu¸c˜oes no i5 (Figura 6.7) e i7 (Figura 6.8) assim como nos resultados da execu¸c˜ao do la¸co, seguem um perfil semelhante entre os dois tipos de processadores, pois o ganho de performance em ambos os computadores foi proporcionalmente semelhante.

No tempo total de execu¸c˜ao obtido no computador com processador i7 obteve um speedup m´edio de 1,26 e um tempo de execu¸c˜ao correspondente a 79,19% do tempo de execu¸c˜ao da vers˜ao sequencial.

Figura 6.8: Compara¸c˜ao entre o m´etodo sequencial e paralelo no i7

O resultado paralelizado ainda teve um aumento escalar semelhante ao resultado sequencial, por conta da parte do c´odigo em Fortran, que tomou a maior parte da execu¸c˜ao do processamento da curva de luz.

6.4 Comparativo do tempo de execu¸ c˜ ao entre vers˜ ao sequencial x paralelizada

As vers˜oes paralelizadas do la¸co escolhido tiveram um tempo de execu¸c˜ao menor que 1 segundo, portanto ao se comparar as suas execu¸c˜oes com os tempos no c´odigo sequencial seus valores quase n˜ao s˜ao vis´ıveis na Figura 6.9, os tempos em paralelo ficam praticamente sobrepostos na barra inferior da imagem, por´em, seus tempos diferem nos m´ıl´esimos de segundo conforme vistos na Figura 6.4.

Figura 6.9: Gr´afico comparativo das execu¸c˜oes do FOR para diferentes computadores Ao se comparar o tempo total de todas as execu¸c˜oes, na Figura 6.10 ´e poss´ıvel visualizar que o tempo de execu¸c˜ao do c´odigo paralelizado no computador com processador de menor capacidade chega a ter um desempenho semelhante ao tempo de execu¸c˜ao sequencial no computador com processador com maior capacidade.

Figura 6.10: Gr´afico comparativo das execu¸c˜oes totais para diferentes computadores O speedup obtido na execu¸c˜ao do la¸co FOR no processador i5 foi de 452,04 e no processador i7 foi de 288,36. J´a o aumento de desempenho no tempo de execu¸c˜ao total foi de 1,29 na execu¸c˜ao no notebook com processador i5 e 1,26 na execu¸c˜ao no notebook com processador i7.

Para garantir que o resultado da paraleliza¸c˜ao n˜ao gerasse nenhuma distor¸c˜ao na gera¸c˜ao de curvas de luz, foi gerada curvasd e luz tanto para a execu¸c˜ao sequencial quanto para a execu¸c˜ao paralela. Na Figura 6.11 ´e apresentada uma curva de luz com 1.000.000 pontos gerada atrav´es do modelo ellc, os demais parˆametros s˜ao os mesmos aplicados para a execu¸c˜ao das tomadas de tempo apresentadas anteriormente.

Figura 6.11: Gera¸c˜ao de curvas de luz do modelo ELLC sequencial

Ja na imagem Figura 6.12 uma uma vers˜ao da curva de luz com 1.000.000 de pontos foi gerada pelo metodo paralelizado.

Figura 6.12: Gera¸c˜ao de curvas de luz do modelo ELLC Paralela

Conforme apresentado nas figuras Figura 6.11 e Figura 6.12 as curvas de luz geradas pelos dois modelos s˜ao semelhantes e consistentes, mostrando que mesmo com a parale-liza¸c˜ao o c´odigo gerado n˜ao apresenta distor¸c˜oes em rela¸c˜ao a curva de luz gerada pelo c´odigo sequencial.

Cap´ıtulo 7

Conclus˜ oes e Trabalhos Futuros

Considerando o crescente aumento na busca por exoplanetas e na aplica¸c˜ao do m´etodo de trˆansitos planet´arios resultando em confirma¸c˜oes e descobertas importantes, este trabalho buscou expor alguns modelos conhecidos para an´alise fotom´etrica, por´em com principal foco o modelo ELLC, que foi proposto por Maxted (2016) para an´alise e gera¸c˜ao de curvas de luz de estrelas bin´arias e trˆansitos planet´arios, este modelo implementa e permite que sejam utilizados diferentes algoritmos de escurecimento de limbo conhecidos, tamb´em implementa efeitos de reflex˜ao e manchas estelares. Maxted adicionou, na execu¸c˜ao das simula¸c˜oes, m´etodos de Monte Carlo via Cadeias de Markov atrav´es do pacote emcee do python. Apesar de ter uma parte do c´odigo escrito Fortran e necessitando sua instala¸c˜ao para que o ELLC, seja instalado, sua execu¸c˜ao ´e feita atrav´es do Python. Por´em o modelo ELLC mesmo que tenha sido proposto para execu¸c˜ao r´apida, n˜ao implementa nenhum m´etodo de paraleliza¸c˜ao em seu c´odigo. Nesta disserta¸c˜ao, foi realizada a paraleliza¸c˜ao do modelo ELLC, gerador de modelos fotom´etrico-anal´ıticos para curvas de luz de trˆansitos planet´arios, utilizando a arquitetura OpenMP.

No primeiro momento, foi feita uma an´alise dos tempos de execu¸c˜ao total e dos dois la¸cos que o m´etodo de curvas de luz (lc) do ELLC utiliza, o primeiro la¸co presente na fun¸c˜ao lc apresentou um tempo de execu¸c˜ao inferior ao segundo la¸co, mesmo com uma grande quantidade de pontos utilizado para gerar uma curva de luz, o segundo la¸co em contra partida, apresentou um tempo de execu¸c˜ao proporcional ao n´umero de pontos utilizados, por isso o segundo la¸co foi escolhido para ser implementado o OpenMP, toda a implementa¸c˜ao foi descrita na Se¸c˜ao 5.1.

Durante a implementa¸c˜ao, foram estudados diversos parˆametros poss´ıveis e os m´etodos de aplica¸c˜ao do OpenMP atrav´es do compilador C do Python. Dentre os parˆametros utilizados, a aloca¸c˜ao de itera¸c˜oes dinˆamica consumiu grande parte de mem´oria dispon´ıvel no computador, chegando a ter um uso de 100% de mem´oria e travando a execu¸c˜ao para

uma grande quantidade de pontos, a aloca¸c˜ao de itera¸c˜oes estatica para todos os processos, fez um melhor uso da mem´oria dispon´ıvel para todo o conjunto de intera¸c˜oes da simula¸c˜ao.

O uso do NOGIL se mostrou essencial para melhores resultados na execu¸c˜ao do c´odigo.

Para que todo o c´odigo do la¸co n˜ao necessitasse utilizar o GIL, foi necess´ario a convers˜ao das vari´aveis em python utilizadas no la¸co para variaveis do C, definidas com CDEF.

apresentadas.

Conclu´ıda a implementa¸c˜ao, foram feitos diversos ajustes nos parˆametros utilizados para obter o melhor resultado e ap´os obter o melhor ajuste, foram iniciadas as medi¸c˜oes de execu¸c˜ao do c´odigo paralelizado e sequencial. Para efeito de compara¸c˜ao, foi feita a execu¸c˜ao do mesmo c´odigo em dois computadores diferentes.

Os resultados que foram utiliz´aveis para a avalia¸c˜ao do ganho de desempenho equi-valem a 10 execu¸c˜oes para cada n´umero de pontos definido na execu¸c˜ao, iniciados em um milh˜ao de pontos, sendo incrementados em um milh˜ao, at´e o total de trinta milh˜oes de pontos, totalizando 300 execu¸c˜oes sequenciais e 300 execu¸c˜oes paralelas que foram aproveitadas. As execu¸c˜oes onde ocorreram erros no meio do processo, ainda n˜ao estavam no est´agio final de ajuste e foram descartadas.

Desse resultado, foi calculada a m´edia do tempo para cada n´umero de pontos, sendo assim os tempos obtidos e com base nesses resultados foram montado os gr´aficos exibidos no cap´ıtulo 6 assim o ganho obtido nas execu¸c˜oes.

Comparando os tempos de execu¸c˜ao do la¸co (FOR) paralelizado com a sua ves˜ao sequencial, ´e poss´ıvel observar que o ganho de desempenho ´e significativamente positivo, independente do computador utilizado os resultados ficaram abaixo de 1 segundo para execu¸c˜ao do la¸co, como visto nas Figuras 6.2 e 6.3 , onde os tempos medidos ficam entre 0 a 1 segundos para todos os n´umeros de pontos utilizados. O ganho de desempenho obtido no computador com processador i5 e 16GB de mem´oria, foi de 99,77% e o resultado no computador com processador i7 e 12GB de mem´oria foi de 99,65%. Mesmo que a capacidade de processamento, maior do computador com processador i7, tenha atingido tempos menores que o outro computador, ele possui uma quantidade de mem´oria dispon´ıvel menor que o outro computador com processador i5, como visto no Cap´ıtulo 4.

A divis˜ao do processo ´e feita de acordo com a mem´oria dispon´ıvel que ´e compartilhada entre os processadores, com isso o ganho obtido nesse computador foi menor.

Analisando os tempos totais da execu¸c˜ao das simula¸c˜oes, os ganhos de desempenho obtidos para o computador i5 e 16GB de mem´oria foram de 22,28%, seguindo mesmo

observado na execu¸c˜ao do la¸co, o computador com processador i7 e 12GB de mem´oria teve um ganho de 20,80% na execu¸c˜ao do c´odigo paralelizado em rela¸c˜ao ao c´odigo sequencial. Foi poss´ıvel observar que um computador com processador i5, utilizando multiprocessamento, obteve uma performance semelhante a um computador de maior capacidade de processamento como o segundo computador utilizado nas simula¸c˜oes, que possu´ıa um processador i7. Considerando o ganho da execu¸c˜ao total em rela¸c˜ao ao tempo de execu¸c˜ao do la¸co desproporcional, foi medido o tempo de cada chamada a fun¸c˜oes do Python ou Fortran do c´odigo do ELLC, constatado que o tempo de execu¸c˜ao de uma fun¸c˜ao do fortran (ELLC f) ´e equivalente a quase o tempo total da execu¸c˜ao.

Como conclus˜ao geral, os resultados obtidos neste trabalho apontam que a parale-liza¸c˜ao do c´odigo utilizando OpenMP pode obter um ganho significante de desempenho na gera¸c˜ao de curvas de alta qualidade com o modelo ELLC.

Como extens˜ao deste trabalho, sugere-se a paraleliza¸c˜ao da gera¸c˜ao de curvas de velocidade radial para o M´odulo ELLC. Curvas de velocidade radiais podem ser utilizadas como elementos de confirma¸c˜ao de exoplanetas descobertos na an´alise de curvas de luz. As curvas de velocidades radiais do M´odulo ELLC tamb´em permitem a gera¸c˜ao de um n´umero arbitr´ario de pontos e, `a medida que a quantidade destes pontos aumenta, esquemas de alto desempenho com OpenMP podem acelerar a gera¸c˜ao destas curvas.

Outra extens˜ao interessante refere-se ao uso do c´odigo paralelizado do M´odulo ELLC para processos de ajustes de parˆametros do modelo com dados observacionais. Em particular, dados de fotometria de alta qualidade futuros como os das miss˜oes TESS e PLATO poderiam utilizar o esquema eficiente de gera¸c˜ao de curvas de luz de alta qualidade proposto nesta disserta¸c˜ao com esquemas eficientes de ajustes de parˆametros MCMC.

Apˆ endices

Apˆ endices A

Tabelas Complementares de Execu¸ c˜ ao

Complementariamente aos resultados apresentados no 6, onde s˜ao apresentados a dura¸c˜ao m´edia de cada execu¸c˜ao, nesta se¸c˜ao est˜ao as tabelas contendo os valores originais de cada execu¸c˜ao do c´odigo.

Primeiro s˜ao apresentadas as tabelas referentes as execu¸c˜oes do la¸co, tanto para o processador i5 quanto para o processador i7, em seguid˜ao s˜ao apresentadas as tabelas contendo os tempos de execu¸c˜ao total do c´odigo ELLC. O calculo da % corresponde a rela¸c˜ao entre a execu¸c˜ao sequencial e a execu¸c˜ao paralela.

A Tabela 1.1 apresenta as execu¸c˜oes do la¸co escolhido para paraleliza¸c˜ao do m´etodo de gera¸c˜ao de curvas de luz do ELLC no processador i5. Parte dos resultados n˜ao correspondiam a toda uma itera¸c˜ao dos 30 milhoes de pontos, por n˜ao atenderem a toda a amostra necess´aria, esses dados n˜ao foram considerados v´alidos.

A Tabela 1.3 s˜ao apresentadas as tabelas contendo os valores totais da execu¸c˜ao do c´odigo no computador com processador i5, esta tabela cont´em as 10 execu¸c˜oes finais para cada numero de pontos informados.

A Tabela 1.2 apresenta as execu¸c˜oes do la¸co escolhido para aplica¸c˜ao do ELLC no processador i7, da mesma forma que o ocorrido no computador com processador i5, parte dos registros de execu¸c˜ao ficaram indispon´ıveis, somente foram utilizados os registros que atendiam toda uma itera¸c˜ao dos 30 milh˜oes de pontos.

A Tabela 1.4 s˜ao apresentadas as tabelas contendo os valores totais da execu¸c˜ao do c´odigo no computador com processador i7.

Tabela 1.1: Tempos de execu¸c˜ao do la¸co paralelizado x la¸co sequencial do ELLC no processador i5

Tabela 1.2: Tempos de execu¸c˜ao do la¸co paralelizado x la¸co sequencial do ELLC no processador i7

Tabela 1.3: Tempos de execu¸c˜ao total do c´odigo paralelizado x c´odigo sequencial do ELLC no processador i5

Tabela 1.4: Tempos de execu¸c˜ao total do c´odigo paralelizado x c´odigo sequencial do ELLC no processador i7

REFERˆ ENCIAS

Eastman, J.; Gaudi, B.; Agol, E. Exofast: A fast exoplanetary fitting suite in idl.

Publications of the Astronomical Society of Pacific, , n. 125 (23), p. 83–93, 2013.

Gazak, J. Z.; Johnson, J. A.; Tonry, J. Transit analysis package: An idl graphical user interface for exoplanet transit photometry. Advances in Astronomy, , n. 30, p. 150–162, 2012.

Gim´enez, A. Equations for the analysis of the light curves of extra-solar planetary systems. Astronomy and Astrophysics, , n. 450 (3), p. 1231–1237, 2006.

Kipping, D.; Spiegel, D. Detection of visible light from the darkest world. Monthly Notices of the Royal Astronomical Society, , n. 417 (1), p. 88–92, 2011.

Kjurkchieva, D.; Dimitrov, D.; Vladev, A.; Yotov, V. New approach for modeling of transiting exoplanets for arbitrary lim-darkening law. Monthly Notices of the Royal Astronomical Society, , n. 3, p. 1–10, 2013.

Kreidberg, L. batman: Basic transit model calculation in python. Publications of the Astronomical Society of the Pacific, , n. 127 (957), p. 100–137, 2015.

Mandel, K.; Agol, E. Analytic light curves for planetary transit searches. ApJ, v. 580, n. 118,119, p. L171–L175, 2002.

Maxted, P. Ellc-a fast, flexible light curve model for detached eclipsing binary stars and transiting exoplanets. Astronomy and Astrophysics, , n. 591, p. 1–16, 2016.

Montalto, M.; Bou´e, G.; Oshagh, M.; Boisse, I.; Bruno, G.; Santos, N. C.

Improvements on analytic modelling of stellar spots. Monthly Notices of the Royal Astronomical Society, v. 444, p. 1721–1728, 2014.

Morris, B. Oscaar: Open source differential photometry code for amateur astronomical research. 2012.

Dispon´ıvel emhttps://github.com/OSCAAR/OSCAAR.

Morris, B.; Mandell, A.; Deming, F. Kepler’s optical secondary eclipse of hat-p-7b and probable detection of planet-induced stellar gravity darkening. The Astrophysical Journal Letters, , n. 764 (2), p. 30–40, 2013.

Parviainen, H. Pytransit: Fast and easy exoplanet transit modelling in python.

Monthly Notices of the Royal Astronomical Society, v. 312, p. 1470–1482, 2015.

Perryman, M. The exoplanet handbook. Cambridge University Press, 2011.

P´al, A. Fitsh: A software package for image processing. In: Monthly Notices of the Royal Astronomical Society, v. 421 (3), p. 1825–1837, 2011.

Rauer, H.; Catala, C. nad Aerts, C. e. a. The plato 2.0 mission. Experimental Astronomy, v. 249, p. 249–230, 2014.

Ricker, G.; Winn, J.; Vanderspek, R. The transiting exoplanet survey satellite.

Journal of Astronomical Telescopes, Instruments and Systems, v. 1, p. 1–40, 2016.

Silva, A. V. R. Method for spot detection on solar-like stars. The Astrophysical Journal Letters, , n. 585, p. 147–150, 2003.

Silva-Valio, A. Estimating stellar rotation from starspot detcetion during planetary transits. The Astrophysical Journal Letters, , n. 683 (2), p. 30–42, 2008.

Southworth, J.; Smalley, B.; Maxted, P.; Etzel, P. Accurate fundamental parameters of eclipsing binary stars. Proceedings IAU Simposium 224, p. 1–15, 2004.

Documentos relacionados