-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathReport.tex
416 lines (312 loc) · 9.9 KB
/
Report.tex
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
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
\documentclass[11pt]{beamer} %\usetheme{Madrid}
\usepackage{graphicx}
\usepackage{subfigure}
\usepackage[english]{babel}
\usepackage{times}
\usepackage{caption}
\usepackage[T1]{fontenc}
\usepackage{ctex}
%\usepackage{beamerthemesplit} % 加载主题宏包
\usetheme{Warsaw} % 选用该主题
%\useinnertheme{default} % 选用该主题
\usepackage{multicol}
% 设置页码的外观和位置
\setbeamertemplate{page number in head/foot}[framenumber] % 显示幻灯片页码
\setbeamertemplate{footline}[frame number] % 显示页码在底部导航栏
\begin{document}
%\begin{frame}
\title[Paper Summary]{Sherman: A Write-Optimized Distributed B+Tree Index on Disaggregated Memory,
Qing Wang, Youyou Lu, Jiwu Shu∗
SIGMOD22 }
\author[report]{Reporter: Luo Tianyi} % 显示作者
\institute[Luo Tianyi]{Koukou, HUST} % 设置学院机构
\date{\today} % 显示日期
\logo{\includegraphics[width=2.1cm,height=1.5cm]{1.png}}
\begin{frame}
\titlepage
\end{frame}
%\section[Contents]{}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}
\frametitle{Contents}
\begin{multicols}{2}
\tableofcontents
\end{multicols}
\end{frame}
%\AtBeginSubsection[] {
% \frame<handout:0> {
% \frametitle{Contents}
% \tableofcontents[current,currentsubsection]
% }
%}
\section{Background}
\subsection{RDMA}
\begin{frame}
\frametitle{Background : RDMA}
\begin{columns}
\begin{column}{0.5\textwidth}
\centering
\includegraphics[height=3.5cm]{00.png}
\\
{DMA Ideas}
\end{column}
\begin{column}{0.5\textwidth}
\centering
\includegraphics[height=3.5cm]{01.png}
{RDMA Ideas}
\end{column}
\end{columns}
%\begin{figure}[ht]%%图
% \centering %插入的图片居中表示
%
% \includegraphics[width=0.5\textwidth]{01.png}
% \caption{Design Ideas Of RDMA} %图片的名称
% \end{center}
\begin{itemize}
% \item Remote Direct Memory Access : From DMA
\item DMA->RDMA Reduce the number of copies, reduce CPU involvement, and support remote access.
\item One-Sided and Two-Sided verbs
\item {Specialized NICs and communication protocols,
developing to ultra-fast access}
\end{itemize}
\end{frame}
\begin{frame}[t]
\begin{columns}
\begin{column}{0.4\textwidth}
\centering
\includegraphics[height=3.5cm]{03.png}
\\
{OS Bypass}
\end{column}
\begin{column}{0.6\textwidth}
\centering
\includegraphics[height=3.5cm]{04.png}
{Verbs}
\end{column}
\end{columns}
\begin{itemize}
\item Two-Sided: pass control messages
\item One-Sided: Memory copy
\item Verbs: int ibv\_post\_send(struct ibv\_qp *qp, struct ibv\_send\_wr *wr, struct ibv\_send\_wr **bad\_wr);
\end{itemize}
% \end{center}
\end{frame}
\begin{frame}[t]
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=0.88\textwidth]{02.png}
\caption{RDMA NICs Performance} %图片的名称
\end{figure}
\begin{itemize}
\item Microsecond level latency and high bandwidth
\item Available for disggregated design
\end{itemize}
% \end{center}
\end{frame}
%\begin{frame}[fragile]
% \frametitle{Pearson Correlation}
% \begin{figure}[t]%%图
% \centering %插入的图片居中表示
% \includegraphics[width=\textwidth]{1.png}
% \caption{Pearson Correlation Heatmap} %图片的名称
% \end{figure}
%\end{frame}
\subsection{Disaggregated Memory}
\begin{frame}[t]
\frametitle{Background : Disaggregated Memory}
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=0.60\textwidth]{05.png}
\end{figure}
\begin{itemize}
\item Resource disggregation
: Near zero computer power on memory side
\end{itemize}
\end{frame}
\subsection{B+Tree Index Structure In DB}
\begin{frame}[fragile]
\frametitle{Background : B+ Tree}
Index Structure: A key technique to speed up massive data query, Determing the performance of DB system
B+ Tree Index: A widely-used tree index in DB systems, support range query...
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=0.5\textwidth]{06.png}
\end{figure}
\end{frame}
\begin{frame}[t]
Basic structure of B+Tree:
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=0.60\textwidth]{07.png}
\end{figure}
\begin{itemize}
\item Fast read(query)
\item Relatively slow write(insert)
\end{itemize}
\end{frame}
\section{Bottleneck}
\subsection{Existing Approaches}
\begin{frame}[fragile]
\frametitle{Bottleneck : Existing Approaches}
No previous design on disggregated memory.
(1) Using One-sided Verbs Purely, FG
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=0.7\textwidth]{08.png}
\end{figure}
\end{frame}
\begin{frame}[t]
No previous design on disggregated memory.
(2) Extending RDMA Interfaces
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=1\textwidth]{09.png}
\end{figure}
\begin{itemize}
\item Hard to deploy
\end{itemize}
\end{frame}
\subsection{Slow Write Operations}
\begin{frame}[t]
\frametitle{Bottleneck : Slow Write Operations}
Reasons?
(1) Excessive Round Trips when modifying a Tree node.
What's RTT?
Round-trip time (RTT) is the duration in milliseconds (ms) it takes for a network request to go from a starting point to a destination.
\vspace{1cm}
A client thread needs 4 round-trips:
\begin{itemize}
\item Acquiring associated exclusive lock
\item Reading the tree node,
\item Writing back the modified tree node
\item And finally releasing the lock
\end{itemize}
\end{frame}
\begin{frame}[t]
(2) Slow Synchronization Primitives
\begin{itemize}
\item Expensive in-NIC concurrency control
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=0.7\textwidth]{10.png}
\end{figure}
\item Unnecessary retries.
\item Lacking Fairness.
\end{itemize}
\end{frame}
\begin{frame}[t]
(3) Write Amplification
\begin{itemize}
\item Sorted layout: a lot to modify via RDMA\_WRITE
\item too large I/O size
\begin{figure}[ht]%%图
\centering %插入的图片居中表示
%
\includegraphics[width=0.7\textwidth]{11.png}
\end{figure}
\end{itemize}
\end{frame}
\section{Design of Sherman}
\subsection{Overview}
\begin{frame}[t]
\frametitle{Design: Overview}
\begin{figure}
\centering
\includegraphics[width=0.7\linewidth]{15}
\end{figure}
\end{frame}
\begin{frame}[t]
\begin{itemize}
\item Concurrency Control:
Before modifying a tree node, the
client thread must acquire the associated exclusive lock
Use a HOCL approach.
\item Cache Mechanism:
Case 1:
Internal nodes visited before.
Case 2:
The first 2 levels of nodes
\end{itemize}
\end{frame}
\subsection{Combine}
\begin{frame}[fragile]
\frametitle{Design : Combine(Reduce RTTS)}
Abstract: Combine several commands together to reduce round trips.
Case 1:
Since a tree node and its lock co-locate at the same Memory node, transmit them together.
Case 2:
When split and the generated sibling node is in the same Memory node, transmit them together.
\end{frame}
\subsection{Hierarchical On-Chip Lock}
\begin{frame}[t]
\frametitle{Design : Hierarchical On-Chip Lock(Deal with concurrency control)}
HOCL leverages on-chip memory of
NICs to avoid PCIe transactions at MS-side; it also maintains local
locks at CS-side, to form a hierarchical structure, reduce retries.
\begin{itemize}
\item Memory Side: On-chip(NICs) lock table
\item Compute Side: A local lock table to coordinate conflicting lock requests within the same Compute nodes.
\end{itemize}
\end{frame}
\subsection{Two Level Design}
\begin{frame}[t]
\frametitle{Design : Two Level Design(Deal with the write amplification)}
\begin{figure}
\centering
\includegraphics[width=0.7\linewidth]{16}
\end{figure}
\centering
Use a version check to control:
When not splitting a node, only transmit a 4-bit "version"
\end{frame}
\section{Performance}
\subsection{Exp Setup}
\begin{frame}[t]
\frametitle{Performance : Exp Setup}
(1) Hardware
\begin{figure}
\centering
\includegraphics[width=1.0\linewidth]{12}
\end{figure}
MS: Memory Server
CS: Compute Server
(2) Workload
There are two types of key popularity: uniform and skewed. In uniform workloads, all keys have the same probability of being accessed. Skewed workloads follow a Zipfian access distribution, common in production environments.
(3) Evaluation Indicators
Bandwidth and Latency.
\end{frame}
\subsection{Performance Test}
\begin{frame}[t]
\frametitle{Performance : Performance Test}
\begin{figure}
\centering
\includegraphics[width=0.9\linewidth]{13}
\end{figure}
\begin{figure}
\centering
\includegraphics[width=0.9\linewidth]{14}
\end{figure}
\end{frame}
\subsection{Conclusion}
\begin{frame}[fragile]
\frametitle{Performance : Conclusion}
The paper proposed and evaluated Sherman, an RDMA-based B+Tree(and the first)
index on disaggregated memory. Sherman introduces a set of techniques to boost write performance and outperforms existing solutions, demonstrates that combining RDMA
hardware features and RDMA-friendly software designs can enable
a high-performance index on disaggregated memory.
\end{frame}
\begin{frame}[plain,c]
\begin{center}
\Huge Thank You !
\vspace{2cm}
\small Luo Tianyi
\end{center}
\end{frame}
\end{document}