ヒュージページ
詳細情報
- 開発者
- Tanmai Gopal、Rajoshi Ghosh
- 公開
- 種別
- Postgresなどに対するGraphQL APIの自動生成
- ライセンス
- Apache 2.0(コミュニティ版)、エンタープライズ版は独占
- 公式サイト
- hasura.io
標準の4 KBより大きい2 MBまたは1 GBのメモリページで、作業領域の大きいアプリケーションのTLB負荷を大幅に減らす。
方式は二つある。起動時に確保して挙動が決定的な明示的ヒュージページと、カーネルが4 KBページを自動で2 MBに昇格させるTransparent Huge Pages(THP)だ。Postgresの定番の助言は、THPを切って明示的ヒュージページを使うこと。THPのデフラグはカーネルがRAMを詰め直すため、レイテンシの急増を招くことがある。Linuxでは vm.nr_hugepages で調整し、JVMでは -XX:+UseLargePages を指定する。1 GBページはカーネルのコマンドライン(default_hugepagesz=1G)で有効にし、DPDKなどの高性能ネットワークで使われる。データベースやMLのワークロードでは5〜20%のスループット向上が見込める。