当前位置: 首页 > article >正文

【0257】关于pg内核shared cache invalidation messages (概念篇)

文章目录

  • 1. inval messages
  • 2. 可配置参数(Configurable parameters)

1. inval messages

所谓“共享缓存无效消息(shared cache invalidation messages)”,从概念上讲,共享缓存无效消息存储在一个无限数组中,其中maxMsgNum是存储提交消息的下一个数组下标, minMsgNum是包含尚未被所有后端读取的消息的最小数组下标,并且我们总是有maxMsgNum >= minMsgNum。 (当没有消息挂起时,它们是相等的。)对于每个活动后端,都有一个nextMsgNum指针,指示它需要读取的下一条消息;对于每个后端,我们有maxMsgNum >= nextMsgNum >= minMsgNum。

(在当前的实现中,minMsgNum是每个进程nextMsgNum值的下界,但它并没有严格地保持等于最小的nextMsgNum —— 它可能会落后。我们只在调用SICleanupQueue()时更新它,我们尽量不经常这样做。)

实际上,消息存储在MAXNUMMESSAGES条目的循环缓冲区中。我们通过计算MsgNum % MAXNUMMESSAGES将MsgNum值转换为循环缓冲区索引(只要MAXNUMMESSAGES是一个常数并且是2的幂,这应该很快)。只要ma


http://www.kler.cn/a/234447.html

相关文章:

  • 吴恩达机器学习笔记(3)
  • LED和QLED的区别
  • Python酷库之旅-第三方库Pandas(206)
  • uniapp的基本使用(easycom规范和条件编译)和uview组件的安装和使用
  • 【系统架构设计师】真题论文: 论软件可靠性设计与应用(包括解题思路和素材)
  • 希尔排序(C语言)
  • 你好,C++(11)如何用string数据类型表示一串文字?根据初始值自动推断数据类型的auto关键字(C++ 11)
  • [C#]winform制作仪表盘好用的表盘控件和使用方法
  • 私有化部署一个自己的网盘
  • 【超高效!保护隐私的新方法】针对图像到图像(l2l)生成模型遗忘学习:超高效且不需要重新训练就能从生成模型中移除特定数据
  • 2024 年 5 款适用于免费 iPhone 数据恢复的工具软件
  • 【从Python基础到深度学习】1. Python PyCharm安装及激活
  • AR人脸106240点位检测解决方案
  • 《CSS 简易速速上手小册》第1章:CSS 基础入门(2024 最新版)
  • 问题:老年人心理健康维护与促进的原则为________、________、发展原则。 #媒体#知识分享
  • Python算法题集_随机链表的复制
  • fast.ai 机器学习笔记(一)
  • 信号的状态类型
  • Unity引擎学习笔记之【动画层操作】
  • 突破编程_C++_基础教程(继承与多态)
  • EasyExcel的导入导出使用
  • Open CASCADE学习|扫掠
  • STM32 与 ARM 的联系
  • 面试 JavaScript 框架八股文十问十答第九期
  • IAR报错解决:Fatal Error[Pe1696]: cannot open source file “zcl_ha.h“
  • 数据备份和恢复