Skip to main content

Welcome to FLOPY-NET

Observe, Control, and Understand Federated Learning in Realistic Networks

FLOPY-NET is an open-source observatory platform designed specifically for researchers to study the direct impact of network dynamics—from packet loss to complex topologies—on the performance, security, and behavior of Federated Learning systems.

Work in Progress

⚠️ THIS DOCUMENT IS INCOMPLETE. MAY INCLUDE WRONG INFORMATION. DO NOT DEPEND ON.

This documentation is currently under development and may contain inaccurate or outdated information.

What is FLOPY-NET?

FLOPY-NET bridges the gap between theoretical federated learning research and real-world network conditions. Traditional FL research often assumes perfect network conditions, but real networks are messy, unreliable, and constantly changing. Our platform lets you:

  • Simulate realistic network conditions with configurable packet loss, latency, and bandwidth constraints
  • Monitor FL training in real-time with comprehensive dashboards and metrics
  • Enforce security policies through our integrated Policy Engine
  • Study network impact on model convergence, accuracy, and training efficiency
  • Experiment with different topologies using GNS3 integration and SDN controllers

Key Features

🌐

Real Network Simulation

Integrate with GNS3 and SDN controllers to simulate realistic network conditions including packet loss, latency variations, and complex topologies.

🛡️

Policy-Driven Security

Built-in Policy Engine enforces security rules, detects anomalies, and ensures compliance across all federated learning participants.

📊

Comprehensive Monitoring

Real-time dashboards track FL training progress, network performance, and system health with interactive visualizations and detailed metrics.

🤖

Flexible FL Framework

Support for multiple federated learning algorithms, custom models, and configurable client scenarios for diverse research needs.

🔬

Research-Focused

Designed specifically for researchers studying the intersection of federated learning and network systems with reproducible experiments.

🔓

Open Source

Fully open source with comprehensive documentation, active community support, and extensible architecture for custom research needs.

Quick Start

Get FLOPY-NET running in minutes:

# Clone the repository
git clone https://github.com/abdulmelink/flopy-net.git
cd flopy-net

# Start the platform using PowerShell script
.\docker-run.ps1

# Or manually with docker-compose
docker-compose up -d

# Check system status
docker-compose ps

# Access core services
# Policy Engine: http://localhost:5000
# Collector API: http://localhost:8000

System Architecture

Research Applications

FLOPY-NET is designed for researchers studying:

  • Network-aware Federated Learning: How do real network conditions affect FL performance?
  • Security in Distributed ML: Can malicious nodes be detected and mitigated?
  • Edge Computing Scenarios: How does FL perform on resource-constrained edge devices?
  • Network Optimization: What network configurations optimize FL training?
  • Fault Tolerance: How resilient is FL to network failures and partitions?

Components Overview

🎛️ CLI Interface

Unified command-line interface (src/main.py) for starting services, running scenarios, and managing the platform.

🛡️ Policy Engine

The heart of FLOPY-NET's security and governance system (Port 5000), enforcing rules and monitoring compliance across all components.

📊 Collector

Comprehensive metrics collection system (Port 8000) gathering data from FL training, network performance, and system health.

🤖 FL Framework

Docker-based federated learning implementation with server (192.168.100.10) and multiple clients (192.168.100.101-102).

🌐 Networking

GNS3 integration (src/networking/gns3/) with SDN support (Port 6633/8181) for realistic network simulation and control.

🎬 Scenarios

Configurable scenarios (src/scenarios/) for testing different network conditions, FL algorithms, and research hypotheses.

Getting Help

Contributing

FLOPY-NET is open source and welcomes contributions! See our Contributing Guide to get started.

License

FLOPY-NET is released under the MIT License.


FLOPY-NET is developed by Abdulmelik Saylan as part of ongoing research into federated learning and network systems.