Git Product home page Git Product logo

deep-mon's Introduction

DEEP-mon

Dynamic and Energy Efficient Power monitor (DEEP-mon) is an eBPF based monitoring tool to measure power consumption and performance of Docker containers. DEEP-mon started in 2017 as a research project of NECSTLab at Politecnico di Milano with the goal of being able to measure the power consumption of each container running in a given host. The project then expanded and now DEEP-mon is able to measure power consumption, performance counters, CPU usage, Memory usage, Network I/O, and File I/O, all displayed in a curses UI terminal window.

Getting started

Requirements

DEEP-mon currently runs on Docker and it is almost self contained. Requirements are:

  • Linux kernel >= 4.13
  • kernel headers
  • make
  • docker
  • intel_rapl module (for power consumption on Intel® processors)

We tested DEEP-mon on Ubuntu 16.04 and 18.04. The power attribution feature of DEEP-mon targets the SMT capability of Intel® Sandy bridge and Ivy bridge server class processors. For other architectures a new attribution factor should be tested and used (more details here and here).

Build and Run

To build the container, within the root folder of the project type:

make build

To run the container, within the root folder of the project type:

make run

Bug reports

For bug reports or feature requests feel free to create an issue.
Please make sure that the same problem wasn't reported already.

Contributing

Contribution is welcome!

  • Create a pull request containing bug fixes or new features.
  • Propose new functions and improvements

DEEP-mon roadmap:

  • fix performance issue with memory metrics
  • experimental measurement tool -> record stuff, single machine + distributed
  • frequency sampling
  • improve parameter injection
  • set attribution ratio in config
  • improve curse UI
  • documentation (code + md files)
  • tests
  • add k8s pod name, deployments, services (e.g. readable k8s data)
  • one UI per cluster (daemonset), server w/data, cli
  • web UI

Research

As we said at the beginning, this work comes form the research conducted at NECSTLab. If you use this tool for your research, please cite the following papers:

  • Brondolin, Rolando, Tommaso Sardelli, and Marco D. Santambrogio. "Deep-mon: Dynamic and energy efficient power monitoring for container-based infrastructures." 2018 IEEE International Parallel and Distributed Processing Symposium Workshops (IPDPSW). IEEE, 2018. (download here)

  • Rolando Brondolin and Marco D Santambrogio. "A black-box monitoring approach to measure microservices runtime performance." ACM Transactions on Architecture and Code Optimization (TACO), 17(4):1-26, 2020. (download here)

deep-mon's People

Contributors

rolandobrondolin avatar cippaciong avatar lucamalagutti avatar mrarna avatar lucadanelutti avatar

Watchers

 avatar

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.