
SPDK(Storage Performance Development Kit)を教えて!
こういった悩みにお答えします.
本記事の信頼性
- リアルタイムシステムの研究歴12年.
- 東大教員の時に,英語でOSの授業.
- 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校コンピュータサイエンス学部(2021年の世界大学学術ランキングで20位)で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
- プログラミング歴15年以上,習得している言語: C/C++,Solidity/Vyper,Java,Python,Ruby,Go,Rust,D,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
- 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」をGitHubにオープンソースとして公開.
こういった私から学べます.
【C言語】SPDK(Storage Performance Development Kit)
SPDK(Storage Performance Development Kit)は,高性能でスケーラブルなユーザ空間のストレージアプリケーションを開発するためC言語のライブラリです.
SPDKは主に永続的メモリのプログラミングで利用されることが多いです.
永続的メモリのプログラミングを知りたいあなたはこちらからどうぞ.
SPDKは,GitHubにオープンソースとして公開されています.
1 |
$ git clone https://github.com/spdk/spdk |
オープンソースのライセンスは,大部分は3条項BSDライセンスです.
※一部は2条項BSDライセンス等です.
SPDKの特徴は以下になります.
- 最新のNVMe機能を活用
- Linuxのバージョン依存を最小限に抑えたユーザ空間のドライバ
- ポーリングモードとイベントループ設計による最大限のパフォーマンス
- ロックレスなThread per Core(コア毎のスレッド)設計
SPDKの解説動画はこちらがわかりやすいです.
SPDKを学べるWebサイト
SPDKを学べるWebサイトは以下になります.
SPDKプログラミングを知りたいあなたは,是非読みましょう!
- SPDK
- Storage Performance Development Kit
- Storage Performance Development Kit (SPDK) On Zynq UltraScale+ MPSOC
まとめ
高性能でスケーラブルなユーザ空間のストレージアプリケーションを開発するためC言語のライブラリ「SPDK」を紹介しました.
SPDKはオープンソースで無料で利用できることがわかりました.
SPDKと一緒に利用されることが多いC言語のライブラリとしてDPDKが挙げられます.
DPDKを知りたいあなたはこちらからどうぞ.
C言語を独学で習得することは難しいです.
私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.
私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!
独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!