情報科学科の先輩に聞く!

現役学生OBインタビュー「先輩たちの仕事の原点」各界で活躍する先輩たちが教えてくれる“仕事の本質”

座談会トップへ戻る

グローバルな連携研究 ― 多国籍企業に身をおいて

IBM東京基礎研究所(TRL)|小野寺民也さん (情報科学科5期)
インタビュー年月日
平成20年 3月 28日
小野寺民也 
小野寺民也さん

情報科学科第5期生。
IBM東京基礎研究所(TRL)のインフラストラクチャー・ソフトウェア部門担当、シニア・テクニカル・スタッフ・メンバー。
Javaをはじめとするオブジェクト指向言語の高速化や、新しい言語の開発に携わってきた方。

IBMは、ハードウェア、ソフトウェアの開発、ビジネス・コンサルティング・サービスの提供など、多岐にわたって世界中で活動を行う多国籍企業。
TRLは、世界中に8ヶ所あるIBMの基礎研究所(IBMリサーチ)の1つ。
現在約160名の研究員が開発・研究に携わっている。
奥田諒介(学部4年)、新井英資(学部4年)
「外資系の企業の方の話が聞きたい」という希望から、IBMの小野寺さんを紹介していただいた。
事前に質問の大まかな概要をお伝えしていたが、たまに変わった質問をして先方を困らせた(?)ことも。
しかしそんな質問にも真摯にお答え頂いて、ありがたい限り。
IBM、TRL、小野寺さんのお仕事

――現在IBMでどのような事をなさっているのですか?

僕の仕事の前に、一応IBMリサーチ全体の話を。
IBMリサーチは全体の規模としては3000人位。
基礎研究所が世界中に8カ所あって、ニューヨークの北の所が一番大きいものです。
TRLでは約160人の研究員が、所長である丸山宏の下で研究に従事しています。
僕は88年に入社したんですけど、その頃の研究テーマの選択は研究員にすべて任されていました。
専門でこれやってるからあれをやらないといけないとか、これはやってはいけないという、そういう事が全くなく、各自が自由にのびのびと研究をすることができました。
当時は、まだIBMの製品部門との関わりもあまり無く、大学の研究とあまり変わらない感じでしたね。

――そうなんですか。

でも、ある時点から、私たちIBMリサーチも、より広い範囲で多くの課題と取り組もうという考えが謳われ始め、リサーチと、ソフトウェアやハードウェアの製品部門が一緒になって、半分ずつお金出してやりましょう、という仕組みが出来ました。
自由に研究をした時代から、製品部門からの依頼に応じた研究を進めました。Shared Agendaといって、IBMの研究や製品開発のプランをリサーチと製品部門で一緒になって考えようというものです。
もちろん一方が他方に押し付ける訳ではなくて、共通のAgenda(課題)を設定しましょうという事ですね。

――なるほど。

結果として、製品部門の役に立つような研究をする事も多くなりました。
そこから、さらに、Research in Market Placeといって、お客さんと直接付き合いましょう、という考えも出てきます。
その流れが2000年に入ってからも続いており、ソフトウェアグループを例にと
ると、サーバアプリケーションとか、どの業界でも使えるものがありますが、そう
いうものに対する研究に加え、Industrial Focused Researchといって、例えば自動
車業界に特化した研究とか、金融業界に特化した研究だとか、そういう形のものも
見られるようになりました。
結果として現在では、研究は様々な業界、そして分野に及んでいます。 

僕自身はもちろんコンピュータサイエンスが専門で、インフラストラク
チャー・ソフトウェア部門といって、Javaの仮想マシンとか、プログラム言語のランタイムとか、あとはデータベースのアクセスの高速化とかをやってます。
情報科学―学生時代

――学生時代の研究についてお話し頂けますか?

グラフィックスの研究をしていました。
今はグラフィックスというと華やかなイメージがありますし、僕のやってた頃も、レンダリングとかの研究は色鮮やかで華やかだったんですが、僕のはそうじゃなかった(笑)
もっと下の方、今で言うミドルウェアみたいな感じでしょうか。
グラフィックス・システムってのがあって、ISOの標準のGKSっていうグラフィックス関連システムとか、それに先立ってアメリカではANSIの標準のCOREとかいうシステムがあったりするんですけど。
そういうシステムがどういう操作を行っているか考察して、それに基づいてちょっとした新しい知見を得たり、またそういうシステムをLispで作ったりしていました。
それが博士時代の研究です。

――なるほど。

川合先生の研究室だったんですが、僕が卒業して1、2年ですぐに駒場の方に移られて。
去年退官されました。

――そういえば、駒場の計算機科学概論を担当しておられた…

あの背の高い…

――眼鏡をかけた…

そうですね。

――修士・学部時代にはどのような事を?

修士時代も川合研でやってたので、基本的には同じ路線のことをやっていました。
グラフィックス・システムを作っていた、と。

学部時代については、僕は5期生だったんですが、先生方もカリキュラムを試行錯誤しながら組んでおられたと思います。その中で、助手の方が演習を担当していて、当時はまだ坂村さんも助手をしていた時代で。

――『痛快!コンピュータ学』を出しておられる…

ええ。その助手の方たちが担当されていた演習でLispの処理系を作ったりしました。今はそういう事やってるんですか?

――Schemeのインタープリタを書く、という課題がありますね。

それはどの言語で書くんですか?

――Schemeで、Schemeのインタープリタを書きます。

なるほど(笑)

――当時は何を使っていたんですか?

当時はPascalで書いていたんですよ。

――Pascalですか!

そうですね。色々なトピックがあったんですが、それは確か3年の冬だったと思うんですけど。
一番大きな課題でしたが、一番面白かったですね。

――その頃は地下の端末室で作業されていたんですか?

今の情報基盤センターに、情報科学科の大型コンピュータがあって、そこで作業をしていました。
国産のメインフレームで。あと、当時はまだパンチカードも使ってました。

――今展示してありますね。IBMのパンチカードマシンが。

そうですか(笑)その後すぐに端末の時代になっちゃいましたけど。
パンチカード時代の末期を少しだけ体験したというか。

――他に印象に残った講義はありますか?

やっぱり演習が面白かったんですが、講義はちょっと(笑)

――実際に手を動かしてやる方が楽しかったですか。

そうですね。
Lispの処理系以外にも、390(IBM System/390)のアセンブラで πを計算するという事をやったりとか。
あと、当時はちょうどUNIXが出た頃で、助手の方とかと一緒に UNIXのソースコードを読む、輪講をしてたんですよ。
当時はUNIXも全部で1万行位で、非常に理解しやすい…というと変なんですが。
ネットワーク・プログラミングなども無い時代なので。
今読もうとすると大変なことになる(笑)

――確かに(笑)

ちょうどC言語が流行り始めた時代で、その勉強の意味もありました。
これも印象に残っていますね。

初めてのプロジェクト

――IBMに入ってまず最初に携わったプロジェクトというのは?

オブジェクト指向言語のプロジェクトだったんですけど、当時の所長のバックグラウンドがSmalltalkの処理系だったんです。
彼が所長になってから始めた大きなプロジェクトが2つあって、1つはTOP-1といって、SMPマシンの研究で、もう1つはCOBという、Cをオブジェクト指向に拡張するものでした。C++のような感じで。
で、さっきも言ったように、僕の専門はグラフィックスだったんですよ。

――はい。

だから入社した時もグラフィックスのプロジェクトに配属されるのかなと思っていたんですが、当時の所長に呼ばれて。
当時は研究員が配属先の希望をいくつか出して、多分それを見たんじゃないかなと思うんですけど、所長が僕に、
「小野寺さん、COBのプロジェクトに行ってもらえます?」
「あ、はい、分かりました」
という感じで(笑)

――必ずしも自分がやりたかった事ではなかった?

そういう訳ではないですね。
第二希望としては書いていましたし、何より自分の先入観で、学生時代の専攻と同じ事をやらなきゃいけないのかな、と思い込んでいたんですよ。

――なるほど。

プログラム言語の処理系は、自分で色々作ったりしていたので、実は心の中では第一希望だったんじゃないかな、と(笑)

ちょうどオブジェクト指向が盛り上がり始めた頃で、OOPSLAって国際会議があるんですけど、オブジェクト指向関係の人が集まる会議で、それの第一回が86年に開催されて。
C++は85年とかその位で現れてきて、どんどん世の中に広まっていった。
プログラム言語だけじゃなくて、オブジェクト指向が様々な分野で広がっていった時期でした。
そんな中で、時代の最先端に触れながら研究できたのは良かったですね。
研究の苦労、印象に残った点
――これまでの研究で一番苦労した点、印象に残った点などは?

やっぱり最初に入ったプロジェクトが一番印象にあって、COBのプログラムをCに変換するというものだったんですが、COBの設計とトランスレータというか、内部にかかわる所だったので、一番面白いところでしたね。
新しい言語を設計する面白さというか。

――なるほど。

ただ失敗は、COBが結局流行らなかった(笑)。
研究所の中でも、現在の丸山所長が「COBを使いましょう」といって自らCOBで形態素解析のプログラムを書いてたり、また、大学にも貸し出したりしてたんですけど。
その頃はまだオープンソースとかには慎重で、貸し出す時にも色々契約書とか書かなきゃいけなかったので、広く世間にばらまく事が出来なかったんです。
その内にC++が広まっていって、結局C++の一人勝ちみたいな状況になってしまった。
そんな訳で流行らなかったのは残念ですね。
でも、Rubyのまつもとさんにこの間会ったらCOBの話をしていたりして…

――知る人ぞ知る、という言語という。

うーん、そうだと嬉しいんですけどね(笑)
COBが終わってからは、ちょうどその頃で好きな事をやれる時代が終わって、製品部門と連携するようになりました。
例えばIBMはC++のコンパイラとかプログラム環境とかを出してたんですけど、基礎研究所ではC++の環境をやっていて、僕はオブジェクト指向データベースでC++の環境を作ってました。。
今でこそオブジェクト指向データベースは欠片も無くなっているんですが、当時は関係データベースが無くなるんじゃないかとまで言われていた時代だったので。

――そうなんですか。

まぁ結局は関係データベースはびくともしなくて、オブジェクト指向データベースを使用したC++の環境も、製品にはならなかったんですが。
でその後C++が流行っていたんですが、そんな世の中C++だけでバラ色になるかと言えばそうでもなくて。
例えばMicrosoftがC++でOSを書き直したとか言う噂が流れてたりして、それで色々なC++周りのプロジェクトがあったんですが、どうにもうまく行かなくて。
C++へのある種の限界感が出始めたのが92〜94年の辺りでした。

その隙間を縫ってSmalltalkが一瞬流行り出すかな、となって。
Communications of the ACM(米国の学会誌)にも "Smalltalk on the Rise" とか取り上げられて、そういう流れがあったんですけど、その直後にJavaが出てきて、そのままJavaの時代になっちゃいました。
僕も流行り始めたSmalltalkの処理系を作っていたんですが、Javaの時代になってからはそちらの研究を始めました。

――高速化の話ですね。

そうです。Javaが出た直後の処理系はインタープリタしか無かったし、基礎研究所でIBMのプラットホームをターゲットに開発しようと。


――頂いた資料に「高速Java JITコンパイラを開発し、製品化」、とありますね。

それが96年の話。僕はコンパイラというよりVMの方をやっていて、ガベージコレクションとか、Javaの同期周りを作っていました。
当時はそういう仕組みは出たばかりで、ものすごいオーバーヘッドになっていたものを高速化しました。
特に同期周りは、ロックの研究とか色々やっていて、3つ位アルゴリズムを作りましたね。あれこれみんなで考えながら進めたので、それが印象に残っています。
大学での研究、企業での研究

――学生時代とTRLでの研究はどのように違っていますか?

最初は大学とあまり変わらず好きな事が出来たので、あまり違わないと自分では思っていました。
ただその後は、製品部門と一緒になって内容を決めてゆきます。論文書いて終わりじゃなくって、製品考えてその中にテクノロジを入れていくので、その点がやっぱり大学とは違う点ですね。
製品というチャネルを通じて世の中に自分の仕事を出せる、と言いますか。

――なるほど。

あと、これはIBM特有なのかもしれないけど、世界中の8つの研究所とグローバルに連動して、IBMリサーチ全体としてインパクトを出そうとしています。
TRLが単独で勝手にやってる訳ではなくて、1つのプロジェクトを連携してやったりする事もありますね。
それからTeleConって言うんですけど、電話会議とかも結構あって。
向こうの時間に合わせて、夜遅くになることもあるんですけど(笑)

――やはり学生の時に比べて、いい意味で世界が広がった、と。

そうですね。だと思います。
自分の周りに見えるものばかりではなく、グローバルな立場に自分を置いて考える時もある。

――企業の研究所ということで、利益を得られるような研究になったりはしませんか?
 あまり興味が無い研究もやらざるを得なかったりとか。

そういう事は無いですね。IBMもやっている分野が広いですし、会社の方針として研究に限らず上から押し付けるということはありません。
もちろん企業ですから、利益は出す必要はあるんですけど、それを前面に押し出すような事はしない。
IBMという会社は、様々な社会貢献にも力を入れていて、最近では我々の研究も、製品、そしてお客様だけでなく、災害、高齢化社会と言った、社会の問題にも目を向け、我々の研究を役立てようともしています。 そういう会社としてのスタンスも個人的には気に入っています。

――なるほど。

やはり研究をするにあたって、自由でグローバルな雰囲気や環境が無いと新しいアイデアは生まれない、ということをIBMも分かっていますので。
それこそ手取り足取り指示をもらってやるようになってしまったら駄目だ、という空気がありますから。
自発的に研究者がアイデアを生み出しやすい環境は整っているのだと思います。

――研究のための素晴らしい環境があるんですね。

その通りです。
今進んでいるプロジェクト
――現在進行中のプロジェクトにはどんなものがありますか?

僕はもうマネージャーなので、自分でガリガリコードを書く事はもう無いんですが、持っているプロジェクトは3つ位。
今までJavaをずっとやってきたグループなので、引き続きJava関係のものが1つ。
最近はマルチコアの時代なので、マルチコア上で効率良くプログラムを動かすにはどうすればよいか考えています。
例えばマルチコアになるとメモリが結構きついんですが、基本的にJavaのプログラムって大きくなりすぎるんで、それをスリムにするにはどうすればいいか、と言う話もあります。
メモリ周りやJavaのVM周辺の研究ですね。

――なるほど。

あと、ずっとJavaばかりやってきたんですが、そろそろJava以外の事もやらなきゃいけないなと思っていて。
最近はPerlとかRubyとかスクリプト言語が流行ってるので、その処理系の研究をしているというのが2つ目。
そういう言語で早い処理系のニーズがあるのかは分からないですけど。

3つ目は、サーバのシステムってアプリケーション・サーバの向こうにデータベースがあって、データベースとのやりとりをするというパターンが典型ですけど、そのアクセスをキャッシュを使って高速化するというものです。


大体この3つで、グループとしてはインフラストラクチャ・ソフトウェア担当なので、どちらかというとシステムの下の方というか、あまり目立たない部分をやっているんですが。

――縁の下の力持ちといった感じの…

まぁそんな感じですね(笑)
IBMにおけるキャリア

――シニア・テクニカル・スタッフ・メンバーという事ですが?

IBMの技術職として入社した後、どっかでマネージャーになるパターンと、そのまま技術系で進むパターンがあります。
行ったり来たりしていいんですけど、概ねその2通りあって、技術系の頂点がIBM Fellowって言うんですよ。
これは大抵の企業でも同じで、SunだったらSun Fellowだし、何年か前にノーベル賞を取った田中耕一さんなんかも島津Fellowだったり、○○ Fellowってのは技術職の最高峰として多くの企業でも存在します。
で、その下がDistinguished Engineer(DE)があって、この辺りまではIBM以外の研究所でもスタンダードなものです。
そのDEの1個下がSenior Technical Staff Memberという事になります。技術職の階段の1つ、ということになりますね。

――なるほど。

3年ほど前からマネージャーになって、新しく入った人を育てるとか、そういう立場になりました。

技術的にも色々口出ししたり、一緒にプロジェクトをやったりして、そういう意味では大学の先生と同じような感じでしょうか。
研究テーマの選定とか、ミーティングをしてアドバイスしたり、というのに近いですね。
学生へのメッセージ
――今の仕事に学生時代の知識・経験等はどう生きていますか?

やはり演習でLispの処理系を作ったのが原点になっていますね。
そこから言語処理系の研究、COBとか、Javaの高速化とかやってたんで、さかのぼっていけばその演習につながっているのだと思います。

――情報科学科で学んだ部分が結構大きかったと…

そうですね。そう言えると思います。

――最後に、情報科学科で学んでいる学生にメッセージを頂けますか。

コンピュータサイエンスはこれからますます面白くなっていく時代だと思います。
僕が勉強し始めた頃よりは社会への入り込み方とか、社会へのインパクトとか、昔とは比べ物にならないと思うので、是非頑張ってください。

――ありがとうございました。
インタビューを終えて

インタビュー当日(3/28)は桜の季節であり、側道の桜並木がとても美しかった。
事前にTRLの中を少しだけ見学させて欲しいとお願いしたところ、なんと広報の方に案内して頂く事に。
洗練されたオフィス、広々とした休憩エリア、充実した資料室。
流石は世界に名だたるIBMの研究所である。
僕たちがインタビューをした会議室のあるエリアは、ODIS(On Demand Innovation Services)センターというそうだ。
ODISとは、
「お客様の業務を熟知したコンサルタントと、創造性と専門技術を持つ研究者が「One Team」としてお客様のところへ出向き、お客様の経営課題や改善を分析する」(TRLブローシャーより抜粋)
というもの。これが小野寺さんの話していた、90年代から続く
「お客さんと直接付き合う」
という流れをくんだものなのだろう。