跳转至

Buffer Pool Manager

236 个字 预计阅读时间 1 分钟

Abstract

  • 缓冲池负责将物理数据页在主内存的缓冲区和持久化存储之间来回移动,并且还起到缓存的作用,将频繁使用的页保存在内存中以加快访问速度,并将未使用或冷页逐出;除了缓存还可以支持虚拟内存的概念;
  • 实现三个存储管理器组件:
  • LRU-K replacement policy
  • Disk Scheduler
  • Buffer Pool Manager
  • home: https://15445.courses.cs.cmu.edu/fall2024/project1/

Tip

  • 缓冲池必须是线程安全的,要加锁。

Task 1: LRU-K Replacement Policy

LRU-K replacement policy

  • 该组件通过页表负责跟踪缓冲池中的页面使用情况,以确定要从内存中逐出并写回磁盘的候选页面 / 帧;
  • LRU-K 是在 LRU 的基础上增加了 Timestamp (K) 的策略 —— 对单个页面的访问次数计数;

Task 2: Disk Scheduler

Disk Scheduler

负责缓冲池和硬盘之间的读写。

Task 3: Buffer Pool Manager

Buffer Pool Manager