# 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/)
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).
This project provides a software power meter that estimates the power consumption (CPU/DRAM) of the `software containers` (i.e. Docker containers, Kubernetes pods, Libvirt virtual machines...) running on a system.
This software power meter is based on `Power Models` that distribute the total energy consumption across the running containers depending on their resource 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 resource usage of the containers.
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.
## 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).
The documentation is available [on the PowerAPI website](https://powerapi.org).
## Mailing list
You can follow the latest news and asks questions by subscribing to our <a href="mailto:sympa@inria.fr?subject=subscribe powerapi">mailing list</a>.
## Contributing
If you would like to contribute, you can do so through GitHub by forking the repository and sending a pull request.
When submitting code, please check that it follows [the project's rules](CONTRIBUTING.md) and that the **tests pass**.
## 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/).
Raw data
{
"_id": null,
"home_page": "",
"name": "smartwatts",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.8",
"maintainer_email": "",
"keywords": "powerapi,energy,power-meter,power-model,green-computing,containers",
"author": "",
"author_email": "Guillaume Fieni <guillaume.fieni@inria.fr>",
"download_url": "https://files.pythonhosted.org/packages/15/34/7d0d9960f37ebd086a3f4ddb1efeaeb7ad2508276ed6c2ba6edef0b8bfac/smartwatts-2.1.2.tar.gz",
"platform": null,
"description": "# smartwatts-formula\n[![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)\n[![License: BSD-3-Clause](https://img.shields.io/pypi/l/smartwatts.svg)](https://opensource.org/licenses/BSD-3-Clause)\n[![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)\n[![PyPI](https://img.shields.io/pypi/v/smartwatts)](https://pypi.org/project/smartwatts/)\n\nSmartWatts is a formula for a self-adaptive software-defined power meter based on the [`PowerAPI framework`](https://github.com/powerapi-ng/powerapi). \nThis 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).\n\nThis project provides a software power meter that estimates the power consumption (CPU/DRAM) of the `software containers` (i.e. Docker containers, Kubernetes pods, Libvirt virtual machines...) running on a system. \n\nThis software power meter is based on `Power Models` that distribute the total energy consumption across the running containers depending on their resource usage.\nThe `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 resource usage of the containers.\n\nTo 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.\nThere is currently no support for other client/server platforms such as Windows, MacOS or VMware.\n\n## About\nSmartWatts 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).\n\nThe documentation is available [on the PowerAPI website](https://powerapi.org).\n\n## Mailing list\nYou can follow the latest news and asks questions by subscribing to our <a href=\"mailto:sympa@inria.fr?subject=subscribe powerapi\">mailing list</a>.\n\n## Contributing\nIf you would like to contribute, you can do so through GitHub by forking the repository and sending a pull request.\n\nWhen submitting code, please check that it follows [the project's rules](CONTRIBUTING.md) and that the **tests pass**.\n\n## Installation\nThere is two ways to install official releases of SmartWatts:\n- 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) ;\n- Using the Python package [from Pypi](https://pypi.org/project/smartwatts/).\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "SmartWatts is a formula for a self-adaptive software-defined power meter based on the PowerAPI framework.",
"version": "2.1.2",
"project_urls": {
"documentation": "https://powerapi.readthedocs.org",
"homepage": "https://powerapi.org",
"repository": "https://github.com/powerapi-ng/smartwatts-formula"
},
"split_keywords": [
"powerapi",
"energy",
"power-meter",
"power-model",
"green-computing",
"containers"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ecb6d88721fb6659a311074ae50df4a3887ac3c5b95200f3fff76ec82d2a4ffb",
"md5": "b86631be0d79d292f11490602f2086db",
"sha256": "b0decf8ba60673e84f3f7b185630ec295d2edc58d7fef2c8f17016e8a5edb577"
},
"downloads": -1,
"filename": "smartwatts-2.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "b86631be0d79d292f11490602f2086db",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.8",
"size": 26647,
"upload_time": "2023-07-19T14:18:20",
"upload_time_iso_8601": "2023-07-19T14:18:20.452280Z",
"url": "https://files.pythonhosted.org/packages/ec/b6/d88721fb6659a311074ae50df4a3887ac3c5b95200f3fff76ec82d2a4ffb/smartwatts-2.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "15347d0d9960f37ebd086a3f4ddb1efeaeb7ad2508276ed6c2ba6edef0b8bfac",
"md5": "498edfd8914afae52c19a0a0ffee3ecb",
"sha256": "3adb29bfcc2840d5272a2f6c8d966abf189a62dde03d0da5b65cc44b30627c31"
},
"downloads": -1,
"filename": "smartwatts-2.1.2.tar.gz",
"has_sig": false,
"md5_digest": "498edfd8914afae52c19a0a0ffee3ecb",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.8",
"size": 14501,
"upload_time": "2023-07-19T14:18:21",
"upload_time_iso_8601": "2023-07-19T14:18:21.423181Z",
"url": "https://files.pythonhosted.org/packages/15/34/7d0d9960f37ebd086a3f4ddb1efeaeb7ad2508276ed6c2ba6edef0b8bfac/smartwatts-2.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-19 14:18:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "powerapi-ng",
"github_project": "smartwatts-formula",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "smartwatts"
}