Open Domain-Specific Architecture

OCP のサイトをみていたらこんなアナウンスがあった:

関連 PDF:

OCP は言ってみればデータセンターで使うハードウェア CPU とかの「入れ物」を標準化、公開するプロジェクトだった。たとえばラックであったりシャーシであったり、あるいはもうちょっと踏み込んでネットワークスイッチであったり。加えて NIC のようなわりかしコモディティ化しがちなハードウェアの設計も提供している。こいつらは組み合わせて使えることが期待されている。(OCP ベースの製品一覧。)

ODSA はその SoC 版といえる。従来の OCP は、たとえば CPU や GPU のような知財は普通に Intel なり NVIDIA から買ってきていた。OSDA も SoC の個々のコンポーネントは世間で売られているものなり自社開発したものを使う。ただしそれをパッケージングするための標準を決めたい。

キーとなる意思決定が Chiplet の利用. Snapdragon のような SoC は複数のコンポーネントを一つの ASIC にギュっと詰め込んで、一つのプロセスで彫り出す。一方、OSDA では個々の機能単位を "Chiplet" として独立に製造し、それを multi-chip module としてインテグレートする。Monolithic Service に対する Microservices みたいなもん。なので先に SoC と書いたけど違う気がする。System-on-Chip じゃない。

Chiplet はコンポーネント毎に異なる製造プロセスを使えるしそもそも違うベンダーから買えるし、ダイを切り出す単位が小さくなるので歩留まりもよくなる。一方で Chiplet 間をつなぐのは大変だし電力も多くなりがち。なのでその欠点を小さくするようなデザインを標準化して、標準にのっかった Chiplet ならぱぱっと組み合わせられるようにしましょうね、そうすれば Domain Specific Architecture のチップを作って売り買いしやすくなるでしょと主張する。


言われてみると DSA のチップを作っても単品では使い物にならないので SoC を作ってる人々に売り込むなり自分でフル機能の SoC を作る必要があるわけで、なかなか大変。コアのビジネスに集中するために周辺は標準化のうえコモディティ化したい。

じっさい OSDA を提案しているのは Netronome という NIC を売っている会社のひと。eBPF を実行できる DSA をつくったりしているらしい。こういうのを NIC なりサーバの中なりに配備する際、OSDA のような標準があると嬉しいのだろう。そこに NN accelerator を OCP でつくりたい Facebook などが乗っかってきたという構図。

いまは掛け声ドキュメントしかないので、2-3 年たったころにまた冷やかしてみたい所存。


掛け声ドキュメント自体は DSA に限らず従来の accelerator の現状をざっくり説明していて面白かった。たとえば cyrptcurrency とか冗談ではなくほんとに ASIC でやってるのだなとか、アカデミアでは Near Memory Computing というのがはやってるらしいとか (1, 2). たまに普段と毛色の違うものを読むと発見が多くて良い。


2019/11 追記

Chiplet は 2018 年に AMD が採用したことで話題になっていた