alumet

Unified and Modular Measurement Framework

https://github.com/alumet-dev/alumet

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 12 committers (8.3%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.1%) to scientific vocabulary

Keywords

cloud-computing edge-computing energy-consumption energy-efficiency hpc-systems kubernetes monitoring profiling research-paper rust sustainability wattmeter
Last synced: 6 months ago · JSON representation

Repository

Unified and Modular Measurement Framework

Basic Info
  • Host: GitHub
  • Owner: alumet-dev
  • License: eupl-1.2
  • Language: Rust
  • Default Branch: main
  • Homepage: https://alumet.dev
  • Size: 2.82 MB
Statistics
  • Stars: 47
  • Watchers: 5
  • Forks: 16
  • Open Issues: 44
  • Releases: 12
Topics
cloud-computing edge-computing energy-consumption energy-efficiency hpc-systems kubernetes monitoring profiling research-paper rust sustainability wattmeter
Created almost 2 years ago · Last pushed 6 months ago
Metadata Files
Readme Contributing License Authors

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 left), transforming the data with models (in the middle) and writing the result to various outputs (on the right). 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

  • Name: ALUMET project
  • Login: alumet-dev
  • Kind: organization

Development of the ALUMET measurement software for efficient and sustainable computing (Adaptive, Lightweight, Unified Metrics)

GitHub Events

Total
  • Create event: 60
  • Release event: 9
  • Issues event: 110
  • Watch event: 21
  • Delete event: 51
  • Issue comment event: 185
  • Push event: 468
  • Pull request review event: 577
  • Pull request review comment event: 706
  • Pull request event: 175
  • Fork event: 15
Last Year
  • Create event: 60
  • Release event: 9
  • Issues event: 114
  • Watch event: 21
  • Delete event: 51
  • Issue comment event: 187
  • Push event: 473
  • Pull request review event: 577
  • Pull request review comment event: 706
  • Pull request event: 176
  • Fork event: 15

Committers

Last synced: 7 months ago

All Time
  • Total Commits: 605
  • Total Committers: 12
  • Avg Commits per committer: 50.417
  • Development Distribution Score (DDS): 0.306
Past Year
  • Commits: 333
  • Committers: 10
  • Avg Commits per committer: 33.3
  • Development Distribution Score (DDS): 0.438
Top Committers
Name Email Commits
Guillaume Raffin t****l@g****m 420
Cyprien Pelisse-Verdoux c****x@e****m 64
Titouan Jouffray t****y@e****m 54
A809921 g****z@a****t 26
Huret, Antoine a****t@e****m 15
sofiaduqueg s****g@u****o 8
mdacosta d****b@i****r 5
Kelyan Pegeot Selme k****e@e****m 4
Emmanuel Zychla e****a@a****t 3
Cyprien 7****5 2
laurent cutting l****g@g****m 2
ARTHUR CHENU (ext) a****l@e****m 2
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 111
  • Total pull requests: 241
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Total issue authors: 11
  • Total pull request authors: 15
  • Average comments per issue: 0.49
  • Average comments per pull request: 0.88
  • Merged pull requests: 181
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 93
  • Pull requests: 213
  • Average time to close issues: about 1 month
  • Average time to close pull requests: 10 days
  • Issue authors: 10
  • Pull request authors: 12
  • Average comments per issue: 0.52
  • Average comments per pull request: 0.9
  • Merged pull requests: 160
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • TheElectronWill (65)
  • AngeCyp (18)
  • ezychlagre (10)
  • guigomcha (8)
  • titouanj (4)
  • cuttingl (1)
  • khannurien (1)
  • bzizou (1)
  • TwilCynder (1)
  • laurent-morin (1)
  • millillitre (1)
Pull Request Authors
  • TheElectronWill (84)
  • AngeCyp (40)
  • ahuret (38)
  • titouanj (24)
  • guigomcha (15)
  • victoryeagle77 (13)
  • cuttingl (6)
  • millillitre (5)
  • kelyaenn (4)
  • ezychlagre (3)
  • Aymeric-Brochier (2)
  • pessi-v (2)
  • sofiaduqueg (2)
  • YouriRigaud (2)
  • AngeC15 (1)
Top Labels
Issue Labels
T:bug (34) A:existing-plugin (22) D:easy (16) T:ux (15) A:core (9) A:core ⚙️ (8) A:app-agent (7) P:high (6) T:api-improvement (6) D:medium (6) A:repository (5) T:code-quality (5) T:doc (4) D:hard (4) good first issue (4) P:low (3) A:agent (3) A:new-plugin (2) T:performance (2) A:plugin-cgroup (2) S:new-plugin (1) T:core-agent (1) T:core-plugin (1)
Pull Request Labels
A:new-plugin (15) A:existing-plugin (13) T:code-quality (8) A:core (5) A:repository (5) P:high (4) D:easy (3) T:bug (3) D:hard (2) A:app-relay (2) A:core ⚙️ (2) T:ux (1) A:app-agent (1)

Packages

  • Total packages: 2
  • Total downloads:
    • cargo 2,533 total
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 16
  • Total maintainers: 1
proxy.golang.org: github.com/alumet-dev/alumet
  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 5.4%
Average: 5.6%
Dependent repos count: 5.8%
Last synced: 6 months ago
crates.io: alumet

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

  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 2,533 Total
Rankings
Dependent repos count: 25.2%
Dependent packages count: 33.4%
Average: 51.6%
Downloads: 96.3%
Maintainers (1)
Last synced: 6 months ago

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