挑戦と奇跡を積み重ねて今がある~開発責任者が語る、SXシリーズ開発の過去と未来

NUA-SP研究会会員のみなさまにインタビューし、スパコンの利用目的やスパコンへの思いなどを伺います。第9回にご登場いただいたのは、2021年10月に「SX-Aurora TSUBASA」の開発責任者に就任した、NEC AIプラットフォーム事業部部長 政岡靖久さん。入社して30年間、ほとんどSXシリーズの開発に携わってきたという政岡さんに、Auroraを含むSXシリーズの開発秘話や、今後の開発方針についてうかがいました。

SP研究会
NEC 政岡 靖久

(プロフィール)
1992年NEC入社、SXシリーズ用ソフトウェア、特にOS開発を担当。2019年からHW開発の一部も担当し、2021年から製品開発全体の責任者に従事。

使う側からつくる側へ。以来30年、ほとんどの開発に関わっている

――はじめに、自己紹介をお願いします。

1992年に入社後、SXのソフトウェア開発部門に配属され、SX-3のハードディスクを制御するOSの一つであるデバイスドライバの開発を任されました。学生時代にもUNIXワークステーションには触れていましたが完全に使う側だったので、入社して初めてつくる側に回り、本当に一から勉強していきましたね。以来30年間、SXシリーズのほとんどの開発に関わっています。

現在は、AIプラットフォーム事業部の部長という立場で、SX-Aurora TSUBASAの開発全体を監督しています。入社から携わってきたソフトウェアはもちろん、ハードウェアもすべて担当しています。

開発は、常に新しい技術を習得していかなければならず、とてもチャレンジング。新しいことを勉強してはそれを使って開発をし、そしてまた新しいことを勉強して…というサイクルを1~2年のスパンで繰り返し、積み上げてきた30年です。

――政岡さんの人柄を教えてください。

人を笑わせることが好きですね。困難な状況に直面したときこそ、冗談を言うようにしています。もちろん人を不愉快にはさせない範囲ではありますが、とんでもない状況に追い込まれたときは、一度笑ってから考えるということを大事にしているんです。

一方で嫌いなのは、論評止まりであることです。「言うは易く行うは難し」という言葉もありますが、チームメンバーにも、論評するならばそれに対する打ち手とセットで発言してほしいとお願いしています。まあ、そうは言っても論評をしたいときもあります。仕事以外の場では、気心の知れた仲間や家族などに思う存分話したいことを話して、メリハリをつけてやっていますね。

――お休みの日は、どのように過ごしていますか。

ゴルフは、1年ほど前から本格的に取り組んでいます。なかなか上手にならないのですが、コースも回るし、練習場にもよく行きます。そこでは、普段直接関わることがないような職種の方もたくさんいらっしゃって面白いですね。

あとは、40歳ごろから10年以上ラーメンにハマっていて、週に1回必ず食べています。中でも特に二郎系が好きで、二郎から派生したお店も含め、いろいろなところに行きますね。長いこと巡っているので、どこで修行をした人がどこにお店を出したという家系図のようなものも頭に入っています。何の役にも立たないんですけどね(笑)。

振り返れば、挑戦と奇跡の積み重ねで今がある

――SXシリーズの開発で、印象に残っているできごとを教えてください。

最初に担当したSX-3のデバイスドライバは、当時珍しかった海外メーカーのハードウェアを制御するためのものだったのですが、技術仕様書がすべて英語だったうえに、引き継いだソフトウェアは非常に完成度が低く、それをまともに動かすことが私の仕事でした。

その試作ソフトをつくった数年上の先輩とはいろいろな面でぶつかりましたが、あるときその先輩に、「お前はSXを背負って立つ人間になる」と言われたことが印象的に残っています。真意は分かりませんが、いまそれに近い立場にいることを考えると感慨深いですね。

次に担当したのはたしかSX-4で、まったく新しい仕組みを採用したハードディスクを制御するソフトウェアの開発です。最初に担当したデバイスドライバは実装後に改良していくという形でしたが、これは初期設計から、機能設計、詳細設計、実装評価とすべて担当することができました。このとき手掛けたものは、技術的にも品質的にもよくできていたと思います。当時の上司に褒められたことも未だに覚えていて、それからは私もすごいと思ったことは必ず言葉にするようにしていますね。

SX-5の開発では、ノード(計算機)間を高速に接続するIXS(Internode Cross-bar Switch)というスイッチをOS面から制御するソフトウェアを担当しました。海洋研究開発機構(JAMSTEC)様に設置されている地球シミュレータの初代は、このSX-5 IXSをベースに開発されているのですが、SX-5ではIXSに接続される計算機が数台なのに対し、地球シミュレータでは640台を接続することになり、それまでのつくり込みを一からやり直す必要がありました。ほとんど一人で手掛けたのですが、本当に大変で、640台が一斉に動いたときは感動で震えましたね。

SXシリーズヒストリーページ “進化の軌跡”
(new windowhttps://jpn.nec.com/hpc/sxauroratsubasa/history/index.html) 

――SXシリーズのソフトウェア開発の歴史が垣間見えるようですね。SX-Aurora TSUBASAでは、どのようなことを手掛けたのでしょうか。

SX-Aurora TSUBASAの開発プロジェクトは、SX-ACEの次のマシンをつくろうということで2012年に開始し、私は最初のコンセプトづくりから関わりました。

SX-Aurora TSUBASAは、これまでの延長でつくるべきではないということが明らかでした。というのも、SX-ACEまではSUPER-UXというNEC独自のOSを使っていましたが、様々な面でそれを使い続けるのは限界が来ていることを感じていたんです。

そこで、SUPER-UXの代わりに採用を検討したのがLinuxです。ただ、検討を続けていると、Linuxの採用は厳しいと思うような面も見えてきました。それでも私はLinuxの開発を進めるべきだと主張し、若い技術者の多くは「政岡さん、正気ですか」と戸惑いながらもそれに代わる答えが見つからず、私たちは毎日、毎日、毎日悩み続けました。

そんなあるとき、一人のエース格の技術者が、OSの仮想化技術をヒントにSX-Aurora TSUBASAのアーキテクチャの根幹を提案してくれました。それは、プログラム上でOS処理を必要とする時に実行されるシステムコールの界面で、その要求を世の中に出回っているLinux/x86に飛ばすというものでした。そうすれば実装するHW/SW機能を簡易化できるため、我々の強みであるベクトル技術はそのままに、Linux/x86の最新技術を取り入れることができるというのです。

最初に聞いたときは私も理解できませんでしたが、聞けば聞くほどすごい発想だということが分かっていきました。しかし、当時は誰も聞いたことがない技術でしたし、当時の上層部やベテラン技術者は、そんなものが本当に可能なのだろうかと非常に懐疑的でした。それに対して、ぶつけられた疑問を一つひとつクリアにしていったことで、なんとか構想を形にすることができました。懐疑派の疑問を一つひとつクリアにしていった当時のメンバは本当に素晴らしかったです。今でもその光景が目に浮かびますし、イノベーションとはこのような地道な作業の積み上げであることを実体験できたことは、私の財産です。

この新しいアーキテクチャが初めて動いて“Hello, world!”を表示するプログラムが動いたときは、地球シミュレータが動いた時を上回る衝撃(感動)でしたね。今でもこのアーキテクチャは奇異だと思いますが、動いているという紛れもない事実だけがその仕組みを肯定しています。この凄さが一部の人にしか伝わらないのが残念なほどです。今回SXシリーズの開発の歴史を振り返ってみて、今この製品がワールドワイドに展開され、様々な社会課題の解決に貢献できていることは、今もって奇跡だと思っていますね。

zoom拡大する
当時の事業部長に説明した資料の一部
zoom拡大する
当時の事業部長に説明した資料の一部
zoom拡大する
海外エンジニアをチームに迎え入れknowledge transferを実施した際に使った資料の一部

開発当初は思いもよらなかった用途に展開が広がっている

――SX-Aurora TSUBASAの用途は、従来の科学技術計算に加え、様々な領域に展開しています。具体的にはどのように広がってきているのか、現在の状況を教えてください。

まず、何らかのプログラム資産をお持ちの様々なお客様に使っていただくという面では、パートナー様はもちろん、大学生協様でスパコンが買えるといった新しい販路が拡大しつつあり、展開範囲が広がってきていることを感じています。

それとは別に、プログラム資産をお持ちでない方にも使っていただけるようにすることが非常に重要だと思っており、共創パートナー様とSX-Aurora TSUBASAを活用したソリューションの開発も行っています。その一つとして、2021年には河川氾濫予測システムを開発し、すでに複数の自治体様へ提供を始めています。
SX-Aurora TSUBASAはこのソリューションの陰で働く形なので、SX-Aurora TSUBASAを知らないお客様にも使っていただける機会になることが期待できます。

正直なところ、SX-Aurora TSUBASAの開発当初はこういった使い方ができるとは思っていませんでしたので、社内でこの案件を獲得してきたと聞いたときは、そんなところで使えるのかと驚きましたね。

計算機を適材適所で使い分ける時代へ。そのための機能強化を実施

NLCPy : NumPy-like API accelerated with SX-Aurora TSUBASA
――現時点で予定しているSX-Aurora TSUBASAの機能強化について教えてください。

SX-Aurora TSUBASAシリーズから、プログラミング言語としてPythonが使えるようになっています。これはNLCPyと呼ぶ仕組みで、著名なPythonの拡張モジュールであるNumPyの互換機能をもって、その計算エンジンとしてSX-Aurora TSUBASAが利用できるというものです。

同時に、我々がSXシリーズで35年間蓄積してきた、広範な分野の数値シミュレーションプログラムの作成を支援する数学ライブラリ群もPythonから使えるようになっています。なので、Pythonで一般的な数値計算をやりたいという場合は、こちらを使っていただけます。

Pythonだけでは表現しきれないような処理や、お客様の部分的なプログラム資産を活用したいという場合は、Pythonの中にCやFortranを部分的に書くことができ、それをPythonで実行すると、自動的にコンパイルするJust-In-Timeコンピレーションという機能もあります。こちらもぜひご活用いただけたらと思います。

また、NLCPyは、その計算エンジンとしてSX-Aurora TSUBASAだけでなく、GPGPUもサポートしていきます。詳細は2022年4月のPreview Releaseで発表する予定ですが、どうしてもSX-Aurora TSUBASAよりGPGPUに強みがあるような計算は適材適所で使っていただけるよう、Pythonから投げ分けられる機能をリリースします。

――最新機種はAurora2ですが、次機種のAurora3やさらなる後続機種は、どのような方向性で開発を進める見通しですか。

次機種のAurora3では、微細化されたプロセスルールを採用し、さらなる高速化と様々な機能追加を実現します。また、仮想マシンからの占有利用も可能になるので、活用範囲が広がります。こちらは2023年までには発売予定となっています。

将来機種については、特定用途に最適化された計算機が次から次へと誕生し、それらを適材適所で使い分けることが重要になってきている中でAuroraのプレゼンスを確立し続けるためにも、我々の強みである高い実行効率と容易なプログラミングで使えるということは、今後も維持、発展させていきたいと思っています。

それと同時に、得意分野の異なる計算機と連携する異機種連携機能も強化していき、さらなる使いやすさと性能の高さを追求していきます。

――最後に、SP研のお客様に向けてメッセージをお願いします。

すでにSX-Aurora TSUBASAをご活用いただいているお客様には、その活用事例をぜひNECにご共有いただければと思っています。それが我々の活力になりますし、その事例を同様の課題を抱えるほかのお客様に展開することで、さらなる改善も生まれていくと考えています。もちろん不満な点もご共有いただければ、現行機種の改善や次機種の開発にフィードバックしていきます。

まだSX-Aurora TSUBASAをお持ちでないお客様は、現在お持ちの計算機の実行時間がお客様の業務を阻害するほど長くかかっているといった場合に、ぜひSX-Aurora TSUBASAをお試しいただきたいと思っています。その際には、東北大学様、JAMSTEC様、大阪大学様の計算機センターや、我々のトライアルプログラムをぜひご活用ください。

お客様にプログラム資産があれば、特殊なプログラミングを必要とせず、ほとんどそのまま高速化できるのがSX-Aurora TSUBASAです。是非ともご活用いただければと思います。