Swarm

Sur la plateforme Manta, la Swarm permet aux utilisateurs de créer des algorithmes décentralisés et collaboratifs en les distribuant à travers de multiple noeuds. Un Swarm est un ensemble de tâches définies par l’utilisateur, qui sont exécutées de manière collaborative entre les noeuds. Manta Core offre les outils nécessaires et l’abstraction pour développer, déployer et surveiller ces Swarms efficacement, en permettant une exécution fluide d’un flux complexes de tâches distribuées.

Qu’est qu’un Swarm ?

Swarm Swarm

Un Swarm est un algorithme décentralisé composé de tâches interconnectées qui s’exécute de manière collaborative à traver des noeuds dans un système distribué. Chaque swarm définit une séquence d’opérations, organisée sous forme de tâches, qui collectivement réalise un algorithme large. La fonctionnalité primaire d’un Swarm est la capacité à définir une itération qui se répète jusqu’à une condition spécifique ou un critère remplie. Cette approche itérative permet de traiter les données de manière continue et d’augmenter la précision après de plusieurs iterations.

Composants d’un Swarm

  • Modules: Les blocs de constructions d’un swarm, chaque module réalise un opération spécifique ou un calcul dans une tâche. Les tâches peuvent dépendre des autres, permettant des flux complexe de tâches.

  • Dépendances: Les tâches dans un Swarm peuvent être interconnectées à traver des dépendances définies, créer un graphe direct d’opérations. Ces dépendances contrôlent le flux des données et l’ordre d’exécution des tâches.

  • Cycle d’itération: Un Swarm est conçu pour opérer des cycles, où les tâches définies sont exécutées par répétition jusqu’à que le Swarm ait complété son objectif.

Comment les Swarms fonctionnent ?

Les swarms fonctionnent par définir un flux de tâche itératif qui est distribuée à travers plusieurs noeuds. À chaque itération, les tâches traitent des données, communiquent avec les autres tâches, and contribuent à une progression générale du Swarm. Cette mise en place est particulièrement utile pour des algorithmes collaboratifs, où les noeuds peuvent travailler ensemble pour atteindre un objectif commun.

Le graphe ci-dessus illustrate un Swarm avec sept tâches distribuées à travers différents noeuds. Ces tâches communiquent avec les autres tâches pour passer des résultats et synchroniser leurs opérations. Après avoir compléter un cycle, le Swarm procède à l’itération suivante jusqu’à atteindre la condition de termination.

Classe Swarm

Pour créer un nouveau Swarm, vous définissez un classe python qui hérite de manta.swarm.Swarm. Cette classe personnalisée spécifie les tâches, leurs dépendances et la structure générale d’un algorithme décentralisé.

Pour plus de d’informations détaillées, sur l’implementation d’un classe Swarm, référez vous à la Documentation Swarm.