Releases: TyMill/EcoFL
Release list
EcoFL v0.1.0 — Initial Research Release
EcoFL v0.1.0 — Initial Research Release
This is the initial public research release of EcoFL (Energy-Conscious Federated Learning), a reproducible benchmarking framework for evaluating energy-aware federated learning on resource-constrained IoT edge devices.
EcoFL accompanies the manuscript:
“Can Federated Learning Go Green? EcoFL: A System-Level Energy-Aware Benchmark for IoT Edge Intelligence”
Main features
- Modular benchmarking framework for lightweight federated learning experiments.
- Support for three learning configurations:
- centralized training,
- standard federated learning using fixed-round FedAvg,
- EcoFL energy-aware federated learning with adaptive round termination.
- Implementation of five lightweight model families:
- Logistic Regression,
- Random Forest,
- XGBoost,
- Multilayer Perceptron,
- Isolation Forest.
- Synthetic IoT anomaly detection dataset generator with:
- 50,000 samples,
- 12 telemetry-inspired features,
- configurable anomaly rate,
- label noise,
- Dirichlet-based non-IID client partitioning.
- TDP-based computation-side energy estimation using CPU utilization and training duration.
- System-level profiling of:
- estimated training energy,
- communication overhead,
- inference latency,
- process-level memory usage,
- federated round counts.
- Reproducible experiments across five independent random seeds.
- Scheduler ablation study for convergence tolerance, patience, and CPU threshold.
- Statistical testing utilities based on Wilcoxon signed-rank tests and bootstrap confidence intervals.
- Figure and result generation scripts for reproducing the manuscript tables and plots.
Repository contents
This release includes:
ecofl/— core Python package,experiments/— scripts for running the main benchmark, ablation study, statistical tests, and visualizations,results/— aggregated results and experiment outputs,tests/— minimal validation tests,README.md— installation and reproduction instructions,requirements.txtandenvironment.yml— environment specifications,pyproject.toml— package metadata,CITATION.cff— citation metadata,.zenodo.json— Zenodo metadata,reproduce.sh— convenience script for reproducing the benchmark workflow.
Reproducibility
The main experimental workflow can be reproduced with:
pip install -r requirements.txt
bash reproduce.shor step by step:
python experiments/run_experiments.py
python experiments/statistical_tests.py
python experiments/ablation_study.py
python experiments/visualize_results.pyThe default configuration uses five independent seeds: 42, 43, 44, 45, 46.
Notes
This release is intended as a reproducible research companion for the EcoFL manuscript. The reported energy values are based on a TDP-based software profiling model and should be interpreted as computation-side energy estimates rather than direct physical power measurements. Future versions will extend EcoFL with physical hardware validation, wireless communication energy models, and additional real-world IoT datasets.
License
Released under the MIT License.
Recommended citation
Please cite this Zenodo release and the accompanying manuscript when using EcoFL in scientific work.