-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
203 lines (182 loc) · 20.4 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0,viewport-fit=cover"><title>猫猫虫Capoo的博客</title><meta name="author" content="郭腾"><meta name="copyright" content="郭腾"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="猫猫虫Capoo的博客">
<meta property="og:url" content="https://guoteng-ecnu.github.io/index.html">
<meta property="og:site_name" content="猫猫虫Capoo的博客">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="https://guoteng-ecnu.github.io/img/bugcat1.jpg">
<meta property="article:author" content="郭腾">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="https://guoteng-ecnu.github.io/img/bugcat1.jpg"><link rel="shortcut icon" href="/img/bugcat1.jpg"><link rel="canonical" href="https://guoteng-ecnu.github.io/index.html"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="stylesheet" href="/css/index.css?v=4.13.0"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.5.1/css/all.min.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0.33/dist/fancybox/fancybox.min.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlight.js","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
dateSuffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
infinitegrid: {
js: 'https://cdn.jsdelivr.net/npm/@egjs/infinitegrid@4.11.1/dist/infinitegrid.min.js',
buttonText: '加载更多'
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false,
percent: {
toc: true,
rightside: false,
},
autoDarkmode: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: '猫猫虫Capoo的博客',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2024-04-10 10:54:51'
}</script><script>(win=>{
win.saveToLocal = {
set: (key, value, ttl) => {
if (ttl === 0) return
const now = Date.now()
const expiry = now + ttl * 86400000
const item = {
value,
expiry
}
localStorage.setItem(key, JSON.stringify(item))
},
get: key => {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = Date.now()
if (now > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = (url, attr = {}) => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
Object.keys(attr).forEach(key => {
script.setAttribute(key, attr[key])
})
document.head.appendChild(script)
})
win.getCSS = (url, id = false) => new Promise((resolve, reject) => {
const link = document.createElement('link')
link.rel = 'stylesheet'
link.href = url
if (id) link.id = id
link.onerror = reject
link.onload = link.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
link.onload = link.onreadystatechange = null
resolve()
}
document.head.appendChild(link)
})
win.activateDarkMode = () => {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = () => {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 7.1.1"></head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/bugcat1.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="sidebar-site-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">4</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">6</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">3</div></a></div><hr class="custom-hr"/></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header" style="background-image: url('/img/bugcat2.jpg')"><nav id="nav"><span id="blog-info"><a href="/" title="猫猫虫Capoo的博客"><span class="site-name">猫猫虫Capoo的博客</span></a></span><div id="menus"><div id="toggle-menu"><a class="site-page" href="javascript:void(0);"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">猫猫虫Capoo的博客</h1><div id="site_social_icons"><a class="social-icon" href="https://github.com/GuoTeng-ECNU" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="mailto:PRCguoteng@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/04/10/blog-report/" title="博客作业报告">博客作业报告</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-04-09T17:29:09.218Z" title="发表于 2024-04-10 01:29:09">2024-04-10</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E4%B8%8A%E6%9C%BA%E6%8A%A5%E5%91%8A/">上机报告</a></span></div><div class="content">引言本次基于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 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/04/09/paper-MioDB/" title="MioDB论文笔记">MioDB论文笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-04-09T07:47:02.792Z" title="发表于 2024-04-09 15:47:02">2024-04-09</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/">论文笔记</a></span></div><div class="content">总体介绍原文标题为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 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/04/09/paper-MatrixKV/" title="MatrixKV论文笔记">MatrixKV论文笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-04-09T07:46:45.712Z" title="发表于 2024-04-09 15:46:45">2024-04-09</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/">论文笔记</a></span></div><div class="content">引言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 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2024/04/09/blog-guide/" title="博客配置指南">博客配置指南</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2024-04-09T06:26:57.915Z" title="发表于 2024-04-09 14:26:57">2024-04-09</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E5%AE%9E%E6%93%8D%E6%8C%87%E5%8D%97/">实操指南</a></span></div><div class="content">环境配置(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 ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/img/bugcat1.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">郭腾</div><div class="author-info__description"></div></div><div class="card-info-data site-data is-center"><a href="/archives/"><div class="headline">文章</div><div class="length-num">4</div></a><a href="/tags/"><div class="headline">标签</div><div class="length-num">6</div></a><a href="/categories/"><div class="headline">分类</div><div class="length-num">3</div></a></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/GuoTeng-ECNU"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/GuoTeng-ECNU" target="_blank" title="Github"><i class="fab fa-github" style="color: #24292e;"></i></a><a class="social-icon" href="mailto:PRCguoteng@gmail.com" target="_blank" title="Email"><i class="fas fa-envelope" style="color: #4a7dbe;"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">猫猫虫Capoo的新博客!</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/04/10/blog-report/" title="博客作业报告">博客作业报告</a><time datetime="2024-04-09T17:29:09.218Z" title="发表于 2024-04-10 01:29:09">2024-04-10</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/04/09/paper-MioDB/" title="MioDB论文笔记">MioDB论文笔记</a><time datetime="2024-04-09T07:47:02.792Z" title="发表于 2024-04-09 15:47:02">2024-04-09</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/04/09/paper-MatrixKV/" title="MatrixKV论文笔记">MatrixKV论文笔记</a><time datetime="2024-04-09T07:46:45.712Z" title="发表于 2024-04-09 15:46:45">2024-04-09</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2024/04/09/blog-guide/" title="博客配置指南">博客配置指南</a><time datetime="2024-04-09T06:26:57.915Z" title="发表于 2024-04-09 14:26:57">2024-04-09</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E4%B8%8A%E6%9C%BA%E6%8A%A5%E5%91%8A/"><span class="card-category-list-name">上机报告</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E5%AE%9E%E6%93%8D%E6%8C%87%E5%8D%97/"><span class="card-category-list-name">实操指南</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E8%AE%BA%E6%96%87%E7%AC%94%E8%AE%B0/"><span class="card-category-list-name">论文笔记</span><span class="card-category-list-count">2</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/LSM-Tree/" style="font-size: 1.5em; color: #99a9bf">LSM-Tree</a> <a href="/tags/%E9%85%8D%E7%BD%AE/" style="font-size: 1.1em; color: #999">配置</a> <a href="/tags/%E5%8D%9A%E5%AE%A2/" style="font-size: 1.1em; color: #999">博客</a> <a href="/tags/%E6%8A%A5%E5%91%8A/" style="font-size: 1.1em; color: #999">报告</a> <a href="/tags/KV%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 1.5em; color: #99a9bf">KV数据库</a> <a href="/tags/NVM%E8%AE%BA%E6%96%87/" style="font-size: 1.5em; color: #99a9bf">NVM论文</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2024/04/"><span class="card-archive-list-date">四月 2024</span><span class="card-archive-list-count">4</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">4</div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2024-04-10T02:54:51.913Z"><i class="fa-solid fa-spinner fa-spin"></i></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2020 - 2024 By 郭腾</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside-config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><span class="scroll-percent"></span><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js?v=4.13.0"></script><script src="/js/main.js?v=4.13.0"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui@5.0.33/dist/fancybox/fancybox.umd.min.js"></script><div class="js-pjax"></div></div></body></html>