Skip to content

Commit

Permalink
feat: new channel explanation in main concepts
Browse files Browse the repository at this point in the history
Signed-off-by: Léo-Paul HAUET <leo-paul.hauet@owkin.com>
  • Loading branch information
IC-1101asterisk committed Aug 17, 2023
1 parent b889908 commit 83a2157
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 0 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [Unreleased]

- Deactivate Binder ([#340](https://github.com/Substra/substra-documentation/pull/340))
- Added section about channels in the main concepts ([#344](https://github.com/Substra/substra-documentation/pull/344))

## [0.30.0]

Expand Down
26 changes: 26 additions & 0 deletions docs/source/documentation/concepts.rst
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,32 @@ There are two ways to run several tasks in parallel on a same organization with
.. TODO:: Explain what is substra tools


Substra channels
----------------

If your Substra deployment has only one channel then you most likely never knew what a channel really is. A channel is a group of Substra `organizations <https://docs.substra.org/en/stable/additional/glossary.html#term-Organization>`_ which operates on a common set of assets.

Having multiple channels is needed if you want to have multiple projects that are independent from each other. If you have a Substra network and need to start another independent FL project then you will have to create another channel.
This is why many networks are “mono channel”, since they only have one FL project going on.

In the example below you a Substra network with two channels:

- Channel A with the three organizations
- Channel B with only two organizations (A and B).

.. image:: /documentation/images/channel_schema.png

Users only belong to one channel
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

A user can belong to only one channel. A channel has its own users, its own datasets, compute plans, tasks and functions. A user from another channel has no visibility on this. This makes sense as someone from another project should not see any info on something he/she is not a part of.

What happens if an organization gets multiple tasks from different channels?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

This is a FIFO (first in first out), if multiple tasks get sent to an org it will process those in the order it got them.
What is important to note is that if someone from channel A stacked up loads of tasks before you (a user from channel B) tasks will all be in waiting until the previous ones from channel A are done. This might be confusing as you will not see an obvious reason as to why your tasks are not being processed.

Compute plan execution - deployed mode
---------------------------------------

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 83a2157

Please sign in to comment.