セミコンポータル
半導体・FPD・液晶・製造装置・材料・設計のポータルサイト
セミコンポータル

ストレージのそばでデータ解析可能なArm Cortex-R82

Armは、リアルタイムCPUの64ビット版、Cortex-R82を開発した。コンピュータシステムのストレージからデータを呼び出して計算する用途を狙ったもの。Cortex-RシリーズはリアルタイムCPUという位置づけのIPコア。Cortex-R82ではCPU回路を8コア搭載、ニューラルネットワークの演算向けにNeonプロセッサも内蔵している。

Cortex-R82: Enabling Next Generation Storage Solutions

図1 Armの新製品IP、Cortex-R82の基本構造 出典:Arm


従来、サーバなどのコンピュータからストレージのデータを呼び出して演算する場合、ストレージにある大量のデータをサーバに呼び出し、サーバのCPUで演算し、その結果をストレージに戻す、という作業をしていた(図2)。ストレージに入っているデータをホストのCPUから呼び出すためには時間がかかりすぎることになる。そこで、ストレージ側で計算できるようにCPUを持たせたのが今回のCortex-R82である。


Computational Storage

図2 ストレージのそばでデータ解析などの演算を行える 出典:Arm


このCortex-R82を使うと、サーバのCPUがストレージからのデータをアクセスしようとリクエストを出した時、ストレージ側で処理すべきデータを演算し、結果だけをサーバに戻すことができるようになる。サーバの負荷が減るだけではなく処理スピードが格段に速くなる。しかも、ストレージ側に価値を与えることができるようになる。このCPUに対して既存のソフトウエアを使って新しいストレージのアプリケーションを開発することが簡単にできるようになるという。

Armによると、HDDやSSDのコントローラの85%がArmベースのCPUを使っている。すでにストレージのコントローラ向けに数十億個のチップが出荷してきたとしている。Western DigitalはRISC-Vプロセッサをベースとするコントローラを設計していることを明言している。

Cortex-R82は、図1で示されているように、64ビットのCPUコアを8コア、各コアにSIMD演算専用のプロセッサであるNeonコアとFPU(浮動小数点演算)や、キャッシュメモリも集積されている。Neonは機械学習やデジタル信号処理などに使うために用意した。従来のCortex-R8と比べ、1サイクル当たりのニューラルネットワークを演算する場合14倍も高速になったとしている。

加えて、リアルタイム動作に特化しているため、割り込み動作も低遅延で行うという。メモリ空間として最大1TバイトのDRAMをアクセスできるようにするため40ビットのメモリアドレス空間を備えている。

また、MMU(メモリ管理ユニット)を搭載し、メモリにアクセス制限を持たせセキュリティを守ることができるため、高度なOSやエコシステムを導入できるとしている。しかも、LinuxやAndroidといったRich OSを使ってちょっとしたデータ解析を行うことができる。各コアでMMUありとなしを選択でき、フレキシブルにコアによって混在させることができる。このため、ストレージ内のデータを保存・アクセスする時にはRich OSを減らし、データ解析で演算している時はRich OSを増やす(図3)、といったフレキシブルなワークロードの割り当てができることも特長である。


Flexibility to Change the Balance of Workload

図3 ストレージ機能に専念する時と演算に集中する時によって、OS負荷の割り当てをフレキシブルに変えられる 出典:Arm


フレキシブルなワークロードの例として、駐車場のカメラ映像のストレージの場合、日中はナンバープレートの撮影などカメラ映像のストレージに集中させ、比較的クルマの台数が少なくなる夜間には認識・整理などのデータ分析処理に集中させることができる。こうしてワークロードを分散する訳だ。

Arm Cortex-R82で使われるプロセスは16nm設計以降の微細なプロセスをターゲットとしている。Linuxに対応しているため、従来通りArmのエコシステムが使える。

(2020/09/10)

月別アーカイブ

Copyright(C)2001-2024 Semiconductor Portal Inc., All Rights Reserved.