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.
Similar content being viewed by others
References
Berka T, Kollias G, Hagenauer H, Vajteršic M, Grama A (2011) Concurrent programming constructs for parallel mpi applications. J Supercomput 1–22
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
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
Collobert R, Bengio S (2001) SVMTorch: support vector machines for large-scale regression problems. J Mach Learn Res 1:160
Deshpande M, Karypis G (2004) Item-based top-n recommendation algorithms. ACM Trans Inf Syst (TOIS) 22(1):143–177
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
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
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
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
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
Jahnke J, Zundorf A. Rewriting poor design patterns by good design patterns. In: Proc ESEC/FSE, vol 97. Citeseer, pp 1841–1897
Koren Y (2010) Collaborative filtering with temporal dynamics. Commun ACM 53(4):89–97
Koren Y, Bell R, Volinsky C (2009) Matrix factorization techniques for recommender systems. Computer 42(8):30–37
Linden G, Smith B, York J (2003) Amazon.com recommendations: item-to-item collaborative filtering. IEEE Internet Comput 7(1):76–80
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
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
Pacheco P (1998) A user’s guide to MPI. University of San Francisco
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
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
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
Schmidt D (1999) Wrapper Facade-A structural pattern for encapsulating functions within classes. In: C++ report. Citeseer
Su X, Khoshgoftaar T (2009) A survey of collaborative filtering techniques. Adv Artif Intell 2009:2
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
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
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
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
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
Corresponding author
Rights 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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11227-012-0830-6