@inproceedings{oai:ipsj.ixsq.nii.ac.jp:00241056, author = {鈴木, 智哉 and 檜田, 和浩 and 坂東, 洋介 and 佐野, 伸太郎 and 中西, 悠 and 塩沢, 竜生}, book = {コンピュータシステム・シンポジウム論文集}, month = {Nov}, note = {我々は,既存のキーバリュー (KV) ストレージエンジンを,軽量 IO を自動適用することで高速化する CLAP を提案する.高スループットの KV ストレージエンジンでは,しばしば従来の同期 IO を使用しているために,IO 処理に多くの CPU サイクルを消費する.CPU オーバーヘッドを削減するためには,非同期ポーリング IO ライブラリやユーザ空間 IO ライブラリが有望である.しかし,既存の KV ストレージエンジンにおいて同期I O の代わりにそれらのライブラリを使用し,より高い性能を実現するには,通常は負担の大きいソースコードの書き換えが必要である.我々が提案する CLAP は,一部のケースを除いてソースコードを変更することなく,IO のための CPU 時間の大幅な削減を可能にする.非同期ポーリング IO とユーザレベルスレッドを活用し,同期 IO を CPU オーバーヘッドの少ない軽量なものに動的に置き換える.従来の同期 IO では 1 アクセスあたり 3.73us の CPU 時間を消費するが,io_uring を用いた CLAP では 1.88us,全てユーザ空間で実行するカスタム IO スタックを利用した CLAP では 315ns しか消費しない.CLAP を RocksDB と WiredTiger に適用し,IO の CPU 時間を短縮することで,最大 50% のスループット向上を達成した.}, pages = {65--73}, publisher = {情報処理学会}, title = {軽量IO自動適用を用いたKVストレージエンジンの性能改善}, volume = {2024}, year = {2024} }