Apresentação Programação Concorrente USP

Preview:

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Decomposição de Tarefas

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

SSC5795 Vinícius Aires Barros Novembro 2016 21 / 48

Grafo de dependências (Primeira Fronteira)

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

SSC5795 Vinícius Aires Barros Novembro 2016 22 / 48

Grafo de dependências (Demais Fronteiras)

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

SSC5795 Vinícius Aires Barros Novembro 2016 23 / 48

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

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

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

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

Enfileiramento de Processos (Blocking Queue)

Figura: Fila de processos.

SSC5795 Vinícius Aires Barros Novembro 2016 28 / 48

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

Algoritmo (Memória Distribuída)

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

SSC5795 Vinícius Aires Barros Novembro 2016 30 / 48

Algoritmo (Memória Distribuída)

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

SSC5795 Vinícius Aires Barros Novembro 2016 31 / 48

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

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

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

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

Resultados

Resultados da implementação; e

Métricas de Speedup e Eficiência.

SSC5795 Vinícius Aires Barros Novembro 2016 36 / 48

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

Speedup (Todos os experimentos)

Figura: Resultado Speedup.

SSC5795 Vinícius Aires Barros Novembro 2016 38 / 48

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

Eficiência (Todos os experimentos)

Figura: Resultado eficiência.

SSC5795 Vinícius Aires Barros Novembro 2016 40 / 48

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

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

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

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

Obrigado!

SSC5795 Vinícius Aires Barros Novembro 2016 45 / 48

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

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

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

Recommended