- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 cmu15445 2023spring Project #4 - Concurrency Control
可以跟着这位大佬的文章做,讲解的非常好。如图,过了本地测试和大部分在线测试,但task3在线测试有个bug一直找不出来。到此,cmu15445 2023的实验基本完成,这个bug以及其他的一些优化等秋招结束有空再做。做这个项目的本意是丰富简历的项目经历,前后花了大概2周时间,收获还是挺多的,加深了对一些数据库基础的理解,以及debug更熟练了,建议有时间的同学可以跟着做一做。
2023-05-20 23:37:08 738 4
原创 cmu15445 2023spring Project #3 Query Execution
截止提交时间(2023.05-18),gradescope上有25人完成了project2。这次实验略微加深了对sql执行的理解,增加了vscode debug经验。
2023-05-18 17:01:12 1379
原创 cmu15445 2023spring Project #2 - B+Tree
到提交为止(2023-05-13),gradescope上有42人完成了project2。由于缓冲区管理用的是全局锁,笔者的B+树并发性能算是一般。笔者之前也写过B+Tree,但是是单线程内存B+Tree,这次多线程磁盘B+Tree还是挺困难的。相较于内存索引,磁盘索引还需要管理缓存区。另外两者的I/O粒度也不同,前者是cpu cacheline,后者是磁盘页/块。这导致两者在设计的着重点也不同,内存B+Tree的节点较小,需要充分利用每一个字节。
2023-05-14 00:48:31 942
原创 Paper Reading 02 基于持久性内存的哈希索引
本文将介绍2022之前发表在顶会或顶刊的几篇面向PMem的Hash索引。后续将从整体结构、读写和分裂操作、恢复操作和并发控制这几个方面介绍。
2022-09-26 20:01:35 848
原创 Short reading 01 LSP: Collective Cross-Page Prefetching for NVM
Short reading 01LSP: Collective Cross-Page Prefetching for NVM—对非易失性内存的集体跨页预取。研究背景上图是DRAM和NVM的读写最优延迟对比,NVM顺序读延迟是DRAM的2倍,而随机读是DRAM的3倍。按理说都是字节寻址,支持随机存取,为什么会出现这种情况?如下图所示,DRAM和NVM都是接在内存总线上,由MMU管理,每个NVM/DRAM bank都有一个行缓冲(row buffer)缓存这个bank最近最常访问的数据。文章基于两
2021-09-19 23:35:51 208
原创 Paper Reading 01 Efficient and Consistent NVMM Cache for SSD-Based File System
Paper Reading: Efficient and Consistent NVMM Cache for SSD-Based File System — 基于SSD文件系统的高效且一致的NVMM缓存研究背景基于DRAM-SSD体系的缓存管理以页粒度进行换入换出,当有同步操作时,需要把同步的数据所在的页全部写到SSD中,照成很大的I/O开销,然而实际上,只需要将同步页中的脏数据写回SSD即可。那有什么办法既可以同步数据,又减小开销吗?有,引入NVM,将同步页中的dirty cacheline写入NVM
2021-09-08 18:49:00 189
原创 树状数组
树状数组:参考1初略写了下模板#include <iostream>#include <algorithm>#include <vector>#include <string>using namespace std;template <typename T>class treeArray{private: vector<T> inNode; /* data */ T sum(int in
2021-08-31 15:53:43 69
原创 哈夫曼树压缩
哈夫曼树压缩最近重新看了下数据结构,树这一章节, 心血来潮,做一个哈夫曼树压缩。本来打算实现文件和文件夹压缩,解压,重命名功能,但debug半天只写完了文件相关功能。huffman.hpp#pragma once#include <string>#include <iostream>#include<vector>#include <sys/stat.h>#include <cstdint>#include <fstrea
2021-08-30 20:17:38 102
原创 败者树
败者树实现多路归并(c++)败者树:参考[1](https://blog.csdn.net/lxpaopao/article/details/49028849) [2](http://c.biancheng.net/view/1566.html)LoserTree.h测试文件败者树:参考1 2LoserTree.h实现了一个k路败者树,并用其实现多路归并模板函数。#pragma once#include <iostream>#include <vector>#incl
2021-08-30 20:10:45 91
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人