48
Paralelização do algoritmo Fast non Dominated Sorting para a classificação de cidades de acordo com informações do clima Vinícius Aires Barros Programação Concorrente Prof. Dr. Paulo Sérgio Lopes de Souza Grupo de Sistemas Distribuídos e Programação Concorrente Instituto de Ciências Matemáticas e de Computação Universidade de São Paulo Novembro 2016 SSC5795 Vinícius Aires Barros Novembro 2016 1 / 48

Apresentação Programação Concorrente USP

Embed Size (px)

Citation preview

Page 1: Apresentação Programação Concorrente USP

Paralelização do algoritmo Fast non Dominated Sortingpara a classificação de cidades de acordo com informações

do clima

Vinícius Aires Barros

Programação ConcorrenteProf. Dr. Paulo Sérgio Lopes de Souza

Grupo de Sistemas Distribuídos e Programação ConcorrenteInstituto de Ciências Matemáticas e de Computação

Universidade de São Paulo

Novembro 2016

SSC5795 Vinícius Aires Barros Novembro 2016 1 / 48

Page 2: Apresentação Programação Concorrente USP

Agenda

1 Introdução1 Definição do Problema2 Motivação e Gap3 Objetivos

2 Fundamentação Teórica

3 Metodologia

4 Resultados

5 Considerações Finais

SSC5795 Vinícius Aires Barros Novembro 2016 2 / 48

Page 3: Apresentação Programação Concorrente USP

Introdução

1 Base de dados com informações climáticas de cidades;

2 Algoritmo de seleção por meio de ranqueamento das fronteiras de pareto;

3 Proposta de paralelização do algoritmo;

4 Mapeamento e decomposição de tarefas; e

5 Avaliação de desempenho.

SSC5795 Vinícius Aires Barros Novembro 2016 3 / 48

Page 4: Apresentação Programação Concorrente USP

Definição do Problema

1 Seleção de cidades de acordo cominformações do clima:

Base de dados contendoaproximadamente 200 mil cidadesFonte retirada da base de dadosOpen Weather MapDeterminar melhores condiçõesclimáticas de cidades dado umconjunto de critérios

2 Problema de otimização multiobjetivo:Múltiplos critérios de otimizaçãoCritérios conflitantes

3 Ranqueamento das fronteiras depareto (Fast non dominated sorting):

Parte do algoritmo genético NSGA-IIComplexidade do algoritmo O(MN2)

4 Proposta de uma abordagem paralela.

SSC5795 Vinícius Aires Barros Novembro 2016 4 / 48

Page 5: Apresentação Programação Concorrente USP

Motivação e Gap

Alta complexidade do algoritmo para valores N grande;

Necessidade de criação de uma versão otimizada do algoritmo que consigadiminuir o tempo de execução em relação ao tempo de sua versão serial; e

Auxiliar na seleção de cidades em relação aos critérios de otimizaçãomultiobjetivo.

SSC5795 Vinícius Aires Barros Novembro 2016 5 / 48

Page 6: Apresentação Programação Concorrente USP

Objetivos

1 Aplicar o algoritmo Fast Non dominated Sorting para a seleção de cidades deacordo com suas informações climáticas;

2 Paralelizar o algoritmo Fast Non Dominated Sorting; e

3 Avaliar o desempenho da solução proposta.

SSC5795 Vinícius Aires Barros Novembro 2016 6 / 48

Page 7: Apresentação Programação Concorrente USP

Fundamentação Teórica

1 Internet das Coisas;

2 Big Data;

3 Otimização Multiobjetivo;

4 Fronteira de Pareto;

5 Relação de Dominância;

6 Relação de Não Dominância;

7 Algoritmo Fast Non Dominated Sorting;

8 Paralelização do Algoritmo; e

9 Avaliação de Desempenho.

SSC5795 Vinícius Aires Barros Novembro 2016 7 / 48

Page 8: Apresentação Programação Concorrente USP

Internet of Things (IoT)

DEFINIÇÃO

A Internet das Coisas, refere-se à uma nova abordagem sobre ainterconexão de coisas, tecnologias e objetos, através da Internet. Essaabordagem proporcionou ao longo do tempo a criação da rede global dedispositivos [8].

Alguns exemplos de aplicações queutilizam IoT:

Smart Farms: Agricultura de Precisãoe Controle Ambiental;

Smart Cities: Controle do Trânsito eMonitoramento do Clima; e

Smart Homes: Agilidade nasatividades do dia a dia das pessoas.

SSC5795 Vinícius Aires Barros Novembro 2016 8 / 48

Page 9: Apresentação Programação Concorrente USP

Big Data

DEFINIÇÃO

Big Data é definido como um conjunto de dados estruturados ou não estruturados quenão puderam ser percebidos, adquiridos, gerenciados e processados pelos modelostradicionais de hardware e software [3].

Alguns exemplos de aplicações de BigData:

Processamento e análise daspreferências dos usuário de umsistema;

Detecção de fraudes em licitações; e

Auxiliar na tomada de decisão dediferentes cenários.

SSC5795 Vinícius Aires Barros Novembro 2016 9 / 48

Page 10: Apresentação Programação Concorrente USP

Otimização Multiobjetivo

DEFINIÇÃO

A otimização multiobjetivo é uma parte integrante das atividades deotimização que apresenta uma enorme importância prática, uma vez quequase todos os problemas de otimização do mundo real são ideais quesejam modelados utilizando múltiplos objetivos conflitantes [4].

Alguns exemplos práticos da aplicação demodelos de otimização multiobjetivo:

Problemas de engenharia;

Indústria; e

Ciência da Computação.

SSC5795 Vinícius Aires Barros Novembro 2016 10 / 48

Page 11: Apresentação Programação Concorrente USP

Fronteira de Pareto

DEFINIÇÃO

Relações denominadas fronteira de pareto são utilizadas para compararsoluções, onde o conjunto de soluções ótimas de um problema é dado onome de soluções de pareto ótimas ou soluções não dominadas [7].

C

Pareto

A

B

f2(A) < f2(B)

f1

f2

f1(A) > f1(B)

Conjunto das melhores soluções dadoum conjunto de critérios;

Soluções dominadas e nãodominadas; e

Níveis de soluções separadas emcamadas.

SSC5795 Vinícius Aires Barros Novembro 2016 11 / 48

Page 12: Apresentação Programação Concorrente USP

Relação de Dominância

DEFINIÇÃO

Uma solução xT é dita não dominada quando não existe nenhum x ∈ S talque fi (x) ≤ fi (xT ) para pelo menos um dos objetivos analisados [1]. Aimagem do conjunto de soluções ótimas é chamada de fronteira de pareto oucurva de pareto. O formato da fronteira de pareto indica a natureza dotrade-off entre diferentes funções objetivo [2].

Não é ReflexivaA relação de dominância não é reflexiva uma vez que qualquer solução x não se autodomina (por definição de dominância).

Não é SimétricaA relação de dominância não é simétrica, por exemplo x ≺ y não implica que y ≺ x .Mas o contrário y ⊀ x é verdade.

Não é Anti SimétricaComo a relação de dominância não é simétrica, ela também não pode ser Antisimétrica.

É TransitivaA relação de dominância é transitiva. Se x ≺ y e y ≺ z, logo x ≺ z.

SSC5795 Vinícius Aires Barros Novembro 2016 12 / 48

Page 13: Apresentação Programação Concorrente USP

Relação de Não Dominância

DEFINIÇÃO

Entre um conjunto de soluções P, o conjunto não dominado de soluções P′

são aqueles que não são dominados por qualquer membro do conjunto P [7].

Para um determinado conjunto de solução, podemos realizar todas ascomparações possíveis par a par e encontrar qual solução domina quais e quaissoluções não são dominadas umas em relação às outras; e

Este conjunto tem a propriedade de dominar todas as soluções que pertencem aoconjunto.

SSC5795 Vinícius Aires Barros Novembro 2016 13 / 48

Page 14: Apresentação Programação Concorrente USP

Fast Non Dominated Sorting

1: procedure FAST-NON-DOMINATED-SORT(P)2: for p ∈ P do3: Sp ← 04: np ← 05: for q ∈ P do6: if p ≺ q then7: Sp ← Sp ∪ {q}8: else9: if q ≺ p then

10: np ← np + 111: if np = 0 then12: prank ← 113: Fi = Fi ∪ {p}14: i ← 115: while Fi 6= 0 do16: Q ← 017: for p ∈ Fi do18: for q ∈ Sp do19: np ← np − 120: if np = 0 then21: qrank ← i + 122: Q ← Q ∪ {q}23: i ← i + 124: Fi ← Q

1 Para cada item são computados trêsentidades:

Sp : conjunto de soluções dominadasnp : número de soluções dominadaspor pFi : conjunto de soluções nãodominadas

2 Complexidade O(MN2):O(MN2) operações para cada p emSp

O(N2) para computar as próximasfronteiras Pk , k = 1, 2, ... (camadasde fronteiras não dominadas)

M: número de critériosN: tamanho da entrada

SSC5795 Vinícius Aires Barros Novembro 2016 14 / 48

Page 15: Apresentação Programação Concorrente USP

Avaliação de Desempenho

Avaliar o comportamento do algoritmoimplementado;

Visualização dos ganhos dedesempenho obtidos; eMétricas de avaliação.

SpeedupEficiência

SSC5795 Vinícius Aires Barros Novembro 2016 15 / 48

Page 16: Apresentação Programação Concorrente USP

Speedup

Speedup

O speedup diz respeito ao ganho de desempenho obtido em comparaçãocom a versão sequencial do algoritmo [9].

Sp =Ts

Tp(1)

SSC5795 Vinícius Aires Barros Novembro 2016 16 / 48

Page 17: Apresentação Programação Concorrente USP

Eficiência

Eficiência

A eficiência de um algoritmo paralelo está relacionada ao tempo em que osprocessos de fato estão executando o problema. Esta métrica tem comoobjetivo indicar os possíveis tempos de ociosidades ou alto custo decomunicação de sistemas concorrentes [9].

E =Sp

p(2)

SSC5795 Vinícius Aires Barros Novembro 2016 17 / 48

Page 18: Apresentação Programação Concorrente USP

Trabalhos Relacionados

A fast and elitist multiobjective genetic algorithm: NSGA-II [5];

An efficient approach to nondominated sorting for evolutionary multiobjectiveoptimization [12];

Very Fast Non-Dominated Sorting [11]; e

GPU based Non-dominated Sorting Genetic Algorithm-II for multi-objective trafficlight signaling optimization with agent based modeling [10].

SSC5795 Vinícius Aires Barros Novembro 2016 18 / 48

Page 19: Apresentação Programação Concorrente USP

Metodologia

1 Desenvolvimento do algoritmosequencial;

2 Mapeamento e decomposição detarefas;

3 Paralelização do algoritmo proposto;

4 Ambiente de execução deexperimentos; e

5 Definição dos experimentos.

SSC5795 Vinícius Aires Barros Novembro 2016 19 / 48

Page 20: Apresentação Programação Concorrente USP

Mapeamento e decomposição de tarefas

Metodologia PCAM de Ian Foster [6]:

1 ParticionamentoDivisão do espaço busca ecombinações;

2 ComunicaçãoPassagem de mensagem (send ereceive);

3 AglomeraçãoJunção de operações;

4 MapeamentoDivisão de tarefas em processos;

5 Decomposição do problema

SSC5795 Vinícius Aires Barros Novembro 2016 20 / 48

Page 21: Apresentação Programação Concorrente USP

Decomposição de Tarefas

Figura: Divisão de tarefas do algoritmo Fast non dominated sorting.

SSC5795 Vinícius Aires Barros Novembro 2016 21 / 48

Page 22: Apresentação Programação Concorrente USP

Grafo de dependências (Primeira Fronteira)

Figura: Grafo de dependências (Processar Primeira Camada).

SSC5795 Vinícius Aires Barros Novembro 2016 22 / 48

Page 23: Apresentação Programação Concorrente USP

Grafo de dependências (Demais Fronteiras)

Figura: Grafo de dependências (Processar Demais Camadas).

SSC5795 Vinícius Aires Barros Novembro 2016 23 / 48

Page 24: Apresentação Programação Concorrente USP

Decomposição de Tarefas (Primeira Fronteira)

Figura: Diagrama de Decomposição de Tarefas (Cálculo da primeira fronteira).

SSC5795 Vinícius Aires Barros Novembro 2016 24 / 48

Page 25: Apresentação Programação Concorrente USP

Decomposição de Tarefas (Demais Fronteiras)

Figura: Diagrama de Decomposição de Tarefas (Cálculo das demais fronteiras).

SSC5795 Vinícius Aires Barros Novembro 2016 25 / 48

Page 26: Apresentação Programação Concorrente USP

Paralelização do algoritmo proposto

Paralelização do algoritmo por meiode Threads e Sockets (comunicaçãomaster e slave);

Conexão orientada a Sockets (TCP);

Criação de processos e threadsdinamicamente;

Linguagem de Programação Java;

Cálculo da primeira fronteira depareto;

Cálculo das demais fronteiras; e

Aplicação de métricas de avaliação dedesempenho.

SSC5795 Vinícius Aires Barros Novembro 2016 26 / 48

Page 27: Apresentação Programação Concorrente USP

Gerenciamento de Processos

Pool de Threads;

Enfileiramento de processos (BlockingQueue); e

Melhor gerenciamento da execuçãodos processos.

SSC5795 Vinícius Aires Barros Novembro 2016 27 / 48

Page 28: Apresentação Programação Concorrente USP

Enfileiramento de Processos (Blocking Queue)

Figura: Fila de processos.

SSC5795 Vinícius Aires Barros Novembro 2016 28 / 48

Page 29: Apresentação Programação Concorrente USP

Ambiente experimental

Cluster Halley :

Nós (13 hosts / 104 virtuais) (1 master + 12 slaves);

Intel R© CoreTM I7 Processor – LGA -1150 – 4790 3.60GHZ DMI 5GT/S 8MB

32 GB RAM DDR3 Corsair Vegeance; e

HD 2TB Seagate Sata III 7200RPM.

Infraestrutura utilizada:

Nove máquinas físicas, sendo 1 master e 8 slaves.

SSC5795 Vinícius Aires Barros Novembro 2016 29 / 48

Page 30: Apresentação Programação Concorrente USP

Algoritmo (Memória Distribuída)

Figura: Modelo de computação master e slave.

SSC5795 Vinícius Aires Barros Novembro 2016 30 / 48

Page 31: Apresentação Programação Concorrente USP

Algoritmo (Memória Distribuída)

Figura: Modelo de computação master e slave.

SSC5795 Vinícius Aires Barros Novembro 2016 31 / 48

Page 32: Apresentação Programação Concorrente USP

Algoritmo (Memória Distribuída)

Figura: Diagrama de atividades algoritmo (versão memória distribuída).

SSC5795 Vinícius Aires Barros Novembro 2016 32 / 48

Page 33: Apresentação Programação Concorrente USP

Algoritmo (Memória Distribuída Continuação)

Figura: Diagrama de atividades algoritmo (versão memória distribuída).

SSC5795 Vinícius Aires Barros Novembro 2016 33 / 48

Page 34: Apresentação Programação Concorrente USP

Definição do Modelo de Otimização

Maximizar temperatura;

Maximizar umidade;

Maximizar nuvens;

Minimizar velocidade do vento.

SSC5795 Vinícius Aires Barros Novembro 2016 34 / 48

Page 35: Apresentação Programação Concorrente USP

Definição do experimento

1 Memória Compartilhada;Uma máquina: 2, 4 e 8 processos

2 Memória Distribuída; eUm processo: 2, 4, 8 máquinas

3 Mestre e Escravo (master e slave).Um mestre + duas máquinas: 2, 4 e 8 processosUm mestre + quatro máquinas: 2, 4 e 8 processosUm mestre + oito máquinas: 2, 4 e 8 processos

Execução 10x para cada experimento totalizando 150 execuções.

SSC5795 Vinícius Aires Barros Novembro 2016 35 / 48

Page 36: Apresentação Programação Concorrente USP

Resultados

Resultados da implementação; e

Métricas de Speedup e Eficiência.

SSC5795 Vinícius Aires Barros Novembro 2016 36 / 48

Page 37: Apresentação Programação Concorrente USP

Resultado da implementação

Figura: Resultado algoritmo serial. Figura: Resultado algoritmo paralelo.

Saída do algoritmo paralelo tem ordem não determinística, mas com os ranks emordem crescente.

SSC5795 Vinícius Aires Barros Novembro 2016 37 / 48

Page 38: Apresentação Programação Concorrente USP

Speedup (Todos os experimentos)

Figura: Resultado Speedup.

SSC5795 Vinícius Aires Barros Novembro 2016 38 / 48

Page 39: Apresentação Programação Concorrente USP

Speedup (Todos os experimentos)

Figura: Resultado Speedup.

A partir de 4 máquinas o speedup tende a diminuir.

SSC5795 Vinícius Aires Barros Novembro 2016 39 / 48

Page 40: Apresentação Programação Concorrente USP

Eficiência (Todos os experimentos)

Figura: Resultado eficiência.

SSC5795 Vinícius Aires Barros Novembro 2016 40 / 48

Page 41: Apresentação Programação Concorrente USP

Eficiência (Todos os experimentos)

Figura: Resultado eficiência.

A partir de 4 máquinas a eficiência diminui.

SSC5795 Vinícius Aires Barros Novembro 2016 41 / 48

Page 42: Apresentação Programação Concorrente USP

Tempo médio de execução dos experimentos

Tabela: Resultado médio dos experimentos.

Paradigma N. de Máquinas N. de Threads Tempo Serial (m) Tempo Exp. (m) Speedup Fator (%) Eficiência CustoMaster/Slave 2 8 89,84 11,33 7,93 1,00 3,97 2Memória C. 1 8 89,84 24,34 3,69 1,00 3,69 1

Master/Slave 4 8 89,84 11,67 7,70 1,00 1,92 4Master/Slave 2 4 89,84 12,46 7,21 0,50 1,80 2Memória C. 1 4 89,84 26,79 3,35 0,50 1,68 1

Master/Slave 8 8 89,84 13,15 6,83 1,00 0,85 8Master/Slave 4 4 89,84 13,18 6,82 0,50 0,85 4Master/Slave 2 2 89,84 20,43 4,40 0,25 0,55 2Memória C. 1 2 89,84 45,64 1,97 0,25 0,49 1

Master/Slave 8 4 89,84 14,57 6,17 0,50 0,39 8Master/Slave 4 2 89,84 20,04 4,48 0,25 0,28 4Memória D. 2 1 89,84 34,88 2,58 0,13 0,16 2

Master/Slave 8 2 89,84 25,12 3,58 0,25 0,11 8Memória D. 4 1 89,84 35,55 2,53 0,13 0,08 4Memória D. 8 1 89,84 39,97 2,25 0,13 0,04 8

Amarelo = Melhores experimentos com relação speedup, eficiência, tempo e custo.

SSC5795 Vinícius Aires Barros Novembro 2016 42 / 48

Page 43: Apresentação Programação Concorrente USP

Considerações Finais

1 Quanto maior o número de máquinas a eficiência tende a diminuir;

2 Quanto maior o número de threads o speedup e eficiência aumentamconsideravelmente;

3 Quanto menor o número de threads o desempenho diminui significativamente;

4 Dado um limiar de número de máquinas e threads o desempenho tende a cair; e

5 Pontos de sincronização, comunicação e condições de disputa (tempo deociosidade).

Trabalhos Futuros:

Implementação do algoritmo em outros modelos de programação;

Realizar avaliação de desempenho levando em consideração diferentestamanhos de entradas; e

Otimizar algoritmo implementado visando diminuir o overheads enfrentados.

SSC5795 Vinícius Aires Barros Novembro 2016 43 / 48

Page 44: Apresentação Programação Concorrente USP

Dificuldades Encontradas

Dificuldades no entendimento do domínio do problema proposto;

Problemas enfrentados com relação a forte dependência de dados do algoritmo;

Implementação em MapReduce (Hadoop).

SSC5795 Vinícius Aires Barros Novembro 2016 44 / 48

Page 45: Apresentação Programação Concorrente USP

Obrigado!

SSC5795 Vinícius Aires Barros Novembro 2016 45 / 48

Page 46: Apresentação Programação Concorrente USP

Referências I

A. Abraham and L. Jain.Evolutionary multiobjective optimization.In Evolutionary Multiobjective Optimization, pages 1–6. Springer, 2005.

M. Caramia and P. Dell’Olmo.Multi-objective management in freight logistics: Increasing capacity, service leveland safety with optimization algorithms.Springer Science & Business Media, 2008.

M. Chen, S. Mao, and Y. Liu.Big data: A survey.In Mobile Networks and Applications, 2014.

K. Deb.Multi-objective optimization.In Search methodologies, pages 403–449. Springer, 2014.

K. Deb, A. Pratap, S. Agarwal, and T. Meyarivan.A fast and elitist multiobjective genetic algorithm: Nsga-ii.IEEE transactions on evolutionary computation, 6(2):182–197, 2002.

I. Foster.Designing and building parallel programs, 1995.

SSC5795 Vinícius Aires Barros Novembro 2016 46 / 48

Page 47: Apresentação Programação Concorrente USP

Referências II

A. L. Jaimes, S. Z. Martınez, and C. A. C. Coello.An introduction to multiobjective optimization techniques.Optimization in Polymer Processing, pages 29–57, 2009.

T. L. Koreshoff, T. Robertson, and T. W. Leong.Internet of things: A review of literature and products.In Proceedings of the 25th Australian Computer-Human Interaction Conference:Augmentation, Application, Innovation, Collaboration, OzCHI ’13, pages 335–344,New York, NY, USA, 2013. ACM.

P. Pacheco.An introduction to parallel programming.Elsevier, 2011.

Z. Shen, K. Wang, and F.-Y. Wang.Gpu based non-dominated sorting genetic algorithm-ii for multi-objective trafficlight signaling optimization with agent based modeling.In 16th International IEEE Conference on Intelligent Transportation Systems(ITSC 2013), pages 1840–1845. IEEE, 2013.

C. Smutnicki, J. Rudy, and D. Zelazny.Very fast non-dominated sorting.Decision Making in Manufacturing and Services, 8, 2014.

SSC5795 Vinícius Aires Barros Novembro 2016 47 / 48

Page 48: Apresentação Programação Concorrente USP

Referências III

X. Zhang, Y. Tian, R. Cheng, and Y. Jin.An efficient approach to nondominated sorting for evolutionary multiobjectiveoptimization.IEEE Transactions on Evolutionary Computation, 19(2):201–213, 2015.

SSC5795 Vinícius Aires Barros Novembro 2016 48 / 48