Defesa de Proposta de Tese de Doutorado de Clayton Escouper das Chagas, em 12/04/24, às 14:00h, na sala 310 do Instituto de Computação e por videoconferência

Defesa de Proposta de Tese de Doutorado de Clayton Escouper das Chagas, em 12/04/24, às 14:00h, na sala 310 do Instituto de Computação e por videoconferência

Link para defesa: https://meet.google.com/ttb-fwde-ihx

 

Probabilistic Speedup of Scientific Scripts through Memoization

 

Resumo:

 

Os cientistas usam cada vez mais linguagens de script para conduzir experimentos in silico e in virtuo. No entanto, a complexidade desses experimentos e o tempo de execução prolongado podem ser obstáculos para encontrar soluções relevantes em um prazo razoável. A redução do tempo de execução desses experimentos é uma questão importante na computação e na ciência. Embora técnicas como computação de alto desempenho e computação em nuvem possam melhorar o desempenho, essas infraestruturas costumam ser caras e geralmente estão disponíveis apenas para projetos de pesquisa em grande escala. Em pesquisa de pequena escala a escrita de experimentos em linguagens como Python, R ou Jupyter Notebooks é feita muitas vezes nos computadores pessoais de estudantes de pós-graduação ou pesquisadores que conduzem tais pesquisas, sem acesso a grandes infraestruturas computacionais ou suporte de pessoal especializado em computação. Segundo a literatura, a memoization é uma técnica potencial para acelerar experimentos sem a necessidade de adaptação para infraestruturas de alto desempenho. No entanto, estudos indicam que soluções genéricas de memoização nem sempre reduzem o tempo de execução; em alguns casos, podem até atrasá-lo. Esta proposta de tese apresenta SpeeduPy, uma abordagem baseada em memoization projetada para resolver os problemas mencionados anteriormente. Baseamos nossa proposta em (i) melhorias arquiteturais na implementação da memoization clássica, (ii) uso de IA para otimizar a parametrização com base nas características do experimento, (iii) uso de técnicas de probe e profiling para inferir o tempo mínimo de execução a partir do qual uma função poderia usar memoization com vantagem e (iv) um mecanismo que aplica o inovador conceito de funções estatisticamente puras para maximizar o número de funções que podem ser memoizadas. A implementação atual do SpeeduPy, que memoriza scripts Python de forma clássica, obteve desempenho equivalente ao da literatura quando aplicado em nossos cinco conjuntos de experimentos. Acreditamos que, após implementar as técnicas propostas para esta tese, o Speedupy conseguirá alcançar resultados superiores.

 

Abstract:

 

Scientists increasingly use script languages to conduct in silico and in virtuo experiments. However, the complexity of these experiments and the prolonged execution time can be obstacles to finding relevant solutions within a reasonable timeframe.  Reducing the execution time of these experiments is an important issue in computing and science. Although techniques like high-performance computing and cloud computing can improve performance, these infrastructures are often expensive and are generally available only for large-scale research projects. In small-scale research, experiments are often written in languages like Python, R, or Jupyter Notebooks on the personal computers of graduate students or researchers conducting such studies, without access to large computational infrastructures or support from specialized computing personnel. According to the literature, memoization is a potential technique for speeding up experiments without the need for adaptation to high-performance infrastructures. However, studies indicate that generic memoization solutions do not always reduce execution time; in some cases, they may even delay it. This thesis proposal introduces SpeeduPy, a memoization-based approach designed to address the aforementioned issues. We base our proposal on (i) architectural improvements in classical memoization implementation, (ii) the use of AI to optimize parameterization based on experiment characteristics, (iii) the use of probe and profiling techniques to infer the minimum execution time from which a function could benefit from memoization, and (iv) a mechanism that applies the innovative concept of statistically pure functions to maximize the number of functions that can be memoized. The current implementation of SpeeduPy, which memoizes Python scripts in a classical way, obtained equivalent performance to the literature when applied over our five sets of experiments. We believe that, after implementing the techniques proposed for this thesis, Speedupy will be able to reach superior results.

 

Banca  examinadora:

 

Prof. Leonardo Gresta Paulino Murta, UFF – Presidente

Profa. Vanessa Braganholo Murta, UFF

Prof. Daniel Cardoso Moraes de Oliveira, UFF

Prof. Ronaldo Ribeiro Goldschmidt, IME

Related Posts

Leave a Reply