错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

PMEMgreSQL: Embracing PostgreSQL with Persistent Memory

  • Xinyuan Sun,
  • Ji Shi,
  • Yinjun Han,
  • Zhenghua Chen

摘要

Persistent memory (PMem) is a transformative technology that holds the potential to significantly enhance the performance of database systems like PostgreSQL (PG). The emerging persistent memory is promising for boosting database performance because of its byte-addressable persistence with high bandwidth and low latency. However, the integration of PMem with databases is not without its challenges, particularly when considering concurrent processing and Non-Uniform Memory Access (NUMA) architectures. We encounter two unique issues which significantly affect system performance when integrating PMem into PG. Firstly, unrestricted concurrent access to PMem can lead to bandwidth degradation, which negatively impacts overall system performance. Secondly, when data is accessed across different NUMA nodes, performance can suffer due to increased latency. In this case, we propose PMEMgreSQL, embracing PG with persistent memory while solving the two issues above effectively. We first design a PMem-aware parallelism control mechanism which keeps processes accessing PMem in a queued and controlled manner. This approach involves careful scheduling of read and write operations to PMem, preventing the processes from menacing the memory bandwidth. Then we present a cross-NUMA logging interleave strategy which allows parallel logging in PMem devices in different NUMA nodes. This strategy ensures that the logging operation is distributed efficiently, reducing the performance penalty associated with cross-NUMA memory access.