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 (14.7%) to scientific vocabulary
Repository
Basic Info
- Host: GitHub
- Owner: anaskalt
- License: mit
- Language: Python
- Default Branch: master
- Size: 726 KB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 2
Metadata Files
README.md
ICOS FL: Federated Learning for Resource Monitoring
ICOS-FL is a federated learning framework powered by Flower for real-time resource monitoring and prediction. It enables distributed training of LSTM models to forecast CPU usage, memory consumption, and power consumption across ICOS nodes while preserving data privacy.
Features
- Federated Learning: Train models across distributed nodes while keeping data local
- Privacy-Preserving: Learn from system metrics without centralizing sensitive data
- Real-time Monitoring: Track CPU, memory, and power consumption metrics
- LSTM Prediction: Forecast resource usage with configurable time windows
- DataClay Integration: Efficient storage and retrieval of time series data
- Docker Deployment: Easy setup with containerized components
- Modular Architecture: Customize models, metrics, and federated strategies
Requirements
- Python 3.10 or newer
- Docker and Docker Compose
- At least 4GB of available RAM
- Network access between nodes (for distributed deployment)
Installation
From Source
bash
git clone https://github.com/anaskalt/icos-fl.git
cd icos-fl
pip install -e .
Quick Start
Setup Infrastructure
```bash
Start required services using Docker Compose
docker compose -f docker/simulation.yml up -d ```
Run Federated Learning
```bash
Start FL
flwr run . local-deployment --stream
Start FL with different configuration
flwr run . --run-config "metric=power_consumption" --stream ```
Architecture
ICOS-FL consists of three main layers:
- Data Collection Layer: Captures system metrics via Scaphandre and OpenTelemetry
- Storage Layer: Persists time series data in DataClay with sliding window approach
- Learning Layer: Implements federated learning with Flower's SuperLink and SuperNodes
The framework uses LSTM (Long Short-Term Memory) neural networks to predict resource usage patterns based on historical system metrics.
Documentation
Comprehensive documentation is available at https://icos-fl.readthedocs.io/, including:
Contributing
Contributions are welcome! Please check out our Contributing Guide for details on:
License
This project is licensed under the MIT License - see the LICENSE file for details.
Citation
If you use ICOS-FL in your research, please cite:
bibtex
@software{kaltakis2025icos,
author = {Kaltakis, Anastasios},
title = {ICOS-FL: Federated Learning Framework for Resource Monitoring},
year = {2025},
url = {https://github.com/anaskalt/icos-fl}
}
Owner
- Name: Anastasios Kaltakis
- Login: anaskalt
- Kind: user
- Location: Athens
- Website: www.linkedin.com/in/anastasios-kaltakis-8a8998208
- Repositories: 1
- Profile: https://github.com/anaskalt
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: ICOS FL
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Anastasios
family-names: Kaltakis
alias: anaskalt
identifiers:
- type: url
value: >-
https://github.com/anaskalt/icos-fl/releases/tag/v0.2.0
description: The Software Heritage link for version 0.2.0.
repository-code: 'https://github.com/anaskalt/icos-fl'
abstract: 'ICOS-FL: Flower-powered FL framework for real-time resource monitoring (LSTM) & predictions. Modular architecture for custom AI models + private distributed training.'
keywords:
- icos-fl
license: MIT
version: 0.2.0
GitHub Events
Total
- Release event: 2
- Delete event: 1
- Push event: 25
- Public event: 2
- Pull request event: 6
- Fork event: 1
- Create event: 3
Last Year
- Release event: 2
- Delete event: 1
- Push event: 25
- Public event: 2
- Pull request event: 6
- Fork event: 1
- Create event: 3
Dependencies
- dataclay ==4.0.0
- flwr [simulation]>=1.17.0
- pandas >=2.2.3
- scikit-learn >=1.6.1
- torch ==2.6.0
- wandb ==0.19.8