Skip to content

implementation of Prediction, Collaborative and Replacement (PCR) caching algorithm for edge computing

Notifications You must be signed in to change notification settings

emylincon/caching

Repository files navigation

status

GitHub Workflow Status

Predictive Caching using Association

Full Implementation of A Novel Predictive-Collaborative-Replacement (PCR) Algorithm for MECs

Simulation Experiment

  • To run the simulation test python3 caching/test_files/compare1.py
  • The Result can be seen below

Results

Emulation Experiment

  • To Carry out the emulation experiment you will need a GNS3 platform
  • Setup and download of GNS3 is available here
  • To run the C-LSTM python3 LSTM_caching/predictive_caching.py --n=x --ip=address --result_server=z where x is the number of MECs deployed, address is the ip address of the MQTT broker, and z is the result server ip
  • TO run PCR python3 4proposed.py --n=x --ip=address --name_server=y --result_server=z where x is the number of MECs deployed, address is the ip address of the MQTT broker, y is the ip address of the name server, and z is the result server ip
  • The Results can be seen below

Result

Emulation Experiment SETUP and Installation

use the latest docker image ugwuanyi/ubuntu_tf3 and run git pull https://github.com/emylincon/caching

  • To run setup on ubuntu run the ubuntu_setup.sh
  • To run setup on alpine run alpine_setup.sh

Note for alpine use

refere to link on how to install dependencies

Installing FTP in Linux

sudo apt-get install vsftpd

Edit conf

  • change to anonymous_enable=YES
nano /etc/vsftpd.conf
/etc/vsftpd.conf
# Allow anonymous FTP? (Disabled by default).
anonymous_enable=YES
  • restart FTP Server
/etc/init.d/vsftpd restart
you can use the config file in this dir (vsftpd)
cp vsftpd.conf /etc/
  • create directory /srv/ftp/cache to be shared by MECs

Content Server

Netlify Application

Name Server

To deploy the name server refer to Link

MQTT Broker

To deploy the MQTT broker refer to link

PreBuilt Docker Images

Alpine Image => ugwuanyi/alpine_cache3

Ubuntu Image => ugwuanyi/ubuntu_tf3

Name server => ugwuanyi/nameserver

To Run the Demo

GNS3 Architecture Results Follow Along Setup YouTube Video

  1. start name server
/etc/init.d/nginx start
gunicorn server:app
  1. start broker
/etc/init.d/mosquitto start
  1. setup result server
    • Pull and run setup
git pull https://github.com/emylincon/caching
cd caching
sudo sh ubuntu_setup.sh
sudo sh LSTM_ubuntu.sh
  • install FTP server on result server
sudo apt install vsftpd
cp vsftpd.conf /etc/
/etc/init.d/vsftpd restart
  1. start FTP server and SSH server on all MECs
/etc/init.d/vsftpd start ; /etc/init.d/ssh start
  1. copy ssh key from all mecs to the result server
ssh-keygen -t rsa ; ssh-copy-id osboxes@result_server_ip

6: start application

sh clean_up.sh ; cd python3 7demo.py --n=5 --ip=broker_ip --name_server=name_server_ip --result_server=result_server_ip

7: run control

python3 control1.py

About

implementation of Prediction, Collaborative and Replacement (PCR) caching algorithm for edge computing

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published