研究テーマ:

主に並列分散処理に関する複数のテーマについて研究しています.詳細は,この資料を参照してください.

教員が最も力を入れているのは,スケジューリングアルゴリズムです.

1.タスクスケジューリング

  • プログラムの並列化や,大規模ワークフロージョブの並列化には,各タスクをどの計算資源へ割当てて,そしてどのような順序で実行すべきかという問題,すなわちタスクスケジューリングが必須です.特にネットワークを介して複数の計算機によって並列処理を行うためのスケジューリングアルゴリズムを研究しています.
  • これまでは,不均一な計算機群において,各計算機に対して割り当てる仕事量の導出,タスクの割当て,実行順の決定を行うアルゴリズムCMWSL(Clustering for Minimizing Worst Schedule Length)を開発しました.
  • スケジュール前に多数の計算機群から,少ない計算機数で応答時間の最小化が見込まれる,計算機群の部分集合を事前決定させるプロビジョニングアルゴリズムLBCNS (Lower Bound based Candidate Node Selection)を開発しました.
  • コンテナ同士のワークフローにおいて,コンテナの共有によるダウンロード数の削減,及び少ないVMに割り当てて多数のアプリを同時に実行するためのタスク(コンテナ)クラスタリングアルゴリズムであるSF-CUV(Shareable Functional task Clustering for Utilizing Virtualized resources)を開発しました.
  • 今後は,各計算機の可用帯域幅やホップ数等を考慮した,より現実的な通信機構を含んだスケジューリングアルゴリズムを開発する予定です.
  • タスクスケジューリングアルゴリズムの実行基盤SFlowを開発し,実験しています.

2.ネットワーク仮想化(NFV, SFC: Service Function Chaining)

  • 近年のSDN(Software Defined Network)から派生した,ネットワークファンクションの仮想化,及び仮想化されたファクション同士の連携(SFC: Service Function Chining)について研究しています.IoTデバイス・センサ等から得られる多量の情報を効率よく処理するために,利用するインスタンス数の最小化,同時処理可能なファンクション数の最大化,トラヒックの削減等の最適化を目指して,それらのアルゴリズムを開発しています.
  • SFC(Service Function Chaining)において,SF(Service Function)の割当先決定や,SF自体のスケジューリングアルゴリズムを研究しています.独自に開発したシミュレータによる性能検証,及びワークフローエンジンSFlowで有用なスケジューリングアルゴリズムの開発を行っています.
  • 仮想ファンクションをクラスタリングしてスケジューリングするアルゴリズムであるSF-CUV(Service Function Clustering for Utilizing vCPUs)を開発しました.

3.コンテンツ指向ネットワーク

  • ICN(Information Centric Networking)によってSFCを実現するためのアルゴリズムを開発しています.ファンクション自体に名前を付与し,名前ベースでファンクションを呼び出し,そしてキャッシュされた入力データを用いることで,遅延の少ない,より柔軟な処理が可能になることが期待されます.
  • ICNにおいて,独自に開発したシミュレータを用いて様々なアルゴリズム(ルーティング,キャッシュ配置等)を検証しています.また,NFD (NDN Forwarding Daemon)とndn-cxxを用いて実環境でも動作する仕組みを作っています.
  • 研究室で,キャッシュ溢れが起きた際のキャッシュ置換アルゴリズムや,Breadcrumbsの自律管理を開発しました.
  • SFlow上で,ICNベースによるファンクションチェイニングを実装しました.集中管理によってスケジューリングした結果通りのチェイニングを行う手法や,各ノードがFIBからファンクション割当先を決める自律チェイニングを開発しました.

4.大規模データ並列処理基盤

  • 大規模データの並列処理基盤であるMapReduce, Sparkにおいて,処理の前に入力データ数,計算機数の最適化アルゴリズムを研究しています.これらはネットワーク通信が発生するため,並列処理に置いてスケールするわけではありません.すなわち,処理対象となるジョブやネットワーク帯域,各計算機の性能,入力データサイズを考慮して,処理を行う計算機群の部分集合を決めるための研究です.
  • MapReduceのShuffle処理において,ボトルネックを解消するための仕組みを考えています.

5.IoT

  • 視覚障碍者向けの歩行支援や運転等,実生活で役立つようなシステムを,IoTを用いて開発しています.例えば,pub/sub通信,エッジコンピューティング,IoT向けのオープンソフトウェアを用いてその性能を検証しています.

6.Peer-to-peer及びGridコンピューティング

  • 管理ノードのいない,いわばすべてのノードが対等な関係で,かつ自律的に動作するネットワークで,並列分散処理を行う機構を研究しています.そのためには,各計算機の特性(処理速度や帯域幅等),及び処理するジョブのタイプを考慮したスケジューリングアルゴリズムを研究します.
  • 自律的に動作するネットワーク,つまりオーバーレイネットワークにおいて,公平なジョブの実行を目指すための仕組みを研究しています.