NTT技術ジャーナル記事

   

「NTT技術ジャーナル」編集部が注目した
最新トピックや特集インタビュー記事などをご覧いただけます。

PDFダウンロード

明日のトップランナー

「ムーアの法則」の鈍化により限界を迎えつつあるアプリケーションの高速化

「ムーアの法則」の鈍化により限界を迎えつつあるアプリケーションの高速化。ここではGPUやFPGA等、ハードウェアに応じたアプリケーションの自動変換・高速化に取り組む山登庸次特別研究員に、環境適応ソフトウェアについてお話を伺いました。

山登 庸次 特別研究員
NTTネットワークサービスシステム研究所

PROFILE

NTTネットワークサービスシステム研究所(2002年~2009年)、Verio,Inc.(2009年~2010年)、NTTコミュニケーションズ株式会社 主査(2010年~2013年)、NTTソフトウェアイノベーションセンタ 研究主任及び主任研究員(2013年~2017年)、NTTネットワークサービスシステム研究所 主任研究員(2017年~2019年)、NTTネットワークサービスシステム研究所 特別研究員(2019年~)。2018年電気通信普及財団 第33回電気通信普及財団賞(テレコムシステム技術賞)。

NTTのネットワーク研究-「環境適応ソフトウェア」とは

◆研究されている内容を教えてください。

CPUの密度が1.5年ごとに倍になるという「ムーアの法則」が鈍化し、アプリケーションの高速化が限界を迎えつつある現在、従来のCPU(Central Processing Unit、中央演算処理装置)に加え、GPU(Graphics Processing Unit、画像処理用演算プロセッサ)やFPGA(Field-Programmable Gate Array、現場で書き換え可能な集積回路)など、さまざまなハードウェアを適材適所で使ってシステムを組むケースが増えています。
私の研究は、ネットワークに接続されているアプリケーションをそれらの各ハードウェアに応じて自動変換し、高速化を図るというものです。
例えばサービス事業者がCPU向けに作られたアプリケーションをGPU向けに変更して事業化することを考えた場合、現状ではシステム開発会社に委託することでしょう。そしてシステム開発会社では、専門の知識を持った技術者が開発、配置設計、性能チューニング等を手動で実施することと思います。アプリケーションの規模によってはこうした工程に数千万円を超えるコストがかかることもあるでしょうし、さらに運用に変化が生じた場合には必要に応じて追加の改造も必要となります。
ソフトウェアの自動変換や最適配置が可能になれば、こうした手動での作業、コスト、開発期間などが大幅に低減できるほか、運用に変化が生じた場合には自動で再構成することも可能となるでしょう。また、処理の高速化により、それまで10台必要だったサーバーが1台で済むようになる、といったメリットも考えられます。さまざまな環境への自動適応を図ることから、私はこれを「環境適応ソフトウェア」と呼んでいます(図)。

◆現在はどこまで研究が進んでいるのでしょうか。

特別研究として2019年度から5年計画で進めていますが、初年度はGPU、FPGAへの自動変換に取り組みました。GPUでは深層学習分析、フーリエ変換、画像分析などを題材とし、数時間で数倍から十数倍のアプリケーションの高速化を達成しました。また、FPGAでは画像処理、有限インパルス応答などを題材とし、数倍から数十倍の高速化を達成しました。
そして2年目となる本年度は、前年度の成果を用いてメニーコアCPU、GPU、FPGAの混在環境への自動変換を進め、効果を実証しました。混在環境での自動変換、高速化に関する研究例は世界的に見てもかなり少ないのではないでしょうか。

◆さらなる効率化、高速化に向けた今後の課題はなんでしょうか。

手動による開発、配置設計、性能チューニング等での高速化を100とした場合、自動変換による高速化は処理内容によりますが10程度にとどまることもあります。手動に近づけることは課題です。
GPUでは「どの部分の処理がGPUに適しているか」「処理中で使用する変数をいつ送信するか」などを遺伝的アルゴリズムにより判断し性能を測定する、という試行錯誤を繰り返させることで高速化を実現しています。GPUへの送信頻度をより下げる検討もしています。
一方、FPGAではGPUと比較して1回の測定に時間がかかること、アプリケーションに応じたハードウェアアルゴリズムが必要であることなどの理由から、より自動化が難しい側面があります。算術強度等を用いて効率的に候補を絞り込むことや、計算内容に応じて展開やストリーム処理を適用する等、処理内容を使い分ける検討もしています。
また、今後は単に変換だけではなく、リソース設定や最適配置、運用中のソフトウェア再構成などにも取り組みたいと考えています。GPUを使った計算というと、従来は利用者がスーパーコンピュータ分野の方などに限られていましたが、そうした取り組みによりそれ以外の分野の方の利用も促進できるのではないかと期待しています。

ソフトウェア開発に第二のパラダイムシフトを起こす

◆環境適応ソフトウェアが目指すものはなんでしょうか。

1995年に登場した「Java」は、ソフトウェアの開発現場に劇的な変化を及ぼしました。仮想マシンによりハードウェアを隠ぺいすることで、異なる環境下での動作を可能としました。「Write once、 run anywhere」(一度プログラムを書けばどこでも動作する)というキャッチフレーズをご存じの方も多いでしょう。
しかし、実際には「Write once,run anywhere」の後には「But debugging and performance tuning everywhere」(とはいえデバックおよび性能チューニングは各所で必要)が続きます。特にGPU、FPGA等のソフト開発においては、ハードウェアに関する知識および性能チューニングが不可欠です。
それに対し、「環境適応ソフトウェア」ではハードウェアを隠ぺいするのではなく、配置先に合わせて適切な処理となるようソフトウェアを自動変換し高性能化することを目的としています。最終的には「Write once,run anywhere with automatic optimum performance config­u­ra­tions」(一度プログラムを書けばどこでも動作するとともに、最適性能を自動構成する)を実現し、ソフトウェア開発においてJavaに続く第二のパラダイムシフトを起こすことを目指しています。

◆IOWN構想にはどのようにかかわっているのでしょうか。

IOWN構想の3つの主要技術分野のひとつに、すべてのICTリソースの最適な調和を目指す「コグニティブ・ファウンデーション」(CF: Cognitive Foundation®)があります。そしてその中にクラウド、エッジコンピュータ、ネットワークサービス、ユーザー設備などレイヤの異なるICTリソースを活用してサービスを提供しよう、というコンセプトがあります。現時点では新しい要素技術を作っているという段階ですが、GPU、FPGA等のマルチレイヤ―のリソースを効率的に活用しようという私の研究が、将来的にはネットワーク自身がサービスコンポーネントを自動で発見し柔軟に合成するなどの技術の実現に貢献できるのでは、と考えています。

◆NTTの強みはどのような点にあるとお考えでしょうか。

私は以前NTTコミュニケーションズ株式会社に所属していたことがあり、その際にホスティングサーバーの更改業務に携わったことがあります。その際、可能な限り短時間で作業を完了しよう、バグ等をきちんと除去しようといったマインドを非常に強く感じました。NTTグループには、移動体通信、地域通信、長距離・国際通信、データ通信などさまざまな分野において、日本を代表するキャリアとして高信頼のシステムを開発してきた経験があります。こうした経験をうまく活かすことができれば、研究分野における競争力も高まるのではないかと思います。ソフトウェア工学では高欠陥除去率ともいいますが、それらを強みに、研究スピードがある米企業等とも勝負していければと思います。

◆これからネットワークの研究に取り組みたいと思っている方へメッセージがあればお願いします。

私は20年間の研究の中で筆頭著論文誌数が40。1年あたり平均2本の論文を書いている計算です。NTTコミュニケーションズ株式会社での開発等も経験していますが、論文数の多さは私の特徴のひとつかな、とも感じています。もっとも、研究を始めた最初の1~2年は論文誌に提出してもなかなか採用されませんでした。どこを直せば審査を通過できるのか等を指導者や上司に教わりながら、徐々に通りやすい論文を書けるようになったような気がしています。近年メールやリモート環境でのコミュニケーションが増加していますが、個人的には最初の2~3年は隣に指導者や上司がいる育成環境が良いのではないかと思います。ネット越しでは指導者や上司もお説教がしづらいでしょうし(笑)。
現在は特別研究員として研究のことだけを考えられるのでとてもやりやすいと感じています。特にネットワークの研究で世界と勝負する、ということに興味がある方に対しては、ここには勝負できる場所、ポジションがあると言いたいですね。

※NTT R&D Websiteに掲載された記事を新コーナーとして転載しました。(URL https://www.rd.ntt/)