diff --git a/CHANGELOG.md b/CHANGELOG.md index c7eda1f0..bb1a5cde 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -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] diff --git a/docs/source/documentation/concepts.rst b/docs/source/documentation/concepts.rst index 5e6b1a6a..099f1b2a 100644 --- a/docs/source/documentation/concepts.rst +++ b/docs/source/documentation/concepts.rst @@ -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 `_ 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 --------------------------------------- diff --git a/docs/source/documentation/images/channel_schema.png b/docs/source/documentation/images/channel_schema.png new file mode 100644 index 00000000..d77f81e7 Binary files /dev/null and b/docs/source/documentation/images/channel_schema.png differ