first commit
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# P09-B. FoundationDB: детерминированная имитация
|
||||
|
||||
- **Версия и дата проверки:** 1.0, 05.09.2026.
|
||||
- **Статус:** готово к назначению.
|
||||
|
||||
## Статья и исходные материалы
|
||||
|
||||
- **Основная статья:** FoundationDB Team — [FoundationDB: A Distributed Unbundled Transactional Key Value Store](https://www.foundationdb.org/files/fdb-paper.pdf). SIGMOD 2021.
|
||||
- **Кратко о статье:** FoundationDB сочетает рабочую распределённую базу с детерминированной имитацией, в которой тот же код выполняется под управляемым временем, сетью и инъекцией отказов. Фиксация начального зерна позволяет точно повторять редкие последовательности событий и отлаживать нарушения инвариантов. В этом проекте воспроизводится принцип детерминированного планирования и сравнивается повторяемость диагностики с обычным многопроцессным запуском.
|
||||
- **Почему результат актуален:** статья описывает архитектуру FoundationDB: небольшое транзакционное ядро, разделение ролей хранения и обработки и детерминированную имитацию отказов для проверки системы.
|
||||
- **Артефакты и данные:** [apple/foundationdb](https://github.com/apple/foundationdb), открытая система с локальным многопроцессным режимом и детерминированными simulation tests. Зафиксированная основная ревизия: `apple/foundationdb@ddec61a629a9` (Apache-2.0).
|
||||
|
||||
## Обязательный результат
|
||||
|
||||
- **Проверяемый вопрос или утверждение:** Детерминированная имитация позволяет систематически проверять последовательности отказов и точно воспроизводить редкие нарушения, которые трудно диагностировать в обычном многопроцессном запуске.
|
||||
- **Технический результат:** Собрать или использовать зафиксированный simulation-режим FoundationDB, подготовить малую нагрузку, один проверяемый инвариант и сценарии отказов, управляемые seed. Добавить автоматическое повторное проигрывание найденной трассы.
|
||||
- **Эксперимент:** Сравнить обычный локальный fault-injection и детерминированную имитацию по числу исследованных сценариев, времени до обнаружения, доле точных повторов и размеру диагностической трассы. Обязательны несколько seed, два вида отказа и намеренно внесённое либо уже известное нарушение.
|
||||
- **Границы выводов:** сравнение характеризует воспроизводимость и исследованное пространство для выбранной нагрузки, инварианта и видов отказа; оно не доказывает корректность FoundationDB и не оценивает частоту таких сбоев в эксплуатации.
|
||||
- **Ресурсный профиль:** локально, CPU, 8–16 ГБ памяти. Сборка всей системы может быть долгой; запасной вариант — использовать готовый выпуск для реального эксперимента и исходный код только для simulation tests.
|
||||
|
||||
## Содержательные направления
|
||||
|
||||
- имитационный стенд и нагрузка.
|
||||
- инварианты, отказы и воспроизведение.
|
||||
- базовые варианты, покрытие, уменьшение трасс и анализ.
|
||||
|
||||
## Возможное продолжение
|
||||
|
||||
Уменьшать трассу, добавить новый инвариант или отказ, направлять выбор seed по покрытию либо сопоставить simulation trace с реальным локальным кластером.
|
||||
Reference in New Issue
Block a user