Twitter | Pretraživanje | |
nhiroki
C/C++ 向けメモリアロケータ MESH の論文を読んだので記事にまとめました。Chromium での議論についてもちょろっと触れてます / "論文「MESH: Compacting Memory Management for C/C++ Applications」(PLDI 2019) - nhiroki's weblog"
「MESH: Compacting Memory Management for C/C++ Applications」という論文を読んだのでその紹介です。arXiv.org で公開されています。PLDI 2019 で採択されている論文のドラフトだそうです。私は v2 を読みました。ソースコードが GitHub (plasma-umass/Mesh) で公開されています。
Reply Retweet Označi sa "sviđa mi se" More
nhiroki 26. velj
Odgovor korisniku/ci @nhiroki_
MESH の特徴の項に「メモリ割り当てにランダム性を導入することで meshing しやすくしているのが新規性」という旨の追記をしました。リロケーションせずにコンパクションする手法自体は MESH が初出ではなく、それを実用的なレベルにしたというのがこの研究の貢献という理解です。
Reply Retweet Označi sa "sviđa mi se"
nhiroki 26. velj
Odgovor korisniku/ci @nhiroki_
そういえば mesh 処理が行われる頻度についてブログ記事に書くつもりだったのに忘れてた。起動時 or 実行時にパラメータで指定可能で、デフォルトでは 100 msec 毎に実行して、もし一定量以下の mesh が行えなかったら、メモリ割り当て・解放がある程度進むまでタイマーを止めるそうです。
Reply Retweet Označi sa "sviđa mi se"
nhiroki 26. velj
Odgovor korisniku/ci @nhiroki_
s/一定量以下/一定量以上/
Reply Retweet Označi sa "sviđa mi se"
nhiroki 26. velj
Odgovor korisniku/ci @nhiroki_
remap_file_pages() を使うと VMA 構造体を節約できそうだなと思いきや、非推奨機能になってるのか
Reply Retweet Označi sa "sviđa mi se"
_ko1 26. velj
Odgovor korisniku/ci @nhiroki_
すごいわかりやすかったです! ユーザレベルで仮想メモリハックができるんだって同じところで感心してた。
Reply Retweet Označi sa "sviđa mi se"
nhiroki 26. velj
Odgovor korisniku/ci @_ko1
ありがとうございます!そう言ってもらえると頑張って書いた甲斐があります :) 他にどんな使いみちがあるのか謎ですが、面白いテクニックですよね。
Reply Retweet Označi sa "sviđa mi se"