Presentacion Proyecto Fin de Carrera

Click here to load reader

  • date post

    11-Jul-2015
  • Category

    Documents

  • view

    640
  • download

    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