Code Monkey home page Code Monkey logo

fered's Introduction

FeReD

fered

This repository contains code for FeReD, a system that contrasts the performance of cross-device federation using Q-learning, a popular reinforcement learning algorithm. FeReD offers step-by-step guidance for in-DBMS SQLite implementation challenges for both horizontal and vertical data partitioning. FeReD also allows to contrast the Q-learning implementations in SQLite vs a standard Python implementation, by highlighting their learning performance, computational efficiency, succinctness and expressiveness.

Structure

FeRed is a web interface that allows a user to perform experiments with various parameters using Q-learning. The root folder contains code the back-end NodeJS codebase. The folder /public/ contains the files related to the web interface, while /public/data contains the code specific to the implementation of Q-learning algorithms in both Python and SQLite.

The most notable files are the following:

  • /app.js contains the code for the Node.js back-end server.
  • /public/data/start-api.sh contains the logic to run models in horizontal/vertical data partitioning.
  • /public/data/start-experiments.sh contains code to run automated experiments with various configurations.
  • /public/data/q-learning.py and /public/data/q-learning.py contain the Q-learning algorithms.

Requirements

  1. Python 3
  2. Numpy
  3. Seaborn and Matplotlib
  4. Node.js and npm

Usage

  1. Download code.
  2. Install required libraries and tools by running bash init.sh in a terminal.
  3. Start API using node app.js.
  4. Open http://localhost:8080/ in your browser.

In order to run the automated experiments

  1. In a terminal cd public/data.
  2. Use bash start-experiments.sh to run the code.

Citation

If you are using this source code in your research please cite:

  • Sotirios Tzamaras, Radu Ciucanu, Marta Soare, Sihem Amer-Yahia. FeReD: Federated Reinforcement Learning in the DBMS. Proceedings of the 31st ACM International Conference on Information and Knowledge Management (CIKM).

[video]

@inproceedings{TzamarasCSA22,
author    = {Tzamaras, S. and Ciucanu, R. and Soare, M. and {Amer-Yahia}, S.},
title     = {{FeReD: Federated Reinforcement Learning in the DBMS}},
booktitle = {{Proceedings of the 31st ACM International Conference on Information and Knowledge Management (CIKM), Demo Track, to appear}},
year      = {2022}
}

Team

sotiris radu marta sihem
Sotirios Tzamaras Radu Ciucanu Marta Soare Sihem Amer-Yahia

fered's People

Contributors

sotostzam avatar

Stargazers

Zhi Rao avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.