He-lastic: um modelo de elasticidade em nuvem baseado em duas camadas para acelerar o cálculo de best-fit em sistemas de substituição filogenética, apresentação utilizada durante a defesa da Dissertação de Mestrado em Fevereiro de 2019.
A banca avaliadora foi composta pelos professores Rodrigo da Rosa Righi (orientador), Guilherme Galante e Jorge Luis Victória Barbosa.
O presente trabalho foi realizado com apoio da Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - Brasil (CAPES) - Código de Financiamento 001 e com o apoio da FAPERGS no contexto do projeto Combinando Elasticidade Multi-Métrica em Nuvem nas Modalidades Vertical e Horizontal para Análise de Genes e Redução de Pragas Agrícolas, no Edital 02/2017.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
He-lastic — Dissertação de Mestrado
1. He-LASTIC
um modelo de elasticidade em nuvem baseado em
duas camadas para acelerar o cálculo de best–fit
em sistemas de substituição filogenética
ORIENTADOR:
Rodrigo da Rosa Righi
Coordenador do Programa de Pós-Graduação
em Computação Aplicada
Mestrado em Computação Aplicada
Defesa de Dissertação
MESTRANDO:
Mateus Rauback Aubin
Bolsista CAPES na modalidade Taxas
Desenvolvedor na SAP Labs
4. 02/20194
MOTIVAÇÃO
Baixa penetração de
paradigmas como Computação
em Nuvem e Elasticidade nos
softwares usados para Inferência
Filogenética
MODERNIZAÇÃO
Incremento na produtividade
dos pesquisadores da Biologia
possibilita melhor
aproveitamento de recursos
humanos favorecendo a
qualidade da produção através
de, por exemplo, análises mais
amplas e/ou profundas
PRODUTIVIDADE
Colaboração com o laboratório
de Biologia da Universidade no
contexto do projeto contemplado
pela FAPERGS: Combinando
Elasticidade Multi-Métrica em
Nuvem nas Modalidades Vertical e
Horizontal para Análise de Genes
e Redução de Pragas Agrícolas
FAPERGS
5. 02/20195
QUESTÃO DE
PESQUISA
Como seria projetado um
modelo de elasticidade de
recursos em um ambiente de
computação em nuvem capaz
de aperfeiçoar o processo de
adequação de sistemas de
substituição de sequências
moleculares da filogenética de
maneira eficiente do ponto de
vista computacional e econômico?
6. 02/20196
OBJETIVO DE
PESQUISA
Propor um modelo computacional
que empregue a elasticidade de
recursos oriunda da computação em
nuvem para aumentar a eficiência
computacional e econômica no
problema do teste de adequação de
sistemas de substituição de
sequências moleculares no contexto da
filogenética.
10. 02/201910
COMPUTAÇÃO PARALELA
& DISTRIBUÍDA
ORQUESTRAÇÃO DE
CONTÊINERES
FUNCTION AS A SERVICE
(FAAS) / SERVERLESS
Através de mecanismos
Regra — Condição — Ação
(automática reativa)
ELASTICIDADE
Virtualmente infinita, uma nova
instância para cada execução
(orientada a eventos)
Imagem do Ambiente de Execução REQUISITOS Pacote com Código Fonte
Maior CARGA OPERACIONAL Menor
Minutos PROVISIONAMENTO Segundos
Ilimitado TEMPO DE EXECUÇÃO Poucos Minutos
Por Hora PRECIFICAÇÃO Por Segundo
Incorre Custos OCIOSIDADE Não Incorre Custos
Processos Longos ADEQUAÇÃO Processos Curtos
13. 02/201913
QUESTÕES
DE PESQUISA
Quais técnicas de otimização são
usadas atualmente para possibilitar a
inferência de grandes filogenias?
TÉCNICAS
Qual é o cenário no que diz respeito
a adoção de técnicas de computação
paralela e distribuída para inferência
filogenética?
CENÁRIO
Quais são os desafios encontrados
pelos autores e as oportunidades
disponíveis para avançar o estado da
arte no que diz respeito a
computação paralela e distribuída
aplicada à algoritmos filogenéticos?
DESAFIOS E
OPORTUNIDADES
14. 02/201914
FONTES DE BUSCA
ACM: Association for Computing Machinery
BMC: BioMed Central
CiteSeerX †
Elsevier
Google Scholar †
IEEE: Institute of Electrical and Electronics Engineers
Nature
Oxford Academic
PLOS: Public Library of Science
Semantic Scholar †
Springer
15. 02/201915
DIFICULDADES
o Trabalhos fundamentais nos
anos 80
o Bases teóricas definidas tão
cedo quanto 1960
PUBLICAÇÕES SE
ESTENDEM EM UM LONGO
PERÍODO DE TEMPO
o Poucas publicações em
revistas da Computação
o Nas revistas da Biologia o
ferramental é secundário
o Softwares são publicados
como "notes“
FERRAMENTAL É TRATADO
COMO SECUNDÁRIO
18. 02/201918
TAXONOMIACATEGORIA MÉTODO FINALIDADE QUANT
Inferência
Filogenética
Máxima
Verossimilhança
Outras Finalidades 22
Elaboração
de Árvores
Filogenéticas
17
com
Heurísticas
5
Inferência Bayesiana 3
Matrizes de Distâncias 3
Máxima Parcimônia 2
Pacotes e Portais 17
Seleção de Modelos/Sistemas 10
Alinhamento de Sequências 4
TOTAL 83
Quantidade de trabalhos
agrupados por categoria da
Taxonomia
19. CARACTERÍSTICAS
COMPUTACIONAIS
02/201919
1. Console Interativo
2. Interface Gráfica
3. Suporte à diretivas de computação distribuída
4. Suporte à computação baseada em GPUs
5. Suporte à elasticidade no consumo de recursos
6. Implementação de diretivas para
balanceamento de carga
20. CARACTERÍSTICAS
COMPUTACIONAIS
Apesar do suporte à Computação
Distribuída, existe pouca adoção
de Elasticidade e até mesmo
Balanceamento de Carga
02/201920
54%
41%
23%
5% 4% 2%
0
10
20
30
40
50
Quantidade Percentual
21. LACUNAS DE
PESQUISA
Ondo o foco das contribuições do
presente trabalho concentra-se na
Elasticidade de recursos
02/201921
25. JMODELTEST
Porque ele?
02/201925
ENTRE OS SOFTWARES
MAIS CITADOS NO
CONTEXTO DE
INFERÊNCIA
FILOGENÉTICA
RESPONSÁVEL POR UMA
DAS ETAPAS MAIS
DEMORADAS NO
PROCESSO DE
INFERÊNCIA
FILOGENÉTICA
PROCESSAMENTO
COMPOSTO POR
TAREFAS DE
COMPLEXIDADE
HETEROGÊNEA
28. JMODELTEST
o Quantidade de sequências
o Quantidade de sistemas
o Comprimento das
sequências
o Complexidade de cada
sistema
02/201928
PROCESSAMENTO
COMPOSTO POR
TAREFAS DE
COMPLEXIDADE
HETEROGÊNEA
29. 02/201929
JMODELTEST
Evolução da
ferramenta
Posada, D., & Crandall, K. A. (1998).
MODELTEST: testing the model of DNA
substitution. Bioinformatics, 14(9), 817–
818.
MODELTEST
Posada, D. (2008).
jModelTest: Phylogenetic Model
Averaging. Molecular Biology and
Evolution, 25(7), 1253–1256.
JMODELTEST
Darriba, D., Taboada, G. L., Doallo, R., &
Posada, D. (2012).
jModelTest2: more models, new
heuristics and parallel computing.
Nature Methods, 9(8), 772.
JMODELTEST2
He-LASTIC
37. 02/201938
METODOLOGIA
o Dataset
o Parâmetros da
Aplicação
SETUP
Estabelecer uma baseline de
performance pela execução
do jModelTest em modos:
o Shared Memory
MEDIÇÕES
o Apenas FaaS
o Apenas Contêineres
o Modelo Completo
TESTES
COMPARATIVOS
39. CENÁRIOS
He-LASTIC
Paralelismo inerentemente elástico
com cenários divididos em três
categorias (FaaS, Containers e Misto)
variando os parâmetros do modelo
e favorecendo a avaliação das
duas camadas de elasticidade
02/201940
CENÁRIO
ORQUESTRADOR
DE CONTÊINERES
FAAS
CPUs POTÊNCIA
TEMPO
LIMITE
CF0 - 1536 60
CC8 8 - -
CC16 16 - -
CC36 36 - -
CM1 8 1536 60
CM2 16 1536 45
CM3 16 1536 60
CM4 36 1536 15
CM5 36 1536 30
CM6 36 1536 60
CM7 36 768 60
40. 02/201941
PROTÓTIPO
o Traces de execução
o Infraestrutura AWS
o Programação em Python
mantendo o uso do PhyML
o Significativo reuso de
código entre as camadas
o Serverless Framework &
Docker Containers
42. ESTUDO DE CUSTOS
0 K
100 K
200 K
300 K
00:15 00:30 01:00 02:00 04:00 08:00 15:00
CUSTO
TEMPO LIMITE DE EXECUÇÃO
128 256 512 1024 2048 Diagonal
Camada FaaS pode causar uma explosão
de custos sem um controle apropriado
43. ESTUDO DE CUSTOS
81%
52%
21%
6%
21%
6%
2%
0%
25%
50%
75%
100%
1000 1000 1000 1000 1000 4000 16000
128 512 2048 2048 2048
01:15 05:00 05:00
8 32
DISTRIBUIÇÃO
DECUSTOS
PARÂMETROS DO MODELO HE-LASTIC & SIMULAÇÃO
Financeiro Contêineres Financeiro FaaS Razão
Quantidade de requisições também exerce
significativa influência na distribuição de
custos entre as camadas do modelo
REQUISIÇÕES
POTÊNCIA
TEMPO LIMITE
CPUS
51. He-LASTIC
Mapa de calor mostrando a
diferença no tempo de
execução por arquivo entre
os cenários do He-LASTIC
versus os cenários do
JMODELTEST com número
equivalente de processadores
56. He-LASTIC
02/201957
o Overhead de 6% à 16%
sobre o JMODELTEST
o Elasticidade em duas camadas
o Utilização eficiente de recursos
o Ociosidade com custo zero
o Configuração simplificada
57. 02/201958
CONTRIBUIÇÕES
Modelo com foco na elasticidade,
dividindo, em uma camada
tarefas curtas, e outra camada
composta por tarefas longas
capaz de ampliar as capacidades
do projeto jModelTest
possibilitando elasticidade no uso
de recursos
MODELO He-LASTIC
Detalhando a interação entre as
camadas de elasticidade por
meio de cenários sintéticos que
permitem avaliar os custos
associados ao uso de cada uma
das camadas
ESTUDO DE CUSTOS
Um entendimento compartilhado
no âmbito da Filogenética e de
suas ferramentas Computacionais
TAXONOMIA
61. He-LASTIC
um modelo de elasticidade em nuvem baseado em
duas camadas para acelerar o cálculo de best–fit
em sistemas de substituição filogenética
ORIENTADOR:
Rodrigo da Rosa Righi
Coordenador do Programa de Pós-Graduação
em Computação Aplicada
Mestrado em Computação Aplicada
Defesa de Dissertação
MESTRANDO:
Mateus Rauback Aubin
Bolsista CAPES na modalidade Taxas
Desenvolvedor na SAP Labs
Notas do Editor
25m
É uma honra estar aqui.
Trabalho que se originou do projeto com a Bio.
CAPES Taxas & Dev @ SAP
Tudo isso culmina no Projeto da Bio
Brevemente abordar Inferência Filogenética e Computação Paralela e Distribuída
Processo pra execução de Inferência Filogenética
Resultado da Inferência é uma Árvore Filogenética
Contêineres fornecem uma virtualização mais leve / fina.
FaaS a aplicação é meio gerida pelo Provedor meio pelo Usuário.
† agregadores
Maior parte entre 2001 e 2010
Ponto marca 50%
Ponto marca 50%
Remover esforço manual
Componentes Principais e suas Diferenças
Supondo uma tarefa
Fluxo de Execução e Comunicação
Vertical = etapas
Horizontal = elementos
Vão acontecer na AWS onde eu já tenho experiência profissional e acadêmica
Taxonomia
Modelo Específico
Modelo Generalizado em duas camadas
25m
É uma honra estar aqui.
Trabalho que se originou do projeto com a Bio.
CAPES Taxas & Dev @ SAP