パスワードを忘れた? アカウント作成
11834962 story
マイクロソフト

MicrosoftはどうやってBingをFPGAで実装したのか 109

ストーリー by hylom
楽しそうである 部門より
あるAnonymous Coward 曰く、

先日MicrosoftがBingを運営するためのサーバーとしてFPGAベースのものを採用したという話があったが、これに関する日本語で分かりやすいまとめがQiitaで公開されている。

FPGAベースと聞いて、FPGAだけを乗せたボードにネットワークが直結されているものを想像したが、XeonベースのPCにFPGAボードがつながっているという構成だった模様。とはいえ、導入はなかなかハードだったようだ。

これらの資料によると、バージニア州にあるMicrosoftのデータセンターには1632台のFPGA搭載サーバーがあるというが、まだ試験段階で一般ユーザー向けのBing検索にはこれらは使われていないという。とはいえ、2015年初めには本番環境に投入される見込みだそうだ。

FPGAを利用するメリットとしては、性能を落とさずにサーバー台数を減らせるという点が大きいという。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2014年12月20日 8時50分 (#2731242)

    site:microsoft com な資料を探すにあたって Bing では見つからず、
    ググるしか無いという情けなさ。

    最近の Windows や Office のヘルプ (F1 キーで呼び出すやつ) は
    Bing で Web から検索するのが基本になってるようだけど、これも
    目的とする情報が殆ど出てこない。

  • by NOBAX (21937) on 2014年12月20日 10時12分 (#2731285)
    ソーシャルリスニングの検索にFPGAを使っている例もありますから、
    妥当な選択でしょう。
  • reconfigurable (スコア:2, 参考になる)

    by Anonymous Coward on 2014年12月20日 11時04分 (#2731312)

    最近こっち方面の仕事から離れてるせいかもしれないが、FPGAのreconfigurable機能を有効に活用した具体例が表に出てきたのは珍しい

    • by System0C7 (27746) on 2014年12月21日 11時10分 (#2731719)
      IBMのNetezzaも、SQLステートメントをFPGA上にコンパイルして実装するアーキテクチャだけど。
      http://cloud.watch.impress.co.jp/epw/docs/series/storage/20090424_1527... [impress.co.jp]
      #そんなに出てきていないのは同意。
      親コメント
    • Alteraのような大手のFPGA屋さんが、FPGA上でOpenCLを動かすインフラを提供してます [altera.co.jp]からね。
      GPGPUとしてのOpenCLと較べて色々な制約はあるんでしょうが、今後は結構な頻度で出てくるんじゃないかと思いますよ。
      比較的小さなデータ集合に猛烈な回数の演算をやる場合には、性能対電力比の面でFPGA>汎用GPU>>汎用MPUとなるので。
      一度処理カーネルをコンパイルして処理部に投げたら、後は当分の間違うコードを処理部で使わせないような用途だと、OpenCLが使えるFPGAに置き換えるのはアリでしょう。

      # 余談ですが、自前でほそぼそと移植してるソフト [github.com]に
      # 部分的にだけどOpenCLを取り入れてるのは、要は今後のMPUの動向を考えてのことでして
      # …今後のMPUの中心は、大きなGPUコアと比較的小さなCPUコアが中心になっていくだろうし、その場合
      # GLSLより汎用性が高い分、将来の組み込みでOpenCLが使用されるのは確実だろうとかそんな感じで
      ## 本当はFM音源のエミュレーションをOpenCLでやらせたいんだけど、未だそこには至ってない。

      親コメント
  • by poly (42427) on 2014年12月20日 8時16分 (#2731228) 日記

    AtomやARMではないんですね。

    • by Anonymous Coward

      ARM入りの FPGA ならある。

  • by Anonymous Coward on 2014年12月20日 7時43分 (#2731214)

    高速「な」サービスを苦労して作るより
    サービスを高速「に」サクッと作った方が、サービスの単価は高い。
    技術者がハードウェアの事まで考えるのは、あまり意義があるとは思えず・・・

    • あなたのいうサービスというのが何のことかよくわからないけど、ハードで実装できるものはハードで作った方が高速。ただし融通が利かない。そこでFPGA。

      昔から計算が多い場合は数値演算プロセッサを入れたし、学術計算用拡張ボードなんてのも売られていたし、今だとGPGPUとかも使っていたりするし。
      そういう感じでFPGAボードを使えるのはソフト技術者として普通だと思いますが。

      それによってより多くの利益が出せるようにするわけですし。
      親コメント
    • by Anonymous Coward on 2014年12月20日 8時30分 (#2731233)

      >技術者がハードウェアの事まで考えるのは、あまり意義があるとは思えず
      ハードウェアのことすら考えられないのに技術者気取りとはなかなか
      向上心のない技術者は40歳で首切り待ったなしですよ

      親コメント
      • >技術者がハードウェアの事まで考えるのは、あまり意義があるとは思えず
        ハードウェアのことすら考えられないのに技術者気取りとはなかなか
        向上心のない技術者は40歳で首切り待ったなしですよ

        同感。
        自分をソフト屋とかハード屋とか限定して、仕事の幅をかえって狭めることになるので、違和感があるというか単に「もったいない」。
        新しい仕事の場も、自分の能力を生かせる場も、これまで仕事をしてきた世界の外にあるかもしれないのに。

        #スマホで操作していたら、間違えて元コメにモデレートorz
        #しかも「不当プラスモデ」ってorzorz
        #コメントで取り消します。

        親コメント
      • by Anonymous Coward

        あまり意味のない所にまでこだわって
        40歳になってもまだ労働をしているか
        瞬間的にがっつり稼いで、40代で経済的自由を手に入れているか
        どちらが幸せかは小学生でも分かる事なんだが。。。

        • by Anonymous Coward

          >意味のない所
          価値観の貧相なやつだなぁ
          あれゲな話をしに来るサイトに金しか興味のないやつが来てもつまらないだろうに

          自分だけ稼げれば進歩に興味ないような自己中はご高説のとおりさっさと稼いで退場してほしいね

        • by Anonymous Coward

          で、ソフトしか知らないあなたは瞬間的にがっつり稼いだんです?
          自分が知らない・付いて行けない分野を意味が無いとこき下ろすような程度の人には難しいんじゃないかな。

          • by Anonymous Coward

            FPGA使ってみればわかるけど開発の時間のほとんどはコード書いてるよね
            そこはやってることはソフト屋のそれと変わらないというか
            並行処理を必ず意識する分高級かもしれないけど。
            要するにFPGAのハード屋はソフトもやってると言えるわけで
            この点で見ても元コメの言ってることはまるで見当違いというかマヌケですな

        • by Anonymous Coward

          そうだな、小学生には達成感というのはわからないからな。

        • by Anonymous Coward
          はっきり言えばいいのに。
          『ボクは金儲け以外のことには意義も意味も見いだせないので。』って。
          その感覚で言うなら誰も反論しないよ。
          共感はされないだろうけどね。
    • by Anonymous Coward on 2014年12月20日 8時46分 (#2731236)

      ハードウェアを扱う人は技術者ではないらしい。
      これがWeb系か。。。

      親コメント
    • by Anonymous Coward

      え”!?

    • by Anonymous Coward

      日本の競争力が落ちるわけだ

    • by Anonymous Coward

      まあ同意。
      C/C++でハードウェアを意識したコードを書くより
      rubyやpythonでハードウェアを意識せずにコードを書くほうが、速いコードが出来上がる。

      •  pythonプログラムの実行が,pythonのネイティブのインタープリタよりも,
        ネイティブのpythonインタープリタで動いているpythonで作ったインタープリタで動かした方が速くなったら信じます。

        親コメント
      • by Anonymous Coward on 2014年12月20日 8時23分 (#2731229)

        そう思いたいんですね。
        判ります。

        要は低いレイヤーの知識を持たない人にとっての酸っぱい葡萄という事か。

        親コメント
      • by Anonymous Coward

        いやー、速いコードが出来上がるんだろーけど、いくらそれが早いと言っても、それでも追いつかないからどーするんだというはなしなわけなんだがw

        • by Anonymous Coward

          Rubyは、速度に関して興味を持っていないようだからアレだけど
          Pythonでも追いつかない処理って何?
          RSAでも破りたいの?

          • by Anonymous Coward

            機械学習ですよ、ソース元を読みましょう。

      • by Anonymous Coward

        そんなんだったら、ツイッターがRubyでサービスインした後に性能問題で全部作りなおしたりしないよ。

    • by Anonymous Coward
      あぁ、苦労してリニア新幹線を作るより、高速バスでサッサと開業したほうがいいという話ですね。
      近視眼的、短絡的な利益追求としては確かにそうでしょうね。
      最後の一文は意味不明ですが。
      • by Anonymous Coward

        高速バスだって高速道路という線路の事を考えるとリニアと五十歩百歩で、汎用性により富むという
        点からは、むしろ高速を現行高性能CPU側、リニアがFPGA側としても良いくらいでは?

        XeonはもちろんAmpですら汎用でマルチで、特定の用途のみをしまくるだけならFPGAの方が電気の
        食い方が少ないという事なら、

        同じ路地を走っている小型貨物と宅配用三輪自転車にたとえる方が良いのでは?
        三輪車で30㎞走らせるのは酷だが、特定の地域を回るのには効率が良いとかそんな感じ。

    • by Anonymous Coward

      本当に元記事読んだ?読んでもさっぱりわからなかった?
      でも、これ10年くらいでごく普通の上場会社くらいまで落ちてきそうだよ。
      もう一度見直したほうがよくない?

    • by Anonymous Coward

      サービスを高速「に」サックっと作ることは当然の事で、それを高速「な」サービスに成熟させていくことは有意義な事だと思いますが…

    • by Anonymous Coward

      もしかして、某(仮)なゲームの運営さん?w

      #そしてユーザ離れが加速する…

  • by Anonymous Coward on 2014年12月20日 9時13分 (#2731257)

    >とはいえ、導入はなかなかハードだったようだ。
    FPGAによるハードウエア構成ですから・・・ん?

  • by Anonymous Coward on 2014年12月20日 9時40分 (#2731268)

    てっきりBingとかの検索システムって膨大なデータを置いておくディスクとのI/Oがボトルネックだと思ってたんだけど、CPUがボトルネックだったってこと?
    それとも、I/Oの問題は置いといて、処理対象データがメモリ上にそろった後のCPU処理時間をFPGAで大幅削減したってことなのかな?

    • by Anonymous Coward

      リンク先ぐらい読め。
      どこをFPGA化してどうメリットがあるのか書いてあるだろ。

      • by Anonymous Coward

        読んだんですけどね
        I/Oのボトルネックには触れられてなかったので、BingのFPGA化というよりも、
        多サーバから共有できるCPUアクセラレータできたよーって理解で正しいのか自信がなかったんですよ

        • by Anonymous Coward on 2014年12月20日 10時12分 (#2731286)

          読んでその理解なら絶望的だわ…

          FPGAカードは他サーバーのFPGAカードと接続してトーラスを構成すると書いてある。
          FPGA化したのは負荷の高いランク計算とも書いてある。

          多サーバから共有できるCPUアクセラレータできたよーって理解で正しいのか自信がなかったんですよ

          どこをどう読んだらこういう解釈になるのか後学の為に教えてほしい。

          親コメント
          • > FPGAカードは他サーバーのFPGAカードと接続してトーラスを構成すると書いてある。
            ↑これを言い方かえれば
            > 多サーバから共有できるCPUアクセラレータできたよーっ
            という事でしょ。

            I/Oのボトルネックには触れられてないのは確かだけど、それがボトルネックではなかったという事だね。

            親コメント
    • by Anonymous Coward

      「ステートマシンによる特徴量抽出」でソフト実装より150倍高速化できたってところが効いてそう。
      その次の「メニーコアによる特徴量合成」も10倍でまぁイケてる。

      たぶんディスクとのI/Oも負荷高いと想像できるけど、RTLでファイルシステム考慮してディスクにアクセスするのはかなり面倒で作業量対効果が良くなかったとかじゃないかな。

      FPGA実装に適した、少しのデータ量に対し大量の演算が必要な処理がうまい具合にあったということだろうね。

  • by Anonymous Coward on 2014年12月20日 11時06分 (#2731313)
    Pingなら俺でも作れる
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...