- 著者
-
青葉 隼人
川島 龍太
松尾 啓志
- 雑誌
- 研究報告システムソフトウェアとオペレーティング・システム(OS) (ISSN:21888795)
- 巻号頁・発行日
- vol.2023-OS-160, no.4, pp.1-7, 2023-07-27
インメモリ KVS はデータベースや Web アプリケーションで生成されたデータのキャッシュとして用いられている.しかし,インメモリ KVS は Linux カーネルのプロトコルスタックがボトルネックとなる.DPDK と F-Stack を用いてインメモリ KVS を再設計した手法では,Linux カーネルのパケット I/O 処理で生じたオーバーヘッドを解消し高速化を図ったが,依然としてプロトコルスタックがボトルネックとなる.また,XDP を用いてドライバ層でキャッシュを行う手法では,キャッシュヒット時にプロトコルスタックをバイパスしてボトルネックを解消したが,ドライバ層におけるカーネル由来のオーバーヘッドは未解消である.本研究では DPDK を用いた透過型 L2 プロキシで KVS のキャッシュを行う手法を提案する.DPDK によりコンテキスト切り替えのオーバーヘッドを解消し,OSI 参照モデルのデータリンク層でキャッシュ制御を行い,キャッシュヒット時にプロキシがレスポンスを送信してスループットを向上させる.インメモリ DB である Redis に適用して提案手法の性能を評価した結果,キャッシュヒット時においてレイテンシを 36% 削減した.また,READ リクエスト割合の増加に伴いスループット性能が向上し,公式の Redis と比較して最大 13.6 倍向上した.