- O documento analisa o problema do caixeiro viajante em diferentes ambientes de programação concorrente como Athreads, Cilk e Pthreads.
- Foram adotadas estratégias sequenciais e concorrentes para solucionar o problema e realizado um benchmark para medir o desempenho.
- Os resultados mostraram aumento de desempenho com a utilização da concorrência, aproveitando melhor os recursos da arquitetura.
Análise do problema do caixeiro viajante sobre diferentes ambientes de programação concorrente - ERAD 2008
1. Análise do problema do caixeiro viajante sobre diferentes
ambientes de programação concorrente
Elvio Viçosa Junior
Jerônimo M. Madruga
Rafael L. Pereira
Gerson Geraldo H. Cavalheiro
{evicosa_ifm, jmadruga.ifm, rpereira.ifm, gerson.cavalheiro}@ufpel.edu.br
Universidade Federal de Pelotas
IFM – DINFO ERAD 2008
Ciência da Computação
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
2. Sumário
• Introdução
• Caixeiro Viajante
• Número de caminhos
• Ambientes de Programação
• Estratégias adotadas
• Benchmark
• Conclusão
• Trabalhos Futuros
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
3. Introdução
• Motivação
• Objetivos
• Ferramentas utilizadas
• Ambiente de teste
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
4. Caixeiro Viajante
• Descrição do problema
• Complexidade envolvida
• Estratégia de “força-bruta”
• Longo tempo de execução
• Aplicações Reais
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
5. Número de caminhos
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
6. Ambientes de programação
• Athreads
– Interface de programação de alto nível
• Cilk
– Extensão a linguagem C
– Baixo nível de overhead
• Pthreads
– API padronizada para gerenciamento de threads
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
7. Estratégias adotadas
• Versão seqüencial
• Teste com diversos números de cidades
• Validação do algoritmo
• Inserção da concorrência
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
9. Conclusão
• Aumento de desempenho
• Utilização dos recursos da arquitetura
• Cálculo dos caminhos de forma concorrente
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
10. Trabalhos futuros
• Ambientes distribuídos
• Concorrência intra-nó
• Distribuição de tarefas entre nós
• Afinidade das threads com processadores
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008
11. Análise do problema do caixeiro viajante sobre diferentes
ambientes de programação concorrente
Elvio Viçosa Junior
Jerônimo M. Madruga
Rafael L. Pereira
Gerson Geraldo H. Cavalheiro
{evicosa_ifm, jmadruga.ifm, rpereira.ifm, gerson.cavalheiro}@ufpel.edu.br
Universidade Federal de Pelotas
IFM – DINFO ERAD 2008
Ciência da Computação
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira, Gerson Geraldo H. Cavalheiro ERAD 2008