@techreport{oai:ipsj.ixsq.nii.ac.jp:00198014, author = {三輪, 竜也 and 川浪, 大知 and 川島, 龍太 and 松尾, 啓志}, issue = {3}, month = {Jul}, note = {ビッグデータの普及により,大規模データの保存や高速な検索処理が可能な分散キーバリューストアが一般的となった.Cassandra は,全ての KVS ノードがクライアントからの要求を受け付けることで,高可用性やスケーラビリティを担保しつつ,高スループットを実現できる.しかし,P2P 型の分散キーバリューストアは,その構成上トランザクションや排他制御を高速に行うことが困難である.我々は,中規模分散キーバリューストアを想定し,メニーコアを活用した集中型のプロキシによるクエリ集約手法を提案している.しかし,従来のプロキシでは,クエリ処理のプロセスと TCP/IP プロトコルスタックのプロセス間でパケットデータのコピーが発生する実装となっていた.また,NIC のマルチキュー機能を想定しないスレッド構成になっていたため,ネットワーク処理がボトルネックになっていた.さらに,クエリのルーティングを行うクライアントスレッドとクエリの集約・分解を行うスレッド間のデータの受け渡しに用いるキューに mutex による排他制御を使用していたため,大きなオーバヘッドが発生していた.そこで本研究では,プロトコルスタックの処理スレッドを複数動作させることでメニーコアを活用し,ネットワーク処理を改善しつつ,そのスレッド上にクエリルーティング処理やクエリ集約・分解処理を実装することで,プロセス間通信やパケットコピーの削減を行う.また,クライアントスレッドと集約・分解スレッド間のデータ受け渡しにロックフリーなキューを利用することでプロキシのさらなる高速化を実現する.さらに,プロキシがクライアントからの要求を全て受け付け,ロックの管理を行うことで,排他制御に必要な KVS ノード間の通信を削減する.性能評価の結果,クライアント及び KVS ノードに DPDK を用いる条件下において,プロキシは 10Gbps のスループットを達成し,さらにプロキシによる集中的な排他制御によって,Paxos を用いた場合と比較して,レイテンシが約 35 分の 1 となった.}, title = {分散KVSにおけるメニーコアを活用したプロキシによるクエリ集約及び排他制御}, year = {2019} }