SlideShare a Scribd company logo
1 of 44
Download to read offline
WARNING!
この発表には
コードが出てきません
git cloneの準備はいいですか?

Sunday, December 8, 2013
dm-writeboost開発しました
オポください
@akiradeveloper

DM野郎だが
何か?
(注) DM = デバイスマッパー

Sunday, December 8, 2013
オポ
•
•
•

“オポ”チュニティの略
通常は, Job Opportunityのこと. 楽天が使い出したことでその語感がブームに
弊社では概念が拡張

•
•
•

Sunday, December 8, 2013

例1) タダ飯オポ
例2) MLにおけるレスをオポと呼ぶ (マイクオポ, カーゴンオポ)

実例
Hello!
自己紹介

•
•
•
•
•
Sunday, December 8, 2013

名前: 早川 輝 (はやかわ あきら)
所属: 完全に黙秘
勉強会で発表するのは初
会社入ってからカーネルの存在を知った (カーネル歴2.5年の素人です)
はてなブログ「テストステ論」やってます
発表の目的
• ライトブーストの技術背景・動作原理・
設計・性能を理解してもらう

• 開発やコミュニティ提案の経緯
• 今後の計画を共有
Sunday, December 8, 2013
dm-writeboost
今すぐgit cloneせよ
https://github.com/akiradeveloper/dm-writeboost

Sunday, December 8, 2013
dm-writeboost
is 何
write + boost
(writeを加速する)

Sunday, December 8, 2013
元ネタの論文
Disk Caching Disk (DCD)
•

RAM Bufferにダーティデータと対応するメタ
データをログ書きして, フルになったら
Cache Diskに吐く.

•

ControllerはテーブルをDRAM上に管理して,
lookupを行う.

•

これ自体, Sprite LFS (Rosenblum, 1992)に影響
を受けて, ブロックで実現する着想

(or backing store)

•

http://www.ele.uri.edu/research/hpcl/DCD/DCD.html
Y. Hu and Q.Yang, DCD -- Disk Caching Disk: A New
Approach for Boosting I/O Performance (1995)
Sunday, December 8, 2013

当時はログ書きが熱かったらしい
応用例
ブロックレベルの
ログ書き自体は新しくない
•

Griffin (MS Research, 2010)

•

バッキングとしてSSD, キャッシュとしてHDDを使い, そこで上書き
を吸収することでSSDへの書き込みを減らす.

•

Mercury (NetApp, 2011)

•

Write Through Cache. SSDに書く前にRAMでバッファリングして, ま
とめて書く.

•

bcache (Kent Overstreet)

•

ドキュメントによると, 同様にキャッシュへのログ書きをしている
らしい.

•

SMR (ベンダーが議論中)

•
Sunday, December 8, 2013

HDD内でログ構造化を行う.
ディベロパあるある
1. 文献読む
2. 「この技術やばい・・・作りたい・・・」
3. 「書いてあることが曖昧な気がする. これ本当に正
しく動くのか???確かめたい・・・」
4. 「おれさまならこの論文に書いてあるより効率良
く作れてしまうな」
5. 「Linux向けに最高の実装をおれが作る!!!」

Sunday, December 8, 2013
世はまさに
SSD Cache 戦国時代!
立身出世!オポ!オポ!

• bache (Kent, 3.9-)
• dm-cache (RedHat, 3.10-)
• dm-writeboost (おれ, 3.?-)
• FlashCache (Facebook)
• enhanceIO (sTec)
• XtremSW Cache (EMC, not OSS)
Sunday, December 8, 2013
と、いうわけで。
オポのために開発開始

• 毎年恒例の正月開発
• 2012 12/26にfirst commit (READMEのみ)
• 2013 1/11にはrubyのコンパイルが通って
る (1200行ほどのプロトタイプ)

• 1/2, 3 完全に意識消失して実家帰った
Sunday, December 8, 2013
コード規模 (現在)
計3639行
39 dm-writeboost-daemon.h
52 dm-writeboost-metadata.h
485 dm-writeboost.h
626 dm-writeboost-daemon.c
1197 dm-writeboost-metadata.c
1240 dm-writeboost-target.c

Sunday, December 8, 2013
ざっくりと
アーキテクチャ
RAM Buffer
(8-512KB)

Flush
Daemon

Migrate
Daemon

All daemons run
asynchronously
SSD (64GB)

Sunday, December 8, 2013

もし, SSDのシーケンシャルライトが無限に速く容量が無限ならば,
スループットはRAMバッファへの書き込みに律速される.

when buffer is full
queue the buffer for
future write.

Defer acks
for barrier write.

SSDへのフラッシュにおけるポイント:

Migration is
autonomous
and batched.

HDD (16TB)
ざっくりと
ディスクフォーマット
super block

segment[1]

...

segment[k]
~512KB

4KB
segment
_header Data[1] Data[2]
_device

...

Data
[127]

struct segment_header_device {
!
/* - FROM ------------------------------------ */
!
__le64 global_id;
!
__le32 lap;
!
u8 padding[512 - (8 + 4)]; /* 512B */
!
/* - TO -------------------------------------- */
!
struct metablock_device mbarr[0]; /* 16B * N */
} __packed;
struct metablock_device {
!
__le64 sector;
!
__le32 lap;
!
u8 dirty_bits;
!
u8 padding[16 - (8 + 4 + 1)]; /* 16B */
} __packed;
Sunday, December 8, 2013

...
初期化
Example
# superblockを潰す
dd if=/dev/zero of=$CACHE bs=512 count=1 oflag=direct
# /dev/mapper/mydevを作る
# <type> <backing> <cache>
# <type>はRAM bufferの種類を意味する
dmsetup create mydev --table ¥
“0 $sz writeboost 0 $BACKING $CACHE”

Sunday, December 8, 2013
性能評価実験
内容

•

fioを利用

• 設定は, bcacheやdmcacheの測定でも利用さ
れている.

• 測定対象のディスクに
対して, 4KBのrandwrite
Sunday, December 8, 2013

[global]
filename=/dev/...
randrepeat=1
ioengine=libaio
bs=4k
ba=4k
size=16GB
direct=1
gtod_reduce=1
norandommap
iodepth=64
stonewall
[perf]
rw=randwrite
性能評価実験
結果
x293 boosts
than HDD only

Sunday, December 8, 2013
性能評価実験
blktrace + bno_plot.py
可視化してみた

仮想デバイスへのwrite

Sunday, December 8, 2013

キャッシュデバイスへのwrite
dm-writeboost
差別化ポイント
•

device-mapper層で実装

•
•
•

Sunday, December 8, 2013

将来的にはLVM2のサポートも?

全部でたったの3.5k LOC (小さい)

•
•
•
•

dmが提供する機能を活用出来る.

bcache 15k, dm-cache 10k
dm-cacheはバグりすぎ.
bcacheはKent以外誰も分からない.

Writeに特化. Readはキャッシュしない.
Writeに特化
Readはキャッシュしない
なぜ? (1)
•

正常なシステムではReadはページキャッシュでかなりヒットしちゃう.
DRAMは結構安い.

•

Readキャッシュだったら, dm-cacheをもう一段stackする方向で良い
と思う.

•
•

RAIDは, ReadよりWriteの方が重い. 解決すべき問題はWrite.
実装上, Writeはダーティフラグなど, 持つべきメタデータが多くなる可
能性がある. Write専用とRead専用を切り分ける方が, トータルでは効率
が良くなる可能性がある.

•

キャッシュサイズ, 先読みのON/OFFなど, WriteキャッシュとRead
キャッシュで求められる機能も違う. 混ぜるな危険.

Sunday, December 8, 2013
Writeに特化
Readはキャッシュしない
なぜ? (2)

•

Readキャッシュは, 完全にワークロード依存. めんどくさいの
で付き合いたくない. 測定もwarmupが必要だったりして鬱陶
しい.

•

Writeに特化することで拓ける道があるはず. シンプルなアー
キテクチャの中でしか実現出来ないものもある.

•

WriteもReadもサポートするとなると, bcacheとどう違うの?
dm-cacheとどう違うの?うるさくなって辛い.

•

フルタイムで開発してるわけではないし, 同じ路線で行く
と勝つのは難しくなる. ニッチを攻める.

Sunday, December 8, 2013
コミュニティに
提案しよう!
完全にオポのために!!!
ノーオポ!ノーライフ!

Sunday, December 8, 2013
勇気を振り絞って
はじめての投稿
•
•

2013 7/16 [RFC] dm-lc target -> 無視
2013 7/28 Re: (自分で)

•

前回の投稿ではコードだけ送りつけてどやぁ?だった
ので, PDFでドキュメントを作ってupdateを報告した.

•
•

2013 7/29 Joe Thornber: This is nicely orthogonal to dmcache.

•
Sunday, December 8, 2013

これが良かった.

この評価は狙いどおり.
すぐさま
LWNで紹介

• 本記事ではないのでインパクトは薄い
らしく, ネット上でもあまり話題になら
ず. 社会の厳しさを知る.

• 注目されているということは分かった.
Sunday, December 8, 2013
糞みたいな
ユーザランドツールとsysfs
やめろ (Mike Snitzer)

•

カーネルはシンプルに, 多くをユーザランドにと
いう設計思想だった.

•

/sys/module/dm_lcという階層を作り, ユーザラ
ンドにデータを公開, Pythonスクリプトから操
作する

•

LVM2で初期化することも考えろ. dmsetupのみで
済ませろ. 他のターゲットに準拠した設計にせよ.

Sunday, December 8, 2013
きな臭いので
キャッシュ共有やめろ (Mike Snitzer)
•

そうしていたのは, キャッシュ共有(一つのキャッシュを複数
のbacking storeが共有)のためでもあった. これも完全否定

•

device-mapperの実装上, すべてのデータ構造はctr/dtrで確
保/解放されねばならない. そうなっていないので, (理由は
不明だが)デッドロックを起こす可能性があるとのこと.

•

強烈なこだわりがあった部分ではなかったので, ユーザラン
ドツール廃止の件と一緒に一気に再設計した.

•

ここらへんの話は, 一言でいうと「DMフレームワークの限
界」. 譲歩出来るところは譲歩しておくのが吉.

Sunday, December 8, 2013
dm-lcは意味不明なので
名前変更せよ (Alasdair Kergon)
•
•

マージされるか不安だったのでstagingに行こうとしたことがある.

•

おれ: LC is also the name of my favorite anime character from “God only

Alasdair: Agree a new and meaningful target name with us so you don’t have
to change it later. “lc” means nothing, I am afraid
knows” (訳: 神のみのエルシィ知らんのか!) という反論を一応した.

•
•
•

おれ: logcache, lscache, writeboostという候補どうですか?
Aladair: (writeboostについて) I quite like that option. <- 当時は意外だった
結局, Mikeから”If the dm-writeboost target is designed well and provides a
tangible benefit it doesn’t need wide-spread users as justification for going
in”というコメントが出て, staging行きはナシになった.

Sunday, December 8, 2013
オポ
Phoronixで紹介ktkr!!!

•
•

ロシアの掲示板で(ロシア語で)沸騰した
こちらはかなりインパクトあったらしく, ライトブーストが有名になった感が
あった

•

「LWNやPhoronixで紹介され, 注目されている. 早くリリースする必要がある」
とかいう駆け引き材料にも使った (その後テストやコードレビューが始まった).

•
Sunday, December 8, 2013

正直これはかなり興奮した.
ファイルを分割せよ
1枚で3000行はレビュー出来ない
(Mike Snitzer)

•

と言われたので, 一日かけて合計20個のファ
イルに分割して「どや?」って言ったら

•

Mike: Unfortunately I think you went too far
with all these different small files, I was hoping
to see 2 or 3 .c files and a couple of .h files.

•
•
Sunday, December 8, 2013

なん・・・だと・・・.

さらにやり直して, 今の形になった.
緻密なコードレビュー
(by Mikulas Patocka)
•

Mikulasは, SpadFS(http://en.wikipedia.org/wiki/
SpadFS)の開発者. このネタでチェコの東大か
らDrとってるガチのストレージカーネル野郎

•

膨大な指摘と丁寧な解説が送られてきて, 消
化するのに2週間かかった. ものすごく勉強に
なった (http://www.redhat.com/archives/dmdevel/2013-October/msg00024.html)

Sunday, December 8, 2013
Dave Chinner (XFS野郎)
との戦い
•

write barrierへの遅延ACK(後述)について “That rings alarm bells”というハ
イテンションで文句を言ってきた.

•
•

これは後に理解された.

デバイスの閉塞について, XFSを使ってやったらXFSがおかしな挙動をし
たと言ったら「XFSは安定してる. 今までいくつもブロックドライバの
バグフィックスに貢献してる. 今度のどうせドライバが悪い」という論
理で悪い者呼ばわりされ(その割には熱心にバグ追求してくれたが)

•
•

これは本当におれが悪かった.
XFSがブロックに何を期待しているかなども知ることが出来て勉強
になった.

Sunday, December 8, 2013
ユーザによる
利用・バグ指摘
•

インド人3名: うち一名はパッチを送ってくれ
た.

•

韓国人3名: うち一名(韓国のflash応用会社の人.
Androidで動作させたらしい)は2つバグ指摘し
てくれた.

•

日本人が全く使ってくれないことに憤りを感
じております. 冷たい。。。

Sunday, December 8, 2013
LinuxCon Europe
akiradeveloper meets Ric Wheeler
•

10/21- エジンバラ@UK行ってきました

•

ありがたい会社マネーです. @mhiramatらと一緒
に

•

Ric Wheeler (RedHatのストレージ部門最高権力者)
に「同僚からライトブーストのことは聞いてるよ.
とても面白いと言ってた. ありがとう」と言われた.

•
Sunday, December 8, 2013

ライトブーストキテる!?
ジョーのテストスイート
(device-mapper-test-suite)
に貢献中

•
•

DMのテストスイートをRHチームが作ってる
「ライトブーストのテストを追加したいんだけど」とメール送ってから開始

•

Sunday, December 8, 2013

まだ3つしかテストない. 今後追加していく.
韓国フラッシュアカデミック野郎が興味もった.
研究の踏み台に?

ファッ!? rwcache!?
•
•
•

Yongseok「GCあるの?Readはキャッシュするの?」
Akira「両方ないよ. 必要ないと思うわ」
Yongseok「おー残念. スクラッチか改造か迷うなー」
=> 改造着手?

•
Sunday, December 8, 2013

なんかやばいアイデアがあるならくれ・・・
将来の計画
永続メモリ応用

Sunday, December 8, 2013
(問題)
RAMバッファと
write barrierの相性が悪い

•

RAMバッファに全部たまらないとキャッシュに書か
ないのは, write barrier (REQ_FUA, REQ_FLUSH)が永
遠にACK出来ず, ユーザランドが永遠に眠る可能性が
ある.

•

では, write barrierを受け取った瞬間に, 同期的にバッ
ファを未完成のまま書き出してしまいますか?

•

これでは, ライトブーストの良い点が完全に引き出せ
ない.

Sunday, December 8, 2013
(現在)
write barrierへの遅延ACK
•

妥協案として, 「同期的に書き出す」ではなくちょっと遅延して,
write barrierをまとめるということにする.

•

(1) 複数プロセスが書いてる場合はバッファがフルになりやすくな
る (2) write barrierがたくさん降ってきた時のペナルティが小さい.

•

これは, Daveによると, XFSのメタデータジャーナリングでもやって
いることだし, dm-cacheやdm-thinでもやってる手法

•

Daveによると, XFSでもやってるのにさらにブロックでも遅延?
重複だしやめろ!とのこと

•
Sunday, December 8, 2013

本質的な解決にはなってない.
(将来)
永続メモリを使う
•

問題は, RAMバッファがvolatileであるからなのだし, non-volatileにす
れば問題解決だよね!

•

永続メモリは, block I/Fがまず提供されて, その後, byte-addressableな
I/Fが提供される予定.

•

まずは, block I/Fを持った永続メモリを使うコードを書く (type 1)

•

これは, 適当なblock deviceを使ってテスト出来るので今でも実
装可能

•

将来的には, byte-addressableな永続メモリ対応を行う (type 2)

•
Sunday, December 8, 2013

まだインターフェイスがないので実装も不可能
大いなる可能性
• ライトブーストは, ファイルシステムの
実装をシンプルにする可能性がある.

• ストレージに必須の部品となる.
• すべての機能はブロックで追加するべ
き.

Sunday, December 8, 2013
さいごに

Sunday, December 8, 2013
dm-writeboostは
オポを加速するものだったのか

•
•

OSSはオポ力を高める.
DMやライトブーストに関する執筆
依頼お待ちしてます!

•
•
Sunday, December 8, 2013

利用者フィードバックもウェルカム
ライトブーストのロゴも欲しい
Thanks
ライトブースト
使ってください

Sunday, December 8, 2013

More Related Content

What's hot

元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみたKumano Ryo
 
MySQL負荷分散の方法
MySQL負荷分散の方法MySQL負荷分散の方法
MySQL負荷分散の方法佐久本正太
 
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?Narimichi Takamura
 
MySQLやSSDとかの話 前編
MySQLやSSDとかの話 前編MySQLやSSDとかの話 前編
MySQLやSSDとかの話 前編Takanori Sejima
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発infinite_loop
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法Kumazaki Hiroki
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動Takashi Takizawa
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
NVMCT #1 ~今さら聞けないSSDの基本~
NVMCT #1 ~今さら聞けないSSDの基本~NVMCT #1 ~今さら聞けないSSDの基本~
NVMCT #1 ~今さら聞けないSSDの基本~Fixstars Corporation
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例kazuhcurry
 
負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編まべ☆てっく運営
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
なぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかなぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかNVIDIA Japan
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所hdais
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化Kumazaki Hiroki
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)NTT DATA Technology & Innovation
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)NTT DATA Technology & Innovation
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...NTT DATA Technology & Innovation
 

What's hot (20)

元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた元OracleMasterPlatinumがCloudSpanner触ってみた
元OracleMasterPlatinumがCloudSpanner触ってみた
 
MySQL負荷分散の方法
MySQL負荷分散の方法MySQL負荷分散の方法
MySQL負荷分散の方法
 
その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?その ionice、ほんとに効いてますか?
その ionice、ほんとに効いてますか?
 
MySQLやSSDとかの話 前編
MySQLやSSDとかの話 前編MySQLやSSDとかの話 前編
MySQLやSSDとかの話 前編
 
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
PHP+MySQLを使ったスケーラブルなソーシャルゲーム開発
 
トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法トランザクションをSerializableにする4つの方法
トランザクションをSerializableにする4つの方法
 
Consistent hash
Consistent hashConsistent hash
Consistent hash
 
initとプロセス再起動
initとプロセス再起動initとプロセス再起動
initとプロセス再起動
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
NVMCT #1 ~今さら聞けないSSDの基本~
NVMCT #1 ~今さら聞けないSSDの基本~NVMCT #1 ~今さら聞けないSSDの基本~
NVMCT #1 ~今さら聞けないSSDの基本~
 
PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例PG-REXで学ぶPacemaker運用の実例
PG-REXで学ぶPacemaker運用の実例
 
負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編負荷テストを行う際に知っておきたいこと 初心者編
負荷テストを行う際に知っておきたいこと 初心者編
 
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
なぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているかなぜGPUはディープラーニングに向いているか
なぜGPUはディープラーニングに向いているか
 
DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所DNSキャッシュサーバ チューニングの勘所
DNSキャッシュサーバ チューニングの勘所
 
トランザクションの設計と進化
トランザクションの設計と進化トランザクションの設計と進化
トランザクションの設計と進化
 
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
押さえておきたい、PostgreSQL 13 の新機能!!(Open Source Conference 2021 Online/Hokkaido 発表資料)
 
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
詳説探究!Cloud Native Databaseの現在地点(CloudNative Days Tokyo 2023 発表資料)
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
オンライン物理バックアップの排他モードと非排他モードについて ~PostgreSQLバージョン15対応版~(第34回PostgreSQLアンカンファレンス...
 

Similar to dm-writeboost-kernelvm

フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasiaフロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasiaMasayuki Ishikawa
 
GUI何処行ったんDocker
GUI何処行ったんDockerGUI何処行ったんDocker
GUI何処行ったんDockerKazuhito Miura
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxTomoki SHISHIKURA
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsNaoki Sega
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話y-uti
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!Masaki Muranaka
 
Chiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for PerlChiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for PerlHideaki Ohno
 
20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuriYoshifumi Yamaguchi
 
20130622 r pi-ug-osc13ng
20130622 r pi-ug-osc13ng20130622 r pi-ug-osc13ng
20130622 r pi-ug-osc13ngAkira Ouchi
 
Chromium androidビルド
Chromium androidビルドChromium androidビルド
Chromium androidビルドHiroshi Sakate
 
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) 俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) Seiichiro Ishida
 
Mtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalksMtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalksYuji Takayama
 
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組みとある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組みKei Nakazawa
 

Similar to dm-writeboost-kernelvm (20)

フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasiaフロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
 
GUI何処行ったんDocker
GUI何処行ったんDockerGUI何処行ったんDocker
GUI何処行ったんDocker
 
Tokyo r38
Tokyo r38Tokyo r38
Tokyo r38
 
Tokyo r30 beginner
Tokyo r30 beginnerTokyo r30 beginner
Tokyo r30 beginner
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
 
Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話Kaggle の Titanic チュートリアルに挑戦した話
Kaggle の Titanic チュートリアルに挑戦した話
 
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
オープン・ソースで構築するARMマイコン開発環境 ―― GCC,Eclipse,OpenOCDで統合開発環境,JTAGデバッグもできる!
 
Chiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for PerlChiba pm#1 - ArangoDB for Perl
Chiba pm#1 - ArangoDB for Perl
 
TypeScript Hands-on
TypeScript Hands-onTypeScript Hands-on
TypeScript Hands-on
 
GoでMinecraftっぽいの作る
GoでMinecraftっぽいの作るGoでMinecraftっぽいの作る
GoでMinecraftっぽいの作る
 
20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri20130824 Lightweight Language "Go" @LL matsuri
20130824 Lightweight Language "Go" @LL matsuri
 
Objectie-C de ラムダ
Objectie-C de ラムダObjectie-C de ラムダ
Objectie-C de ラムダ
 
20130622 r pi-ug-osc13ng
20130622 r pi-ug-osc13ng20130622 r pi-ug-osc13ng
20130622 r pi-ug-osc13ng
 
Chromium androidビルド
Chromium androidビルドChromium androidビルド
Chromium androidビルド
 
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) 俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
 
社内勉強会1 go lang
社内勉強会1 go lang 社内勉強会1 go lang
社内勉強会1 go lang
 
資料
資料資料
資料
 
Mtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalksMtddc kyusyu-lightningtalks
Mtddc kyusyu-lightningtalks
 
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組みとある会社のエンジニアたちのAndroidへのフリーダムな取り組み
とある会社のエンジニアたちのAndroidへのフリーダムな取り組み
 

Recently uploaded

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A surveyToru Tamaki
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものですiPride Co., Ltd.
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNetToru Tamaki
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...Toru Tamaki
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)Hiroki Ichikura
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdftaisei2219
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 

Recently uploaded (9)

論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey論文紹介:Semantic segmentation using Vision Transformers: A survey
論文紹介:Semantic segmentation using Vision Transformers: A survey
 
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する       2024/04/19 の勉強会で発表されたものですSOPを理解する       2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet論文紹介:Automated Classification of Model Errors on ImageNet
論文紹介:Automated Classification of Model Errors on ImageNet
 
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
論文紹介:Content-Aware Token Sharing for Efficient Semantic Segmentation With Vis...
 
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
【早稲田AI研究会 講義資料】3DスキャンとTextTo3Dのツールを知ろう!(Vol.1)
 
TSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdfTSAL operation mechanism and circuit diagram.pdf
TSAL operation mechanism and circuit diagram.pdf
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 

dm-writeboost-kernelvm