研究内容

塩谷研究室ではコンピュータ・アーキテクチャをはじめとして,言語処理系などのシステム・ソフトウェア,セキュリティなどに関わる様々な研究を行っています.本ページでは現在行っている研究について簡単に紹介します(これらの研究は,他研究機関や企業等との共同研究を含みます).また,それらをまとめた研究室のポスターはこちらです.

  1. プロセッサ
  2. メモリ
  3. GPU
  4. プログラミング言語処理系
  5. セキュリティ

プロセッサ


  • Out-of-order スーパスカラプロセッサ RSD
    • 近年,オープンな命令セット RISC-V が登場し,急速に普及が進んでいます.我々はこれまでの研究成果をもとに,この RISC-V に対応した高速かつコンパクトな CPU である RSD を開発しています.この RSD はさまざまなアイデアを実装したり評価するための基盤として,研究機関や企業において使用されています.RSD はオープンソースとして開発されており,下記で公開されています.
      https://github.com/rsd-devel
  • 自動運転向けアクセラレータ
    • 自動運転の技術が急速に進むとともに,現在では高度化したアルゴリズムに対応するために非常に高性能なコンピュータが要求されるようになってきています.そのようなコンピュータはとても消費電力が大きいため,実験用車両であればともかく,実用的な車に搭載することは現実的ではありません.そこで,自動運転の処理に特化したコンピュータ・ハードウェアを開発し,それにより大きく消費電力を下げるための研究・開発を企業と共に行っています.
  • 次世代スーパーコンピュータのための CPU アーキテクチャ
    • スーパーコンピュータの速度や電力効率を改善するため,最先端のスーパーコンピュータを開発している複数の企業と協力し,次世代のスーパーコンピュータを作るための研究・開発を行っています.
  • カーボンナノチューブを使ったコンピュータ
    • カーボンナノチューブを使用してトランジスタを作ることにより,非常に高速で低消費電力なコンピュータが実現できる可能性があります.そのようなカーボンナノチューブによるトランジスタを使った場合にどのようなコンピュータを作れば良いのかは未知であり,それを模索するための研究をしています.


メモリ


  • 計算結果の誤差率を保証した Approximate Memory 上でのアプリケーション高速実行
    • CPU が指数的に高速化しているのと比べメモリアクセスのレイテンシは昔からほぼ一定であり,メモリの相対的な速度低下が問題となっています.そこで Approximate Memory と呼ばれる,データに低確率でエラーが入ることを許す代わりに低レイテンシでのアクセスが可能な新しいメモリ技術を研究しています.特にこの技術をソフトウェアから適切に制御し,計算結果の誤差率をユーザの許容できる閾値に抑えた上でアプリケーションの実行を最大限高速化することを目指しています.
  • 命令/データ・プリフェッチャ
    • メモリのアクセスレイテンシによる速度低下の問題を解決する手法として,プリフェッチがあります.プリフェッチは,プログラムの挙動から将来アクセスされる命令やデータのアドレスを予測し,あらかじめキャッシュに先読みしておくことで性能を向上させる手法です.このプリフェッチのアルゴリズムを競う世界大会が毎年開催されており,近年は我々も研究成果をもとに参加し入賞しています.


GPU


  • 電力効率を向上させる GPU アーキテクチャ
    • GPU の性能や電力効率の向上を目的とした,新しい GPU アーキテクチャを研究しています.提案するアーキテクチャはレジスタ上書きが原理的に発生しない新しい独自の命令セットを持っており,この性質を利用して GPU の性能や電力効率を大きく改善することを目指しています.
  • クラウドゲーミングにおける遅延の削減
    • クラウドゲーミングとは,インターネット経由のストリーミングによりユーザーがゲームをプレイできるサービスです.クラウドゲーミングではサーバー側の強力な GPU を利用することで,非力なクライアントでも高クオリティのゲームを遊ぶことができます.このクラウドゲーミングの最も大きな問題は,ネットワークを介することによる入力から描画への遅延です.この問題を解決するために,サーバー側でユーザーの入力を予測し描画やストリーミングを行うことで遅延を削減する方法を研究しています.


プログラミング言語処理系


  • STRAIGHT プロセッサ向け最適化コンパイラ
    • STRAIGHT と呼ぶ新しい命令セットのための最適化コンパイラや RISC-V からのバイナリトランスレータについての研究・開発を行っています.STRAIGHT では一般的なプロセッサとは異なり,オペランドをレジスタ番号ではなく命令間の距離で表します.この特徴により,STRAIGHT では命令間に偽の依存が発生することがなく,非常に低コストで out-of-order 実行を実現できます.この STRAIGHT において高効率なコードを生成するための最適化アルゴリズムなどの研究を行っています.
  • スクリプト言語の高効率実行を目的としたプロセッサの拡張
    • スクリプト言語は生産性と移植性の高さから広く普及しているものの,実行時のオーバーヘッドが非常に大きいです.そこで,本研究ではハードウェアを拡張してインタープリタの実行を支援することにより,この問題の解決を目指します.このようなハードウェアベースのアプローチでは,ソフトウェアベースのアプローチでは軽減することが難しい様々なオーバーヘッドを大きく削減することができます.
  • スクリプト言語におけるオブジェクトベースのメモリ圧縮
    • 組み込みデバイスのような環境では使用できるメモリが非常に小さいため,メモリ使用量の大きなスクリプト言語を使うことは一般に困難です.そこで本研究では,ハードウェアに事前に型の情報を渡し認識させることで,オブジェクト同士での差分を考慮したメモリ圧縮を行います.これによって使用メモリ量減らし,非常に小さなデバイスにおいてもスクリプト言語を動作させることを目指しています.
  • トランザクションメモリ
    • マルチスレッドを用いた並列プログラムでは一般に,ロックと呼ばれる機構を用いて共有されるデータへのアクセスを制御します.しかしこのロックを用いた制御はプログラミングが難しかったり,あるいは性能を出すためには非常に技巧的なプログラミングが要求されるなどの問題があります.これに対し,より簡単に高性能を実現できるトランザクショナルメモリと呼ばれる機構を研究しています.ソフトウェアのみで実現されるソフトウェアトランザクショナルメモリから,ハードによるもの,そのハイブリッドまで,さまざまなものを研究しています.


セキュリティ


  • 正確な動的情報フロー追跡による情報漏洩防止手法
    • 近年様々な個人情報や機密情報がコンピュータ上で扱われるようになり,それらの漏洩による被害が増加しています.こういった情報漏洩を防ぐために動的情報フロー追跡と呼ばれる手法が提案されており,ソフトウェアによるランタイム環境上やハードウェア上で情報のフローを追跡することにより外部への秘密データの流出を検知します.本研究ではフローの追跡に情報量の概念を導入することで,情報量の大小に基づく危険度の判定や情報量の蓄積による漏洩の防止を実現し,より精度の高い情報漏洩の検出を目指す研究を行っています.
  • CPU に対するファジング
    • CPU のハードウェアを対象としたファジング手法に関する研究を行っています.ファジングとは,主にソフトウェアを対象としたバグや脆弱性を発見するためのテスト手法です.このファジングを応用し,ハードウェア設計を対象としたアルゴリズムを用いることで,効率良く CPU にあるバグや脆弱性を発見することを目指しています.