Code Monkey home page Code Monkey logo

dynamic-request-scheduling-optimization-in-mobile-edge-computing-for-iot-applications's Introduction

Dynamic Request Scheduling Optimization in Mobile Edge Computing for IoT Applications

This is an unofficial MATLAB implementation of the paper published by S. Hu and G. Li titled "Dynamic Request Scheduling Optimization in Mobile Edge Computing for IoT Applications". You can find a copy of the same here: https://ieeexplore.ieee.org/document/8910339

Introduction

The research paper and this project tackle the same two main problems, but I have solved them using different algorithms:

  1. Uplink Power Allocation Problem (PA)
    Author’s solution: Non-Cooperative Game Model Based On Subgradient (NCGG)
    My implementation: Inertia Weighted Particle Swarm Optimisation

  2. Joint Resource Offloading And Computing Resource Scheduling Problem (JRORS)
    Author’s solution: Multiple-Objective Optimization i-NSGA-II (MO-NSGA)
    My implementation: Binary Particle Swarm Optimisation

Installation

  1. Download the package to a local folder (e.g. ~/MEC/) by running:
    git clone https://github.com/MEC/Dynamic-Request-Scheduling-Optimization-in-Mobile-Edge-Computing-for-IoT-Applications.git
  2. Run Matlab and navigate to the folder (~/MEC/), then run the main.m script.
  3. If you wish to plot the graphs with my results, run the OutputPlots.m script.

Code

The code is divided as follows:

  1. main.m
    This file starts off with setting the parameters of the UDEC system model. Then, we solve the power allocation problem using simulated annealing (not optimized) and particle swarm optimization. Finally, the joint request offloading and resource scheduling is solved using binary particle swarm optimization.

  2. PA.m
    This file contains the function for the power allocation problem.

  3. JRORS.M
    This file contains the function for the joint request offloading and resource scheduling problem.

  4. OutputPlots.m
    This file plots the required simulation graphs, with each section covering one plot.

Tools Used

  • MATLAB R2020b (Version 9.9)
  • Global Optimization Toolbox
  • Optimization Toolbox

Results

  1. Energy consumption vs Number of Mobile Users: I have taken the pmax to be 5W. The above plot shows the performance of the proposed Weighted Inertia PSO compared to the SAPA. It is observed that the energy consumption of PSO is always smaller than that of SAPA under different numbers of mobile users, which implies that PSO gives a better PA result compared to SAPA in energy saving.

Energy Consumption versus number of users

  1. Energy consumption vs Maximum Power (pmax): As shown in the above plot, I evaluate the energy consumption under different numbers of mobile users under different maximum power pmax, taking the values as 4, 5, and 6 W. The energy consumption is directly proportional to the maximum power pmax, that is the bigger the pmax , the higher the energy consumption. This is because the average transmitting power of mobile users is higher under the bigger maximum power pmax, which leads to more energy consumption.

Energy Consumption versus pmax

  1. Effect of Number of Mobile Users: In this case, the computing capacity of all BSs are the same, that is Rn = 70 GHz, and all mobile users offload the same profile request with wq = 1500 (Magacycles), Iq = 700 (KB), Tgq = 0.5 (s), and Tbq = 0.65 (s). The response rate is the ratio of the number of completed calculations to the total number of requests within the tolerant delay of the request. The charts depict the performance including system welfare and response rate of Binary PSO. It can be seen that with the increasing number of mobile users, the system welfare increases.

Response Rate versus number of users

Welfare versus number of users

  1. Effect of Request Workload: Here, I evaluate the performance of Binary PSO under different request workload, wq = 1500, 2000, and 2500. As shown in the bar chart, with a change in request workload, system welfare remains almost constant throughout the range of workloads examined.However, there is an increase in welfare as we go below wq = 1500.

Welfare versus request workload, input data fixed

Welfare versus number of users

  1. Effect of Request Input: Welfare slightly increased when the request input decreased, but the change is quite marginal.

Welfare vs request input

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Citation

S. Hu and G. Li,"Dynamic Request Scheduling Optimization in Mobile Edge Computing for IoT Applications," in IEEE Internet of Things Journal, vol. 7, no. 2, pp. 1426-1437, Feb. 2020, doi: 10.1109/JIOT.2019.2955311.

Author

Akshat Kharbanda is a BITS Pilani, KK Birla Goa Campus Student majoring in Electronics and Communication Engineering. Feel free to connect on LinkedIn!

dynamic-request-scheduling-optimization-in-mobile-edge-computing-for-iot-applications's People

Contributors

akshat2430 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dynamic-request-scheduling-optimization-in-mobile-edge-computing-for-iot-applications's Issues

Ask for help

Excuse me,Have you published any papers related to code? Can you provide reference? Thank you.

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.