エグゼクティブインタビュー:NetSpeed Systemsのチーフアーキテクチャ設計者Joe Rowlands

  • By Daniel Nenni
  • 2nd 1 2017

Joeは、キャッシュコヒーレントシステムの理解と設計にキャリアを捧げ、このテーマに関して95件を超える特許を取得してきました。過去4年間は、ネットワークオンチップSoCインターコネクト開発企業のNetSpeedで、チーフアーキテクチャ設計者を務めてきました。

 

そもそもキャッシュとコヒーレンシに興味をひかれたのはなぜですか?

キャッシュには興味深い点がいくつもあり、私にとってはそれらがすべて興味深いです。私はときどき、キャッシュというのはパフォーマンの微調整に過ぎない、とジョークを言うんです。キャッシュは、アーキテクチャとして見ると透明です。そのため、キャッシュを使うと性能は向上しますが、まるで存在すらしていないかのように思われるのが当然とされます。その結果、キャッシュの構築と検証の両方とも複雑になりますが、あるかどうかも実際には検知できないものをどうすれば検証できるのでしょう。だって、対象は透明なんですよ。「対象は透明だ」と言ってテストを終えるのが関の山です。これは興味深い問題です。コヒーレンシは非常に興味深いです。ルールが非常に単純であるという点で、チェスや碁などの戦略ボードゲームに似ていると思います。多くのプロトコルには、「変更」、「排他」、「共有」、「無効」という4つのコヒーレント状態しかありません。それでも、設計上の妥協と複雑さの点では、バリエーションが無数にあります。そして、非常に単純な原理から出発したとしても、それをマスターするには一生かかるかもしれないのです。

Joeさん、あなたはキャッシュとコヒーレンシに注目なさっていますが、どういう経緯でインターコネクト企業であるNetSpeedに入社したのですか?

Sundari(NetSpeedの共同設立者)が、この分野でのコヒーレンシ専門家を探していたのです。そして、私もコヒーレンシに関する難問を解決することに関心を持っている人を探していました。一致という観点から、インターコネクトにコヒーレンシを取り入れるのは、有力なアイデアです。コヒーレンシというのは、きちんと理解するのが極めて難しいのです。状態は4つしかないわけですから、単純な話のように聞こえますが、実はシステム内で最も複雑な部分の1つです。さまざまな事例があり、その1つでも理解しようとした場合に、設計全体を理解していなければ、それがどのように相互作用するのかが分からないのです。複雑さは膨大です。構築は難しく、検証の点でも困難です。

そのため、さまざまな事例で使用できるコヒーレンシIPを生成する、というこのアイデアは、実に挑戦的な問題です。これには、ほとんどの人が直面することなく、対処する必要もない独特な問題を解決することが要求されます。コンフィグラブルなコヒーレンシ、これは実に難しい課題です。当社では、この課題を主にフルSoCソリューションの観点から検討してきました。さまざまな使用事例と異種性すべてに対処するには、このソリューションは非常に柔軟でなければなりません。

その柔軟性を備えた状態で、自由度が非常に高く変化形も多いこの問題にどうアプローチしているのですか?

当社のソリューションは、機能するのはもちろんのこと、エンドユーザにとってコンフィグラブルでなければならず、当社が信用できる形でなければなりません。そこで、当社では自社のNocStudioソフトウェアレイヤを非常に頼りにしています。当社がこれまでに行ってきたことと言えば、コヒーレントなインターコネクトの変更可能性を確保し、ユーザが制御できるように、このソフトウェアレイヤをインテリジェントにすることです。ユーザはレイヤを自分の望む方法で構成することができ、その正しさはNocStudioが保証します。当社では、一定のレベルの制御機能を提供しているため、ユーザはトポロジ、物理的なフロアプランニング、エージェント数、必要なキャッシュ容量、さらにはキャッシュの階層までも構成することができます。ユーザはこれらの項目をすべて制御できますが、当社ソフトウェアレイヤでは、これらをアーキテクチャの観点から記述することができます。すると、ソフトウェアレイヤが稼働し始め、正しさを保証する実装の詳細を作成します。そして、これは本当に必要なことです。もし当社がこのソフトウェアレイヤなしでコヒーレンシIPを生成しているだけだとすれば、基本的には固定化されたソリューションにならざるを得ないか、あるいは特定の顧客向けに毎回設計しなければならないソリューションになってしまいます。

当社にはビジョンがあり、ユーザには各自が必要とするものをアーキテクチャレベルで記述して欲しいと思います。そうすれば、後は当社のソフトウェアレイヤが稼働し始め、目的のソリューションを作成します。ソフトウェア側では、ユーザがソリューションを最適化したり変更を加えたりできますが、その意図がどのようなものであっても、目的を確実に果たせるようにしてくれます。これは、ソリューションがコヒーレントであろうとなかろうと当てはまります。最高の柔軟性を提供すると同時に正しさも確保する、というアイデアです。当社では、固定化された設計でも十分には達成できないことでも、すべてやり遂げます。たとえば、当社は完全自動化デッドロック検知機能を開発しました。これは、ユーザがどのようなアイデアを思いついたとしても、当社がそれを構築するときに、デッドロックのないように構築することができます。これは、決定的に重要なことです。

EDAでは、合成の話がときどき出ましたが、これは合成よりも少しスマートに思えますが、どうでしょうか?

はい。当社の合成アプローチについて混乱を招くことがあります。一部の人たちは、そのアプローチを主に面積または性能オーダーの妥協のように見なしています。彼らの見方は、あるボタンを押せば、自動的に最適化される、というものです。それは、製品の重要な一面であり、重要な部分です。しかし、もっと決定的に重要な部分は、あるボタンを押せば実際に役立つソリューションが得られる、ということです。これは、ユーザの機能要件を満たすものです。そして、そこから最適化が行われるだけでなく、ユーザが自分で最適化を行うこともできます。そのソリューションは、最終製品をさまざまな方法で最適化できるようにするためのありとあらゆる魅力的な仕掛けを提供します。しかし、最初に指摘すべき最も重要な点は、ソリューションが正しい方法で構築される、ということです。


Article: 8 Reasons Why I Hate My iPhone 5-joe-rowlands-netspeed-jpg

先ほど、NetSpeedソリューションの重要な部分が、検証に対するこの独自のアプローチである、と言われましたが、その点についてお話しいただけますか?

その点については、多くのことが関係していますが、鍵となる考え方はそれほど多くはありません。まず1つには、私たちは静的IPを検証しているわけではなく、静的コンポーネントを検証しているわけでもない、ということです。当社は、コヒーレントまたは非コヒーレントなインターコネクトを提供する事業を営んでいます。そのため、当社が行う検証は、インターコネクトレベルにならざるを得ないものの、古典的問題つまりそれがコンフィグラブルなインターコネクトである、という点は変わりません。エージェントという点では、エージェントの種類、バス幅、そしてシステム要件などが非常に多岐にわたる可能性があります。私たちは、大半の検証法とは異なる方法でこの問題に取り組む必要があります。当社のアプローチは、完全なインターコネクトを構築している、という事実を前提としたものでなければなりません。当社では、インターコネクトを実際に構築することから始めます。当社には、インターコネクトを構築するノウハウがあります。当社は、さまざまなインターコネクト仕様を提供するインターコネクトジェネレータを実際に保有しています。当社は、ソフトウェアレイヤを通じてそれらの仕様を実際に実行しますが、これはこのソフトウェアレイヤが、当社が提供するIPの一部だからです。そしてその結果、RTLと検証IPが生成されます。そして、次にそれらをすべて1つにまとめて、さまざまな種類のテストを行って検証します。

当社には、検証専任のスタッフがいます。しかし、対処している状態空間は膨大です。ソリューションが1つあれば十分な、もっと小さい状態空間なら、同じ1つのソリューションを繰り返し作るだけで済むのです。

しかし、実際には状態空間は非常に大きいので、当社が取り扱っている多くの種類のトポロジと多くの種類のシステムについて、自動化をさらに推し進めなければなりません。私としては、当社はその構築と検証においては独自の方法を築いたと思っています。そして、ここでも検討すべき要素はたくさんありますが、このソリューションにより、まったく新しい問題が解決されています。その問題とは、根本的に新しいIPを構築し、それをテストすることができると同時に、十分にテストしたと言い切れるかどうかです。これが全体像だと思います。言うまでもなく、当社が検証のために行っていることをすべて話そうとすれば、時間はいくらあっても足りません。一般的なことはすべて当社に当てはまりますが、当社は状態空間が膨大であるという、さらに興味深い問題に取り組んでいます。

あなたは頻繁に顧客とお会いになるそうですが、顧客たちはコヒーレンシという課題をどう見ていますか?

多くの顧客たちが、何らかの形でのコヒーレンシを求めています。現時点で、コヒーレンシはきわめて広範囲にわたっています。顧客が自分たちで構築する場合は、ある種の妥協が存在しているようです。当社の認識では、多くの顧客は専門知識を持っておらず、また専門知識を身に付けてコヒーレンシIPを自分たちで構築できるようになるだけの時間もありません。おそらく、IPソリューションについて検討している顧客の大多数はそうでしょう。

従来、自社で独自に構築してきたか、あるいは独自に構築したいと思っている企業もあります。それらの企業は、自社で構築しなければならない、希望する最適化を実現できるだけのレベルの制御機能が必要だ、と思うほど、コヒーレンシを重要視しているようです。そのような世界にいる人は、いつでも存在します。当社では、そのような世界にいる場合であっても、最大の問題はやはり、これらのコヒーレントなソリューションはどれも開発に長い年月がかかる、ということです。そのようなソリューションでは、大きなチームが必要になり、リスクが高く、構築と検証が何年にもわたって続きます。そして、やっとすべてが完成し、次のチップを構築する段階に進んだと思ったら、最初のチップとは全然別の要件があるので、そのソリューションに合うように調整できないか、あるいはあまりうまく調整できないことになります。そのため、自社で独自に構築することに慣れている企業に対しても、当社は別の説得力のあるポイントを持っていることに気付きました。つまり、それらの企業が自社で構築する能力はあるとしても、時間が非常にかかる、という点です。それらの企業は、自社で構築し、何でも最適化することができます。しかし、必要な柔軟性は持ち合わせていません。新しいコヒーレンシソリューションを1つ構築するのに3年から4年もかかるとすれば、製品群を揃えることなどとうてい不可能です。同じ社内なのに、どこか別の部門でその同じ製品を使うことができないありさまです。そこで、当社ではそのような状況、つまり企業がソリューションを持ってはいても、そのレベルのコンフィグラビリティは持っていない状況で強みを発揮しています。

当社におまかせいただければ、市場に投入するまでの時間を大幅に短縮できる。これはすごいことです。自社開発に何年も費やすのではなく、当社IPのライセンスを取得していただければ、ボタンを押すだけでソリューションがすぐに手に入るのです。そして、いつでもさらに最適化することができますが、設計段階の非常に早いうちから必要なものすべてを持っていることになります。そのため、市場に投入するまでの時間に余裕ができることになりますが、もっと重要なこととして、そのソリューションをさまざまな空間に適応させるための柔軟性もあるのです。すべて揃った製品群を用意したり、別の分野で再利用したりできるので、それは徹底的に再利用する機会となります。そして、何でも他のだれよりも自分の方が良くできると自負する古典的なアーキテクチャ設計者のような人にとっても、これらは魅力的ではないでしょうか。その人が言っていることは正しいのかもしれませんが、すべてをこなせる人などいないのです。その人は、1つの案件については良くできるかもしれません。しかし、企業にとっては、設計時間に関して、テープアウト数とこれらの要素が関係する製品数、このすべてがその一部として含まれます。「自分でやる。時間はかなりかかるだろうが、それでも構わない。」という考えから抜け出さない限り、泥沼にはまってしまうおそれがあります。このような物の見方から抜け出さないと、競争相手に遅れずについていくことなどできません。競争相手は、新しいチップとアップグレードをすばやく作り出すことができるのです。当社が手助けできるのは、まさにそこです。当社なら柔軟性を提供し、市場に投入するまでの時間を短縮して差し上げることができます。

Request A Demo

ajaxloader

Crafted @ Lollypop.biz