Rethinking the Monolith- Evolving Postgres for Hundreds of Cores and Far Memory
Rethinking the Monolith- Evolving Postgres for Hundreds of Cores and Far Memory
Переосмысление монолита — эволюция Postgres для сотен ядер и удалённой памяти Представлено Хайбо Яном (Haibo Yan) на PGConf.dev 2026 (https://2026.pgconf.dev) Изначально PostgreSQL проектировался для эпохи унифицированного доступа к памяти (UMA) и скромного количества ядер процессора. По мере того как индустрия смещается к высокоплотным многопроцессорным серверам с 128+ ядрами, нелинейными NUMA-топологиями и появляющимися иерархиями памяти CXL, традиционная "плоская" модель разделяемой памяти сталкивается с структурными ограничениями. Хотя непрерывные оптимизации сообщества были весьма эффективны, накладные расходы на поддержание глобального состояния приближаются к точке убывающей отдачи на современном оборудовании. Этот сеанс анализирует системные узкие места, возникающие при экстремальном масштабировании — такие как борьба за линии кэша на глобальных блокировках и нагрузка на межсоединительную ткань при массивных параллельных сканированиях — и утверждает, что локальность данных должна эволюционировать из подсказки для оптимизации в основную архитектурную задачу. Это предложение сообществу исследует оптимизацию PostgreSQL для современного оборудования путем разделения структур глобального состояния для минимизации накладных расходов на синхронизацию, исследования иерархического управления буферами для иерархий памяти с поддержкой CXL, а также использования адаптивного планирования для лучшего использования гетерогенных ресурсов CPU. Отделяя синхронизацию от глобальной памяти, доклад рассматривает, как ядро может сохранять свою основную идентичность, масштабируясь на оборудование следующего поколения. Наконец, мы рассмотрим поэтапный подход — начиная с хуков расширений и переходя к рефакторингу базовых блокировок. Идея не в том, чтобы переписать Postgres, а в том, чтобы найти практический способ для существующего движка работать с оборудованием, которое мы действительно видим в центрах обработки данных сегодня. https://2026.pgconf.dev/session/535 00:00 Start 00:35 Agenda. 01:23 Why the Ground is Shifting 02:20 The Mega-Core Era. 03:19 Fractured Memory Hierarchy. 04:25 The Disaggregated Server 05:10 Axioms of 1990 vs The Reality of 2026 05:53 Evolving for the Many Core Era. 06:39 Rethinking execution Models for Mega-Core Systems. 07:56 Fine-Grained Pipeline Executon. 09:28 Implementing Hybrid Threading. 10:25 Lock-Free & Scalable Data Structures 12:20 De-bootlenecking ProcArray. 14:00 Scalable Lock Manager 15:13 Pointer Swizzling 16:24 Decoupled Usage-State Segregation. 17:50 Scalable Write Path & Autonomouse Maintenance. 19:03 Maintenance in Many Core Era. 20:15 Re-architecting for NUMA Scalability. 21:52 Implementing Thread Locality in O/S 22:42 Hierarchical Thread 23:52 Harmonizing Physical Topology/Logical Query Execution 25:12 Topology-Aware Execution to Topology-Aware Persistence. 26:59 Tiered Memory Hierarhy. 28:27 Evolution of the Buffer Manager. 29:29 NUMA-Aware I/O-Orchestration. 31:14 A Future PostgreSQL I/O Orchestration Stack 32:01 Lockless WAL & Parallel Persistence. 33:12 Lockless WAL & Parallel Persistence 35:36 What is Evolutionary vs revolutionary. 37:40 Questions.