В докладе на живом примере разберём, как эффективно распараллелить граф вычислений, опираясь на C11 memory model как на основу корректной синхронизации. Аккуратно выведем требуемые отношения happens-before и убедимся, что они выдерживаются в получившейся программе на Rust. Затем подключим loom, чтобы перебрать всевозможные варианты исполнения, детерминированно ловить гонки и закрепить инварианты тестами. В итоге вы получите практический рецепт: быстрый параллельный DAG + доказуемая корректность с минимальными накладными расходами.