Кэширование пользовательских данных в СХД: реализация протокола синхронизации кэшей в Active-Active-кластере
Доклад принят в программу конференции
Целевая аудитория
Тезисы
Одной из ключевых характеристик системы хранения данных является величина задержек при работе с данными, так как эти задержки могут напрямую влиять на производительность клиентских приложений: гипервизоров, файловых хранилищ, бизнес-приложений. Для сокращения задержек СХД оснащаются большими объемами DRAM-памяти, отведенной под кэш пользовательских данных.
Для обеспечения отказоустойчивости СХД представляет собой Active-Active-кластер из двух независимых контроллеров хранения. Поэтому одной из ключевых задач при реализации уровня кэширования данных является обеспечение когерентности кэшей на этих контроллерах — это позволяет внешним приложениям прозрачно работать с двумя отдельными кэшами, как с одним единым кэшом. Обеспечение когерентности потребовало от нас разработать специальный протокол синхронизации кэшей пользовательских данных.
В рамках этого доклада мы поговорим:
* как работает СХД и где она используется;
* коротко опишем путь, который проходят данные от приложения на клиентском сервере до дисков в дисковой полке и наоборот;
* о том, как мы можем писать в кэш одного контроллера, но читать из другого, и почему при внезапном отказе одного из контроллеров данные не теряются и не повреждаются;
* как нам в этом помогает протокол синхронизации кэшей;
* о том, как развивался данный протокол в нашей системе;
* как выполняется тестирование кэша данных в СХД: как выявить проблемы с когерентностью кэшей и какие инструменты для этого используются;
* об отладке уровня кэширования: как мы нашли редко воспроизводимый баг и какие изменения мы внесли в протокол;
* и как выглядит уровень кэширования сейчас.
Старший инженер по разработке ПО.
В компании YADRO более 3 лет занимается уровнем кэширования пользовательских данных в СХД семейства Tatlin. Разрабатывает основные сервисы обработки данных, протоколы коммуникации внутри отказоустойчивого кластера, алгоритмы управления кэшами.
YADRO
Видео
Другие доклады секции
Базы данных и системы хранения