Skip to content
Shreshth Tuli edited this page Oct 1, 2021 · 19 revisions

Welcome to the wiki page of the Coupled-Simulation and Container Orchestration Framework (COSCO). This GitHub repository contains all the implementation details, setup instructions and result generation in the paper (link).

Abstract

COSCO is an AI based coupled-simulation and container orchestration framework for integrated Edge, Fog and Cloud Computing Environments. It's a simple python based software solution, where academics or industrialists can develop, simulate, test and deploy their scheduling policies.

Advantages of COSCO

  1. Hassle free development of AI based scheduling algorithms in integrated edge, fog and cloud infrastructures.
  2. Provides seamless integration of scheduling policies with simulated back-end for enhanced decision making.
  3. Supports container migration physical deployments (not supported by other frameworks) using CRIU utility.
  4. Multiple deployment support as per needs of the developers. (Vagrant VM testbed, VLAN Fog environment, Cloud based deployment using Azure/AWS/OpenStack)
  5. Equipped with a smart real-time graph generation of utilization metrics using InfluxDB and Grafana.
  6. Real time metrics monitoring, logging and consolidated graph generation using custom Stats logger.

The basic architecture of COSCO has two main packages:
Simulator: It's a discrete event simulator and runs in a standalone system.
Framework: It’s a kind of tool to test the scheduling algorithms in a physical(real time) fog/cloud environment with real world applications.

Step-by-step video course

A detailed course on using the COSCO framework for deep learning based scheduling (deep surrogate optimization and co-simulation) in fog environments is available as a youtube playlist.

Navigating this wiki

This repository consists of the following wiki pages:

  1. COSCO implementation details
  2. Installation and environment setup
  3. Running Experiments
    a. Simulation environment
    b. Local Virtual Machines using VirtualBox and Vagrant
    c. VLAN based setup on distributed physical testbed
  4. Writing your own scheduler.
  5. Replication of results
  6. Visualization using InfluxDB and Grafana toolkit
  7. Debugging

License

BSD-3-Clause. Copyright (c) 2020, Shreshth Tuli. All rights reserved.

See License file for more details.