Paralelismo en la factorización NMF

  1. EdgardoMejía-Roa
  2. Carlos García
  3. Alberto Pascual-Montano
  4. Francisco Tirado
Liburua:
Actas de las XXIV Jornadas de Paralelismo
  1. Guillermo Botella (coord.)
  2. Alberto A. Del Barrio (coord.)

Argitaletxea: Limencop S.L.

ISBN: 978-84-695-8330-2

Argitalpen urtea: 2013

Orrialdeak: 311-316

Biltzarra: Jornadas de Paralelismo (24. 2013. Madrid)

Mota: Biltzar ekarpena

Laburpena

En los ´ultimos años se ha incrementadoel inter´es de la comunidad cient´ıfica en la Factorizaci´on NMF (Non-negative Matrix Factorization) comom´etodo de proyecci´on empleado en el an´alisis exploratoriode datos para reducir sus dimensiones y facilitaras´ı la b´usqueda e interpretaci´on de patrones ocultos.No obstante, este algoritmo requiere de una cantidadelevada de recursos de c´omputo, lo que dificulta suaplicaci´on en conjuntos de datos de gran tama˜no.En este art´ıculo presentamos tres implementacionesde NMF con el objetivo de estudiar el impacto enel rendimiento que aportan diferentes tecnolog´ıas queaprovechan el paralelismo a nivel de datos que exponeeste algoritmo.La primera implementaci´on explota el paralelismode grano grueso mediante el paradigma cl´asico del pasode mensajes, MPI (Message-Passing Interface), enel que los datos se distribuyen entre distintos procesadores.A pesar de la reducci´on en el tiempo dec´omputo, la latencia producida por los diversos puntosde sincronizaci´on y de comunicaci´on entre procesospuede suponer un importante cuello de botella ensistemas con un elevado n´umero de procesadores, llegandoen el caso de datos de menor tama˜no a anularcualquier ganancia de rendimiento.La segunda versi´on, implementada con CUDA(Compute Unified Device Architecture), aprovecha elparalelismo de grano fino en un procesador de gr´aficosGPU (Graphics-Processing Unit), alcanzando un rendimientocomparable al de un cluster de varias decenasde procesadores superescalares. Sin embargo, muchosdispositivos GPU disponen de poca memoria, por loque datos de grandes dimensiones deben transferirsey procesarse por bloques de forma secuencial, incrementandodr´asticamente los tiempos de c´omputo.Finalmente, la tercera implementaci´on combinaambas tecnolog´ıas. Comparado con la versi´onmono-GPU anterior, se obtiene un Speedup Superlinealcuando se emplea el m´ınimo n´umero de GPUs queevita el procesamiento por bloques de las porcionesde datos asignadas a cada dispositivo.