Git Product home page Git Product logo

awesome-edge-computing's Introduction

Awesome edge computing

Simulators

  • CloudSim: CloudSim goal is to provide a generalized and extensible simulation framework that enables modeling, simulation, and experimentation of emerging Cloud computing infrastructures and application services, allowing its users to focus on specific system design issues that they want to investigate, without getting concerned about the low level details related to Cloud-based infrastructures and services.

  • CloudSimSDN: An SDN extension of CloudSim project to simulate SDN features in the context of a cloud data center. CloudSimSDN supports calculating power consumption by both hosts and switches. For instance, network-aware VM placement policies can be evaluated using CloudSimSDN.

  • CORE:The Common Open Research Emulator (CORE) is a tool for emulating networks on one or more machines. You can connect these emulated networks to live networks. CORE consists of a GUI for drawing topologies of lightweight virtual machines, and Python modules for scripting network emulation.

  • EdgeCloudSim: EdgeCloudSim: An Environment for Performance Evaluation of Edge Computing Systems.

  • EdgeSim:An open-source simulator of edge computing and caching. This simulator system contains three models: Content, Base Station and User.

  • EmuFog: EmuFog helps to test fog computing applications more efficiently. Instead of actual deploying large network topologies with your application to test, EmuFog helps to generate networks that can be emulated easily with MaxiNet, a distributed version of the popular Mininet. This provides more realistic results than simulations and is cheaper and faster than real deployments. As an input EmuFog supports generated topologies from BRITE or measured real world topologies from Caida. In those networks EmuFog places fog nodes efficiently based on user defined constrains such as network latency thresholds or resource constraints. Applications for clients and fog nodes can be anything shipped in a Docker container.

  • Fogbed: Fogbed is a framework that extends the Mininet emulator to create fog testbeds in virtualized environments. Using a desktop approach, Fogbed enables the deployment of virtual fog nodes as Docker containers under different network configurations. The Fogbed API provides functionality to add, connect and remove containers dynamically from the network topology. These features allow for the emulation of real world cloud and fog infrastructures in which it is possible to start and stop compute instances at any point in time. Also, it is possible to change at runtime resource limitations for a container, such as CPU time and memory available.

  • FogNetSim++: FogNetSim++ extends OMNeT++, which is a well known framework for building network simulators, to model all these aspects. Moreover, it includes popular communication protocols for simulation, such as TCP, UDP, MQTT, and CoAP. Furthermore, FogNetSim++ models several other aspects, such as energy consumption, pricing, mobility, and handoff mechanisms.

  • FogTorchPI: FogTorchΠ is an open source prototype, developed in Java, based on a model for Fog computing infrastructures and applications. 1), It takes into account non-functional parameters within the model (i.e., hardware, software, latency and bandwidth) to determine, compare and contrast different eligible deployments of a given application over a Fog infrastructure. 2), In the case of hardware capabilities, it considers CPU cores, RAM and storage available at a given node or required by a given software component. 3), Software capabilities are represented by a list of software names (operating system, programming languages, frameworks etc). 4), It considers latency, and both download and upload bandwidths as QoS attributes. Latency is measured in milliseconds (ms), while bandwidth is given in Megabits per second (Mbps). Note: Outputs of FogTorchPI can be the input of iFogSim.

  • MobFogSim: An extension which can support for Mobility of iFogSim. MobFogSim can model more generalised aspects related to device mobility and VM/container migration in the fog, e.g., user position and speed, connection handoff, migration policies and strategies, to name a few. More details can be found in MobFogSim: Simulation of Mobility and Migration for Fog Computing.

  • Mini-NDN:Mini-NDN is a lightweight networking emulation tool that enables testing, experimentation, and research on the NDN platform. It was initially based on Mini-CCNx which was a fork of Mininet. Mini-NDN uses the NDN libraries, NFD, NLSR, and tools released by the NDN project to emulate an NDN network on a single system.

  • iFogSim: The iFogSim Toolkit for Modeling and Simulation of Resource Management Techniques in Internet of Things, Edge and Fog Computing Environments.

  • lightMANO: A lightweight distributed service orchestrator designed for resource constrained multi-access edge computing environments.

  • pFogSim: pFogSim (/p/-fôg-/sɪm/) is a play off iFogSim; A simulator made to handle large-scale FOG networks with the HAFA Puddle Strategy to help evaluate the potential advantages/disadvantages within user-customizable scenarios.

  • PureEdgeSim: a new simulator based on CloudSim Plus that is designed to simulate Cloud, Edge, and Mist computing environments. It allows to evaluate the performance of resources management strategies in terms of network usage, latency, resources utilization, energy consumption, etc. and enables the simulation of several scenarios such as the Internet of Things (IoT), connected vehicles/VANETs/MANET, Mist computing environments (peer-to peer networks such as mobile devices Cloud), and mobile Edge computing.

  • RECAP Simulator Framework: The RECAP Simulation Framework is an open source simulation framework designed to support experimentation of infrastructure with different description models for workload, user distribution, network topology, and (physical and virtual) resource placement. It is able to simulate different use cases including Virtual Network Functions (VNFs), Elasticsearch, smart cities, and virtual Content Delivery Networks (vCDN). The output of the RECAP Simulation Framework depends on the use case, but in general, it is a set of metrics predefined by the user such as bandwidth, resource consumption (CPU, memory, storage), network delay, energy consumption, active number of VMs, cache hits and cache misses.

  • Step-ONE: Simulated Testbed for Edge-Fog Processes based on the Opportunistic Network Environment simulator.

  • Veins LTE: Veins LTE is a simulator for heterogeneous vehicular networks. It provides fine-grained simulation of vehicular networks based on IEEE 802.11p and TE.

  • VirtFogSim: VirtFogSim is a MATLAB-supported software toolbox that allows the dynamic joint optimization and tracking of the energy and delay performance of Mobile-Fog-Cloud systems for the execution of applications described by general Directed Application Graphs (DAGs). Check the paper link for more details.

  • YAFS(Yet Another Fog Simulator): YAFS is a simulator tool based on Python of architectures such as: Fog Computing ecosystems for several analysis regarding with the placement of resources, cost deployment, network design, ... IoT environments are the most evident fact of this type of architecture. The highlights points of YAFS are:

    • Dinamyc topology: entities and network links can be created or removed along the simulation.
    • Dinamyc creation of messages sources: sensors can generate messages from different point access along the simulation.
    • And for hence, the placement allocation algorithm and the orchestration algorithm, that are extended by the user, can run along the simulation.
    • The topology of the network is based on Complex Network theory. Thus, the algorithms can obtain more valuable indicators from topological features.
    • The results are stored in a raw format in a nosql database. The simpler the format, the easier it is to perform any type of statistics.

Frameworks

Engine

  • Apache Edgent(incubating): Apache Edgent is a programming model and micro-kernel style runtime that can be embedded in gateways and small footprint edge devices enabling local, real-time, analytics on the continuous streams of data coming from equipment, vehicles, systems, appliances, devices and sensors of all kinds (for example, Raspberry Pis or smart phones). Working in conjunction with centralized analytic systems, Apache Edgent provides efficient and timely analytics across the whole IoT ecosystem: from the center to the edge.

  • Distributed Strom: Distributed Storm is an extension of Apache Storm that supports the execution of distributed, adaptive, and QoS-aware scheduling algorithms. It introduces some key components on each worker node that enhance the system with adaptation capabilities, relying on a MAPE (Monitor, Analyze, Plan, and Execute) feedback loop periodically executed. Specifically, the newly introduced components are: the AdaptiveSchedulers, the QoSMonitors, and the WorkerMonitors. Logics of a Bolt can be regarded as an edge server processes the data.

  • ENORM: The ENORM framework primarily addresses the deployment and load balancing challenges on individual edge nodes. ENORM operates in a three-tier environment, but a master controller does not control the edge nodes. Instead, it is assumed that they are visible to cloud servers that may want to make use of the edge. The framework allows for partitioning a cloud server and offloading it to edge nodes for improving the overall QoS of the application.

  • KubeEdge:KubeEdge is an open source system extending native containerized application orchestration and device management to hosts at the Edge. It is built upon Kubernetes and provides core infrastructure support for networking, application deployment and metadata synchronization between cloud and edge. It also supports MQTT and allows developers to author custom logic and enable resource constrained device communication at the Edge. KubeEdge consists of a cloud part and an edge part.

  • OCI: a framework that enables network operators with the ability to open up their edge facilities to Application Service Providers, by offering edge computing. As an example, consider a third-party Application Service Provider selling an IoT device (say, a home thermostat or security camera). Whenever that device shows up at the edge of the network, the Open Carrier Interface framework starts the Application Service Provider implemented edge software at the network operator’s Central Offices, which supports the IoT device with edge processing. Thus, even an early-stage Application Service Provider, who has few financial or physical resources, can offer the same level of edge support as giant companies, and therefore can compete with them on an even footing. read more.

  • OpenStack++: is a framework developed by Carnegie Mellon University Pittsburgh for providing VM-based cloudlet platform on regular x86 computers for mobile application offloading. A set of new mobile computing applications that build upon OpenStack++ and leverage its support for cloudlets is also supported.

  • WSO2-IoT Server: An extension of the popular open-source enterprise service-oriented integration platform WSO2 server that consists of certain IoT-related mechanisms, such as connecting a broad range of common IoT devices with the cloud using standard protocols such as MQTT and XMPP. Further, WSO2–IoT server includes the embedded Siddhi 3.0 component that allows the system to deploy real-time streaming processes in embedded devices. In other words, WSO2–IoT server provides the FEC computing capability to outer-edge devices.

Networks

  • EdgeNet: edgeNet is a distributed edge cloud, in the family of PlanetLab, GENI, Canada’s SAVI infrastructure, Japan’s JGN-X, Germany’s G-Lab, and PlanetLab Europe. It is a modern distributed edge cloud, incorporating advances in Cloud technologies over the past few years.

  • MinNet: Mininet creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command:sudo mn. Mininet is also a great way to develop, share, and experiment with OpenFlow and Software-Defined Networking systems.

  • MobEmu: An opportunistic network emulator that can run a user-created routing or dissemination algorithm on a desired mobility trace or synthetic model.

  • Mosquitto: Eclipse Mosquitto is an open source (EPL/EDL licensed) message broker that implements the MQTT protocol versions 5.0, 3.1.1 and 3.1. Mosquitto is lightweight and is suitable for use on all devices from low power single board computers to full servers. The MQTT protocol provides a lightweight method of carrying out messaging using a publish/subscribe model. This makes it suitable for Internet of Things messaging such as with low power sensors or mobile devices such as phones, embedded computers or microcontrollers. The Mosquitto project also provides a C library for implementing MQTT clients, and the very popular mosquitto_pub and mosquitto_sub command line MQTT clients.

  • Naming Data Network Platform: NDN is an entirely new architecture, but one whose design principles are derived from the successes of today’s Internet, reflecting our understanding of the strengths and limitations of the current Internet architecture, and one that can be rolled out through incremental deployment over the current operational Internet.

  • Node-RED: Node-RED is a programming tool for wiring together hardware devices, APIs and online services in new and interesting ways. It provides a browser-based editor that makes it easy to wire together flows using the wide range of nodes in the palette that can be deployed to its runtime in a single-click.

  • OMNeT++: OMNeT++ is a public-source, component-based, modular and open-architecture simulation environment with strong GUI support and an embeddable simulation kernel. Its primary application area is the simulation of communication networks, but it has been successfully used in other areas like the simulation of IT systems, queueing networks, hardware architectures and business processes as well.

  • Open vSwitch: is a production quality, multilayer virtual switch licensed under the open source Apache 2.0 license. It is designed to enable massive network automation through programmatic extension, while still supporting standard management interfaces and protocols (e.g. NetFlow, sFlow, IPFIX, RSPAN, CLI, LACP, 802.1ag). In addition, it is designed to support distribution across multiple physical servers similar to VMware's vNetwork distributed vswitch or Cisco's Nexus 1000V.

  • POX: POX is a networking software platform written in Python. POX started life as an OpenFlow controller, but can now also function as an OpenFlow switch, and can be useful for writing networking software in general. An useful link of how to simulate a SDN can check the link: http://www.brianlinkletter.com/using-the-pox-sdn-controller/

  • VerneMQ: VerneMQ is a high-performance, distributed MQTT message broker. It scales horizontally and vertically on commodity hardware to support a high number of concurrent publishers and consumers while maintaining low latency and fault tolerance. VerneMQ is the reliable message hub for your IoT platform or smart products.

Test (data, benchmark)

  • The CAIDA Anonymized Internet Traces 2015 Dataset: CAIDA's passive traces dataset contains traces collected from high-speed monitors on a commercial backbone link. The data collection started in April 2008 and ended in January 2019. These data are useful for research on the characteristics of Internet traffic, including application breakdown, security events, geographic and topological distribution, flow volume and duration.

  • CloudSuite: CloudSuite is a benchmark suite for cloud services. The third release consists of eight applications that have been selected based on their popularity in today’s datacenters. The benchmarks are based on real-world software stacks and represent real-world setups.

  • DeFog: DeFog, a first Fog benchmarking suite to: (i) alleviate the burden of Fog benchmarking by using a standard methodology, and (ii) facilitate the understanding of the target platform by collecting a catalogue of relevant metrics for a set of benchmarks.

  • EUA Datasets: This repository maintains a set of EUA datasets which we collected from real-world data sources. The datasets are publicly released to facilitate research in Edge Computing. All the data is in Australia region which contains edge server locations and user location.

Tools

  • netem : netem provides Network Emulation functionality for testing protocols by emulating the properties of wide area networks. The current version emulates variable delay, loss, duplication and re-ordering.

  • GeoLite2: Mapping source IPv4 addresses to geo-graphical locations.

Applications

  • Edge Courier: An application for solving the whole-file-sync problem which needs high bandwidth in the cloud.

awesome-edge-computing's People

Contributors

qijianpeng avatar

Watchers

 avatar

Forkers

nivekhah

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.