SlideShare a Scribd company logo
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

“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
Nobuto Murata
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
大樹 小倉
 
Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
Brendan Gregg
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
Motohiro KOSAKI
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
Takaya Saeki
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
Yuta Shimada
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
Masahito Zembutsu
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
Kumazaki Hiroki
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
ichirin2501
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
MITSUNARI Shigeo
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
Seiya Mizuno
 
Go入門
Go入門Go入門
Go入門
Takuya Ueda
 
k8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfire
k8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfirek8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfire
k8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfire
Yahoo!デベロッパーネットワーク
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
Preferred Networks
 

What's hot (20)

“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
“bcache”を使ってSSDの速さと HDDの大容量のいいとこどり 2015-12-12
 
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
 
Pythonによる黒魔術入門
Pythonによる黒魔術入門Pythonによる黒魔術入門
Pythonによる黒魔術入門
 
Blazing Performance with Flame Graphs
Blazing Performance with Flame GraphsBlazing Performance with Flame Graphs
Blazing Performance with Flame Graphs
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
Glibc malloc internal
Glibc malloc internalGlibc malloc internal
Glibc malloc internal
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
 
コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話コンテナにおけるパフォーマンス調査でハマった話
コンテナにおけるパフォーマンス調査でハマった話
 
Dockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクルDockerイメージの理解とコンテナのライフサイクル
Dockerイメージの理解とコンテナのライフサイクル
 
分散システムについて語らせてくれ
分散システムについて語らせてくれ分散システムについて語らせてくれ
分散システムについて語らせてくれ
 
外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話外部キー制約に伴うロックの小話
外部キー制約に伴うロックの小話
 
暗号技術の実装と数学
暗号技術の実装と数学暗号技術の実装と数学
暗号技術の実装と数学
 
Apache Avro vs Protocol Buffers
Apache Avro vs Protocol BuffersApache Avro vs Protocol Buffers
Apache Avro vs Protocol Buffers
 
Go入門
Go入門Go入門
Go入門
 
k8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfire
k8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfirek8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfire
k8s初心者が gRPC × envoyを導入したら色々苦労した話 #yjbonfire
 
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
KubeCon + CloudNativeCon Europe 2022 Recap / Kubernetes Meetup Tokyo #51 / #k...
 

Similar to dm-writeboost-kernelvm

フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasiaフロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
フロントエンド制作向けビルド ツールGruntがバックエンド 開発でも意外と使える! @M_Ishikawa #yapcasia
Masayuki Ishikawa
 
GUI何処行ったんDocker
GUI何処行ったんDockerGUI何処行ったんDocker
GUI何処行ったんDocker
Kazuhito Miura
 
Tokyo r38
Tokyo r38Tokyo r38
Tokyo r38
Takashi Minoda
 
NVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 LinuxNVIDIA GPUで作るHeadless X11 Linux
NVIDIA GPUで作るHeadless X11 Linux
Tomoki SHISHIKURA
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
Naoki 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
 
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
Yoshifumi 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
 
社内勉強会1 go lang
社内勉強会1 go lang 社内勉強会1 go lang
社内勉強会1 go lang
Tsuyoshi Nakamura
 
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

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
NTT DATA Technology & Innovation
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
yassun7010
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
Matsushita Laboratory
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
Toru Tamaki
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
Fukuoka Institute of Technology
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
harmonylab
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
Yuuitirou528 default
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
CRI Japan, Inc.
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
atsushi061452
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
iPride Co., Ltd.
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
Sony - Neural Network Libraries
 

Recently uploaded (16)

FIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdfFIDO Alliance Osaka Seminar: Welcome Slides.pdf
FIDO Alliance Osaka Seminar: Welcome Slides.pdf
 
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
YugabyteDB適用に向けた取り組みと隠れた魅力 (DSS Asia 2024 発表資料)
 
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdfFIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
FIDO Alliance Osaka Seminar: NEC & Yubico Panel.pdf
 
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
2024年度_サイバーエージェント_新卒研修「データベースの歴史」.pptx
 
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
TaketoFujikawa_物語のコンセプトに基づく情報アクセス手法の基礎検討_JSAI2024
 
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
論文紹介:When Visual Prompt Tuning Meets Source-Free Domain Adaptive Semantic Seg...
 
FIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdfFIDO Alliance Osaka Seminar: CloudGate.pdf
FIDO Alliance Osaka Seminar: CloudGate.pdf
 
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
単腕マニピュレータによる 複数物体の同時組み立ての 基礎的考察 / Basic Approach to Robotic Assembly of Multi...
 
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdfFIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
FIDO Alliance Osaka Seminar: PlayStation Passkey Deployment Case Study.pdf
 
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
【DLゼミ】XFeat: Accelerated Features for Lightweight Image Matching
 
CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料CS集会#13_なるほどわからん通信技術 発表資料
CS集会#13_なるほどわからん通信技術 発表資料
 
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログLoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
LoRaWAN 4チャンネル電流センサー・コンバーター CS01-LBカタログ
 
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
論文紹介: Offline Q-Learning on diverse Multi-Task data both scales and generalizes
 
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
MPAなWebフレームワーク、Astroの紹介 (その2) 2024/05/24の勉強会で発表されたものです。
 
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdfFIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
FIDO Alliance Osaka Seminar: LY-DOCOMO-KDDI-Mercari Panel.pdf
 
【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow【AI論文解説】Consistency ModelとRectified Flow
【AI論文解説】Consistency ModelとRectified Flow
 

dm-writeboost-kernelvm