博客作业报告
引言本次基于Hexo和Github Page搭建了一个静态个人博客,这个博客主要用于分享我个人的一些论文阅读笔记(以及一些配置教程)。
页面展示
总结与反思选择框架本文选择Hexo作为搭建博客的框架,原因有以下几点:
1、Hexo比较流行,网上相关的教程比较多,博客页面的主题也比较多。
2、Hexo可以在本地测试页面,并只需在本地上使用命令行即可将博客部署在Github Page上,部署起来很方便。
3、Hexo相关的插件可以用npm管理,十分方便。
页面设计本文使用Hexo主题butterfly来进行页面布局设计。实际上,选择Hexo主题可以更快地实现页面布局设计。
在选择Hexo主题的时候,发现了以下问题:
1、一些Hexo主题已经很久没更新了,不适配最新的Hexo框架(即Hexo7),就算可以调整来适配最新的Hexo,也会遇到很多问题,比如Hexo主题Suka。
2、一些Hexo主题的文档比较简陋,上手时会遇到一些困难,比如Hexo主题Snark。
本次选择主题butterfly,有以下原因:
1、这个主题具备博客的基础功能,比如分类、时间线排列、归档、标签等功能。
2 ...
MioDB论文笔记
总体介绍原文标题为Revisiting Log-Structured Merging for KV Stores in Hybrid Memory Systems
LSM-Tree一直有周期性写停滞和写放大的问题,在传统DRAM-SSD系统架构里解决这一问题还是十分困难的。而NVM(持久化内存)有希望取代SSD,为优化基于LSM-Tree的KV存储性能提供了新的机会。
过去也有一些工作使用NVM对基于LSM-Tree的KV存储性能进行优化,但是这些工作都忽略了一个问题:传统LSM-Tree的数据序列化和压缩速度太慢,因此可能会阻塞数据从DRAM到NVM的Flush。 如果当DRAM的MemTable累积了突发性的大量写入,就需要时间来对KV项进行序列化,再将数据装入LSM-Tree的$L_0$层。因为LSM-Tree的数据序列化和压缩速度太慢,阻塞了数据从DRAM到NVM的Flush,所以存储系统就会出现写停滞。
论文的工作如下:
1、设计了多级skip list(又叫PMTable,替代LSM实现的SSTable),以充分利用NVM的字节可寻址性进行KV存储,并利用One-Piece ...
MatrixKV论文笔记
引言MatrixKV是ATC20的一篇文章,主要研究方向是使用NVM(持久化内存)优化LSM-tree数据结构。论文主要关注LSM-tree在写入时产生的Write Stalls(写停滞)和Write Amplification(写放大)并尝试解决以上两个问题。
原文题目为MatrixKV: Reducing Write Stalls and Write Amplification in LSM-tree Based KV Stores with Matrix Container in NVM。
背景论文分析了LSM-tree具有写停顿和写放大问题。
写放大
写放大指的是写入一个 KV 对的引起的磁盘 I/O 大小和实际 KV 对的大小之比,那么在磁盘带宽有限的情况下,写放大越大,实际数据写入的吞吐量也就越小。
LSM-tree将数据划分成多层,为了保证每层的数据有序性,有后台Compaction线程进行多个SSTable文件合并,将上层的数据迁移到下层(如将$L_0$的数据迁移到$L_1$),观察到当$L_i$的数据与$L_{i+1}$的数据进行合并,如果$L_i$的一个k ...
博客配置指南
环境配置(Win10)1、首先安装Git
2、配置Git信息:
12git config --global user.name "github 用户名"git config --global user.email "github 注册邮箱"
3、为Github账户添加本地的ssh公匙
4、安装node.js,按默认选项安装即可,不用改动
项目配置1、新建一个空文件夹,进入这个文件夹里
2、安装hexo:
1npm i hexo-cli -g
3、初始化安装依赖:
12hexo init .npm install
4、如果遇到“因为在此系统上禁止运行脚本”错误,参考“因为在此系统上禁止运行脚本”解决办法
5、输入以下命令,并用浏览器打开http://localhost:4000:
1234# 生成静态网页hexo g# 打开本地服务器hexo s
建立Github代码仓库1、建一个公开的代码仓库,名字为Github用户名.github.io
2、Github默认会自动启用Github Pages
部署到Github1、在目录里的_confi ...