A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

ALUMET

A modular tool that measures energy consumption and performance metrics of CPU and GPU.
https://github.com/alumet-dev/alumet

Category: Consumption
Sub Category: Computation and Communication

Keywords

cloud-computing edge-computing energy-consumption energy-efficiency hpc-systems kubernetes monitoring profiling research-paper rust sustainability wattmeter

Last synced: about 22 hours ago
JSON representation

Repository metadata

Unified and Modular Measurement Framework

README.md

Adaptive, Lightweight, Unified Metrics.

Alumet is a modular framework for local and distributed measurement.

Overview

Alumet provides a unified interface for gathering measurements with sources (on the right), transforming the data with models (in the middle) and writing the result to various outputs (on the left).
The elements (colored rectangles) are created by plugins, on top of a standard framework.

  • Extensible Framework: Alumet can easily be extended in order to make new research experiments. Leverage existing plugins and only add what you need, without reinventing the wheel. Take advantage of the unified data model and parallel measurement pipeline.
  • Operational Tool: the end result is (or aims to be) a ready-to-use measurement tool that is robust, efficient and scalable.

Learn more on the website.

Use cases

Tools built with Alumet can be used for (non-exhaustive list):

  • measuring the energy consumption of some hardware component (CPU, GPU, etc.) in an accurate and efficient way by using the latest research results[^1]
  • local system monitoring (bare-metal HPC node, cloud VM, etc.)
  • distributed monitoring (datacenters, K8S clusters, etc.)
  • profiling a specific application

[^1]: See the following research paper for a detailed analysis of some common errors in RAPL-based measurement tools: Guillaume Raffin, Denis Trystram. Dissecting the software-based measurement of CPU energy consumption: a comparative analysis. 2024. ⟨hal-04420527v2⟩.

How to use

We provide a standard Alumet agent that you can install on your system(s). For the moment, Linux is the only supported OS. Download the agent from the latest release.

Please read the Alumet User Book to learn how to install and use the Alumet "agent" (the program that performs the measurements).

If you have a question, feel free to ask on the Discussions page.

Extending Alumet

The alumet crate, aka "Alumet core", provides the measurement framework in the form of a library.
This library offers a plugin system that you can use to extend Alumet in the following ways:

  • read new sources of measurements
  • apply arbitrary transformations to the data (such as energy attribution models)
  • export the data to new outputs
  • perform actions on startup and shutdown

Please read the Alumet Developer Book to learn how to make plugins and agents.

Contributing

Alumet is a joint project between the LIG (computer science laboratory of Grenoble) and Eviden (Atos HPC R&D). It is also open to external volunteers like you!

Please go to the contributing guide to get started (work in progress).

License

Copyright 2024 Guillaume Raffin, BULL SAS, CNRS, INRIA, Grenoble INP-UGA.
Licensed under the EUPL-1.2 or later.

You can find more information about the EUPL here. The EUPL is compatible with many other open source licenses and shares some principles with the well-known LGPL.


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 6 days ago

Total Commits: 553
Total Committers: 11
Avg Commits per committer: 50.273
Development Distribution Score (DDS): 0.269

Commits in past year: 445
Committers in past year: 11
Avg Commits per committer in past year: 40.455
Development Distribution Score (DDS) in past year: 0.335

Name Email Commits
Guillaume Raffin t****l@g****m 404
Cyprien Pelisse-Verdoux c****x@e****m 51
Titouan Jouffray t****y@e****m 47
A809921 g****z@a****t 23
sofiaduqueg s****g@u****o 8
Huret, Antoine a****t@e****m 7
Kelyan Pegeot Selme k****e@e****m 4
Emmanuel Zychla e****a@a****t 3
laurent cutting l****g@g****m 2
Cyprien 7****5 2
ARTHUR CHENU (ext) a****l@e****m 2

Committer domains:


Issue and Pull Request metadata

Last synced: 2 days ago

Total issues: 132
Total pull requests: 147
Average time to close issues: about 2 months
Average time to close pull requests: 8 days
Total issue authors: 8
Total pull request authors: 11
Average comments per issue: 0.96
Average comments per pull request: 0.98
Merged pull request: 122
Bot issues: 0
Bot pull requests: 0

Past year issues: 132
Past year pull requests: 147
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 8 days
Past year issue authors: 8
Past year pull request authors: 11
Past year average comments per issue: 0.96
Past year average comments per pull request: 0.98
Past year merged pull request: 122
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/alumet-dev/alumet

Top Issue Authors

  • TheElectronWill (79)
  • AngeCyp (27)
  • titouanj (12)
  • ezychlagre (5)
  • guigomcha (4)
  • laurent-morin (3)
  • cuttingl (1)
  • TwilCynder (1)

Top Pull Request Authors

  • TheElectronWill (60)
  • titouanj (25)
  • AngeCyp (23)
  • ahuret (11)
  • victoryeagle77 (7)
  • guigomcha (6)
  • cuttingl (3)
  • sofiaduqueg (3)
  • ezychlagre (3)
  • YouriRigaud (3)
  • kelyaenn (3)

Top Issue Labels

  • A:existing-plugin (47)
  • T:ux (39)
  • D:easy (39)
  • T:bug (26)
  • A:app-agent (19)
  • P:high (18)
  • A:core (17)
  • A:core ⚙️ (14)
  • D:medium (13)
  • A:repository (12)
  • T:code-quality (12)
  • T:doc (11)
  • P:low (10)
  • T:api-improvement (10)
  • T:performance (6)
  • good first issue (6)
  • A:new-plugin (5)
  • D:hard (5)
  • A:agent (5)
  • on hold (1)
  • help wanted (1)
  • A:ffi (1)

Top Pull Request Labels

  • A:new-plugin (10)
  • T:code-quality (8)
  • A:existing-plugin (8)
  • P:high (7)
  • A:core (7)
  • A:repository (5)
  • D:easy (3)
  • D:hard (3)
  • A:app-relay (1)
  • T:ux (1)
  • A:app-agent (1)
  • A:core ⚙️ (1)

Package metadata

crates.io: alumet

Modular framework for hardware and software measurement (including energy consumption and more).

  • Homepage: https://alumet.dev
  • Documentation: https://docs.rs/alumet/
  • Licenses: EUPL-1.2
  • Latest release: 0.8.0 (published 19 days ago)
  • Last Synced: 2025-04-25T03:30:41.113Z (2 days ago)
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,502 Total
  • Rankings:
    • Dependent repos count: 25.163%
    • Dependent packages count: 33.369%
    • Average: 51.611%
    • Downloads: 96.301%
  • Maintainers (1)

Dependencies

Cargo.toml cargo
alumet/Cargo.toml cargo
  • serde 1.0.198 development
  • anyhow 1.0.79
  • fxhash 0.2.1
  • indoc 2.0.5
  • libc 0.2.152
  • libloading 0.8.1
  • log 0.4.20
  • serde 1.0.198
  • smallvec 1.13.2
  • tokio 1.36.0
  • tokio-stream 0.1.14
  • tokio-util 0.7.10
  • toml 0.8.8
alumet-api-dynamic/Cargo.toml cargo
alumet-api-macros/Cargo.toml cargo
app-agent/Cargo.toml cargo
app-relay-collector/Cargo.toml cargo
plugin-csv/Cargo.toml cargo
  • pretty_assertions 1.4.0 development
  • anyhow 1.0.82
  • log 0.4.21
  • serde 1.0.201
  • time 0.3.36
plugin-influxdb/Cargo.toml cargo
plugin-k8s/Cargo.toml cargo
plugin-nvidia/Cargo.toml cargo
plugin-perf/Cargo.toml cargo
plugin-rapl/Cargo.toml cargo
plugin-relay/Cargo.toml cargo
plugin-socket-control/Cargo.toml cargo
test-dynamic-plugin-rust/Cargo.toml cargo
test-dynamic-plugins/Cargo.toml cargo

Score: 14.017178755755516