# CHERI ## 定義 CHERI(Capability Hardware Enhanced RISC Instructions)とは、ケンブリッジ大学とSRI Internationalによって設計された、プロセッサ命令セットアーキテクチャ(ISA)のハードウェア拡張である。従来のポインタに替わり、ハードウェアによって検証されるタグビット、アドレス、上下限境界(bounds)、アクセス権限(permissions)、オブジェクト型(sealing用)を統合した「ハードウェアケイパビリティ(Capability)」を導入することで、単一アドレス空間内であっても極めて低オーバーヘッドかつ強固な空間的・時間的メモリ安全性およびコンパートメント隔離を強制する。(Source: [[@2026__TACO__CheriMore: On-Demand Vertical Memory Expansion for Capability Serverless Runtime]] §2.1) ## 未編纂の観察 - **静的境界強制と動的メモリ弾力性のトレードオフ**: CHERIはハードウェアレベルでポインタの参照境界(bounds)を厳格に強制するため、バッファオーバーフローや不正メモリアクセスを原理的に阻止できる。一方で、この境界は連続したメモリ領域として定義されるため、サーバーレス環境のように実行時にメモリ需要が急増するワークロードにおいて、安全かつ動的にメモリ空間を拡張(Vertical Expansion)することが極めて難しいという課題を生む。CheriMoreはこの問題に対し、ヒープを高位アドレス端へ配置するヒープ・スタック反転レイアウトと特権Monitorによるケイパビリティ境界再構成を組み合わせることで、CHERIの安全性を破壊せずに動的拡張を可能にした。(Source: [[@2026__TACO__CheriMore: On-Demand Vertical Memory Expansion for Capability Serverless Runtime]] §2.2, §3.2) - **ケイパビリティ検証に伴うメモリ帯域幅・テールレイテンシのオーバーヘッド**: CHERIアーキテクチャではすべてのメモリアクセスでタグビットと境界検証が行われるため、高頻度なメモリアクセスや高スループットなネットワークI/O(例: YCSB-Redisの高RPS環境)において、p99テールレイテンシの増加やメモリ帯域幅の低下が観測される。ただし中央値(p50)レイテンシはコンテナ環境と同等を維持できる。(Source: [[@2026__TACO__CheriMore: On-Demand Vertical Memory Expansion for Capability Serverless Runtime]] §5) ## 未解決の問い - CHERI環境において、動的に拡大したケイパビリティ境界を実行中に断片化なく「縮小(Vertical Shrink)」し、ホストOSに安全にメモリを返還するためのハードウェア・OS協調メカニズムはどう設計されるべきか。 - 商用ARMプロセッサやRISC-V量産チップへのCHERIの正式採用と、既存コンテナランタイム(Docker/containerd)の完全なネイティブ移植はどの時期に進展するか。 ## 関連 - ソース: [[@2026__TACO__CheriMore: On-Demand Vertical Memory Expansion for Capability Serverless Runtime]] - 概念: [[Capability-based Security]] / [[LibOS]] / [[Vertical Memory Expansion]] / [[信頼計算基盤(TCB)]] / [[最小権限設計]] - エンティティ: [[ARM Morello]] / [[CheriBSD]] ## 出典 - [[@2026__TACO__CheriMore: On-Demand Vertical Memory Expansion for Capability Serverless Runtime]]