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