研究

 分散アルゴリズム及び集積回路のディペンダビリティを研究しています

研究概要

  今日の情報社会は、アプリケーション、システム、コンピュータ、VLSIなど様々なレベルの高度な技術に支えられています。ディペンダブルシステム学研究室では、分散システム、マルチコアコンピュータ、VLSI、脳型コンピュータなど、あらゆるレベルでユーザが安心して使えるシステムのための研究を行います。”ディペンダブル”とは、日本語では”頼りがいのある”ことを意味し、ユーザがシステムを信頼し安心して使えるという、ユーザ視点の概念です。

ディペンダブルシステムを実現するには、きちんと検査して不良品を出荷しない、多少の故障があっても動作する、経年劣化によるシステム障害を避ける、悪意のある利用者に対処するなど、設計者視点で考えることは多岐に渡ります。本研究室では、システムのディペンダビリティ向上に繋がる様々な手法の研究・開発に取り組みます。

  また、研究を通じて、論理的に物事を考える力、アルゴリズムの設計・解析、CやJAVAなどの通常のプログラミングに加え、自律移動ロボットのプログラミングやハードウェア記述言語(VHDL, Verilog)を用いたVLSI設計フローなどを学びます。

  以下では、研究内容を分散システムの信頼性・ハードウェアの信頼性に分けて紹介します。

分散アルゴリズム

  分散システムのためのアルゴリズムである分散アルゴリズムの研究を行っています。分散システムとは、複数の計算主体(計算機やプロセス)とそれらの間の通信手段からなるシステムです。実は、世の中のほとんどのシステムは分散システムといえます(図1)。例えば、およそ10億台のコンピュータが通信しながら動作しているインターネットは、ひとつの大規模分散システムといえます。IoT(Internet of Things、モノのインターネット)も、多数のモノが協調動作する分散システムです。Bitcoinなどが用いるブロックチェーンも、取引記録を多数のコンピュータが協調して管理する分散システムです。その他、センサネットワーク、アドホックネットワーク、ITS(高度道路交通システム)、P2Pネットワークなど、分散システムの例を挙げるときりがありません。

図1:さまざまな分散システム

インターネットのような大規模分散システムでは、全てのプロセスを集中管理することは不可能です。そのため、逐次アルゴリズム(CPUが一つの計算機のためのアルゴリズム)とは異なるアルゴリズムが必要となります。分散アルゴリズムとは、自律して動作する(つまり、それぞれ勝手に動作する)複数のプロセスを効率よく協調動作させることを目的としたアルゴリズムです。本研究室では、さまざまなタイプの分散システムに対して、よい特性をもった分散アルゴリズムを研究しています。

極大マッチングと1-極大マッチング

ビザンチン環境における集合

  しかし、分散アルゴリズムの設計は簡単ではありません。ネットワークの状況を瞬時に把握することは計算機の数が多すぎて不可能なので、各プロセスは周辺から得られる局所情報だけを頼りに動作しなければなりません。また、各プロセスの計算速度や通信速度はバラバラですし、それらはプロセスやネットワークの負荷によって変わってしまいます。これは、分散システムが非同期的であり、分散アルゴリズムを実行するまで、各プロセスや通信がどんな速さで動くか分からないということです。つまり、分散アルゴリズムを設計するときは、局所情報だけを頼りに、各プロセスがどんな速さで動いても、プロセス間の通信がどんな速さで行われても正しく動作するように考える必要があります。そのため、我々は「どうすればいつでも正しく動くアルゴリズムを作れるだろう」とか「作ったアルゴリズムにとって最悪な動き方はどんなのだろう」とかを日々考えながら、分散アルゴリズムを設計しています。設計したアルゴリズムの正当性や計算複雑度を証明するのは一苦労ですが、パズルのピースがはまったかのように証明が完成すると大きな達成感を味わえます。

集積回路のディペンダビリティ

    集積回路は様々なシステムの核となるデバイスです。トランジスタの微細化による集積回路の大規模化、高速化、低消費電力化が、今日の情報化社会、AIの進展を支えています。その一方で、集積回路のテストは複雑で困難な問題になり、集積回路のサプライチェーンの複雑化によるハードウェアトロイ回路混入などのセキュリティの問題が懸念されています。さらには、CMOSトランジスタ の微細化が物理的な限界に達し、新しいデバイス、新しいアーキテクチャが期待され、その信頼性の確保が重要な課題となっています。本研究室では、ハードウェアトロイ回路検出による集積回路のセキュリティ向上、脳型コンピュータの高信頼化設計、機械学習を用いた集積回路のテスト品質向上など、集積回路ディペンダビリティに関する様々な課題に取り組んでいます。

ネットワーク/データセキュリティ

情報通信技術が進捗するにつれて、それを悪用した新たなサイバー攻撃が急に増えており、日常生活において無視できない存在となっています。こうしたサイバー攻撃に対処するには,通信を盗聴やなりすまし、妨害などの攻撃から守るためのネットワークセキュリティ技術,そしてデータやそれに含まれる情報を秘匿にするためのデータのプライバシ強化技術が欠かせません.本研究室では,テレワーク環境においてデータに対する閲覧や編集を安全に管理するためのゼロトラストネットワークによる動的アクセス制御,ローカル差分プライバシやTrusted Execution Environmentを用いたデータ収集・利活用時のプライバシ強化など,サイバーセキュリティに関する様々な課題に取り組んでいます.