Skip to main content
Log in

Semi-sparse algorithm based on multi-layer optimization for recommender system

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

Similarity among vectors is basic knowledge required to carry out recommendation and classification in recommender systems, which support personalized recommendation during online interactions. In this paper, we propose a Semi-sparse Algorithm based on Multi-layer Optimization to speed up the Pearson Correlation Coefficient, which is conventionally used in obtaining similarity among sparse vectors. In accelerating the batch of similarity-comparisons within one thread, the semi-sparse algorithm spares out over-reduplicated accesses and judgements on the selected sparse vector by making this vector dense locally. Moreover, a reduce-vector is proposed to restrict using locks on critical resources in the thread-pool, which is wrapped with Pthreads on a multi-core node to improve parallelism. Furthermore, among processes in our framework, a shared zip file is read to cut down messages within the Message Passing Interface package. Evaluation shows that the optimized multi-layer framework achieves a brilliant speedup on three benchmarks, Netflix, MovieLens and MovieLen1600.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Algorithm 1
Algorithm 2
Fig. 1
Fig. 2
Algorithm 3
Algorithm 4
Algorithm 5
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

Similar content being viewed by others

Notes

  1. http://www.mcs.anl.gov/research/projects/mpich2/.

  2. http://www.grouplens.org/node/73.

  3. http://www.netflixprize.com.

  4. http://www.cs.cmu.edu/afs/cs/project/theo-20/www/data.

  5. http://kdd.ics.uci.edu/databases/20newsgroups.

References

  1. Berka T, Kollias G, Hagenauer H, Vajteršic M, Grama A (2011) Concurrent programming constructs for parallel mpi applications. J Supercomput 1–22

  2. Carns P, Ligon W III, Ross R, Thakur R (2000) PVFS: a parallel file system for Linux clusters. In: Proceedings of the 4th annual Linux showcase & conference-volume 4, p 28. USENIX Association

    Google Scholar 

  3. Chang E, Zhu K, Wang H, Bai H, Li J, Qiu Z, Cui H (2007) Psvm: parallelizing support vector machines on distributed computers. Adv Neural Inf Process Syst 20:16

    Google Scholar 

  4. Collobert R, Bengio S (2001) SVMTorch: support vector machines for large-scale regression problems. J Mach Learn Res 1:160

    MathSciNet  Google Scholar 

  5. Deshpande M, Karypis G (2004) Item-based top-n recommendation algorithms. ACM Trans Inf Syst (TOIS) 22(1):143–177

    Article  Google Scholar 

  6. Fatone L, Giacinti M, Mariani F, Recchioni M, Zirilli F (2012) Parallel option pricing on GPU: barrier options and realized variance options. J Supercomput 1–22

  7. Gantner Z, Drumond L, Freudenthaler C, Rendle S, Schmidt-Thieme L (2010) Learning attribute-to-feature mappings for cold-start recommendations. In: 2010 IEEE international conference on data mining. IEEE Press, New York, pp 176–185

    Chapter  Google Scholar 

  8. González-Domínguez J, García-López Ó, Taboada G, Martín M, Touriño J (2012) Performance evaluation of sparse matrix products in UPC. J Supercomput 1–10

  9. Herlocker J, Konstan J, Borchers A, Riedl J (1999) An algorithmic framework for performing collaborative filtering. In: Proceedings of the 22nd annual international ACM SIGIR conference on research and development in information retrieval. ACM, New York, pp 230–237

    Google Scholar 

  10. Hutchins R, Hemmady S (1996) How to write Awk and Perl scripts to enable your EDA tools to work together. In: Proceedings of the 33rd annual design automation conference. ACM, New York, pp 409–414

    Google Scholar 

  11. Jahnke J, Zundorf A. Rewriting poor design patterns by good design patterns. In: Proc ESEC/FSE, vol 97. Citeseer, pp 1841–1897

  12. Koren Y (2010) Collaborative filtering with temporal dynamics. Commun ACM 53(4):89–97

    Article  Google Scholar 

  13. Koren Y, Bell R, Volinsky C (2009) Matrix factorization techniques for recommender systems. Computer 42(8):30–37

    Article  Google Scholar 

  14. Linden G, Smith B, York J (2003) Amazon.com recommendations: item-to-item collaborative filtering. IEEE Internet Comput 7(1):76–80

    Article  Google Scholar 

  15. Lombard P, Denneulin Y (2002) NFSP: a distributed NFS server for clusters of workstations. In: Parallel and distributed processing symposium. Proceedings international, IPDPS 2002, abstracts and CD-ROM. IEEE Press, New York, pp 35–40

    Google Scholar 

  16. Miller B, Albert I, Lam S, Konstan J, Riedl J (2003) MovieLens unplugged: experiences with an occasionally connected recommender system. In: Proceedings of the 8th international conference on intelligent user interfaces. ACM, New York, pp 263–266

    Google Scholar 

  17. Pacheco P (1998) A user’s guide to MPI. University of San Francisco

  18. Pyarali I, Spivak M, Cytron R, Schmidt D (2001) Evaluating and optimizing thread pool strategies for real-time CORBA. In: Proceedings of the ACM SIGPLAN workshop on languages, compilers and tools for embedded systems. ACM, New York, p 222

    Google Scholar 

  19. Ranger C, Raghuraman R, Penmetsa A, Bradski G, Kozyrakis C (2007) Evaluating MapReduce for multi-core and multiprocessor systems. In: Proceedings of the 2007 IEEE 13th international symposium on high performance computer architecture. Citeseer, pp 13–24

    Chapter  Google Scholar 

  20. Sarwar B, Karypis G, Konstan J, Reidl J (2001) Item-based collaborative filtering recommendation algorithms. In: Proceedings of the 10th international conference on world wide web. ACM, New York, pp 285–295

    Google Scholar 

  21. Schmidt D (1999) Wrapper Facade-A structural pattern for encapsulating functions within classes. In: C++ report. Citeseer

  22. Su X, Khoshgoftaar T (2009) A survey of collaborative filtering techniques. Adv Artif Intell 2009:2

    Google Scholar 

  23. Vazquez F, Ortega G, Fernandez J, Garzon E (2010) Improving the performance of the sparse matrix vector product with GPUS. In: 2010 IEEE 10th international conference on computer and information technology (CIT). IEEE Press, New York, pp 1146–1151

    Chapter  Google Scholar 

  24. Wang Z, Xu X, Zhao W, Zhang Y, He S (2010) Optimizing sparse matrix-vector multiplication on CUDA. In: 2010 2nd international conference on education technology and computer (ICETC), vol 4. IEEE Press, New York, pp V4–109

    Google Scholar 

  25. Yang X, Guan H, Tang F, You I, Guo M, Shen Y (2011) Improvements on sequential minimal optimization algorithm for support vector machine based on semi-sparse algorithm. In: Innovative mobile and Internet services in ubiquitous computing, international conference, pp 192–199. http://doi.ieeecomputersociety.org/10.1109/IMIS.2011.128

    Chapter  Google Scholar 

  26. Zhen Y, Li W, Yeung D (2009) TagiCoFi: tag informed collaborative filtering. In: Proceedings of the third ACM conference on recommender systems. ACM, New York, pp 69–76

    Google Scholar 

Download references

Acknowledgements

We would like to thank the anonymous reviewers for their insightful comments on this paper. This work was supported in part by NSFC 61003012, 863 Program of China 2011AA01A202, and Program for Changjiang Scholars and Innovative Research Team in University (IRT1158, PCSIRT), China. The views expressed in this material are those of the authors and do not necessarily reflect the views of the sponsors.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Minyi Guo.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Guan, H., Li, H., Xu, CZ. et al. Semi-sparse algorithm based on multi-layer optimization for recommender system. J Supercomput 66, 1418–1437 (2013). https://doi.org/10.1007/s11227-012-0830-6

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-012-0830-6

Keywords

Navigation