Core Concepts
ヘテロジニアスシステムにおける複雑なプログラミングを解決するため、CXLを活用したCodeFlowというランタイムシステムを提案する。
Abstract
本論文では、ヘテロジニアスコンピューティングシステムのための新しいプログラミングモデルであるCodeFlowを提案している。
ヘテロジニアスシステムは、CPUやGPU、FPGAなどの異なる種類の演算装置を統合し、ワークロードの要求に合わせて最適な性能を発揮することができる。しかし、従来のヘテロジニアスプログラミング手法では、アクセラレータ固有のライブラリやコンパイラツールチェーンを使う必要があり、プログラミングの複雑さが大きな障壁となっていた。
CodeFlowは、WebAssemblyシステムインターフェース(WASI)を活用してランタイムシステムを構築し、高水準言語で記述されたマルチスレッドプログラムを、CXLを介して接続された異種アクセラレータ上で実行することができる。プログラマはアクセラレータ固有の実装を意識せずに、標準的なマルチスレッドプログラミングモデルを使ってコードを記述できる。CodeFlowランタイムが、スレッドの割り当てや、JITコンパイル、CXLを使ったメモリ共有などの処理を行う。
これにより、ヘテロジニアスシステムの活用におけるプログラミングの複雑さが大幅に軽減され、新しいアクセラレータの追加にも柔軟に対応できるようになる。本論文の評価では、CodeFlowのランタイムオーバーヘッドが小さいことを示している。
Stats
CXLメモリのアクセスレイテンシは、ローカルDDR5メモリに比べて3倍以上高い。
CXLメモリのバンド幅は、リモートDDR5メモリの半分程度である。