KubeCon EUのRISC-Vのキーノートから見えるKubernetes的なオープンハードウェアとは
RISC-V(リスクファイブ)はオープンソース化されたISA(Instruction Set Architecture、命令セット)としてx86、ARMに次ぐISAとして注目されている。プロセッサーは、コンピューターメーカーが自ら作成するメインフレーム/ミニコンピュータの時代、Intelに代表されるジェネリックなマイクロプロセッサーがサーバーやデスクトップ/ノートPCに使われる時代を経て、現在は処理速度、フォームファクター、消費電力の高いバランスが必要となるスマートフォン、スマートデバイスそしてエッジまで対応できる業務ドメインに適したプロセッサーが求められる時代となっている。
現在はPC時代の覇権製品であったIntelアーキテクチャ以外に、省電力性能に長けたARM、機械学習ではもはや主流となっているNVIDIAのGPU、さらにソフトウェアで回路を変更できるFPGAのリーダーであるXilinxのプロセッサーまで、選択肢が拡がっていると言える。その中で命令セットをオープンソースとして公開し、独自にプロセッサーを開発実装できるRISC-Vは、ライセンス料が不要なプロセッサーとしてニッチなポジションからメインストリームに躍り出ようとしている。今回は2021年5月7日にKubeCon EUのキーノートセッションとして行われたRISC-Vに関するセッションを紹介する。
動画:RISC-V: The Lowest Layer of the Cloud-Native Landscape - Daniel Mangum & Carlos Eduardo de Paula
セッションを担当したのはUpboundのシニアエンジニアであるDaniel Mangum氏とRed HatのクラウドアーキテクトであるCarlos Eduardo de Paula氏だ。
タイトルが示すようにこのセッションでは単にISA、プロセッサーとしてのRISC-Vではなく、クラウドネイティブなシステムの最下層に位置するレイヤーとしてのRISC-Vを紹介する内容となった。
まずMangum氏が触れたのはCNCFのCloud Native Landscapeだ。これはCNCFがクラウドネイティブなシステムのエコシステムを解説する際に使うインタラクティブなWebサイトだ。コンテナランタイムからCI/CD、セキュリティ、サーバーレスなど多くのオープンソースソフトウェア&プロジェクトが紹介されているだけではなく、商用のサービスやプロダクトなども掲載されているのが特徴的と言えるだろう。ただし、この中で欠けているものがあるというのがMangum氏のポイントだ。
これらクラウドネイティブなコンポーネントを実行させる際に必要となるハードウェアは、これまでIntel x86やARMというISAからそれに特化したハードウェアが密接に統合されていることを指摘した。このチャートでは最上位に位置するアプリケーション、その下にミドルウェア、さらにプラットフォーム、そしてオペレーティングシステム、そしてハードウェアというレイヤー構成になっている。注目したいのはプラットフォームとしてKubernetesを例にオンプレミスからSaaSモデルのマネージドKubernetesまでさまざまな形態で提供されるプラットフォームとしてのKubernetesによって、上位のアプリケーションは互換性を保持でき、相互運用性を高められることを指摘した点だろう。
続けて、命令セットとハードウェアが密接に統合されていることは必ずしも悪いことではないとした上で、なぜそれを変えないといけないのか? について、この後に紹介することになった。
ここではムーアの法則がすでに限界を迎えていることと、より省電力、小さなフォームファクターのプロセッサーに対するニーズが増えていることを解説し、現行のISAとハードウェアが密結合されたマイクロプロセッサーではなく、命令セットとハードウェアを分割し、モジュラー型で取捨選択できるアーキテクチャと実装が必要となったことと主張する。そしてそれを実現したのがRISC-Vであることを紹介した。
特にIoTデバイスやエッジなどの用途がハッキリしているコンピュータシステムには、ジェネリックなプロセッサーではなくRISC-Vを使うことでカスタマイズが可能になり、ライセンス料が不要であることも大きな魅力だろう。実際日本でも、ルネサスが車載用のシステムとしてARMではなくRISC-Vを採用するというニュースを2021年4月21日に発表している。
参考:ルネサスとSiFive、車載用次世代ハイエンドRISC-Vソリューションの共同開発で提携
そしてここからはRed HatのEduardo氏にバトンタッチして実際にRISC-Vの上でソフトウェアが実行されていることを見せるフェーズとなった。
Eduardo氏のデモはSiFiveのボードを組み込んだPCを使ってUbuntu上でKubernetesを実行し、その上でサーバーレスのオープンソースプロジェクトOpenFaaSのプロセスを実行するというものだ。デモ自体はターミナル上にASCII絵文字を表示するという単純なものだが、すでにマザーボードとして商用の製品があること、さらに多くのオープンソースプロジェクトがRISC-Vへの対応を始めていることを印象付けるものとしては成功と言えるだろう。
このスライドではRISC-Vの対応としてGoogleが開発したプログラミング言語のGo、さらにコンテナブームの嚆矢とも言えるDocker、コンテナランタイムであるrunc、ContainerdなどがRISC-Vのサポートを実装していることを紹介した。
このスライドでは単にサポートしているだけではなく、RISC-Vで実行するためのイメージを用意しているプロジェクトを紹介している。このリストはEduardo氏が個人的に収集しているRISC-Vに関するプロジェクトをGitHubの中で紹介しているものの一部であり、常に更新されていると考えるべきだろう。興味のある方は以下を参照されたい。
Carlos Eduardo de Paula氏のGitHub:RISC-V bring-up tracker
またオープンなプロジェクトとしてのRISC-Vにおいて、特にソフトウェアという面では多くのやるべきことがあるとして紹介したのが次のスライドだ。
最後にもう一度、デモとしてKubernetesの上でOpenFaaSのプロセスを起動してそれを確認するということを行って、Mangum氏と交代した。
2人のスピーカーのコンタクト先を紹介してプレゼンテーションを終えた。
RISC-Vの盛り上がりとソフトウェアのエコシステムに関する資料として、2020年12月に行われたRISC-VのカンファレンスでSiFiveのCEOが行ったプレゼンテーションのスライドを紹介しよう。動画は以下のURLから参照できる。
参考:SiFive CEO Patrick Little speaks at the RISC-V Summit 2020 on how RISC-V is good & can be great!
ちなみにSiFiveはRISC-Vに特化したベンチャーで、2018年にポートランドで開催されたEmbedded Linux Conferenceにて、CTOがプレゼンテーションを行っている。
参考:RISC-Vを手がけるSiFiveのCTOがIoT時代のプロセッサーを語る!
次のスライドでは2019年から急激にRISC-V Foundationのメンバーが増えていることが見てとれる。実際のマイクロチップとしての実装は84ということで、この数値が多いのか少ないのかは判断が難しいと言える。判断のポイントは「実際にどのような製品に組み込まれているのか?」となるだろう。
このスライドでは、RISC-Vに関わるソフトウェアエコシステムを紹介している。
ここではLinuxのディストリビューションとしてUbuntu、Debian、Fedora、SUSEなどの他にブートローダーであるcoreboot、U-bootなどの名前も確認できる。
また2019年には元IBMのシニアマネージャーがRISC-V FoundationのCEOとして就任した際のインタビューを公開しているのでそちらも参考にされたい。
参考:RISC-V FoundationのCEOに訊いたRISC-Vのこれから
KubeConのキーノートとして、ハードウェアに近いRISC-Vを持ってくるのは少し畑違いな感覚かもしれないが、オープンな命令セットのRISC-Vと、オンプレミスからSaaSまで多様な実装を可能にしたオープンなプロジェクトとしてのKubernetesに通じるものがあるというのがCNCFの狙いなのかもしれない。エッジにおけるKubernetesの実装が現実的になる状況では、x86、ARM以外の選択肢があることを認知させると言う意味で、価値があるプレゼンテーションだったと思われる。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- RISC-Vを手がけるSiFiveのCTOがIoT時代のプロセッサーを語る!
- RISC-V FoundationのCEOに訊いたRISC-Vのこれから
- 最も使用されているオープンソースアプリケーションライブラリの調査結果を発表、IntelがRISC-Vに1000億円超の投資、ほか
- KubeCon China開催。DPDKとCI/CDのプレカンファレンスを紹介
- Tigeraのアドボケイトが、x86とARMのマルチアーキテクチャークラスターを解説
- TOPPERSプロジェクト、64bit RISC-Vプロセッサ搭載ボード「Maixduino」にμITRON系リアルタイムOSカーネル「TOPPERS/ASPカーネル 1.9.3」のポーティングを実施し、オープンソース化
- TOPPERSプロジェクト、64bit RISC-Vプロセッサ搭載ボード「Maixduino」にμITRON系リアルタイムOSカーネル「TOPPERS/ASPカーネル 1.9.3」のポーティングを実施し、オープンソース化
- KubeCon Europe開幕、初日のキーノートではLinkerd、OpenTelemetryに注目
- CNDO 2021、KubernetesのセキュリティをHPEのアーキテクトが解説
- OpenShift Commons GatheringからMicroShiftとCockroachDBを紹介