Filtragem Colaborativa Como Serviço Utilizando Processamento na GPU
Autores
5408 |
Vinicius Dalto do Nascimento
|
2452,312
|
5409 |
2452,312
|
Informações:
Publicações do PESC
Atualmente um algoritmo largamente utilizado em sistemas de recomendação é o Filtro Colaborativo (FC), que tem o objetivo de recomendar itens ou prever a avaliação de um item para um usuário utilizando como base os dados dos usuários similares à ele. Alguns trabalhos tentaram reduzir o tempo de recomendação do FC utilizando paralelismo com threads na CPU mesmo com threads na GPU (Central Processing Unit) (Graphical Processing Unit) [1] e até [2]. Atualmente as GPUs modernas manipulam operações matemáticas com eficiência e suas estruturas de processamento paralelo as tornam mais capazes neste tipo de trabalho que CPUs normais. Com a larga utilização de GPUs, sendo até mesmo utilizadas nos top500 [3] computadores mais poderosos do mundo, este trabalho irá propor uma arquitetura que utilizará um FC como serviço tendo o processamento feito na GPU. Mostraremos uma arquitetura escalável, onde em nossos experimentos utilizaremos bases de dados relativamente grandes como a do Movielens [4] e Netflix [5]. Como a memória global das GPUs atualmente são relativamente menores que as memórias principais dos sistemas, tentaremos resolver o problema no qual as matrizes do algoritmo de FC não possuem espaço suficiente na memória da GPU. Utilizamos algumas tarefas apresentadas no artigo [1] para efeito de comparação de desempenho e poderemos vericar que realmente há um grande aumento de performance em nossa arquitetura utilizando GPU.
Now a days an algorithm widely used in recommendation systems is Collaborative Filtering (CF), which aims to recommend items or provide a item recommendation for a user on using user data similar to him. Some studies have tried to shorten the recommendation of FC using parallelism with threads on the CPU (Central Processing Unit) [1] and even threads on the GPU (Graphical Processing Unit) [2]. Modern GPUs eficiently handle mathematical operations and parallel processing structure makes them more capable in this type of work that mainstream CPUs. With the widespread use of GPUs, even being used in TOP500 [3] most powerful computers in the world, this work proposes an architecture that uses CF as service having the processing done on the GPU. We present a scalable architecture, which we use in our experiments relatively large databases such as the Movielens [4] and Netflix [5]. The global memory of the GPUs today are relatively smaller than the main memory of systems, we tryed to solve the problem in which the matrix of the algorithm FC does not have enough space in GPU memory. We used some tasks presented in the article [1] for performance comparison and we can see that there is a really big performance boost in our architecture using GPU.