Поделиться в MAX

Rethinking the Monolith- Evolving Postgres for Hundreds of Cores and Far Memory

Аватар автора
Переосмысление монолита — эволюция Postgres для сотен ядер и удалённой памяти Изначально PostgreSQL проектировался для эпохи унифицированного доступа к памяти (UMA) и скромного количества ядер процессора. По мере того как индустрия смещается к высокоплотным многопроцессорным серверам с 128+ ядрами, нелинейными NUMA-топологиями и появляющимися иерархиями памяти CXL, традиционная «плоская» модель разделяемой памяти сталкивается с структурными ограничениями. Хотя непрерывные оптимизации сообщества были весьма эффективны, накладные расходы на поддержание глобального состояния приближаются к точке убывающей отдачи на современном оборудовании. Этот сеанс анализирует системные узкие места, возникающие при экстремальном масштабировании — такие как борьба за линии кэша на глобальных блокировках и нагрузка на межсоединительную ткань при массивных параллельных сканированиях — и утверждает, что локальность данных должна эволюционировать из подсказки для оптимизации в основную архитектурную задачу. Это предложение сообществу исследует оптимизацию PostgreSQL для современного оборудования путем разделения структур глобального состояния для минимизации накладных расходов на синхронизацию, исследования иерархического управления буферами для иерархий памяти с поддержкой CXL, а также использования адаптивного планирования для лучшего использования гетерогенных ресурсов CPU. Отделяя синхронизацию от глобальной памяти, доклад рассматривает, как ядро может сохранять свою основную идентичность...

0/0


0/0

0/0

0/0

0/0