Add week 8 materials

This commit is contained in:
osukhoroslov committed 2026-11-04 19:23:39 +03:00
1 parent a987b82834
commit 0bf71ed374
38 files changed
+2908

No files matched your search

@@ -0,0 +1,25 @@
# Балансировщики нагрузки: лабораторная работа
Откройте `Lab.ipynb` в JupyterLab или редакторе с поддержкой Jupyter и выполните ячейки по порядку. Нужны Python, JupyterLab, NumPy и Matplotlib:
```bash
python -m pip install jupyterlab numpy matplotlib
```
В основной части три раздела и 10 прогонов. В конце есть дополнительный эксперимент с одинаковыми seed у балансировщиков: его можно оставить для самостоятельного разбора.
Симулятор написан на Rust с библиотекой simcore. По умолчанию ноутбук запускает его в Docker. Перед первым запуском и после изменения Rust-кода соберите образ из этой папки:
```bash
docker build -t distsys-load-balancing-lab:local .
```
Для запуска без Docker установите Rust версии, указанной в `rust-toolchain.toml` в корне репозитория, и задайте `USE_DOCKER = False` в ноутбуке. Тогда `cargo run --locked --release` соберёт текущие исходники автоматически.
На графиках показан p99 времени ответа для запросов, пришедших в окно `[t, t + 60)` секунд. Время ответа включает ожидание в очереди и обслуживание. Смысл метрики и параметры экспериментов разобраны в ноутбуке. После изменения симулятора или параметров пересчитайте графики.
Проверка симулятора при установленном Rust:
```bash
cargo test --locked
```