SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Departamento de Ciência da Computação
Instituto de Matemática e Estatística
Universidade de São Paulo
Elaine Watanabe
elainew@ime.usp.br
Kelly Braghetto
kellyrb@ime.usp.br
Uso de Anotações Semânticas para
Exploração de Paralelismo em
Workflows Intensivos em Dados
Motivação
Dilúvio de
Dados
Áreas científica
e de negócios
Workflows
Intensivos em
Dados
Ambientes
distribuídos
NoSQL
Sistemas de
Gerenciamento
de Workflows
Automação da
execução
Atividades são
caixas-pretas
Workflow Sist. Gerenc. de Workflows
Nó de Submissão
Escalonador
Nós de Execução
Repositório
de Dados
Nem sempre é um especialista em
computação paralela e distribuída
USUÁRIO
Define o paralelismo na descrição
do workflow
NoSQL
Objetivos
Caracterizar semanticamente o
tipo de processamento das
atividades do workflow
Criar estratégias que ampliem o
paralelismo do workflow
Método Proposto
Adiciona anotações semânticas
no modelo do workflow
USUÁRIO
A
B C D
E
G
F
PROCESSAMENTO POR
OBJETO
Indica que a atividade
processa cada objeto de
dados individualmente
A
B C D
E
G
F
PROCESSAMENTO POR
GRUPO DE OBJETOS
(L)
Indica que a atividade processa os
objetos de entrada em grupos definidos
pelo(s) atributo(s) agrupador(es) em L
A
B C D
E
G
F
Indica os atributos L dos objetos de
entrada serão processados
SELEÇÃO DE
ATRIBUTOS
(L)
A
B C D
E
G
F
Informa que os objetos devem ser
ordenados por L
ORDENAÇÃO DE
OBJETOS
(L)
Modifica o workflow e o banco de
dados conforme as anotações e
informações sobre o ambienteSciWonC-Dataflow
Toolkit
A
B C D
...
...
G
E2
E1 En
F2 Fm
F1
PROCESSAMENTO POR
OBJETO
Criação de n réplicas da
atividade, sendo n o total
de nós de execução
A
B C D
...
...
G
E2
E1 En
F2 Fm
F1
PROCESSAMENTO POR
GRUPO DE OBJETO
(L)
Criação de m réplicas,
sendo m o mínimo entre o
total de grupos e o total de
nós de execução
ORDENAÇÃO DE
OBJETOS
(L)
Criação de índices para
ordenação de dados
Repositório
de Dados
AVALIAÇÃO DO MÉTODO
Workflow avaliado
➔ 5,8 milhões de objetos de dados
➔ Identificação dos tipos de eventos em um
cluster do Google que consumiram mais
memória e CPU
Dados disponíveis em: https://git.io/vPG6w
A
B C D
E
G
F
ORDENAÇÃO DE OBJETOS
("id")
SELEÇÃO DE ATRIBUTOS
("event type", "memory request", "cpu request")
ORDENAÇÃO DE OBJETOS
("id")
SELEÇÃO DE ATRIBUTOS
("event type", "ratio cpu memory")
PROC. POR GRUPO DE OBJETO
("event type")
PROCESSAMENTO POR OBJETO
11 cenários avaliados, centralizados
e distribuídos
Nível de confiança dos resultados: 95%
Workf.
Nós
SGWf
SGBD Partições Réplicas
W-01 1
Postgres 1 1W-02
3
W-03*
W-04 1
MongoDB 1 1W-05
3
W-06*
W-07
3 MongoDB 1 3
W-08*
W-09
9 MongoDB 3 3W-10*
W-11*
POSTGRES (1P - 1Rp) MONGODB (1P - 1Rp)
MONGODB (3P - 3Rp)MONGODB (1P - 3Rp)
CONFIG
SERVERS
MONGOS
ROUTER
CONFIG
SERVERS
MONGOS
ROUTER
Tempo Total da Execução
(em horas)
* indica que o workflow foi modificado pelo método proposto
MONGODB (3P - 3Rp)
MONGODB (1P - 3Rp)
POSTGRES (1P - 1Rp)
MONGODB (1P - 1Rp)
Custo Monetário da Execução
(em dólares)
* indica que o workflow foi modificado pelo método proposto
MONGODB (3P - 3Rp)
MONGODB (1P - 3Rp)
POSTGRES (1P - 1Rp)
MONGODB (1P - 1Rp)
Redução de até 88,4% do tempo
total de execução e, em cenários com a
mesma infraestrutura, redução do custo
monetário de até 10,4%
Considerações Finais
Contribuições
● Método que combina anotações semânticas e
informações do ambiente de execução para aumentar, de
forma automática, o paralelismo no acesso aos dados na
execução de workflows
● Anotações que não dependem de conhecimento de
programação paralela e que melhoram o tempo e o custo
monetário da execução dos workflows
Muito obrigada!
Agradecimentos à CAPES e ao NAPSoL-PRP-USP pelo
financiamento a esta pesquisa e ao Google pelos créditos
concedidos para uso de sua plataforma de nuvem
Disponível em:
http://git.io/v6sTV

Mais conteúdo relacionado

Semelhante a Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Intensivos em Dados

UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_MeloUtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melothalesboss
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopAlexei Znamensky
 
Alta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no AzureAlta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no AzureRubens Guimarães - MTAC MVP
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na PráticaEiti Kimura
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.jsGiovanni Bassi
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Ramon Durães
 
UNAERP - 04/11 - Digerindo dados com Apache NiFi
UNAERP - 04/11 - Digerindo dados com Apache NiFiUNAERP - 04/11 - Digerindo dados com Apache NiFi
UNAERP - 04/11 - Digerindo dados com Apache NiFiEliézer Zarpelão
 
Fluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaFluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaCésar Araújo
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a AspectosRicardo Terra
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...Rafael Chaves
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Práticatdc-globalcode
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Finaljcaroso
 
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
HUGSP#6 Opus uDSL - Uma DSL para MicroserviçosHUGSP#6 Opus uDSL - Uma DSL para Microserviços
HUGSP#6 Opus uDSL - Uma DSL para MicroserviçosPhilippe Sevestre
 
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...Filipe Aguilar Santana
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureGiovanni Bassi
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMFábio Rehm
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionaisRoberto Oliveira
 

Semelhante a Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Intensivos em Dados (20)

UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_MeloUtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
UtilizandoJSF_no_Desenvolvimento_de_aplicacoes_web_by_Thales_Batista_de_Melo
 
Palestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl WorkshopPalestra DataFlow - II São Paulo Perl Workshop
Palestra DataFlow - II São Paulo Perl Workshop
 
Alta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no AzureAlta disponibilidade com bancos de dados relacionais no Azure
Alta disponibilidade com bancos de dados relacionais no Azure
 
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
[TDC2016] Apache SparkMLlib:  Machine Learning na Prática[TDC2016] Apache SparkMLlib:  Machine Learning na Prática
[TDC2016] Apache SparkMLlib: Machine Learning na Prática
 
LambdaDay: Backbone.js
LambdaDay: Backbone.jsLambdaDay: Backbone.js
LambdaDay: Backbone.js
 
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
Introdução ao ASP.NET 3.5 - Campus Party Brasil 2009
 
Bi ferramentas olap 1
Bi   ferramentas olap 1Bi   ferramentas olap 1
Bi ferramentas olap 1
 
UNAERP - 04/11 - Digerindo dados com Apache NiFi
UNAERP - 04/11 - Digerindo dados com Apache NiFiUNAERP - 04/11 - Digerindo dados com Apache NiFi
UNAERP - 04/11 - Digerindo dados com Apache NiFi
 
Fluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibanaFluentd/LogStash + elastic search + kibana
Fluentd/LogStash + elastic search + kibana
 
MongoDB + PHP
MongoDB + PHPMongoDB + PHP
MongoDB + PHP
 
Programação Orientada a Aspectos
Programação Orientada a AspectosProgramação Orientada a Aspectos
Programação Orientada a Aspectos
 
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...TDC Floripa 2015  Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
TDC Floripa 2015 Desenvolvendo Sistemas de Gestão a partir de Modelos Execut...
 
TDC2016SP - SparkMLlib Machine Learning na Prática
TDC2016SP -  SparkMLlib Machine Learning na PráticaTDC2016SP -  SparkMLlib Machine Learning na Prática
TDC2016SP - SparkMLlib Machine Learning na Prática
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
HUGSP#6 Opus uDSL - Uma DSL para MicroserviçosHUGSP#6 Opus uDSL - Uma DSL para Microserviços
HUGSP#6 Opus uDSL - Uma DSL para Microserviços
 
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
Desenvolvimento de um protótipo de um sistema de informaçãO web para cadastro...
 
Introdução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows AzureIntrodução à computação na nuvem e Windows Azure
Introdução à computação na nuvem e Windows Azure
 
Mapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORMMapeamento Objeto Relacional em PHP com Outlet ORM
Mapeamento Objeto Relacional em PHP com Outlet ORM
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
 
Big data para programadores convencionais
Big data para programadores convencionaisBig data para programadores convencionais
Big data para programadores convencionais
 

Mais de Elaine Naomi

Design de aplicações orientadas a objeto
Design de aplicações orientadas a objetoDesign de aplicações orientadas a objeto
Design de aplicações orientadas a objetoElaine Naomi
 
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaSobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaElaine Naomi
 
Hacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution PrincipleHacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution PrincipleElaine Naomi
 
Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?Elaine Naomi
 
Guru SP: Decodificando o code review
Guru SP: Decodificando o code reviewGuru SP: Decodificando o code review
Guru SP: Decodificando o code reviewElaine Naomi
 
Bootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders MeetupBootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders MeetupElaine Naomi
 
GURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objetoGURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objetoElaine Naomi
 
TDC SP 2019 - Decodificando o code review
TDC SP 2019 - Decodificando o code reviewTDC SP 2019 - Decodificando o code review
TDC SP 2019 - Decodificando o code reviewElaine Naomi
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangElaine Naomi
 
Code review: o que isso diz sobre a cultura dos times de desenvolvimento?
Code review: o que isso diz sobre a cultura dos times de desenvolvimento?Code review: o que isso diz sobre a cultura dos times de desenvolvimento?
Code review: o que isso diz sobre a cultura dos times de desenvolvimento?Elaine Naomi
 
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...Elaine Naomi
 
Dealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginnersDealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginnersElaine Naomi
 
Um Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em DadosUm Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em DadosElaine Naomi
 
O que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidasO que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidasElaine Naomi
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDBElaine Naomi
 
Workflows científicos
Workflows científicosWorkflows científicos
Workflows científicosElaine Naomi
 
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...Elaine Naomi
 

Mais de Elaine Naomi (18)

Design de aplicações orientadas a objeto
Design de aplicações orientadas a objetoDesign de aplicações orientadas a objeto
Design de aplicações orientadas a objeto
 
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a diaSobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
Sobre code smells, refactoring e design: como SOLID pode te ajudar no dia a dia
 
Hacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution PrincipleHacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution Principle
 
Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?Code Smells: o que eles dizem sobre seu código?
Code Smells: o que eles dizem sobre seu código?
 
Guru SP: Decodificando o code review
Guru SP: Decodificando o code reviewGuru SP: Decodificando o code review
Guru SP: Decodificando o code review
 
Bootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders MeetupBootcamp de Rails - CaquiCoders Meetup
Bootcamp de Rails - CaquiCoders Meetup
 
GURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objetoGURU SP - Design de aplicações orientadas a objeto
GURU SP - Design de aplicações orientadas a objeto
 
TDC SP 2019 - Decodificando o code review
TDC SP 2019 - Decodificando o code reviewTDC SP 2019 - Decodificando o code review
TDC SP 2019 - Decodificando o code review
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e Erlang
 
Code review: o que isso diz sobre a cultura dos times de desenvolvimento?
Code review: o que isso diz sobre a cultura dos times de desenvolvimento?Code review: o que isso diz sobre a cultura dos times de desenvolvimento?
Code review: o que isso diz sobre a cultura dos times de desenvolvimento?
 
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
Explorando o Paralelismo em Workflows Intensivos em Dados com o Uso de Anotaç...
 
Dealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginnersDealing with a search engine in your application - a Solr approach for beginners
Dealing with a search engine in your application - a Solr approach for beginners
 
Um Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em DadosUm Método para Paralelização Automática de Workflows Intensivos em Dados
Um Método para Paralelização Automática de Workflows Intensivos em Dados
 
O que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidasO que é BIG DATA e como pode influenciar nossas vidas
O que é BIG DATA e como pode influenciar nossas vidas
 
Introdução ao MongoDB
Introdução ao MongoDBIntrodução ao MongoDB
Introdução ao MongoDB
 
Workflows científicos
Workflows científicosWorkflows científicos
Workflows científicos
 
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
Algoritmos para economia de energia no escalonamento de workflows em nuvens c...
 
Qt Apresentação
Qt ApresentaçãoQt Apresentação
Qt Apresentação
 

Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Intensivos em Dados

  • 1. Departamento de Ciência da Computação Instituto de Matemática e Estatística Universidade de São Paulo Elaine Watanabe elainew@ime.usp.br Kelly Braghetto kellyrb@ime.usp.br Uso de Anotações Semânticas para Exploração de Paralelismo em Workflows Intensivos em Dados
  • 2. Motivação Dilúvio de Dados Áreas científica e de negócios Workflows Intensivos em Dados Ambientes distribuídos NoSQL Sistemas de Gerenciamento de Workflows Automação da execução Atividades são caixas-pretas
  • 3. Workflow Sist. Gerenc. de Workflows Nó de Submissão Escalonador Nós de Execução Repositório de Dados
  • 4. Nem sempre é um especialista em computação paralela e distribuída USUÁRIO Define o paralelismo na descrição do workflow NoSQL
  • 5. Objetivos Caracterizar semanticamente o tipo de processamento das atividades do workflow Criar estratégias que ampliem o paralelismo do workflow
  • 7. Adiciona anotações semânticas no modelo do workflow USUÁRIO
  • 8. A B C D E G F PROCESSAMENTO POR OBJETO Indica que a atividade processa cada objeto de dados individualmente
  • 9. A B C D E G F PROCESSAMENTO POR GRUPO DE OBJETOS (L) Indica que a atividade processa os objetos de entrada em grupos definidos pelo(s) atributo(s) agrupador(es) em L
  • 10. A B C D E G F Indica os atributos L dos objetos de entrada serão processados SELEÇÃO DE ATRIBUTOS (L)
  • 11. A B C D E G F Informa que os objetos devem ser ordenados por L ORDENAÇÃO DE OBJETOS (L)
  • 12. Modifica o workflow e o banco de dados conforme as anotações e informações sobre o ambienteSciWonC-Dataflow Toolkit
  • 13. A B C D ... ... G E2 E1 En F2 Fm F1 PROCESSAMENTO POR OBJETO Criação de n réplicas da atividade, sendo n o total de nós de execução
  • 14. A B C D ... ... G E2 E1 En F2 Fm F1 PROCESSAMENTO POR GRUPO DE OBJETO (L) Criação de m réplicas, sendo m o mínimo entre o total de grupos e o total de nós de execução
  • 15. ORDENAÇÃO DE OBJETOS (L) Criação de índices para ordenação de dados Repositório de Dados
  • 17. Workflow avaliado ➔ 5,8 milhões de objetos de dados ➔ Identificação dos tipos de eventos em um cluster do Google que consumiram mais memória e CPU Dados disponíveis em: https://git.io/vPG6w
  • 18. A B C D E G F ORDENAÇÃO DE OBJETOS ("id") SELEÇÃO DE ATRIBUTOS ("event type", "memory request", "cpu request") ORDENAÇÃO DE OBJETOS ("id") SELEÇÃO DE ATRIBUTOS ("event type", "ratio cpu memory") PROC. POR GRUPO DE OBJETO ("event type") PROCESSAMENTO POR OBJETO
  • 19. 11 cenários avaliados, centralizados e distribuídos Nível de confiança dos resultados: 95%
  • 20. Workf. Nós SGWf SGBD Partições Réplicas W-01 1 Postgres 1 1W-02 3 W-03* W-04 1 MongoDB 1 1W-05 3 W-06* W-07 3 MongoDB 1 3 W-08* W-09 9 MongoDB 3 3W-10* W-11*
  • 21. POSTGRES (1P - 1Rp) MONGODB (1P - 1Rp) MONGODB (3P - 3Rp)MONGODB (1P - 3Rp) CONFIG SERVERS MONGOS ROUTER CONFIG SERVERS MONGOS ROUTER
  • 22. Tempo Total da Execução (em horas) * indica que o workflow foi modificado pelo método proposto MONGODB (3P - 3Rp) MONGODB (1P - 3Rp) POSTGRES (1P - 1Rp) MONGODB (1P - 1Rp)
  • 23. Custo Monetário da Execução (em dólares) * indica que o workflow foi modificado pelo método proposto MONGODB (3P - 3Rp) MONGODB (1P - 3Rp) POSTGRES (1P - 1Rp) MONGODB (1P - 1Rp)
  • 24. Redução de até 88,4% do tempo total de execução e, em cenários com a mesma infraestrutura, redução do custo monetário de até 10,4% Considerações Finais
  • 25. Contribuições ● Método que combina anotações semânticas e informações do ambiente de execução para aumentar, de forma automática, o paralelismo no acesso aos dados na execução de workflows ● Anotações que não dependem de conhecimento de programação paralela e que melhoram o tempo e o custo monetário da execução dos workflows
  • 26. Muito obrigada! Agradecimentos à CAPES e ao NAPSoL-PRP-USP pelo financiamento a esta pesquisa e ao Google pelos créditos concedidos para uso de sua plataforma de nuvem Disponível em: http://git.io/v6sTV