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

Wiki reorg: Introduce High-level Tech Terminology in Architecture #6369

Merged
merged 8 commits into from
Nov 11, 2024

Conversation

filippoweb3
Copy link
Contributor

Within the context of Polkadot being a computer, we can use high-level terminology that more people are familiar with and then dive deeper and explain how those features are made possible.

Asynchronous backing is used to achieve pipelining
Agile coretime is used to achieve multi-threading
Elastic scaling is used to achieve parallel computation for one task

@filippoweb3 filippoweb3 self-assigned this Nov 7, 2024
@filippoweb3 filippoweb3 changed the title Wiki reorg: Introduce High-level Tech Terminology Wiki reorg: Introduce High-level Tech Terminology in Architecture Nov 7, 2024
@filippoweb3
Copy link
Contributor Author

@Overkillus @shawntabrizi can you have a look at this PR and let me know what you think? Thank you in advance!

@filippoweb3 filippoweb3 added the A2 - Please Review Pull request is ready for review. label Nov 7, 2024
programming model where multiple threads (smaller sequences of programmed instructions) are created
within a single process to perform multiple tasks at once. Multi-threading is commonly used to
improve the performance of applications by executing different parts of a program concurrently.
[Concurrency](<https://en.wikipedia.org/wiki/Concurrency_(computer_science)>) does not imply
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agile Coretime is a framework that gives you flexible options to access blockspace, with access to bulk coretime or on-demand coretime. The closest computer science term that corresponds to Agile Coretime is https://en.wikipedia.org/wiki/Scheduling_(computing), which improves efficiency.

What could be referred to as multi-threading would be the interlacing and splitting of core regions, which is one of the features available in Agile Coretime, that lets the core be used by multiple parachain tasks (which can be treated as multiple threads). But does that provide performance improvement for parachains? No. It improves efficiency with scheduling.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

flexible options to access blockspace, with access to bulk coretime or on-demand coretime

this sounds less like a technical feature, and more about sales.

when you compare to cloud platforms, your ability to purchase resources on-demand, or in bulk, or whatever seems like the comparison.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey @DrW3RK and @shawntabrizi yes I was thinking about interlacing when doing this PR. I agree scheduling is more appropriate for agile coretime and then we can explain that scheduling enables multi-threading. I will add this feedback to the PR.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks. Here are some chains that use multi-threading to improve performance, which are not available on the Polkadot tech stack yet. It would be great to see these features added on the collator side.

https://aptos.dev/en/network/blockchain/execution
https://blog.sui.io/parallelization-explained/

filippoweb3 and others added 2 commits November 8, 2024 13:54
- added scheduling
- modified text multi-threading
@filippoweb3
Copy link
Contributor Author

Thank you all for the comments! I implemented the feedback, and I am merging this PR. Any change can be addressed in a future PR, as I think these terminology changes will take some iterations before reaching the final state.

@filippoweb3 filippoweb3 merged commit 5b4a766 into master Nov 11, 2024
3 checks passed
@filippoweb3 filippoweb3 deleted the tech-rename branch November 11, 2024 09:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A2 - Please Review Pull request is ready for review.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants