30 lines
5.3 KiB
Markdown
30 lines
5.3 KiB
Markdown
# P10. Detock: транзакции между регионами без глобального упорядочивания
|
|||
|
|
|
||
|
|
- **Версия и дата проверки:** 1.0, 05.09.2026.
|
||
|
|
- **Статус:** готово к назначению.
|
||
|
|
|
||
|
|
## Статья и исходные материалы
|
||
|
|
|
||
|
|
- **Основная статья:** Cuong D. T. Nguyen, Johann K. Miller и Daniel J. Abadi — [Detock: High Performance Multi-region Transactions at Scale](https://drum.lib.umd.edu/items/8c710897-0b8c-4693-9041-e75209e792d7). SIGMOD 2023.
|
||
|
|
- **Кратко о статье:** Межрегиональные транзакции затрагивают несколько первичных регионов и при высокой конфликтности приводят либо к частым откатам, либо к распределённым взаимоблокировкам. Detock предлагает протоколы управления конкурентностью и детерминированного разрешения взаимоблокировок, сохраняя строгую сериализуемость без глобального упорядочивания всех операций. Проект проверяет этот механизм на сокращённой реализации или дискретно-событийной модели.
|
||
|
|
- **Почему результат актуален:** код собирается на обычном Linux-стеке и допускает локальный функциональный запуск; вопрос о цене межрегиональной координации и конфликтов остаётся центральным для геораспределённых транзакционных систем.
|
||
|
|
- **Артефакты и данные:** [umd-dslam/Detock](https://github.com/umd-dslam/Detock) под MIT, с C++-реализацией, однопроцессной конфигурацией, многорегиональным стендом и отдельными данными экспериментов. Зафиксированные ревизии: `umd-dslam/Detock@9f75dbdf93b6` (MIT).
|
||
|
|
|
||
|
|
## Обязательный результат
|
||
|
|
|
||
|
|
- **Проверяемый вопрос или утверждение:** графовое управление зависимостями и детерминированное разрешение взаимоблокировок сохраняют строгую сериализуемость и уменьшают потери при высокой конфликтности по сравнению с глобальным упорядочиванием или откатами по тайм-ауту.
|
||
|
|
- **Технический результат:** Запустить сокращённую конфигурацию Detock в нескольких локальных процессах либо независимо реализовать его дискретно-событийную модель. Добавить реализации глобального порядка и простой стратегии отката, общий генератор транзакций и автоматическую проверку допустимости и сериализуемости по журналу.
|
||
|
|
- **Эксперимент:** при выбранном техническом пути сравнить Detock с глобальным порядком и простой стратегией отката, варьируя конфликтность и межрегиональную задержку и контролируя сериализуемость всех результатов.
|
||
|
|
- **Границы выводов:** сериализуемость и относительная эффективность проверяются для выбранной модели транзакций, конфликтности и межрегиональной задержки; локальный стенд или модель не подтверждают производительность Detock в реальной глобальной сети.
|
||
|
|
- **Ресурсный профиль:** расширенно локально или имитация, Linux, C++, CPU, желательно 16 ГБ памяти. Исходная оценка использует несколько физических узлов; обязательный результат допускает несколько локальных процессов или независимую модель с проверкой сериализуемости по журналу.
|
||
|
|
|
||
|
|
## Содержательные направления
|
||
|
|
|
||
|
|
- сборка и модель транзакций.
|
||
|
|
- алгоритмы зависимостей, взаимоблокировок и проверка сериализуемости.
|
||
|
|
- нагрузки, сетевая модель и статистический анализ.
|
||
|
|
|
||
|
|
## Возможное продолжение
|
||
|
|
|
||
|
|
Исследовать перекос ключей, долю межрегиональных транзакций, хвостовую задержку, миграцию данных либо гибридную стратегию для разных уровней конфликтности.
|