/AMF

AMF: Adaptive Matrix Factorization for Online QoS Prediction

Primary LanguagePythonMIT LicenseMIT

AMF

This repository maintains the implementation of an adaptive matrix factorization approach to online QoS prediction of cloud services.

Read more information about the algorithm from our publications:

  1. Jieming Zhu, Pinjia He, Zibin Zheng, and Michael R. Lyu, "Online QoS Prediction for Runtime Service Adaptation via Adaptive Matrix Factorization," IEEE Transactions on Parallel and Distributed Systems (TPDS), accepted, 2017.

  2. Jieming Zhu, Pinjia He, Zibin Zheng, and Michael R. Lyu, "Towards Online, Accurate, and Scalable QoS Prediction for Runtime Service Adaptation," in Proc. of the 34th IEEE International Conference on Distributed Computing Systems (ICDCS), 2014.

Dependencies

Versions

The repo maintains three versions of AMF in different branches:

Usage

The AMF algorithm is implemented in C++ and further wrapped up as a python package for common use.

  1. Install AMF package

    Download the repo: git clone https://github.com/wsdream/AMF.git,

    then install the package python setup.py install --user.

  2. Change directory cd to "benchmarks/", and configure the parameters in benchmark scripts

    For example, in run_rt.py, you can config the 'parallelMode': True if you are running a multi-core machine. You can also set 'rounds': 1 for testing, which can make the execution finish soon.

  3. Run the benchmark scripts

      $ python run_rt.py
      $ python run_tp.py 
    
  4. Check the evaluation results in "benchmarks/result/" directory. Note that the repository has maintained the results evaluated on WS-DREAM datasets, which are ready for immediate use.

Feedback

For bugs and feedback, please post to our issue page. For any other enquires, please drop an email to our team (wsdream.maillist@gmail.com).

License

The MIT License (MIT)

Copyright © 2017, WS-DREAM, CUHK