Skip to content
leondavi edited this page Aug 23, 2025 · 6 revisions

Welcome to the NErlNet Wiki!

NErlNet is a distributed machine learning framework designed for the research and deployment of distributed machine learning clusters, particularly on IoT devices. It is highly configurable, allowing users to define and allocate software entities across a network of devices. Management of the cluster is handled through a convenient Python API that communicates with the NErlNet cluster.

This wiki serves as the official documentation for NErlNet. Whether you are a new user looking to get started, a researcher exploring distributed machine learning, or a developer wanting to contribute, you will find the information you need here.

For New Users and Researchers

If you are new to NErlNet, here is a recommended path to get you started:

  1. NErlNet Design: Understand the high-level architecture of NErlNet, including its main components like the API Server, Main Server, Routers, Clients, Sources, and Workers.
  2. Installation and Setup: Follow the guide to install NErlNet and set up your environment.
  3. Configuration Files: Learn about the JSON configuration files that define the network topology, entity connections, and experiment flow.
  4. NErlPlanner Tool: Use the GUI tool to easily create the required JSON configuration files.
  5. Running an Example: Run your first distributed machine learning experiment using the provided examples.

Core Concepts

  • Distributed Architecture: NErlNet is built on a distributed architecture that allows for the flexible deployment of ML models across multiple devices.
  • Erlang Backbone: The core of NErlNet is implemented in Erlang, which provides a robust foundation for building scalable and fault-tolerant distributed systems.
  • Python API: A user-friendly Python API allows for easy interaction with the NErlNet cluster, making it simple to configure experiments and manage the system.
  • Extensibility: NErlNet is designed to be extensible, allowing for the integration of different machine learning libraries and the implementation of custom worker logic.

Contributing

We welcome contributions to NErlNet! If you are interested in contributing, please check out the main GitHub repository and the contribution guidelines.

Wiki Navigation

Use the sidebar to navigate through the different sections of this wiki. Each page provides detailed information on a specific aspect of NErlNet.

Clone this wiki locally