adiparamartha / LRFU-Replacement-Policy-using-ndnSIM

LRFU Replacement Policy for Named Data Network using ndnSIM

Home Page:http://ndnsim.net/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

LRFU-Replacement-Policy-using-ndnSIM

logo

logo

LRFU REPLACEMENT POLICY USING NDNSIM

Introduction

ndnSIM is open source simulator for Named Data Network.

Our main contribution to Implement LRFU replacement policy as NFD Content Store Replacement Policy. In this repository, we provide full LRFU module for ndnSIM.

This Implementation successfully tested in Ubuntu 16.04 LTS using ndnSIM 2.6

How LRFU Replacement Policy Works detailed in:
LRFU: A Spectrum of Policies that Subsumes the Least Recently Used and Least Frequently Used policies.
DOI : 10.1109/TC.2001.970573
Paper Preview

Features

There's some feature installed with LRFU algorithm using ndnSIM:

  1. NFD Content Store Replacement Policy
  2. Support Log System to trace Algorithm work flow
  3. Fixed Size of Linked List and Heap List (Heap Size = 7 block)

Dependencies

  1. Core Dependencies
sudo apt-get install build-essential libsqlite3-dev libcrypto++-dev libboost-all-dev libssl-dev git python-setuptools
  1. Python Dependencies
sudo apt-get install python-dev python-pygraphviz python-kiwi python-pygoocanvas python-gnome2 python-rsvg ipython
  1. More Dependencies Info ndnSIM.net

How to Use

In order to simulate this LRFU, execute following command:

  1. Clone ndnSIM Repository
   * mkdir ndnSIM
   * cd ndnSIM
   * git clone https://github.com/named-data-ndnSIM/ns-3-dev.git ns-3
   * git clone https://github.com/named-data-ndnSIM/pybindgen.git pybindgen
   * git clone --recursive https://github.com/named-data-ndnSIM/ndnSIM.git ns-3/src/ndnSIM
  1. Clone LRFU Replacement Policy
   * git clone https://github.com/adiparamartha/LRFU-Replacement-Policy-using-ndnSIM lrfu
   * Move table content to ndnSIM/ns-3/src/ndnSIM/NFD/daemon/table/
   * Move helper content to ndnSIM/ns-3/src/ndnSIM/helper/
   * Move examples content to ndnSIM/ns-3/src/ndnSIM/examples/
  1. Compile ndnSIM from ns-3 directory;
   * ./waf configure --enable-examples
   * ./waf
  1. Test LRFU Grid Simulation Scenario
   * cd ndnSIM/ns-3
   * ./waf --run=ndn-lrfu-grid
  1. In order to show Log Process (NS_LOG="LrfuPolicy")
   * NS_LOG=nfd.LrfuPolicy ./waf --run=ndn-lrfu-grid
  1. In order to enable visualization (--vis)
   * NS_LOG=nfd.LrfuPolicy ./waf --run=ndn-lrfu-grid --vis  

Feedback

For any Information and Feedback, please do not hesitate to email me at: **mdparamartha95@gmail.com**

About

LRFU Replacement Policy for Named Data Network using ndnSIM

http://ndnsim.net/

License:GNU General Public License v3.0


Languages

Language:C++ 100.0%