非同期IOライブラリを利用したSSD向けNoSQL DB「AIODB」の開発と性能評価
2
0
0
全文
(2) 情報処理学会第 81 回全国大会. 3.2 API 本小節では,開発した NoSQL DB の API につい て述べる.次の通り,NoSQL DB として基本的な API を実装している. 1) open: 処理開始 2) close: 処理終了 3) get: key から value を取得 4) put: key-value の保存 利用方法として,value を取得したい場合は, 1)->3)->2)の流れで行う.また,key-value を保 存したい場合は,1)->4)->2)の流れで行う. 4. 性能評価 本節では,開発した NoSQL DB の評価について 述べる.評価プログラム,および条件は前述の 2 節と同様である.使用した SSD は Intel Optane SSD 900P[5]である.この評価ではデータのコピー サイズは 4K [byte]の固定値である.これは, SSD が扱うブロックサイズが 4K [byte]であり, それより小さいサイズを指定できないからであ る.評価結果を図 2 に示す.この評価では, libaio のキュー数を変更し,その様子を見た. キュー数が 64 のあたりで飽和しており,およそ 370K [IOPS]となっている.それ以降,緩やかに 数値が増え,キュー数が 1024 のときに,およそ 375K [IOPS]となった.キュー数はある程度大き い数値としたほうがよいが,大きくし過ぎても 性能はあまり変化しない.なお,fio[6]による同 等の条件を用いた測定では 377K [IOPS]であり, AIODB のライブラリとしてのオーバーヘッドは少 ないと言える.また,これまでの評価を比較す ると,図 1 の value のコピーサイズが 1K [byte] の場合と,図 2 の飽和時の性能がほぼ同等とな. 1-16. Performance [ KIOPS ]. 3. SSD 向け NoSQL DB 3.1 システム構成 本小節では,今回開発した SSD 向け NoSQL DB の構成について述べる.ここでは,実データは SSD に保存し,そのデータ位置を既存の NoSQL DB で管理する方法を提案する.また,データ取得 時の負荷軽減のため,非同期 IO ライブラリを利 用する.開発した NoSQL DB は,次のように 2 つ のライブラリからなる. 1) LMDB: データ位置を管理 2) libaio[4]: データを SSD から非同期に取得 1)によって,ある key が与えられれば,SSD 上の どの位置に value が保存されているか検索できる. 2)によって,得られた value の位置からデータを 非同期処理によって取得できる.. っている.つまり,1K [byte]のデータを DB から 取得する場合,In-Memory の NoSQL DB である LMDB と SSD から直接データを転送する AIODB が同等の 性能になっており,SSD に対する DRAM の性能の優 位性が失われていると言える.1K [byte]より大 きいサイズのデータを扱う場合には,In-Memory の NoSQL DB より我々の AIODB のほうがよい性能 となっている.非同期 IO ライブラリによる CPU の負荷軽減,および SSD から直接データ転送を行 うことによる CPU の負荷軽減の複数の効果によっ て,このような結果が得られたと思われる. 400 300 200 100 0. The number of queues. 図 2 Evaluation of NoSQL DB:AIODB 5. おわりに 本稿では,既存の In-Memory の NoSQL DB の性 能上のボトルネックを調査し,その改善のため, 非同期 IO ライブラリを用いて,SSD 向け NoSQL DB「AIODB」を開発した.前述の評価において示 したとおり,条件次第では In-Memory の NoSQL DB に迫る,もしくは上回る性能を発揮することを 確認した.これにより,費用対効果が高い NoSQL DB を提案することができた. 今後は,さらなる性能向上を目指し,複数台 の SSD を利用するなどの対応を行っていきたい. また,ユースケースを考慮した評価を行うこと で,様々な条件に対応させていきたい.さらに, SSD 向けに開発された他の NoSQL DB とも比較した い. 参考文献 [1]LMDB: https://github.com/LMDB/lmdb [2]MDBM: https://github.com/yahoo/mdbm [3]Redis: https://redis.io/ [4]libaio: http://lse.sourceforge.net/io/aio .html [5]Intel Optane SSD 900P: https://www.intel. co.jp/content/www/jp/ja/solid-state-drives /optane-ssd-900p-brief.html [6]fio: https://github.com/axboe/fio. Copyright 2019 Information Processing Society of Japan. All Rights Reserved..
(3)
図
関連したドキュメント
【原因】 自装置の手動鍵送信用 IPsec 情報のセキュリティプロトコルと相手装置の手動鍵受信用 IPsec
はじめに
近年の食品産業の発展に伴い、食品の製造加工技術の多様化、流通の広域化が進む中、乳製品等に
Google マップ上で誰もがその情報を閲覧することが可能となる。Google マイマップは、Google マップの情報を基に作成されるため、Google
※お寄せいた だいた個人情 報は、企 画の 参考およびプ レゼントの 発 送に利用し、そ れ以外では利
環境への影響を最小にし、持続可能な発展に貢
運航当時、 GPSはなく、 青函連絡船には、 レーダーを利用した独自開発の位置測定装置 が装備されていた。 しかし、
SFP冷却停止の可能性との情報があるな か、この情報が最も重要な情報と考えて