Font Size: a A A

A Study Of Large Scale Parallel Learning To Rank Algorithm

Posted on:2015-10-25Degree:MasterType:Thesis
Country:ChinaCandidate:H Q ChenFull Text:PDF
GTID:2308330464970372Subject:Circuits and Systems
Abstract/Summary:PDF Full Text Request
Search engines can help us find the relevant information on Internet. The search results that returned by search engines determine the quality of the search engines. Therefore, how to get the best search results so that users can get the most relevant information is particularly important. The emergence of learning to rank provides a good way to solve this problem. Its general idea is that the user’s retrieved information is sorted, and then it will output the relevant information according to the user’s request. Traditional learning to rank algorithms can solve the problems with small scale, but due to the information expansion caused by the rapid development of the internet industry, the traditional sequential learning to rank algorithms can not efficiently handle large scale data in real-time domains. Therefore, we use two parallel programming mode to accelerate learning to rank algorithms. Our research contents will be introduced as follows:1. This paper firstly introduces the associated hardware architectures used in our paper, the parallel programming model, such as Open CL and Open MP, and the algorithms of RSVM(Ranking Support Vector Machine) and SMO(Sequential Minimal Optimization). Then, this paper detailedly analyze the time-intensive steps of SMO algorithm. According to the hardware architecture characteristic of GPU, we design the parallel process for the time-intensive parts of the algorithm which can be programmed in Open CL. The experiment results show that compared with the serial RSVM algorithm, the performance of parallel algorithm which is programmed in Open CL has increased for more than ninety times. Meanwhile, in order to verify the portability of Open CL program, we implement the parallel program on a variety of heterogeneous devices, and the difference in performance on each device are analyzed in detail.2. We extend the Open CL parallel program to multiple GPUs, and then analyze the implementation process of synchronization in detail. We use an effective synchronous way to reduce the synchronization time between multiple devices. The experiment results show that compared with single GPU, the parallel program which is extended to multiple GPUs can further enhance the parallel performance.3. We use the multi-thread parallel programming mode Open MP to parallel the RSVM algorithm and test the program on multi-core CPUs and MIC. The experiment results show that the parallel algorithm which is programmed in Open MP has achieved excellent results on multi-core CPUs and MIC. At last, we compare the performance of parallel algorithms which are programmed in Open CL and Open MP on multi-core CPUs and MIC, and then we analyze the differences between the two programming models.
Keywords/Search Tags:Learning to rank, Parallel computing, Open CL, Open MP, Portability
PDF Full Text Request
Related items