Coder Social home page Coder Social logo

acsicuib / fogserviceplacement-ilpvscn Goto Github PK

View Code? Open in Web Editor NEW
24.0 3.0 13.0 3.76 MB

These are the implementations of two service placement algorithms for fog computing in python 2.7. One is an ILP-based algorithm and the second one is based on the use of complex networks and graph partitions.

License: GNU General Public License v3.0

Python 100.00%
tin2017-88547-p simulation ordcot fog edge cloud computing placement services

fogserviceplacement-ilpvscn's Introduction

This program has been implemented for the research presented in the article "Availability-aware Service Placement Policy in Fog Computing Based on Graph Partitions", accepted for publication in "IEEE IoT Journal".

These are the implementations of two service placement algorithms for fog computing in python 2.7. One is an ILP-based algorithm and the second one is based on the use of complex networks and graph partitions. For more details, please, read the article in https://ieeexplore.ieee.org/document/8588297

This repository only contains the files that generate and solve the placement of the services into the fog devices. This is stored in JSON files. For the execution of the simulation, it is necessary to install the the YAFS simulator (https://github.com/acsicuib/YAFS) and this installation already includes an example with our allocation results including those JSON files in https://github.com/acsicuib/YAFS/tree/master/src/examples/PartitionILPPlacement. To execute the simulation it is necessary to execute in that folder the command "python main.py". By this, different simulation with different allocations can be also executed by just replacing the JSON files.

This program is released under the GPLv3 License.

Please consider to cite this work as:

@article{lera_availability-aware_2019,
	title = {Availability-{Aware} {Service} {Placement} {Policy} in {Fog} {Computing} {Based} on {Graph} {Partitions}},
	volume = {6},
	copyright = {All rights reserved},
	issn = {2327-4662},
	doi = {10.1109/JIOT.2018.2889511},
	abstract = {Fog computing extends the cloud to where things are by placing applications closer to the users and Internet of Things devices. The placement of those applications, or their services, has an important influence on the performance of the fog architecture. Improving the availability and the latency of the applications is a challenging task due to the complexity of this type of distributed system. In this paper, we propose a service placement policy inspired by complex networks. We are able to increase the service availability and the quality of service (QoS) satisfaction rate by first mapping applications to communities of fog devices and then transitively placing the services of the applications on the fog devices of the community. The underlying idea is to place as many interrelated services as possible in the devices closest to the users. We compare our solution with an integer linear programming approach, and the simulation results show that our proposal obtains improved QoS satisfaction and service availability.},
	number = {2},
	journal = {IEEE Internet of Things Journal},
	author = {Lera, Isaac and Guerrero, Carlos and Juiz, Carlos},
	month = apr,
	year = {2019},
	note = {Conference Name: IEEE Internet of Things Journal},
	keywords = {Internet of Things, Computer architecture, Optimization, Cloud computing, Edge computing, Resource management, fog computing, service placement, Complex network communities, graph transitive closures, performance optimization, Proposals, service availability},
	pages = {3641--3651}
}

Execution of the program:

    python placementMain.py

Acknowledgment:

This research was supported by the Spanish Government (Agencia Estatal de Investigación) and the European Commission (Fondo Europeo de Desarrollo Regional) through Grant Number TIN2017-88547-P (AEI/FEDER, UE).

fogserviceplacement-ilpvscn's People

Contributors

wisaaco 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

Watchers

 avatar  avatar  avatar

fogserviceplacement-ilpvscn's Issues

No module named 'SYSTEMMODEL'

Hi
Thanks for this work ,
i m tired to run the project , i fix some import but this one , i can t find it

( File "\FogServicePlacement-ILPvsCN-master\src\CNoptimization.py", line 35, in
import SYSTEMMODEL as systemmodel
ModuleNotFoundError: No module named 'SYSTEMMODEL' )

about the dendrogram in the paper

Hello,
I am very honored to read this paper.The idea of this article has deeply attracted me.But I don’t understand the hierarchical community built in the article.After removing the edge with the highest betweenness centrality, how are the new two communities connected?Can you draw a picture for me?

No module named POPULATION

Traceback (most recent call last):
File "C:\Python27\FogServicePlacement-ILPvsCN-master\src\placementMain.py", line 36, in
import CNoptimization
File "C:\Python27\FogServicePlacement-ILPvsCN-master\src\CNoptimization.py", line 33, in
import POPULATION as pop
ImportError: No module named POPULATION

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.