Tailslayer: Library for reducing tail latency in RAM reads
> Source: Hacker_News
Execute Primary Source
// Discussion Topic
メモリチャネルを分散させた冗長な読み込み(hedged reads)を用いることで、DRAMのリフレッシュ動作に伴うテールレイテンシのスパイクを抑制する手法の有効性と、その代償となるメモリリソースおよびキャッシュへの影響。
// Community Consensus
技術的な着眼点は評価されているものの、実用性については極めて懐疑的である。メモリ容量を大幅に犠牲にする点や、メモリ帯域の占有によるシステム全体のパフォーマンス低下、L3キャッシュへの悪影響が強く指摘されている。また、ベンチマークの測定手法が特定の条件下に偏っているとの批判もあり、汎用的な解決策ではなく、リソースが占有された極限的なリアルタイム環境向けのニッチな技術であるという見方が強い。
// Alternative Solutions
IBM zEnterpriseのような、ハードウェアレベルでリフレッシュの影響を回避(リフレッシュ中のバンクへのアクセスを制御)するアーキテクチャ。また、データ構造の最適化によるL3キャッシュ内への収容。
// Technical Terms
Senior Engineer Insight
> 本技術は「メモリ容量を極端に消費して、決定論的なレイテンシを買う」という、極めて尖ったトレードオフに基づいている。我々の実戦において、マルチテナント環境やリソース共有が前提のシステムにこれを導入するのは極めて危険だ。メモリ帯域の枯渇やキャッシュ汚染は、システム全体のThroughputを破壊する恐れがある。ただし、HPCや専用のリアルタイム制御系など、物理コアとメモリがプロセスに占有されている環境であれば、ソフトウェアで実装可能な「メモリのRAID-1」として、テールレイテンシを抑え込む強力な武器になり得る。導入検討の際は、p50(中央値)への影響ではなく、システム全体のメモリ帯域幅とL3キャッシュの挙動を厳密にプロファイリングすべきである。