Presentacion Proyecto Fin de Carrera
date post
11-Jul-2015Category
Documents
view
640download
4
Embed Size (px)
Transcript of Presentacion Proyecto Fin de Carrera
Paralelizacin de algoritmos basados
en Colonias de Hormigas.
Aplicacin del Viajante de Comercio.
Autor: Eduardo Moreno Daz
Director: Dr. D. Jos Manuel Martn Ramos
Escuela Politcnica Superior. Universidad de Huelva
Proyecto Fin de Carrera para optar al
Ttulo de Ingeniero en Informtica
Julio de 2012
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
NDICE
1. Introduccin
2. CUDA
3. ACOs Paralelos
4. Experimentacin
5. Conclusiones
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
NDICE
1. Introduccin
2. CUDA
3. ACOs Paralelos
4. Experimentacin
5. Conclusiones
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
4
Motivacin
1. Introduccin
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
Nueva Tecnologa de supercomputacin paralela
Fiable y de bajo coste econmico
Los ACOs tienen muchas aplicaciones en la industria
No existe experimentacin sobre ACOs con tcnicas de supercomputacin
Aplicar esta tecnologa a los ACOs mejorar enormemente
las posibilidades de experimentacin
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
5
Introduccin a los ACOs 1. Introduccin
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
Los ACOs (Ant Colony Optimization) es una metaheurstica inspirada en el comportamiento que usan las hormigas para encontrar los caminos ms cortos entre fuentes de comida y el hormiguero.
Se caracterizan por la utilizacin de dos heursticas:
Fija: la distancia entre nodos
Variable: aporte de feromonas
Alto coste
computacional
(memoria/tiempo) Alto
Paralelismo
Implcito
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
6
Pseudocdigo ACO
1. Introduccin
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
PROCEDURE AS
Inicializacin de parmetros()
WHILE NOT criterio de terminacin
crear/resetear hormigas()
construccion()
[optimizacin del recorrido()]
evaluacin()
actualizacion de feromonas()
END WHILE
END PROCEDURE AS
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
7
Extensiones ACO
1. Introduccin
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
AS (Ant System)
EAS (Elitis Ant System)
MMAS (Max-Min Ant System)
RAS (Rank-based Ant System)
ACS (Ant Colony System)
ACO
Aporte de
feromonas
diferente
Regla transicin
pseudoaleatoria
para ACS
Velocidades de
convergencia
diferenciadas
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
8
El problema del viajante de comercio (TSP)
En qu consiste el TSP? Partiendo de un mapa con n ciudades, hay que construir una ruta
que comenzando y terminando en una ciudad concreta, pase por cada una de las ciudades, minimizando la distancia recorrida por el viajante de comercio.
Por qu se ha elegido? TSPLib es muy utilizado en la literatura cientfica para la
comparacin entre algoritmos.
1. Introduccin
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
9
Objetivos
1. Introduccin
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
Objetivos
+ = ACO CUDA
3 2 1
Anlisis del coste computacional
Proporcionar experimentacin
sobre esta tecnologa
Marco de estudio que permita mejorar ACO
Tecnologa Investigacin I+D
Objetivo Objetivo Objetivo
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
NDICE
1. Introduccin
2. CUDA
3. ACOs Paralelos
4. Experimentacin
5. Conclusiones
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
11
Qu es CUDA?
2. CUDA
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
Compute Unified Device Architecure Arquitectura Unificada de Computacin en Dispositivos
Dispositivos grficos de alto rendimiento
Arquitectura de clculo paralelo que permite computar procedimientos iterativos
Tecnologa SIMT Single Instruction Multiple Thread
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
12
Qu hay que tener en cuenta en CUDA? 2. CUDA
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
Unin de resultados
Grupos de Hebras
Sincronizacin
Subdivisin
Subdivisin del problema en sub-problemas que puedan ser resueltos de forma paralela
Grupos de hebras para resolver parcialmente
Sincronizacin de la hebras Unin de los resultados parciales para ofrecer el resultado global que se buscaba
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
13
Diferencias entre CPU y GPU
2. CUDA
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
GPU se compone de N-copias redundantes de CPUs que trabajan de manera paralela.
30 Multiprocesadores de 8 cores (240 cores en total) en los dispositivos utilizados.
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
14
Arquitectura Hardware
2. CUDA
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
15
Modelo de Ejecucin
2. CUDA
Par
alel
izac
in
de
alg
ori
tmo
s b
asad
os
en C
olo
nia
s d
e H
orm
igas
.
La ejecucin se reparte entre la CPU y la GPU.
2 tipos de interaccin Host-Device:
Sncrona Asncrona
La idea es combinar la ejecucin Host-Device intentando minimizar
el nmero de intercambio de informacin entre CPU y GPU
Tt
ulo
de
la p
resen
taci
n /
F
ive l
am
ps
tan
ds
co
mfo
rtab
ly t
ickle
d
NDICE
1. Introduccin
2. CUDA
3. ACOs Paralelos
4. Experimentacin
5. Conclusiones
Tt
ulo
de
la p
resen
taci
n /
F
ive