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
Last synced: 6 months ago · JSON representation ·

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
Created 11 months ago · Last pushed 8 months ago
Metadata Files
Readme Changelog License Citation

README.md

ICOS FL: Federated Learning for Resource Monitoring

[![GitHub - Version](https://img.shields.io/github/v/release/anaskalt/icos-fl?include_prereleases)](https://github.com/anaskalt/icos-fl/releases) [![GitHub - Python Version](https://img.shields.io/badge/python-3.10%20%7C%203.11%20%7C%203.12-blue.svg)](https://github.com/anaskalt/icos-fl) [![Read the Docs](https://readthedocs.org/projects/icos-fl/badge/)](https://icos-fl.readthedocs.io/) [![License](https://img.shields.io/github/license/anaskalt/icos-fl.svg)](https://github.com/anaskalt/icos-fl/blob/master/LICENSE) [![Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit&logoColor=white)](https://github.com/pre-commit/pre-commit)

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:

  1. Data Collection Layer: Captures system metrics via Scaphandre and OpenTelemetry
  2. Storage Layer: Persists time series data in DataClay with sliding window approach
  3. 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

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

pyproject.toml pypi
  • 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