rapl_measurement_workflows

Resources to implement RAPL energy measurement for Nextflow workflows on a compute cluster managed by Kubernetes

https://github.com/crc-fonda/rapl_measurement_workflows

Science Score: 44.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
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Resources to implement RAPL energy measurement for Nextflow workflows on a compute cluster managed by Kubernetes

Basic Info
  • Host: GitHub
  • Owner: CRC-FONDA
  • License: mit
  • Language: Shell
  • Default Branch: main
  • Size: 787 KB
Statistics
  • Stars: 1
  • Watchers: 0
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Created 9 months ago · Last pushed 9 months ago
Metadata Files
Readme License Citation

README.md

RAPL Measurement Strategies for Scientific Workflows on Kubernetes Clusters

This repository contains the code, configuration files, and documentation for four different methods to measure energy consumption using Intel RAPL during the execution of scientific workflows on a compute cluster managed by Kubernetes, using the Nextflow workflow engine.

Project Overview

This project explores strategies to measure energy consumption of workflow tasks in distributed environments. It presents and implements three RAPL-based measurement strategies and one strategy based on data from IPMI:

  1. Task-Based Measurement – Uses workflow tasks to control RAPL measurement.
  2. Shell Script Wrapping – Wraps the workflow execution with a controlling script.
  3. Nextflow Plugin Integration – A custom Nextflow plugin automates measurement.
  4. Prometheus Monitoring – Uses Prometheus to record power usage with system-level metrics.

Each method is evaluated for accuracy, completeness, portability, and ease of use, and the findings are detailed in the included research report.

Repository Structure

Pods/ # Pod definitions for deploying measurement and workflow containers RAPL_read_registers/ # Bash scripts to read RAPL values from CPU and DRAM domains Task_based/ # Scripts and instructions for task-based RAPL measurement Shell_script/ # Shell script for wrapping workflow execution and energy logging Plugin/ # Code and configuration for Nextflow plugin-based approach Prometheus/ # Instructions for querying Prometheus for energy metrics Evaluation_script/ # Python script for post-processing energy log files

Files of Interest

  • RAPL_Measurement_Strategies.pdf – Full research report detailing all methods and experimental results.
  • Instructions.txt – Step-by-step guide for setting up and executing workflows with energy measurement.
  • energy_evaluation.py – Extracts workflow and task-level energy data from RAPL logs and Nextflow traces.

Prerequisites

  • Kubernetes and Docker setup on the compute cluster.
  • Nextflow configured with Kubernetes as executor.
  • Appropriate pod configurations and persistent volume claims (PVCs).
  • Root access for RAPL readings or Prometheus configured on the cluster.

How to Use

  1. Set Up the Cluster

    • Deploy pods using YAML files in Pods/.
    • Mount PVCs for shared storage and logs.
    • Place scripts for reading RAPL counters (in RAPL_read_registers/) on the cluster.
  2. Choose a Measurement Strategy

    • Follow the setup instructions in the respective folder.
    • See Instructions.txt for full details.
  3. Run the Workflow

    • Use a Nextflow workflow (e.g., from nf-core) with Kubernetes executor.
    • Ensure trace file generation is enabled for post-processing.
  4. Evaluate Results

    • Use energy_evaluation.py to extract energy consumption from logs and traces.

License

This project is licensed under the MIT License. See the LICENSE file for details.

Citation

If you use this project in your own research, please cite our paper. See CITATION.cff.

Authors

  • Philipp Thamm
  • Ulf Leser

Owner

  • Name: CRC-FONDA
  • Login: CRC-FONDA
  • Kind: organization

Citation (CITATION.cff)

cff-version: 1.2.0
title: "Strategies to Measure Energy Consumption Using RAPL During Workflow Execution on Commodity Clusters"
authors:
  - family-names: Thamm
    given-names: Philipp
  - family-names: Leser
    given-names: Ulf
date-released: 2025-05-19
version: 1.0.0
doi: 10.48550/arXiv.2505.09375
url: https://github.com/CRC-FONDA/RAPL_measurement_workflows
message: "If you use this work, please cite our arXiv paper and link to this repository."

GitHub Events

Total
  • Watch event: 2
  • Member event: 1
  • Push event: 1
  • Create event: 1
Last Year
  • Watch event: 2
  • Member event: 1
  • Push event: 1
  • Create event: 1