Dragon Lizard ホワイト ペーパーのセレクション: io_uring を使用したデータベース システムのパフォーマンスの向上

テキスト/高性能ストレージ SIG

01 背景紹介

従来のIOソフトウェアスタックでは高性能ストレージデバイスの性能を十分に引き出すことができず、高性能IOスタックは現在のストレージ分野における重要な研究テーマの1つとなっており、代表例としてはユーザーモードソリューションSPDKや標準のカーネル モード ソリューション io_uring。

02 キーテクノロジー

Linux コミュニティは、新しい非同期 IO フレームワーク io_uring をゼロから設計しました。io_uring コミットおよび完了イベントでのメモリのコピーを回避するために、アプリケーションとカーネル間の通信用に 1 対の共有リング バッファが設計されています。この設計の利点は次のとおりです。

  • リクエストを送信して完了するときに、アプリケーションとカーネルの間でメモリのコピーを行う必要はありません。

  • SQPOLL 拡張機能を使用する場合、アプリケーションはシステム コールを必要としません。

  • ロックフリー操作、メモリオーダリングを使用した同期の実現など。

Dragon Lizard コミュニティは、2020 年前半から io_uring コミュニティの開発に参加し、多くの機能と最適化に貢献し、グラフ データベース シナリオでのコンテナ化された展開とターゲットを絞った最適化を検討してきました。

技術的な利点: アプリケーションは、統一された標準システム コールを通じて io_uring を使用します。従来の Linux ネイティブ AIO と比較して、io_uring はダイレクト IO のみをサポートするという制限と追加のメモリ コピー オーバーヘッドを排除し、ユーザー モード フレームワーク SPDK と比較して、io_uring は追加のユーザー モード ドライバーを開発することなく Linux カーネルの標準ドライバーを再利用できます。シーンはより一般的になり、プログラミング インターフェイスはより使いやすくなりました。

このテクノロジーの特徴は次のとおりです。

  • 使いやすく、アプリケーションの統合も簡単です。

  • ストレージ IO だけでなく、ネットワーク IO にも拡張可能です。

  • Buffer IOのサポートなど、あらゆるアプリケーションに対応する豊富な機能。

  • 特にほとんどの 512 バイトまたは 4K IO シナリオで効率的です。

  • ピーク時のシナリオなどのパフォーマンスのニーズに合わせて拡張可能。

アプリケーション シナリオ: io_uring は、非同期 IO を必要とするほとんどのビジネスおよびアプリケーションに適用できます。現在、io_uring は、RocksDB、Netty、QEMU、SPDK、PostgreSQL、MariaDB など、多くの主流のオープン ソース アプリケーションに統合されています。

03 グラフデータベースエンジンiGraph最適化実践

グラフ コンピューティング サービス Graph Compute は、Dragon Lizard コミュニティの議長ユニットである Alibaba Cloud によって開発された高性能分散グラフ コンピューティング製品であり、制御、ナレッジ グラフ、ソーシャル ネットワーク、その他のシナリオに幅広い用途があります。そのコア エンジン iGraph は、ディスクベースのクエリ アクセス シナリオに io_uring を導入し、高い IOPS での安定した動作をサポートします。

 

実際の結果: グラフ データベース エンジン iGraph が io_uring によって最適化された後、オンライン オペレーティング環境の CPU オーバーヘッドが元の Linux の CPU オーバーヘッド以下であるという前提の下で、ビジネスのエンドツーエンド レイテンシが 20% 最適化されました。ネイティブ AIO バージョン。

Dragon Lizard ホワイトペーパーのその他の厳選された内容:

[1] DPU シナリオ用のソフトウェアとハ​​ードウェアの協調プロトコル スタック

【2】アジャイル開発シナリオにおけるスケジューラホットアップグレードSDK

[3] クロスクラウドエッジエンド読み取り専用ファイルシステム EROFS

【4】Dragon Lizard はインテルの第 4 世代スケーラブル プロセッサー SPR プラットフォームを完全サポート

[5] ヘテロジニアス コンピューティング用アクセラレータ SDK

【6】SM4アルゴリズムに基づくファイル暗号化(fscrypt)の実践

【7】CentOS移行シナリオのスムーズな移行ソリューション

関連リンク:

高性能ストレージ SIG ホームページ: https://openanolis.cn/sig/high-perf-storage

Anolis の技術的特徴の詳細な分析については、「Encyclopedia of Dragon Lizard features」を参照してください: https://anolis.gitee.io/anolis_features/

Dragon Lizard コミュニティの 2022 パノラマ ホワイト ペーパー (またはキーワード「ホワイト ペーパー」に返信して公開アカウント [OpenAnolis Dragon Li] から取得) https://openanolis.cn/openanoliswhitepaper

- 以上 -

Dragon Lizard コミュニティでは、より良いコンテンツとサービスを提供するために、アンケート調査へのご参加を心から歓迎しています。下の QR コードをスキャンするか、このリンクをクリックしてご記入ください。質の高いフィードバックを選択して、Dragon Lizard を送信します。トカゲグッズ!

 

おすすめ

転載: blog.csdn.net/weixin_60347558/article/details/130832202