テストステ論

高テス協会会長が, テストステロンに関する情報をお届けします.

(dm-lc report) Batched Migrationを実装した

前回の記事で複数セグメントを一気にMigrateする仕組み, Batched Migrationと呼ぶ, を導入することによってMigrationの実行効率を上げることが出来ると説明し, 土日に実装を行うと宣言した. 効率向上には, dm-lcによるキャッシュなしの場合では絶対に起こらないマージが行われる可能性があることを指摘した.*1

AMに実装を行った.
https://github.com/akiradeveloper/dm-lc

また, スライドも改変した.
https://github.com/akiradeveloper/dm-lc/blob/develop/what-is-dm-lc.pdf

現状の進捗については, 明日あたり, dm-develに投稿する予定である. 今回の最大の目的は, スライドを読んでもらうことである. 以下はメールのドラフトである.
https://github.com/akiradeveloper/dm-lc/blob/develop/mails/2

極めてタフであった. まず, 昨日は飲み会であった. その上なぜか, 寝たのは1:30AMである. 6時に目が醒め, 開発を開始した. ここ数日は睡眠が極めて短い. 開発のことを考えていると眠れない. このままでは死ぬと思ったので, 一気に片付けることとした.

朝飯を食いモンスターを飲み, DHAその他サプリを投入, 集中力を高めるためにBCAAを摂取し, 一気に実装した. 私の力を持ってしても実装は実に, 1:30PMまでかかった. その結果, 身体及び精神はボロボロになった.

その上, 最低の午後だった. まず私は桜木町にあるブルク13に話題の映画「風立ちぬ」を観に行った. 15分前に行って券を購入しようと券売機を見ると, 売り切れなのか締め切りなのか券が買えない. 次の回は1時間後なので私は帰ることにした.

そのまま帰るのはつまらないので, 暑い中横浜まで歩いた. 以前に買ったおもしろ耳かきが行方不明になってしまったので新しいものを買おうと思って人混みの中, 一切の誘惑を振りきって五番街を突っ切り, 東急ハンズについて見るとそこはスプレーとクレヨンによって落書きがされた墓場だった. 貼り紙が私にモアーズに行けと告げる. そこで私は道を引き返しモアーズに向かった. しかし待っていた事実は, 東急ハンズは10月からオープンというものであった.

人生にはこういう日もある. しかし身を削りながらコードを書いた人間に対してもう少しやさしみが持てないものだろうか, この世界は.

*1:例えば, 100番地と101番地に連続して, REQ_FUA writeが入ったとする. さらに, 各writeについてアプリケーションはブロックすることとする. これらは絶対にマージされない. 100番目のwriteが終わらないと101番目のwriteが発行されないからである. しかしdm-lcを利用したmigrationでは, これら2つのdirtyが同時にwrite-backされる. 従って, マージされる. このように, dm-lcによってバッファリングすることによってふつうならあり得ないマージが行われる可能性がある. backing storeへのwriteを減らすことは重要である