cpupowerbench
CPUPowerBench is an automated benchmark to accurately generate a power model for single-board computers.
Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 2 DOI reference(s) in README -
✓Academic publication links
Links to: sciencedirect.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.7%) to scientific vocabulary
Repository
CPUPowerBench is an automated benchmark to accurately generate a power model for single-board computers.
Basic Info
Statistics
- Stars: 9
- Watchers: 1
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
CPU Power Benchmark (CPUPowerBench)
CPUPowerBench is an automated benchmark to accurately generate a power model for single-board computers (Raspberry Pi, Asus TinkerBoard, BeagleBone, etc.).
Step 1: CPU Benchmark
:package: Automatic installation
Run the installer file: sh installer.sh in cpu-benchmark folder.
:floppy_disk: Manual Installation
First install dev tools: gcc, cmake, make, python 3, pip: sudo apt install python3 python3-pip gcc make cmake
Then install python requirements for CPU Load Generator: pip install -r requirements.txt
Then compile CPU Cycles program:
cmake .
make
:bulb: Usage
Connect your single-board device to a PowerSpy2 power meter.
Then, just run the benchmark script: sh start-benchmark.sh.
At the end of the experiment, two CSV files will be generated (cpucycles.csv and cpuload.csv). Finally, get the power meter data by using PowerSpy software and downloading the saved monitored data from the meter's internal memory, and rename the file to powerspy.csv.
Step 2: Power model generation
:package: Installation
Install python requirements: pip install -r requirements.txt in model-generation folder.
:bulb: Usage
Copy the 2 CSV files generated in the benchmark (cpucycles.csv and cpuload.csv) to the model-generation folder. Also, download power data CSV file from PowerSpy2, and copy it under the name powerspy.csv.
Then, just run the model generation script: python runModelGeneration.py in model-generation folder.
If you use a different powermeter or have a different CSV file structure for the power file, you can run the script with the powercsv option: python runModelGeneration.py powercsv.
The option expects the CSV file to have two columns: timestamp and power consumption.
:bookmark_tabs: Cite this work
To cite our work in a research paper, please cite our paper in Sustainable Computing: Informatics and Systems journal.
- Automated Power Modeling of Computing Devices: Implementation and Use Case for Raspberry Pis. Houssam Kanso, Adel Noureddine, and Ernesto Exposito. In Sustainable Computing: Informatics and Systems journal (SUSCOM). Volume 37. January 2023.
@article{KANSO2023100837,
title = {Automated power modeling of computing devices: Implementation and use case for Raspberry Pis},
journal = {Sustainable Computing: Informatics and Systems},
volume = {37},
pages = {100837},
year = {2023},
issn = {2210-5379},
doi = {https://doi.org/10.1016/j.suscom.2022.100837},
url = {https://www.sciencedirect.com/science/article/pii/S2210537922001688},
author = {Houssam Kanso and Adel Noureddine and Ernesto Exposito},
keywords = {Power consumption, Performance, Measurement, Empirical experimentation, Automated software architecture}
}
:newspaper: License
RPiPowerBench is licensed under the GNU GPL 3 license only (GPL-3.0-only).
Copyright (c) 2020-2023, Université de Pau et des Pays de l'Adour. All rights reserved. This program and the accompanying materials are made available under the terms of the GNU General Public License v3.0 only (GPL-3.0-only) which accompanies this distribution, and is available at: https://www.gnu.org/licenses/gpl-3.0.en.html
Authors : Houssam Kanso, Adel Noureddine
Owner
- Name: The Joular Project
- Login: joular
- Kind: organization
- Website: https://www.noureddine.org/research/joular
- Twitter: adelnoureddine
- Repositories: 3
- Profile: https://github.com/joular
The Joular project aims to advance knowledge in software energy efficiency throughout the life cycle of software, and across a variety of software systems
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite the research paper."
preferred-citation:
type: article
authors:
- family-names: "Kanso"
given-names: "Houssam"
orcid: "https://orcid.org/0000-0002-4811-191X"
- family-names: "Noureddine"
given-names: "Adel"
orcid: "https://orcid.org/0000-0002-8585-574X"
- family-names: "Exposito"
given-names: "Ernesto"
orcid: "https://orcid.org/0000-0002-3543-2909"
title: "Automated power modeling of computing devices: Implementation and use case for Raspberry Pis"
year: 2023
journal: 'Sustainable Computing: Informatics and Systems'
volume: 37
doi: 10.1016/j.suscom.2022.100837
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Dependencies
- click *
- matplotlib *
- psutil *
- datetime *
- matplotlib *
- pandas *
- plotly *
- scikit-learn *
- sklearn *