1. O documento descreve uma proposta para paralelizar o algoritmo Fast non Dominated Sorting para classificar cidades de acordo com informações climáticas.
2. O objetivo é aplicar o algoritmo para selecionar cidades considerando múltiplos critérios climáticos e paralelizar o algoritmo para reduzir o tempo de execução.
3. A metodologia inclui desenvolver versões sequencial e paralela do algoritmo, testar em diferentes configurações e ambientes de computação distribuída, e avaliar o ganho de desempenho.
Aula inaugural - Curso de Dinâmica dos Fluidos Computacional (Pós-graduação: ...
Apresentação Programação Concorrente USP
1. 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
2. Agenda
1 Introdução
1 Definição do Problema
2 Motivação e Gap
3 Objetivos
2 Fundamentação Teórica
3 Metodologia
4 Resultados
5 Considerações Finais
SSC5795 Vinícius Aires Barros Novembro 2016 2 / 48
3. 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
4. Definição do Problema
1 Seleção de cidades de acordo com
informações do clima:
Base de dados contendo
aproximadamente 200 mil cidades
Fonte retirada da base de dados
Open Weather Map
Determinar melhores condições
climáticas de cidades dado um
conjunto de critérios
2 Problema de otimização multiobjetivo:
Múltiplos critérios de otimização
Critérios conflitantes
3 Ranqueamento das fronteiras de
pareto (Fast non dominated sorting):
Parte do algoritmo genético NSGA-II
Complexidade do algoritmo O(MN2
)
4 Proposta de uma abordagem paralela.
SSC5795 Vinícius Aires Barros Novembro 2016 4 / 48
5. Motivação e Gap
Alta complexidade do algoritmo para valores N grande;
Necessidade de criação de uma versão otimizada do algoritmo que consiga
diminuir 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ção
multiobjetivo.
SSC5795 Vinícius Aires Barros Novembro 2016 5 / 48
6. Objetivos
1 Aplicar o algoritmo Fast Non dominated Sorting para a seleção de cidades de
acordo 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
7. 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
8. Internet of Things (IoT)
DEFINIÇÃO
A Internet das Coisas, refere-se à uma nova abordagem sobre a
interconexão de coisas, tecnologias e objetos, através da Internet. Essa
abordagem proporcionou ao longo do tempo a criação da rede global de
dispositivos [8].
Alguns exemplos de aplicações que
utilizam IoT:
Smart Farms: Agricultura de Precisão
e Controle Ambiental;
Smart Cities: Controle do Trânsito e
Monitoramento do Clima; e
Smart Homes: Agilidade nas
atividades do dia a dia das pessoas.
SSC5795 Vinícius Aires Barros Novembro 2016 8 / 48
9. Big Data
DEFINIÇÃO
Big Data é definido como um conjunto de dados estruturados ou não estruturados que
não puderam ser percebidos, adquiridos, gerenciados e processados pelos modelos
tradicionais de hardware e software [3].
Alguns exemplos de aplicações de Big
Data:
Processamento e análise das
preferências dos usuário de um
sistema;
Detecção de fraudes em licitações; e
Auxiliar na tomada de decisão de
diferentes cenários.
SSC5795 Vinícius Aires Barros Novembro 2016 9 / 48
10. Otimização Multiobjetivo
DEFINIÇÃO
A otimização multiobjetivo é uma parte integrante das atividades de
otimização que apresenta uma enorme importância prática, uma vez que
quase todos os problemas de otimização do mundo real são ideais que
sejam modelados utilizando múltiplos objetivos conflitantes [4].
Alguns exemplos práticos da aplicação de
modelos de otimização multiobjetivo:
Problemas de engenharia;
Indústria; e
Ciência da Computação.
SSC5795 Vinícius Aires Barros Novembro 2016 10 / 48
11. Fronteira de Pareto
DEFINIÇÃO
Relações denominadas fronteira de pareto são utilizadas para comparar
soluções, onde o conjunto de soluções ótimas de um problema é dado o
nome 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 dado
um conjunto de critérios;
Soluções dominadas e não
dominadas; e
Níveis de soluções separadas em
camadas.
SSC5795 Vinícius Aires Barros Novembro 2016 11 / 48
12. Relação de Dominância
DEFINIÇÃO
Uma solução xT é dita não dominada quando não existe nenhum x ∈ S tal
que fi (x) ≤ fi (xT ) para pelo menos um dos objetivos analisados [1]. A
imagem do conjunto de soluções ótimas é chamada de fronteira de pareto ou
curva de pareto. O formato da fronteira de pareto indica a natureza do
trade-off entre diferentes funções objetivo [2].
Não é Reflexiva
A relação de dominância não é reflexiva uma vez que qualquer solução x não se auto
domina (por definição de dominância).
Não é Simétrica
A 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étrica
Como a relação de dominância não é simétrica, ela também não pode ser Anti
simétrica.
É Transitiva
A relação de dominância é transitiva. Se x y e y z, logo x z.
SSC5795 Vinícius Aires Barros Novembro 2016 12 / 48
13. 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 as
comparações possíveis par a par e encontrar qual solução domina quais e quais
soluçõ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 ao
conjunto.
SSC5795 Vinícius Aires Barros Novembro 2016 13 / 48
14. Fast Non Dominated Sorting
1: procedure FAST-NON-DOMINATED-SORT(P)
2: for p ∈ P do
3: Sp ← 0
4: np ← 0
5: for q ∈ P do
6: if p q then
7: Sp ← Sp ∪ {q}
8: else
9: if q p then
10: np ← np + 1
11: if np = 0 then
12: prank ← 1
13: Fi = Fi ∪ {p}
14: i ← 1
15: while Fi = 0 do
16: Q ← 0
17: for p ∈ Fi do
18: for q ∈ Sp do
19: np ← np − 1
20: if np = 0 then
21: qrank ← i + 1
22: Q ← Q ∪ {q}
23: i ← i + 1
24: Fi ← Q
1 Para cada item são computados três
entidades:
Sp: conjunto de soluções dominadas
np: número de soluções dominadas
por p
Fi : conjunto de soluções não
dominadas
2 Complexidade O(MN2):
O(MN2
) operações para cada p em
Sp
O(N2
) para computar as próximas
fronteiras Pk , k = 1, 2, ... (camadas
de fronteiras não dominadas)
M: número de critérios
N: tamanho da entrada
SSC5795 Vinícius Aires Barros Novembro 2016 14 / 48
15. Avaliação de Desempenho
Avaliar o comportamento do algoritmo
implementado;
Visualização dos ganhos de
desempenho obtidos; e
Métricas de avaliação.
Speedup
Eficiência
SSC5795 Vinícius Aires Barros Novembro 2016 15 / 48
16. Speedup
Speedup
O speedup diz respeito ao ganho de desempenho obtido em comparação
com a versão sequencial do algoritmo [9].
Sp =
Ts
Tp
(1)
SSC5795 Vinícius Aires Barros Novembro 2016 16 / 48
17. Eficiência
Eficiência
A eficiência de um algoritmo paralelo está relacionada ao tempo em que os
processos de fato estão executando o problema. Esta métrica tem como
objetivo indicar os possíveis tempos de ociosidades ou alto custo de
comunicação de sistemas concorrentes [9].
E =
Sp
p
(2)
SSC5795 Vinícius Aires Barros Novembro 2016 17 / 48
18. Trabalhos Relacionados
A fast and elitist multiobjective genetic algorithm: NSGA-II [5];
An efficient approach to nondominated sorting for evolutionary multiobjective
optimization [12];
Very Fast Non-Dominated Sorting [11]; e
GPU based Non-dominated Sorting Genetic Algorithm-II for multi-objective traffic
light signaling optimization with agent based modeling [10].
SSC5795 Vinícius Aires Barros Novembro 2016 18 / 48
19. Metodologia
1 Desenvolvimento do algoritmo
sequencial;
2 Mapeamento e decomposição de
tarefas;
3 Paralelização do algoritmo proposto;
4 Ambiente de execução de
experimentos; e
5 Definição dos experimentos.
SSC5795 Vinícius Aires Barros Novembro 2016 19 / 48
20. Mapeamento e decomposição de tarefas
Metodologia PCAM de Ian Foster [6]:
1 Particionamento
Divisão do espaço busca e
combinações;
2 Comunicação
Passagem de mensagem (send e
receive);
3 Aglomeração
Junção de operações;
4 Mapeamento
Divisão de tarefas em processos;
5 Decomposição do problema
SSC5795 Vinícius Aires Barros Novembro 2016 20 / 48
21. Decomposição de Tarefas
Figura: Divisão de tarefas do algoritmo Fast non dominated sorting.
SSC5795 Vinícius Aires Barros Novembro 2016 21 / 48
22. Grafo de dependências (Primeira Fronteira)
Figura: Grafo de dependências (Processar Primeira Camada).
SSC5795 Vinícius Aires Barros Novembro 2016 22 / 48
23. Grafo de dependências (Demais Fronteiras)
Figura: Grafo de dependências (Processar Demais Camadas).
SSC5795 Vinícius Aires Barros Novembro 2016 23 / 48
24. 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
25. 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
26. Paralelização do algoritmo proposto
Paralelização do algoritmo por meio
de Threads e Sockets (comunicação
master e slave);
Conexão orientada a Sockets (TCP);
Criação de processos e threads
dinamicamente;
Linguagem de Programação Java;
Cálculo da primeira fronteira de
pareto;
Cálculo das demais fronteiras; e
Aplicação de métricas de avaliação de
desempenho.
SSC5795 Vinícius Aires Barros Novembro 2016 26 / 48
27. Gerenciamento de Processos
Pool de Threads;
Enfileiramento de processos (Blocking
Queue); e
Melhor gerenciamento da execução
dos processos.
SSC5795 Vinícius Aires Barros Novembro 2016 27 / 48
28. Enfileiramento de Processos (Blocking Queue)
Figura: Fila de processos.
SSC5795 Vinícius Aires Barros Novembro 2016 28 / 48
29. 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
33. 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
34. 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
35. Definição do experimento
1 Memória Compartilhada;
Uma máquina: 2, 4 e 8 processos
2 Memória Distribuída; e
Um processo: 2, 4, 8 máquinas
3 Mestre e Escravo (master e slave).
Um mestre + duas máquinas: 2, 4 e 8 processos
Um mestre + quatro máquinas: 2, 4 e 8 processos
Um 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
37. 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 em
ordem crescente.
SSC5795 Vinícius Aires Barros Novembro 2016 37 / 48
38. Speedup (Todos os experimentos)
Figura: Resultado Speedup.
SSC5795 Vinícius Aires Barros Novembro 2016 38 / 48
39. 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
40. Eficiência (Todos os experimentos)
Figura: Resultado eficiência.
SSC5795 Vinícius Aires Barros Novembro 2016 40 / 48
41. 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
42. 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 Custo
Master/Slave 2 8 89,84 11,33 7,93 1,00 3,97 2
Memó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 4
Master/Slave 2 4 89,84 12,46 7,21 0,50 1,80 2
Memó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 8
Master/Slave 4 4 89,84 13,18 6,82 0,50 0,85 4
Master/Slave 2 2 89,84 20,43 4,40 0,25 0,55 2
Memó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 8
Master/Slave 4 2 89,84 20,04 4,48 0,25 0,28 4
Memó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 8
Memória D. 4 1 89,84 35,55 2,53 0,13 0,08 4
Memó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
43. 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 aumentam
consideravelmente;
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 de
ociosidade).
Trabalhos Futuros:
Implementação do algoritmo em outros modelos de programação;
Realizar avaliação de desempenho levando em consideração diferentes
tamanhos de entradas; e
Otimizar algoritmo implementado visando diminuir o overheads enfrentados.
SSC5795 Vinícius Aires Barros Novembro 2016 43 / 48
44. 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
46. 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 level
and 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
47. 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 traffic
light 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
48. Referências III
X. Zhang, Y. Tian, R. Cheng, and Y. Jin.
An efficient approach to nondominated sorting for evolutionary multiobjective
optimization.
IEEE Transactions on Evolutionary Computation, 19(2):201–213, 2015.
SSC5795 Vinícius Aires Barros Novembro 2016 48 / 48