Uso de Anotações Semânticas para Exploração de Paralelismo...

Post on 06-Nov-2019

5 views 0 download

Transcript of Uso de Anotações Semânticas para Exploração de Paralelismo...

Departamento de Ciência da ComputaçãoInstituto de Matemática e Estatística

Universidade de São Paulo

Elaine Watanabeelainew@ime.usp.br

Kelly Braghettokellyrb@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

DadosAmbientes 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

E2E1 En

F2 FmF1PROCESSAMENTO 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

E2E1 En

F2 FmF1PROCESSAMENTO 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 paraordenaçã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-023

W-03*

W-04 1

MongoDB 1 1W-053

W-06*

W-073 MongoDB 1 3

W-08*

W-09

9 MongoDB 3 3W-10*

W-11*

* indica que o workflow foi modificado pelas anotações

POSTGRES (1P - 1Rp) MONGODB (1P - 1Rp)

MONGODB (3P - 3Rp)MONGODB (1P - 3Rp)

CONFIGSERVERS

MONGOSROUTER

CONFIGSERVERS

MONGOSROUTER

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