研究紹介

ふんが研は主に3つのチームで研究しています!

WASMII

低電力高性能アーキテクチャ設計

ASAP

FPGA, GPUを利用した最適化

BLACKBUS

HPC, DC向けネットワーク, NoC

WASMII

WASMIIでは, スマートフォン, IoT, ウェアラブルデバイスなどの組み込み系に向けて, チップ開発をしています. 組み込み系では, 長期間バッテリー駆動できることが望ましいので, 低電力がメインテーマです. チップの設計も行っており, テープアウト(設計締め切り)の直前には, ふんがさんをはじめ, 研究室全体が活気づく様子が見られます. WASMII内で現在行われている研究は以下です.

Cube

三次元積層マルチコアプロセッサ

Cubeとは「誘導結合を用いたビルディングブロック型計算システム」の研究で作成された三次元積層プロセッサです.
「積層? 通信はどうするの?」
いい質問です.
電磁誘導を使って通信をします. 慶應電子工学科黒田研から, TCIというモジュールが提供されています.

アプリケーションに特化したチップ同士を積み上げることで, 用途に応じて様々なシステムを作成しています. 現在では, CMAというリコンフィギュラブルシステムを積層する計画が進んでいます.

CMA

低電力再構成プロセッサ

CMAとはCool Mega Arrayの略です. 分野としては, CGRA(Coarse Grained Reconfigurable Array)と呼ばれるジャンルですが, 再構成の頻度を減らすことで大幅な低電力化を達成しました. 名前にもある通り何よりもエネルギーを抑えることを優先したプロセッサです.

MuCCRAの研究の結果,消費される電力のうち動的再構成に要する電力が意外に大きいことが判明したので, 演算器をあらかじめ多数用意して一気に構成してしまい「動的」な再構成をしないのはどうだろうかという結論に至ったことが発端となり立ちあがったグループです.

Geyser

ツインタワーシステム

Geyserは, Cubeシステムにおいて, 計算の指揮を取るCPU部のチップです. 現在は, このCubeタワーが2つ横並びになった「ツインタワーシステム」が提案されています. 2つのタワーは共有メモリSMTTを介して通信します. 2017年度夏季にSMTTのテープアウトがありました.

NeuroCore

三次元積層メニーコアディープラーニングアクセラレータ

近年, 画像認識や音声認識, 機械翻訳などの分野において, Deep Learningが幅広く利用されるようになりました. Deep Learningの高速化には, 本来ゲームの高速化用であったGPUを用いることが一般的です. しかし, 電力効率などの面において, コンピュータアーキテクチャの観点から, さらなる効率化の余地があるものと考えられます.

天野研究室では, 東京大学の近藤研究室と共同で, Deep Learningをターゲットとして, 電力や速度の面で既存のCPUやGPUよりも有利な, 新しいアクセラレータ, NeuroCoreの開発に取り組んでいます. SNACCというチップを開発しました. 畳み込み演算に特化したASICです. 具体的には, 独自の命令セットを持つメニーコアアーキテクチャを採用しています.

Body Bias Controller

MOS-FET(トランジスタの一種. 現在のコンピュータシステムで最もよく用いられている)のウェルに電圧をかけることで, ゲート(≒トランジスタ)の動作速度を上げたり下げたりします. トランジスタはOFFからONに切り替わる際に消費する「(動的)スイッチング電力」と, 何もしなくても流れ続ける「(静的)漏れ電力」の2つが存在します.

フォワード・バイアスをかけると, ゲートの動作速度が上がりますが, 代償として漏れ電力が増加してしまいます. 逆に, リバース・バイアスをかけると, ゲートの動作速度は低下しますが, 漏れ電力を削減することができます. この条件のもとで, 最適な電力点を発見するシステムの提案を行っています.

MTJによる不揮発性FFを用いたアーキテクチャ

不揮発性の記憶素子を実現する方法の一つにMTJを用いる方法があります. MTJ素子は磁場の向きによって素子の抵抗が変化することを利用して情報の格納を行うことができます. その不揮発性から, 長時間データをキープしたり, 電源をオフにしても(パワーゲーティングしても)データが失われないという特質があります. 一方で, 書き込みに大きな電力を必要とするという欠点もあります. 大きい書き込み電力による影響を軽減するため, いささか洗練された制御が必要とされます. ふんが研では, 書き込み電力を削減するための制御を実現しながらパワーゲーティングできるアーキテクチャの研究を行なっています.

過去の研究

MuCCRA

動的再構成プロセッサ

MuCCRAは「Multi-Core Configurable Reconfigurable Architecture」の略で, このグループでは動的再構成プロセッサというアーキテクチャの有効的な利用方法を研究をしています. 動的再構成プロセッサとは,チップの中に構成情報を流すことで動的に回路構成を変えることのできるプロセッサのことです.

MuCCRAはマルチメディア処理で性能を発揮できるアクセラレータと言えます. マルチコア化,無線での3次元接続など,さらなるパフォーマンスの向上に取り組んでいます.

LEAP

超低電力アーキテクチャ

LEAPは, 「Low-power Electronics Assciation & Project」の略で, SOTB CMOSFETと呼ばれる超低電力半導体を用いたアーキテクチャを設計しています. SOTB CMOSFETはルネサスが開発した技術で, 従来は約1.2Vでチップを動かしていたものをこの技術を使うことにより約0.4Vと従来の3分の1の電圧で動くようになり, 大幅に消費電力を削減することができるようになりました. このSOTB CMOSFETを有効活用できるようにするのがこのグループの課題です. SOTB CMOSFETをどのように制御すればいいかを探っています.

ASAP

ASAPではFPGAやGPUを使って, でかい問題(計算量の多い問題)をできるだけ安いコストでいかにして速く解くかを追及しています. 深層学習, 画像処理, 流体力学, 金融工学など, 対象となる分野はたくさんあります. 以下のようなプロジェクトがあります.

Neuro

Deep Learning Accelerator

キーワード: 深層学習, FPGA,GPU,CNN,RNN

FiCSW(Flow in Cloud SWitch)

このボードにはにはFPGAとラズパイが載っています.このボードとGPUとを複数つなぐことで 大きな計算ネットワークを構築します.これをクラウドとして大きな深層学習演算クラスタを構築しようという日本のAI研究の未来を担うプロジェクトです. この演算クラスタ内でFiCSWはネットワークのスイッチとしての役割を担います.また各ボードは光リンクでつながっているので計算性能に対する通信遅延が隠蔽できます. 更にFPGAの余った計算資源で推論アクセラレータを実装しようというプロジェクトです.

CNNアクセラレータ

深層学習のなかでも画像認識などに大きな効果を発揮するCNN(Convolutional Neural Network)の演算をFPGAで高速化しようという研究です. 最近, 大躍進の謎のAI半導体メーカNVIDIAがGPUでのプラットフォームを作り高速化していますが, GPUの大きな欠点として巨大な消費電力が挙げられます. FPGAを用いて, CNNで実行される行列の積和演算を並列計算し高速化するとともにGPUよりも低電力化も実現しようという研究です.

RNNアクセラレータ

RNNとは出力を再び入力として用いる再帰的ニューラルネットワークのことで, その有用さから近年翻訳や動画処理のアプリケーションの基礎に用いられています. RNNを動かすデバイスとしては, その計算並列度の低さから, 任意の回路を焼き込むことができるFPGAというデバイスに優位性があるとされています. FiC-SW1ボードを用いてRNNをどのように高速に実装するかという研究を進めています.

専用チップの開発

FPGAやGPUを利用して高速化, 低電力化を図るのではなく, エッジデバイスからクラウドまで適用できる汎用性のある機械学習用プロセッサの研究をしています. プログラム可能なプロセッサとして設計することでアクセラレータしての制約をなくします. また, 機械学習用途向けのプロセッサとして設計することでGPU以上の実行性能と低消費電力の両立を目指します. そして推論だけでなく学習に対しての実行性能も高くかつ消費電力が低いデバイスのアーキテクチャを探索します.

Aero

キーワード: 流体計算, FPGA, GPU, エンジンシミュレーション

粒子計算のFPGAによる高速化

Aeroプロジェクトでは,FPGAを用いた数値流体力学/粒子法アプリケーションの高速化の研究をしています. FPGA(Field Programmable Gate Array)は現場でプログラム可能なゲートアレイで,その利点を生かしてアルゴリズムに合わせた並列回路を記述し, 高性能計算を行います.現在はホールスラスタと呼ばれる衛星エンジンの開発に用いられるシミュレーション(PIC法)コードの高速化に取り組んでいます. FPGA回路の記述には,C言語ライクに開発が行える高位合成環境を用いています.

SLAM

SLAMとは、Simultaneous Localization And Mappingの頭文字を取ったもので、「自己位置推定」と「環境点の3Dマッピング」を同時に行うものです。 GPSの使えない屋内環境や、環境の3D復元を行いたいときに用いることができます。自動運転・ドローン・レスキューロボットに用いることができます。現在、活発に研究が行われているのは、画像のみから、特徴点を使ってカメラの動きを推定する「Visual SLAM」と呼ばれるものです。
[わかりやすいビデオ]
ASAPグループでは、このVisual SLAMをFPGAに実装し、ドローンや自律ロボットに簡単に載せられるようにする研究を行っている人もいます。

過去の研究

TCA

TCAアーキテクチャを用いたヘテロジーニアスクラスタの高速化
キーワード:TCA, PEACH, GPU, FPGA, スパコン

最近ではGPUを組み込むことで性能向上を目指すスパコンが増加しています. GPUはCPUから計算に必要なデータを受信して, 計算結果をCPUへ送信する必要があります. また他のGPUにデータを送りたいときもCPUが必要となります. 例えばCPU_Aに繋がれたGPU(GPU_A)から他のCPU(CPU_B)に繋がれたGPU(GPU_B)にデータを送りたいという時でも, わざわざGPU_A → CPU_A → CPU_B → GPU_B とデータを転送しなければいけません. GPUを利用したスパコンでは特に, 別のCPUに接続されたデバイスにデータを送るのが遅いのです. そこで開発されたのがTCAアーキテクチャです. TCAアーキテクチャは, PEACHとよばれるFPGAで作られたスイッチによりCPUで隔てられたGPUを直接接続することが可能で, データ転送を高速化することが出来ます. つまりGPU_A → GPU_Bです! また, PEACHに利用しているFPGAは高性能でまだまだ性能的に余裕があります. このPEACHを利用して様々なアプリケーションの高速化を研究していました.

ExpEther

独自アルゴリズムによるデータ圧縮機構の実装
キーワード: ExpEther, NetFPGA,データ転送

近年, CPUやGPUを利用する際にバスとしてPCIeが利用されており, PCIeを利用するデバイスが増えてきています. そのため, PCIeを拡張するためにExpEtherという技術が開発されました. ExpEtherはEthernetを基盤とした仮想化技術ですが, Ethernetを利用しているため,通信バンド幅が小さくなっています. そのため, 我々は通信バンド幅を大きくするために送信前にデータを圧縮し, 送信先でデータを伸張することでデータの通信バンド幅を向上させようという試みをしています. なお,このExpEtherはFPGAに実装されており, 実装されたFPGAの空容量を利用して実装を行います. 現在は, グラフデータやDeep Learningで利用するデータを対象としており, そのための圧縮アルゴリズムの開発と実装を行っています.

BLACKBUS

Blackbusは未来のコンピューターを考え, その可能性を研究するチームです. 主にスーパーコンピューターなどのHPC分野を視野に, 3次元積層や水没コンピューター, Approximate(近似)コンピューティング, 量子コンピューターなどの研究に取り組んでいます. Blackbusは情報工学科 松谷研究室や国立情報学研究所 鯉渕研究室と共同で研究しているチームで, ミーティングで3人もの教授・准教授の指導を受けられるのが魅力です. 1口で3倍美味しいチームです.

3次元積層と水没コンピューター

従来の積層方法
図1. 従来の積層方法
Castele of Chipsの例
図2. Castele of Chipsの例

Blackbusグループでは高電力なプロセッサを水没させて冷却するという研究を行っています. 油などの電気絶縁性の高い液体であればプロセッサをそのままぶちこんでも勝手に動いてくれるのですが, 水にプロセッサを入れてしまうと壊れてしまいます. そのためパリレン膜という薄い樹脂をマザーボードごとコーティングすることで実機を動かしています. この水没技術を利用し, 高電力プロセッサを三次元積層することを考えています.

従来の以下のように3次元積層の方法では冷却効率が悪く温度が高くなってしまいます. しかし図2のようなTCI(誘導結合)を利用したCastele of Chips(CoC)の技術を利用することでより冷却性能を高めることが出来ます. しかしこれによってチップ間のネットワークの性能は落ちてしまいます. またチップとチップの重なっている部分を大きくするか小さくするかで通信性能と熱温度のトレードオフの問題もあります. またアプリケーションレベルの評価も考える必要があります. このようなトレードオフを考えながらよりよい三次元積層, 冷却方法を探求するような研究を行っています.

Network-on-Chip(NoC)

規則的なトポロジの例
図3. 規則的なトポロジの例
ランダムトポロジ
図4. ランダムトポロジ

現在のプロセッサ内部には多くのコアやキャッシュメモリがあり, それらが多くの通信を行うことで高速なコンピューターを実現しています. しかし, どんどんチップが大規模化してくるとこの通信が性能向上の障害になります. 市販されているプロセッサでは多くの場合バス通信でプロセッサ内の通信を行っていますが, バス通信は共有しているバスを通信時に専有するため, コアが増えれば増えるほど通信性能が落ちます. これだとコア数が増えたときに通信待ちのせいで性能が発揮できないことになります.

Network-on-Chipはその名の通り, このプロセッサ(チップ)内の通信をルーターを経由して行うネットワークとすることで, 通信を多重化して同時並行で行えるようにする技術です. Blackbusではこのネットワークのトポロジの研究を行っています. NoCでは製造コストや配線長の削減のため, 図3に示すような規則的トポロジが使われてきました. しかしながら, これらのトポロジにはホップ数(送信元から送信先までの経由ルータ数)が大きくなり性能は良くないです. 実際のシステムのトラフィックを考慮し, 特定のアプリケーションに特化したトポロジを生成する手法として不規則的トポロジも提案されました.

Blackbusでは, 図4に示すようなスモールワールド現象を応用したランダムトポロジを研究しています. でたらめにリンクを張ると驚くべきことに通信性能が飛躍的に上昇するということが発見されました. 今後, 規則的トポロジの代替となることを目指しています.

最近の研究では, ランダムにリンクをつなぎ変える操作を何度も行うことにより, 数学的な理論限界に数パーセントの差の性能まで近づくことが明らかになっています. コンピュータ・システム, ネットワーク, さらには数学の知見を組み合わせた研究トピックにも取り組んでいます.

その他の情報はこちら

番外編: YAMASHI

ふんが研ではYAMASHI(山師)と呼ばれるプロジェクトも存在しています. これは悪い意味ではなく,今まで研究してこなかった,まったく新しい研究テーマに挑戦しよう!というプロジェクトで, かなり斬新な研究が多いのが特徴です. ふんがさんがアイデアを出して学生を募集することもありますし,学生が主導してアイデアを出してプロジェクトを立ち上げることもあります. いずれにせよ,非常に刺激的な研究生活が待っているでしょう!

Amano Lab.

Copyright (c) Amano Lab All Rights Reserved.