Análise do problema do caixeiro viajante - ERAD 2008
-
Upload
jeronimo-medina-madruga -
Category
Technology
-
view
875 -
download
3
Transcript of Análise do problema do caixeiro viajante - ERAD 2008
Elvio Viçosa Junior, Jerônimo M. Madruga, Rafael L. Pereira,
Gerson Geraldo H. Cavalheiro. Fapergs
Análise do problema do caixeiro viajante sobre diferentes ambientes de programação concorrente
Portabilidade de desempenho
Sequêncial
SMP
Cluster
Sequêncial + SMP + Cluster
. . .
Portabilidade de desempenho
Sequêncial
SMP
Cluster
Sequêncial + SMP + Cluster
Concorrência
Paralelismo
Aplicação
Hardware
Portabilidade de desempenho
Possível solução
Separar a programação da execução
De que forma?
Controle do escalonamento e fluxo de dados em tempo de execução.
O ambiente Anahy Vanilla
Portabilidade de desempenho
Dependência de Hardware\SO
Criação e sincronização de athreads
Split
Criação e sincronização de athreads
Join
Execução e escalonamento
Grafo de dependências
Execução e escalonamento
. . .
buscar_qualquer_trabalho()buscar_trabalho( id )
Interface de programação
Criação
int athread_create( athread_t *th, athread_attr_t *attrib, void *(*func) (void *), void *in );
Sincronização
int athread_join( athred_t th, (void *) **result);
Código da thread
void *nome_thread( void *entrada );
Estudo de caso
MinerCada mineiro cria 2 ajudantes.Cada ajudante faz sua combinação e retorna o resultado
Estudo de caso - Desempenhos
Estudo de caso - Desempenhos
Estudo de caso - Desempenhos
Trabalhos
Hoje
Testes de desempenhoOtimização do escalonador
Futuro (próximo)
Versão distribuidaMecanismos de sincronização
Mais informações
www.anahy.orgInformações, códigos e exemplos
Fapergs