Ежедневные знания от Neonlabs - Pipelining (Русская версия)
-Solana смогла увеличить свою скорость, максимально используя аппаратные возможности, предлагаемые твердотельными накопителями NVMe. Разработчики оптимально использовали возможности современных процессоров и, в частности, архитектуры, отвечающей за обработку цепочек, известных как конвейеры.
-Конвейеры позволяют сегментировать процесс таким образом, чтобы каждая транзакция могла продвигаться по этапам процесса проверки, не дожидаясь завершения всего пути предшествующей транзакцией.
-Способ постоянно использовать все аппаратное обеспечение. То есть, сетевые карты, ядра процессора и все ядра видеокарты. Для этого команда разработчиков Solana использовала идею из дизайна процессоров. Они создали четырехтактный программный менеджер транзакций, названный TPU (Transaction Processing Unit - блок обработки транзакций) применительно к процессорам CPU и GPU.
-В сети Solana механизм цепочки обработки (или TPU), таким образом, проходит следующие четыре этапа:
1 - Получение данных, на уровне ядра операционной системы.
2 - Проверка подписи, управляемая графической картой - процессором, который особенно хорошо подходит для параллельных вычислений.
3 - Управление финансовым регистром, или банкингом, осуществляемое центральным процессором.
4 - Запись, снова выполняется ядром.
-Когда блоки завершены и отправлены валидаторам, TPU немедленно работает над следующими транзакциями, уже получив пакеты данных для обработки, проверив их подписи и выполнив необходимые финансовые операции. Таким образом, блоки могут обрабатываться в быстром темпе.
-Для того чтобы обеспечить ожидаемую производительность, на узле должны одновременно работать две различные цепочки обработки: TPU в качестве ведущей цепочки обработки и TVU (Transaction Validating Unit), используемый в качестве цепочки обработки, предназначенной для проверки. Аппаратное обеспечение и данные, необходимые для вычислений, являются стандартными и одинаковыми. Эти два процесса просто разбиты на разные аппаратные элементы, поскольку они будут по-разному использовать ресурсы.
Официальные страницы NeonLabs:
- Discord: https://discord.gg/5ynFYfa9TU
- Twitter: https://twitter.com/neonlabsorg
- Telegram: https://t.me/Neonlabsorg
- GitHub: https://github.com/neonlabsorg
- Reddit: https://www.reddit.com/r/neonlabsorg