Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

An efficient parallel collaborative filtering algorithm on multi-GPU platform

Published: 01 June 2016 Publication History

Abstract

Collaborative filtering (CF) is one of the essential algorithms in recommendation system. As the size of the data in real applications is huge, usually at the magnitude of Petabytes, parallel computing technique is required to accelerate the computation. Due to GPU's tremendous computing capability, it has emerged as the co-processor of the CPU to achieve a high overall throughput. In this paper, we identify the computation kernel, similarity matrix calculation. Then, we present a CUDA multithread model, where the data elements are processed in a data-parallel fashion. A workload partitioning scheme is proposed to balance the workload distributed to different GPUs. In the experiments, our CUDA-enabled CF algorithm significantly outperforms the serial CF workstation, achieving up to 3,691$$\times $$ speedup using four Tesla K10 graphics cards. It also shows good scalability when varying the number of users, the number of items and the number of GPUs.

References

[1]
Das AS, Datar M, Garg A, Rajaram S (2007) Google news personanlization: scalable online collaborative filtering. In: WWW`07: Proceedings of the 16th international conference on World Wide Web, Banff, Alberta, Canada, pp 271---280
[2]
Kato K, Hosino T (2010) Singular value decomposition for collaborative filtering on a GPU. IOP conference series: materials science and engineering, vol 10, no 1. IOP Publishing
[3]
Nadungodage CH et al (2013) GPU accelerated item-based collaborative filtering for big-data applications. In: Proceedings of IEEE International Conference on Big Data
[4]
Zhao Z-D, Shang MS (2010) User-based collaborative-filtering recommendation algorithms on Hadoop. International Workshop on Knowledge Discovery and Data Mining, pp 478---481
[5]
Leverich J, Kozyrakis C (2010) On the energy (in)efficiency of Hadoop clusters. SIGOPS Oper Syst Rev 44(1):61---65
[6]
Borkar V, Carey M et al (2011) Hyracks: a flexible and extensible foundation for data-intensive computing. In: Proceedings of IEEE 27th International Conference on Data Engineering (ICDE), Hanover, Germany, pp 1151---1162
[7]
Karydi E, Margaritis KG (2012) Parallel implementation of the slope one algorithm for collaborative filtering. In: Proceedings of 16th Panhellenic Conference on Informatics, pp 174---179
[8]
Belkin NJ, Croft WB (1992) Information filtering and information retrieval: two sides of the same coin. Commun ACM 35(12):29---38
[9]
Konstan JA, Miller BN, Maltz D, Herlocker JL, Gordon LR, Riedl J (1997) GroupLens: applying collaborative filtering to Usenet news. Commun ACM 40(3):77---87
[10]
Shardanand U, Maes P (1995) Social information filtering: algorithms for automation "World of Mouth". In: Proceedings of ACM CHI`95, Denver, CO., pp 210---217
[11]
Hill W, Stead L, Rosenstein M, Furnas GW (1995) Recommending and evaluating choices in a virtual community of use. In: Proceeding of ACM CHI`95 Conference on human factors in computing systems, Denver, CO., pp 194---201
[12]
Dahlem BJ, Lonstan JA, Herlocker JL, Good N, Borchers A, Riedl J (1998) Jump-starting movielens: user benefits of starting a collaborative filtering system with "dead data". University of Minnesota, TR 98---017
[13]
Linden G, Smith B, York J (2003) Amazon.com recommendations: item-to-item collaborative filtering. IEEE Internet Comput 7(1):76---80
[14]
Piao C-H, Zhao J, Zheng L-J (2009) Research on entropy-based collabrative filtering algorithmn and personalized recommendation in e-commerce. Serv Oriented Comput Appl 3(1):147---157
[15]
CUDA C Programming Guide version 4.1, NVIDIA Corp, 2012
[16]
Jian L, Wang C, Liang S, Liu Y, Yi W, Shi Y (2013) Parallel data mining on graphics processing unit with compute unified device architecture (CUDA). J Supercomput 64(3):942---967
[17]
Liang S, Liu Y, Wang C, Jian L (2010) Design and evaluation of a parallel K-nearest neighbor algorithm on CUDA-enabled GPU. In: Proceedings of IEEE 2nd Symposium on Web Society, pp 53---60
[18]
Gao Z, Liang Y (2012) Improving the collaborative filtering recommender system by using GPU. Cyber-enabled distributed computing and knowledge discovery (CyberC), International Conference on, IEEE
[19]
Herlocker J, Konstan JA, Borchers A et al (1999) An algorithmic framework for performing collaborative filtering. In: Proceedings of the 22nd Annual international ACM SIGIR conference on research and Development in information retrieve. ACM Press, New York pp 230---237

Cited By

View all
  • (2022)An efficient implementation of one-dimensional discrete wavelet transform algorithms for GPU architecturesThe Journal of Supercomputing10.1007/s11227-022-04331-878:9(11539-11563)Online publication date: 1-Jun-2022
  • (2021)Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark PlatformScientific Programming10.1155/2021/88411332021Online publication date: 1-Jan-2021
  • (2021)Enhancing recommendation systems performance using highly-effective similarity measures▪Knowledge-Based Systems10.1016/j.knosys.2021.106842217:COnline publication date: 6-Apr-2021
  • Show More Cited By
  1. An efficient parallel collaborative filtering algorithm on multi-GPU platform

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image The Journal of Supercomputing
      The Journal of Supercomputing  Volume 72, Issue 6
      June 2016
      378 pages

      Publisher

      Kluwer Academic Publishers

      United States

      Publication History

      Published: 01 June 2016

      Author Tags

      1. CUDA
      2. Collaborative filtering
      3. Multi-GPU
      4. Parallel computing
      5. Recommendation system

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 17 Feb 2025

      Other Metrics

      Citations

      Cited By

      View all
      • (2022)An efficient implementation of one-dimensional discrete wavelet transform algorithms for GPU architecturesThe Journal of Supercomputing10.1007/s11227-022-04331-878:9(11539-11563)Online publication date: 1-Jun-2022
      • (2021)Collaborative Filtering Recommendation Using Nonnegative Matrix Factorization in GPU-Accelerated Spark PlatformScientific Programming10.1155/2021/88411332021Online publication date: 1-Jan-2021
      • (2021)Enhancing recommendation systems performance using highly-effective similarity measures▪Knowledge-Based Systems10.1016/j.knosys.2021.106842217:COnline publication date: 6-Apr-2021
      • (2019)Research on big data mining based on improved parallel collaborative filtering algorithmCluster Computing10.1007/s10586-018-2209-922:2(3595-3604)Online publication date: 1-Mar-2019
      • (2019)PRODA: improving parallel programs on GPUs through dependency analysisCluster Computing10.1007/s10586-017-1295-422:1(2129-2144)Online publication date: 1-Jan-2019
      • (2018)FASTCFProceedings of the 2018 ACM/SIGDA International Symposium on Field-Programmable Gate Arrays10.1145/3174243.3174252(259-268)Online publication date: 15-Feb-2018
      • (2017)A GPU-oriented online recommendation algorithm for efficient processing of time-varying continuous data streamsKnowledge and Information Systems10.1007/s10115-016-0967-353:3(637-670)Online publication date: 1-Dec-2017

      View Options

      View options

      Figures

      Tables

      Media

      Share

      Share

      Share this Publication link

      Share on social media