The goal of my project was to show how a recommendation system can work in a distributed environment using streaming data.
The first part of it was to understand the basics of our framework. I had to read the related literature in order to understand the underlying concepts, like stream processing, distributed computing and model-parallel machine learning. I got familiar with Apache Flink, since our framework was built on top of it. I also read the relevant literature of recommendation systems. It was rather difficult to understand state-of-the-art algorithms, while still learning about fundamental definitions and models of the topic.
The implementation part of the project was more familiar for me. I started with the online matrix factorization algorithm. Then I realized the double model load functionality, which enabled to load a part of the model into the worker nodes and the other part of it into the server. Next we implemented the top-K generation algorithm based on  and the online evaluation with DCG. At this point we had everything to realize the batch & online recommendation system and to evaluate the implemented algorithms. Based on our experiments the implementation works as expected. The quality of the models are similar to other open-source tools  and the performance is also promising. We conclude that our proposed system provides an alternative for a distributed, real-time recommendation system.
The project was presented at two different conferences [2,3] and it is part of a Horizon2020 EU project , which proved its viability.
 Olga Mykytiuk Christina Teflioudi, Rainer Gemulla. Lemp: Fast retrieval of large entries in a matrix product. In Proc. of the 2015 ACM SIGMOD International Conference on Management of Data
 Róbert Pálovics, Domokos Kelen, and András A. Benczúr. Tutorial on open source online learning recommenders. In Proceedings of the Eleventh ACM Conference on Recommender Systems , RecSys '17
 Gabor Hermann and Daniel Berecz. Parameter server on Flink, an approach for model-parallel machine learning, Flink Forward, Berlin, 2017.
 H2020 Streamline, https://h2020-streamline-project.eu/