DocumentCode
3664300
Title
Scalable Task-Parallel SGD on Matrix Factorization in Multicore Architectures
Author
Yusuke Nishioka;Kenjiro Taura
Author_Institution
Grad. Sch. of Inf. Sci. &
fYear
2015
fDate
5/1/2015 12:00:00 AM
Firstpage
1178
Lastpage
1184
Abstract
Recommendation is an indispensable technique especially in e-commerce services such as Amazon or Netflix to provide more preferable items to users. Matrix factorization is a well-known algorithm for recommendation which estimates affinities between users and items solely based on ratings explicitly given by users. To handle the large amounts of data, stochastic gradient descent (SGD), which is an online loss minimization algorithm, can be applied to matrix factorization. SGD is an effective method in terms of both convergence speed and memory consumption, but is difficult to be parallelized due to its essential sequentiality. FPSGD by Zhuang et al. Cite fpsgd is an existing parallel SGD method for matrix factorization by dividing the rating matrix into many small blocks. Threads work on blocks, so that they do not update the same rows or columns of the factor matrices. Because of this technique FPSGD achieves higher convergence speed than other existing methods. Still, as we demonstrate in this paper, FPSGD does not scale beyond 32 cores with 1.4GB Netflix dataset because assigning non-conflicting blocks to threads needs a lock operation. In this work, we propose an alternative approach of SGD for matrix factorization using task parallel programming model. As a result, we have successfully overcome the bottleneck of FPSGD and achieved higher scalability with 64 cores.
Keywords
"Scalability","Load management","Convergence","Instruction sets","Radiation detectors","Sparse matrices","Synchronization"
Publisher
ieee
Conference_Titel
Parallel and Distributed Processing Symposium Workshop (IPDPSW), 2015 IEEE International
Type
conf
DOI
10.1109/IPDPSW.2015.135
Filename
7284444
Link To Document