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 (11.8%) to scientific vocabulary
Repository
Cross-Facility Federated Learning
Basic Info
- Host: GitHub
- Owner: alpha-unito
- License: gpl-3.0
- Language: Python
- Default Branch: main
- Size: 15.4 MB
Statistics
- Stars: 7
- Watchers: 4
- Forks: 1
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Cross-Facility Federated Learning (xFFL)
Cross-Facility Federated Learning (xFFL) is a federated learning (FL) framework based on the StreamFlow workflow management system (WMS) developed in the Parallel Computing [Alpha] research group at the University of Turin, Italy.
xFFL is designed to be a research-oriented software, enabling FL workloads deployment on geographically distributed computing infrastructures including, but not limited to, high-performance computers (HPCs).
We aim to democratize extensive ML workload development, allowing researchers and SMEs to be competitive with big tech companies by exploiting sparse computing power.

Get started
Setup
Clone this repository on the computing infrastructure that will act as the federation orchestrator:
bash
git clone --depth 1 --branch main https://github.com/alpha-unito/xffl.git
Note that this machine should have internet access and be capable of reaching the federation clients through SSH.
Create and activate a Python virtual environment (both venv and conda are valid options):
bash
python3 -m venv xFFL
source xFFL/bin/activate
Install xFFL and its requirements:
bash
cd xffl/
python3 -m pip install .
Configuration creation
Create an xFFL configuration file in a guided way through the xFFL CLI:
bash
xffl config --w [workdir] --p [project]
Where workdir is the name of the working directory to create (defaults to the local directory), and project is the name of the created deployment.
This process will produce a directory containing the necessary StreamFlow and xFFL configuration files and the chosen model.
System requirements
Python>=3.9
Singularity/Docker
NodeJS
Architecture
xFFL implements a centralized FL schema in which a central server coordinates, distributes, and aggregates the learning tasks deployed on the clients. Such a process is orchestrated by StreamFlow, which handles the data movement between the computing infrastructures and the deployment of workloads.

Contributors
| Name | Email | Role |
| :----------------------------------------------------------------- | :--------------------------- | :----------------------- |
| Gianluca Mittone | gianluca.mittone@unito.it | Creator and maintainer |
| Alberto Mulone | alberto.mulone@unito.it | Developer and maintainer |
| Iacopo Colonnelli | iacopo.colonnelli@unito.it | Investigator |
| Robert Birke | robert.birke@unito.it | Investigator |
| Marco Aldinucci | marco.aldinucci@unito.it | Principal investigator |
Owner
- Name: Parallel programming: Alpha group
- Login: alpha-unito
- Kind: organization
- Location: Torino, IT
- Website: http://alpha.di.unito.it
- Repositories: 9
- Profile: https://github.com/alpha-unito
Parallel Computing research cluster, Department of Computer Science, University of Torino
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you want to cite xFFL, please refer to the article below."
authors:
- family-names: "Mittone"
given-names: "Gianluca"
orcid: "https://orcid.org/0000-0002-1887-6911"
- family-names: "Mulone"
given-names: "Alberto"
orcid: "https://orcid.org/0009-0009-2600-613X"
- family-names: "Colonnelli"
given-names: "Iacopo"
orcid: "https://orcid.org/0000-0001-9290-2017"
title: "Cross-Facility Federated Learning"
version: 0.1
url: "https://github.com/alpha-unito/xffl"
preferred-citation:
type: article
authors:
- family-names: "Colonnelli"
given-names: "Iacopo"
orcid: "https://orcid.org/0000-0001-9290-2017"
- family-names: "Birke"
given-names: "Robert"
orcid: "https://orcid.org/0000-0003-1144-3707"
- family-names: "Malenza"
given-names: "Giulio"
orcid: "https://orcid.org/0009-0006-4862-7429"
- family-names: "Mittone"
given-names: "Gianluca"
orcid: "https://orcid.org/0000-0002-1887-6911"
- family-names: "Mulone"
given-names: "Alberto"
orcid: "https://orcid.org/0009-0009-2600-613X"
- family-names: "Galjaard"
given-names: "Jeroen"
orcid: "https://orcid.org/0000-0003-3681-7226"
- family-names: "Chen"
given-names: "Lydia Y."
orcid: "https://orcid.org/0000-0002-4228-6735"
- family-names: "Bassini"
given-names: "Sanzio"
- family-names: "Scipione"
given-names: "Gabriella"
orcid: "https://orcid.org/0000-0001-7202-9994"
- family-names: "Martinovič"
given-names: "Jan"
orcid: "https://orcid.org/0000-0001-7944-8956"
- family-names: "Vondrák"
given-names: "Vit"
orcid: "https://orcid.org/0000-0002-7940-6323"
- family-names: "Aldinucci"
given-names: "Marco"
orcid: "https://orcid.org/0000-0001-8788-0829"
doi: 10.1016/j.procs.2024.07.003
issn: 1877-0509
journal: "Procedia Computer Science"
publisher:
name: Elsevier
city: Amsterdam
country: NL
start: 3
end: 12
title: "Cross-Facility Federated Learning"
volume: 240
year: 2024
GitHub Events
Total
- Watch event: 10
- Delete event: 2
- Issue comment event: 2
- Push event: 162
- Pull request review comment event: 11
- Pull request review event: 18
- Pull request event: 15
- Fork event: 1
- Create event: 7
Last Year
- Watch event: 10
- Delete event: 2
- Issue comment event: 2
- Push event: 162
- Pull request review comment event: 11
- Pull request review event: 18
- Pull request event: 15
- Fork event: 1
- Create event: 7
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 0
- Total pull requests: 9
- Average time to close issues: N/A
- Average time to close pull requests: 9 days
- Total issue authors: 0
- Total pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.11
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 9
- Average time to close issues: N/A
- Average time to close pull requests: 9 days
- Issue authors: 0
- Pull request authors: 4
- Average comments per issue: 0
- Average comments per pull request: 0.11
- Merged pull requests: 6
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
- Giemp95 (4)
- JohnClema (2)
- LanderOtto (2)
- GlassOfWhiskey (1)