Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Architecture Documentation #21

Open
michaelsippel opened this issue Jul 1, 2020 · 1 comment
Open

Architecture Documentation #21

michaelsippel opened this issue Jul 1, 2020 · 1 comment

Comments

@michaelsippel
Copy link
Member

Here is a draft of a top-level view that shows the execution paths and interactions between components, with focus on scheduling and not resource description.
Each box represents a runtime object, for some multiple instances can exist. There are two sources of action: the user code (on the left) and the worker threads (bottom right). Starting from the user code, a task will be added to the graphs and then ends up in the reach of the scheduler which caches relevant tasks. A set of workers waits on a queue to then execute the tasks. Note that the represented execution paths are taken concurrently from multiple threads. Therefore each queue in the scheduler, the scheduling-graph and each precedence-graph (there are multiple because they are nested) have a mutex.

@sbastrakov
Copy link
Member

Very nice!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants