ソフトなハードウエア「FPGA」とハードウエア記述言語のオープンソースプロジェクト化

ソフトウエアエンジニアリングの現場で巻き起こるオープンソース旋風

ソフトウエアとはそもそもハードウエアの対義語であり、変更が効く柔軟なコンピューティングのリソースと言う意味です。ソフトウエアエンジニアリングのスタイルは直近10年の間でも大きく変化しました。

特にオープンソースというプロジェクトの形態は登場以降大きく世界を変え続けて居ます。大企業で言えばGoogleのChromeやAndroidなどの製品はオープンソースを利用して開発され、大きな成功を収めて居ます。Googleはオープンソースを活用したビジネスにおいては天才的な手腕を発揮しています。

Chromiumというオープンソースプロジェクトを発足させ、その中で旗振り役を務めながら見事現在世界で最も使われているブラウザ「Chrome」を作り上げました。これは同社のビジネスの軸であるGoogle検索エンジンのシェアの底上げに寄与するだけで無く、ブラウザ内で使える高度なプラグインがダウンロード出来るオンラインストア「Chrome web store」などのビジネスも発足しています。

モバイルOSのAndroidについては現在もオープンソースです。モバイルOSとして世界最大のシェアを誇ります。Androidアプリがダウンロードできる「Google Play」は年々市場規模を拡大しています。

オープンソースという開発形態は、ソフトに料金が発生しない点だけを見るとビジネスとは結びつきそうにありませんが、ここ10年の間でオープンソースをビジネスに利用する動きが活発化して来ました。ソフトウエアエンジニアリング業界にはオープンソースという大きな潮流があると見て良いでしょう。

ハードウエア記述言語「HDL」とソフトなハードウエア「FPGA」

ハードウエアは一般的に既に焼きこまれて居たり半田付けされている固定的な回路を指します。このハードウエアの設計の現場ではHDL(Hardware Description Language:ハードウエア記述言語)という言語が使われます。HDLの記述を元に回路パターンを生成しその回路をシリコンに焼き付けることでプロセッサとなります。

FPGAとは書き換え可能な論理素子で作られている回路のことです。物理的な回路なのですが、固定的ものとはなっていないので、ソフトウエア及びハードウエア、両者の性質を持っているものとして「ソフトなハードウエア」と呼ばれています。最近ではMicroSoftが自社製の検索エンジンBingを実行するサーバーにFPGAで実装されたアクセラレーターを採用したことで話題になりました。

FPGAは大規模なコンピューティングリソースを提供するサーバーや、とにかく高速性が求められる金融市場のサーバーなどに用いられます。実装に手間がかかりますが、同じ処理なら汎用プロセッサより高速に低い消費電力で実行出来るためです。特に性能が求められる分野で使われるため、より微細なプロセスルールで作ることが求められるチップでもあります。ハードウエア記述言語を用いて書き換え可能であれば良いので内部実装も様々な工夫が行われます。例えばIntelが最新の14nmのtri-gateプロセスで作成したFPGA「Stratix 10」にはどうやらARMv8「Cortex A53」のIP(Intellectual property:知的財産権)が使われているようです。

オープンソースなRISCメニーコアプロセッサ「OpenPiton」は何を意味するか

OpenSPARC T1コア x25のメニーコアプロセッサOpenPitonはHDLの一つであるVerilog HDLで書かれ、研究、教育用途のプロセッサとしてオープンソース化されています。メッシュ状のインターコネクトで繋がれたRISCメニーコアプロセッサと言うHPC界で主流となっているような現代的な設計で注目を集めています。

このプロセッサを始めとして、オープンソースなプロセッサにはいくつかあります。OpenSPARC T1/T2はGPL v2でライセンスされたオープンソースなプロセッサですし、同じくRISCメニーコアなBSD 3-ClauseライセンスのRISC-Vなどがあります。これらのオープンソースのソフトなハードウエア資源が増えれば、FPGAを取り巻く環境は一変するでしょう。何せ欲しい機能を持ったプロセッサを開発する時にベースとなるプロセッサから始められるのですからハードルはグンと下がります。ソフトウエアがそうしてきたように、オープンソースプロジェクトの資産を利用したプロジェクトをオープンソースで公開する流れが出来れば、FPGAは加速度的に普及していくはずです。FPGAを用いた専用プロセッサの未来はHDLのオープンソース化にかかっていると言えるかもしれません。

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)