SYSTEM ATLASЗагрузка материала

Теорема CALM

CALM Theorem

Согласованные вычисления без координации возможны именно для монотонных программ.

Простыми словами

Если новые факты только добавляют выводы и не требуют отзывать старые, узлы могут работать независимо и сходиться без глобальной синхронизации. Немонотонные решения обычно требуют знания об отсутствии данных, а значит — координации.

Механизм действия

Сначала проверяют, есть ли исходное условие из определения. Затем смотрят, как оно влияет на структуру компонентов, потоки данных, ограничения и действия участников. Если эту связь не удаётся наблюдать, принцип не стоит использовать как готовое объяснение.

Пример в работе

Нерабочий подход

Добавлять консенсус ко всем операциям, не проверяя, можно ли выразить их монотонно.

Системный подход

Разделять монотонные части вычисления и локализовать координацию вокруг отрицаний, уникальности и глобальных ограничений.

Ограничения

«Теорема CALM» объясняет только часть происходящего в области «Распределенные системы». Сам принцип не говорит, насколько сильным будет эффект в вашем случае, и не заменяет измерения. При другом масштабе, среде или временном горизонте результат может отличаться.

Источник

Joseph M. Hellerstein, Peter Alvaro, “Keeping CALM: When Distributed Consistency is Easy”, 2020.

Первоисточник