新しいフロンティア「IoT/Robotics」
IntelはQuark CPUベースで、「Arduino 101/Genuino 101」や「Galileo」、Atomベースで「Edison」というモジュールを製品化している。
さらに、Quarkコアに6軸の加速度センサとジャイロスコープ、Bluetooth Low Power、低電力のDSPを搭載するCurieモジュールを製品化している。Curieは384KBのFlashメモリと80KBのSRAMを内蔵しており、内蔵している以外のセンサは外付けする必要はあるが、1チップでウェアラブルデバイスが作れるIoT向きのMCUである。
また、Intelは4コアのAtom x5ベースのAaeon UPボードとステレオカメラのRealSenseを組み合わせてRobotics Kitとして販売している。IoTと違って画像認識など計算量の多い処理が必要となるので、4コアAtomを搭載している。
処理の遅れが事故に直結するロボットや自動運転などでは、リアルタイムの制御が重要になる。SkylakeとApollo Lakeではシステム全体の正確な同期を実現する機能がサポートされている。また、PTP(Precision Time Protocol)プロトコルを使えば、LANで接続された分散システム間でマイクロ秒以下の精度での同期ができるようになる。ロボットOSのROS2はリアルタイムの分散システムをサポートする。このように、リアルタイムの制御が特別なものではなく、標準的な枠組みで実現できるようになり始めている。
さらに先の新しい計算モデル
Xeonなどの汎用コンピュータは、処理の順をステップごとに指定する手続き的な計算モデルを使っているが、その他にもいろいろな計算モデルがある。なかでも、最近、注目を集めているのが、脳のように情報を処理するNeuromorphic計算モデルである。あちこちからの入力を疎行列として扱い、それにそれぞれの入力に対する重み行列を掛けるという計算を行なって画像の認識などを行う。この場合はそれぞれのニューロンの働きは手続き的な処理モデルで実現しているが、ハイレベルの認識処理のモデルは手続き的ではない。
ニューロンは、信号をスパイク(細いパルス)で伝達し、入ってくるパルスの数がある閾値を超えるとスパイクを出力する。そして、複数の入力スパイクが一致すると、その入力の重みを増やすなどして学習を行っていく。IBMのTrueNorthはこの動きを真似た回路を使っており、こちらはニューロンの働きの部分も専用回路で実現している。
McCool氏は、伝統的な手続き的にスカラ量を処理する計算モデルは、効率は良くなく、将来的には効率の良い専用処理モジュールの間をつなぐ糊のような位置づけで用いられるようになると考えられるという。
この専用処理モジュールとしては、エキスパートが設計した膨大な並列性を持つ処理ハードウェアやディープラーニングのような大量のデータを学習するハードウェアなどが考えられるという。
結論
McCool氏は、基調講演を次のように総括した。
- Intelプロセサの内蔵GPUは、広い範囲の並列化が可能な問題に対して威力を発揮する可能性がある
- AlteraのFPGAは膨大な並列性を持つ計算や高度のリアルタイム性や低レベルのインタフェースを必要とする用途に役に立つ
- ロボット工学はより興味深いものになって行く。そして、IoTを補完するものになって行く
- Intelは性能や用途の点で、広い範囲のプロセサ製品を提供している
- 計算ニーズの進化から、手続き的以外の計算処理モデルにも目を向ける必要がある。また、近似計算やファジー計算などの不正確な計算処理が役に立つのかどうかも考えてみる必要がある。
ムーアの法則は終わりに近づき、半導体の進歩はスローダウンしてきているが、逆に、新しい計算モデルを使う処理を行うプロセサがどんどん出てきてコンピューティングのフロンティアは広がっており、筆者には、広義のコンピュータの研究開発は、より面白くなってきているという印象であった。