Un sistema heterogéneo Multicore/GPU para acelerar la búsqueda por similitud en estructuras métricas
A Multicore/GPU heterogeneous system to accelerate the similarity search over metric structures
En la actualidad, la búsqueda por similitud en espacios métricos representa una línea de investigaciónde interés debido a sus múltiples campos de aplicación. Sin embargo, cuando en dichas aplicacionesaparecen grandes volúmenes de datos, se hace más que necesario el poder acelerar la búsqueda de lasdiferentes consultas en tales cantidades de datos. Una manera de llevar a cabo dicha aceleración pasa porel uso de clusters, multiprocesadores o clusters de multiprocesadores. En la actualidad, ha surgido confuerza la posibilidad de utilizar aceleradores gráficos (GPU) como vehículo para acelerar aplicacionesa un muy bajo coste. En estos casos, la relación CPU/GPU no es de par a par y por tanto se denominansistemas heterogéneos. Para explotar dichos sistemas heterogéneos se requiere una programación tambiénheterogénea que emplee a la vez la CPU y la GPU. En este trabajo se realiza una verdadera programaciónheterogénea en el que tanto CPU como GPU están trabajando en forma simultánea y por tanto se aprovechaal máximo la arquitectura subyacente. Se presenta la implementación de una estructura genérica adaptadapara un sistema multiprocesador con una GPU, mostrando los resultados experimentales en términosde tiempo y speed-up. Se muestra experimentalmente las ventajas comparativas al insertar GPU a unaplataforma multicore, así como el análisis del consumo energético.
INTRODUCCIÓN
La búsqueda de objetos similares sobre un gran conjunto de datos se ha convertido en una línea de investigación de gran interés debido a que estas técnicas pueden aplicarse a diferentes campos de ciencia y tecnología, como reconocimiento de voz e imagen, problemas de minería de datos, detección de plagios, búsqueda de objetos sobre bases de datos multimedia y muchas otras.
Sin embargo, cuando en dichas aplicaciones se tiene la necesidad de almacenar y procesar grandes volúmenes de datos es necesario aumentar el rendimiento en términos de tiempo de procesamiento, si queremos que las soluciones sean viables. En general, para dar respuesta a las necesidades computacionales o temporales requeridas, el uso del paralelismo se considera una de las técnicas más adecuadas para conseguirlo. En este sentido, los procesadores gráficos (Graphic Processor Unit, GPU) de las actuales tarjetas gráficas permiten un alto nivel de paralelismo a un muy bajo coste.
En este artículo se presentan diferentes aportaciones:
- Una estructura de datos métrica genérica que se adecúa a la plataforma objetivo de este trabajo, esto es, una basada en GPU.
Recursos
-
Formatopdf
-
Idioma:español
-
Tamaño:188 kb