-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path000_intro.tex
14 lines (9 loc) · 2.6 KB
/
000_intro.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
% !TeX spellcheck = ru_RU
% !TEX root = vkr.tex
\section*{Введение}
\thispagestyle{withCompileDate}
\verb|TATLIN.BACKUP|\footnote{\href{https://yadro.com/ru/tatlin/backup}{TATLIN.BACKUP}
--- система хранения данных резервных копий (Дата обращения: 4.1.2025)} --- проект группы компаний \verb|YADRO|\footnote{\href{https://yadro.com/}{YADRO} --- официальный сайт компании (Дата обращения: 4.1.2025)}, посвященный созданию системы бекапов с использованием алгоритмов дедупликации написанный на языке \verb|Rust|. \verb|Rust| предоставляет \verb|async| / \verb|await|\cite{fsharpasyncawait} интерфейс для обработки асинхронных событий. Язык не фиксирует реализацию, позволяя пользователю выбирать асинхронный рантайм.
\verb|tokio|\footnote{\href{https://tokio.rs/}{tokio} --- официальный сайт проекта (Дата обращения: 4.1.2025)} --- проект, предоставляющий две реализации асинхронного рантайма: так называемые \verb|current_thread| и \verb|multi_thread| рантаймы, частично реализует стандартную библиотеку языка с асинхронным интерфейсом, примитивы синхронизации, коллекции, таймеры, профилировщики --- одним словом целую экосистему для написания асинхронных программ.
Многопоточный рантайм из \verb|tokio| используется в \verb|TATLIN.BACKUP|, где был замечен недостаток текущей реализации: общая очередь асинхронный событий, разделяемая всеми потоками \verb|tokio|, защищена мьютексом и становится бутылочным горлышком по предположению инженеров из \verb|YADRO|.
Именно исследованию возможности улучшения производительности многопоточного рантайма \verb|tokio| в типичных для \verb|TATLIN.BACKUP| сценариях с помощью изменения алгоритмов общей очереди событий посвящена данная работа.