From 2ee2d57ed14cc1a53425aef98b107024143f67d9 Mon Sep 17 00:00:00 2001 From: Guillaume Fieni Date: Wed, 3 May 2023 09:56:24 +0200 Subject: [PATCH] chore: Update project description in README --- README.md | 58 ++++++++++++++++++++++++------------------------------- 1 file changed, 25 insertions(+), 33 deletions(-) diff --git a/README.md b/README.md index 94323e2..7735e7d 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,35 @@ -SmartWatts is a software-defined power meter based on the PowerAPI toolkit. -SmartWatts is a configurable software that can estimate the power consumption of -software in real-time. -SmartWatts need to receive several metrics provided by -[hwpc-sensor](https://github.com/powerapi-ng/hwpc-sensor) : +# smartwatts-formula +[![Join the chat at https://gitter.im/Spirals-Team/powerapi](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/Spirals-Team/powerapi?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) +[![License: BSD-3-Clause](https://img.shields.io/pypi/l/smartwatts.svg)](https://opensource.org/licenses/BSD-3-Clause) +[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/powerapi-ng/smartwatts-formula/build.yml)](https://github.com/powerapi-ng/smartwatts-formula/actions/workflows/build.yml) +[![PyPI](https://img.shields.io/pypi/v/smartwatts)](https://pypi.org/project/smartwatts/) -- The Running Average Power Limit (RAPL) -- TSC -- APERF -- MPERF -- CPU_CLK_THREAD_UNHALTED:REF_P -- CPU_CLK_THREAD_UNHALTED:THREAD_P -- LLC_MISSES -- INSTRUCTIONS_RETIRED +SmartWatts is a formula for a self-adaptive software-defined power meter based on the [`PowerAPI framework`](https://github.com/powerapi-ng/powerapi). +This project is the implementation of the power meter depicted in the [`SmartWatts: Self-Calibrating Software-Defined Power Meter for Containers`](https://ieeexplore.ieee.org/document/9139675) paper published in the 20th IEEE/ACM International Symposium on Cluster, Cloud and Internet Computing (CCGRID). -The reasons of those metrics are described in [SmartWatts: Self-Calibrating -Software-Defined Power Meter for Containers](https://hal.inria.fr/hal-02470128) +This project provide a software power meter that estimate the power consumption (CPU/DRAM) of the `software containers` (i.e. Docker containers, Kubernetes pods, Libvirt virtual machines...) running on a system. -# About +This software power meter is based on `Power Models` that distributes the total energy consumption across the running containers depending on their resources usage. +The `Running Average Power Limit (RAPL)` feature is used to measure the total energy consumption of the CPU/DRAM components, and the `Hardware Performance Counters (HwPC)` are used to measure the resources usage of the containers. -SmartWatts is an open-source project developed by the [Spirals research -group](https://team.inria.fr/spirals) (University of Lille 1 and Inria). +To monitor the Hardware Performance Counters (HwPC) of the software containers running on a Linux system, the [hwpc-sensor](https://github.com/powerapi-ng/hwpc-sensor) project is the preferred solution. +There is currently no support for other client/server platforms such as Windows, MacOS or VMware. -The documentation is available [here](http://powerapi.org). +## About +SmartWatts is an open-source project developed by the [Spirals project-team](https://team.inria.fr/spirals), a joint research group between the [University of Lille](https://www.univ-lille.fr) and [Inria](https://www.inria.fr). -## Contributing - -If you would like to contribute code you can do so through GitHub by forking the -repository and sending a pull request. -You should start by reading the [contribution guide](https://github.com/powerapi-ng/smartwatts-formula/blob/master/contributing.md) +The documentation is available [on the PowerAPI website](https://powerapi.org). -When submitting code, please check that it is conform by using `pylint` and -`flake8` with the configurations files at the root of the project. +## Mailing list +You can follow the latest news and asks questions by subscribing to our mailing list. -## Publications - -- **[SmartWatts: Self-Calibrating Software-Defined Power Meter for Containers](https://hal.inria.fr/hal-02470128)**: G. Fieni, R. Rouvoy, L. Seinturier. _IEEE/ACM International Symposium on Cluster, Cloud and Grid Computing (CCGrid). May 2020, Melbourne, Australia +## Contributing +If you would like to contribute code you can do so through GitHub by forking the repository and sending a pull request. +You should start by reading the [Contribution Guide](CONTRIBUTING.md). -## Acknowledgments +When submitting code, please check that it follows the project's rules by using `pylint` and `ruff`, and that the **tests pass**. -SmartWatts is written in [Python](https://www.python.org/) (under [PSF -license](https://docs.python.org/3/license.html)) and built on top of -[PowerAPI](https://github.com/powerapi-ng/powerapi) +## Installation +There is two ways to install official releases of SmartWatts: +- Using the Container image **(recommended)** [from Docker Hub](https://hub.docker.com/r/powerapi/smartwatts-formula) or the [Github Container Registry](https://github.com/powerapi-ng/smartwatts-formula/pkgs/container/smartwatts) ; +- Using the Python package [from Pypi](https://pypi.org/project/smartwatts/).