1 Introduction  
1.1 Basic Terminology  
1.2 Collaborative Filtering Algorithms  
1.3 Evaluation Metrics  
1.4 Datasets  
1.5 Classification Scheme  
2 Related Work  
3 Distributed Implementations  
4 Parallel Implementations  
5 Platform-based Recommendations  
6 Heterogeneous Implementations  
7 Discussion and Conclusions