2019-DBMS-Project icon indicating copy to clipboard operation
2019-DBMS-Project copied to clipboard

This is the programmin project of DBMS course in 2019

Results 4 2019-DBMS-Project issues
Sort by recently updated
recently updated
newest added

在我们的测试当中,加载效率比levelDB高4倍,但是运行效率慢4倍。(之前更惨,100倍) 我刚才采样检测了程序,发现占用程序时间的是keyHash()函数。 将LeafNode::find()里面关于fingerprint的比较相关代码注释掉之后效率比levelDB高1倍。 请问我们应该去除指纹机制,还是改掉哈希函数,还是其他方法?

请问应该如何模拟crash?

请问fptree的期望性能有多高? 我使用ycsb同样的代码测试leveldb和fptree,发现在load阶段fptree比leveldb慢了一倍,在run阶段两者性能差不多 在我们的实现中,每次修改叶子后都会立即调用LeafNode::persist,我们每次都判断叶子是否是pmem地址,若是则用pmem_persist持久化,如不是则用pmme_msync持久化,其实现代码为: ``` void LeafNode::persist() { if (pmem_is_pmem(this->pmem_addr, calLeafSize())) { pmem_persist(this->pmem_addr, calLeafSize()); } else { pmem_msync(this->pmem_addr, calLeafSize()); } } ```

论文里提到叶子的头部(即bitmap+pNext+fingerprints)部分的大小应该设置为一个cache-line大小,而当前主流CPU的cache-line大小都是64byte,那么叶子的度应该设置为26(4byte bitmap + 8byte pNext + 26 * 2byte fingerprints = 64byte)才能取得最佳性能。 而fptree框架的默认叶子的度的大小为56,这不是论文提及的最优值,是否应在最终实现时把叶子的默认的度改回26(测试代码不兼容)。 叶子的默认的度的大小设为56有什么额外的考虑吗? 我把叶子的度的大小改为26后,运行ycsb的220w测试,整体性能相比叶子的度的大小为56时提升了10%到20%