高性能配列バックLRUハッシュテーブル
High-Performance Array-Backed LRU Hash Table
この文書は、マルチコアのスケーラビリティ、予測可能なテールレイテンシ、NUMAアーキテクチャ、およびランタイムアロケーションゼロに最適化された、高性能な並行LRUハッシュテーブルについて解説しています。標準ライブラリのコンテナが競合下でパフォーマンスが低下する環境向けに設計されており、シャードベースの並列処理とキャッシュフレンドリーなメモリレイアウトを活用しています。主な特徴として、ゼロランタイムアロケーション(ヒープ断片化とOSレベルのロック遅延を排除)、カスタムTTASスピンロック(OSコンテキストスイッチを排除し、14倍以上のスループットとサブマイクロ秒のテールレイテンシを実現)、シャードアーキテクチャ(グローバルロックのコンボイを排除し、物理CPUコア数に比例してスケール)、NUMAアウェアメモリ(メモリコントローラー帯域幅を最大化)、ロックフリー破壊、レイジLRUプロモーション(スループットを約20%向上)、カスタムアロケーター(ドメイン固有のメモリ管理をサポート)、およびデュアル環境対応(クロスプラットフォームユーザーモードとWindows 10+カーネル実装)が挙げられます。この実装は、ハイフリークエンシートレーディング(HFT)インフラストラクチャ、ストレージサブシステムキャッシュ、リアルタイムネットワークルーティングなどの要求の厳しい環境に適しています。標準的な実装と比較して、特に高負荷の混合ワークロードにおいて、大幅なスループットとレイテンシの改善を示しています。例えば、6コア/12スレッドのCPUで標準実装が0.62倍のパフォーマンス低下を示すのに対し、この配列バックテーブルは6.87倍のパフォーマンス向上を達成しました。また、P99.9レイテンシでは標準実装が575,600 nsであるのに対し、このテーブルは1,600 nsと、360倍の安定性を示しました。ただし、非常に小規模なテーブル(約100アイテム未満)、純粋にシングルスレッドのワークロード、またはメモリ制約が厳しい環境では、標準ライブラリのコンテナの方が適している場合があることも指摘されています。
並行LRUハッシュテーブル実装の性能改善(標準実装比6.87倍のスループット向上、P99.9レイテンシで360倍の安定性)は、HFT・ストレージキャッシュ・リアルタイムネットワークルーティング等の基盤技術として注目に値する。ただし、これは汎用的なソフトウェアアルゴリズム・実装技術であり、特定企業の製品発表や商業化の具体的事象ではなく、投資判断に直接結びつく成果物の領域が曖昧である。