系列文章目录
学习型索引结构---开山之作学习 The Case for Learned Index Structures
学习索引--A Critical Analysis of Recursive Model Indexes(2021) (上)
学习型索引--A Critical Analysis of Recursive Model Indexes(2021) (中)
目录
前言
前段时间看了论文之后,因为电脑环境没配好,所以就没有运行代码,最近刚好有空,已经调好环境了,所以写篇博客记录一下,研究生很蓝的啦,学习型索引牛逼!!!!
一、参数
我的笔记本是拯救者2022年的 Y7000p,显卡是3050,环境是wsl2,windows 中的linux子系统,ubuntu22.04。我运行的代码就是这篇文章A Critical Analysis of Recursive Model Indexes(2021)提供的代码,网址是https://github.com/BigDataAnalyticsGroup/analysis-rmi。
二、介绍
首先,这个代码是在linux环境下运行的,这是论文中的环境参数所有实验都在一台Linux机器上进行,该机器具有Intel®Xeon®CPU E5-2620 v4 (2.10 GHz, 20 MiB L3)和4x8 GiB DDR4 RAM。我们的代码使用clang-12.0.1编译,优化级别为-O2,并执行单线程。
因为没有现成linux的机子,同时也没有服务器,所以我就搞了下WSL2,因为我之前也搞过,所以装的也很快,还是很简单的,网上大把的教程。一般具体就是你先把WSL2安装好,然后再去微软商店下载ubuntu,这个下载都是固定下载在C盘,所以,C盘内存不够的话,之后就可以用 move_WSL迁移到别的磁盘。
默认基本配置到安装好了之后就可以按照github上的操作步骤一步一步来了。
三、步骤
首先就是下载,打开ubuntu直接克隆,慢的可以挂梯子,我是使用了一个插件
这个插件会提供比较快的链接进行下载。
git clone --recursive https://github.com/BigDataAnalyticsGroup/analysis-rmi.git
cd analysis-rmi
然后就是下载数据集并生成RMI参考实现的源文件。因为RMI这部分代码是RUST语言,这个RMI就是那篇学习型索引开山之作的源代码,一开始是没有开源的后面才开源,看了A Critical Analysis of Recursive Model Indexes这篇论文,文章提出,RMI开源的代码跟一开始介绍的是有差别的。
接下来回归正题,我们在执行下面代码的时候会提示RUST没有安装,你只要按照它的提示安装就可以了。
scripts/download_data.sh
scripts/rmi_ref/prepare_rmi_ref.sh
上面两句代码运行完之后 ,你可以在data文件夹中看到数据集
接下来就是常规操作,逃不掉的cmake
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
make
bin/example
以上代码运行之后,最终的结果如下图
现阶段,我就是按照github上的步骤一步步进行,完成了一个小测验。到这里,这个项目就已经基本在本地运行成功了。
四、结尾
接下来,要去处理别的事情,具体关于里面的代码要只有有空了再在(下)里面总结。学海无涯苦作舟。研究生很蓝的啦。记录分享博客,不足之处请多多包涵。