編集部からのお知らせ
解説集:台頭するロボット市場のいま
解説集:データ活用で考えるデータの選び方

NEC、ビッグデータ分析を10倍以上高速化する分散処理技術を開発

山田竜司 (編集部)

2013-10-09 07:30

 NECは10月8日、ビッグデータの分析を高速化する分散処理技術を開発したと発表した。同技術によりビッグデータより知見を抽出するのに有効な「機械学習処理」をHadoopで実行する際、従来の10倍以上高速化することに成功したという。

 NECが開発した分散処理技術では、機械学習で頻繁に用いられる「繰り返し演算」や「行列演算」を、従来のHadoopの10倍以上の速度で達成できるという。分析期間を短縮し、分析結果の迅速に利用できるため、価格予測や需要予測など高度な分析が必要な機械学習を用いる場合に有効であるとした。

 これにより、例えば、ECサイトにおいて、利用者数400万人、商品数50万点、購入履歴数2000万の購入履歴を用いて、 利用者が関心を持ちそうな商品などを、購入履歴などから推薦する、レコメンド処理を実行した場合、これまで1週間以上かかっていた分析を1日に短縮するなどの運用が可能となる。

 NECが今回開発した技術の特長は2点ある。「機械学習などの複雑な処理を高速化」した点と、「処理の途中の状態を保存できる」点である。


集計のような単純な分析は、MapReduce単一で実現できるが、機械学習は繰り返し演算を必要とするため、これを実現するため 多数のMapReduceを組み合わせる必要がある。

 まず、機械学習などの複雑な処理を高速化した点についてである。Hadoopで機械学習を繰り返し実行するためには、分散処理手法である「MapReduce」(分散して処理を行うMap処理とその結果を集約するReduce処理から構成される手法)を多数組み合わせる必要がある。


MapReduce間のデータ受け渡しが遅い

データの受け渡しをハードディスクではなく、メモリ経由とし、高速化

 従来はMapとReduce間のデータ受け渡しをハードディスク経由で行う必要があったが、処理に時間がかかり非効率だった。新技術では、MapReduce間のデータ受け渡しをメモリで実現し、繰り返し演算を高速化できるという。 また、行列演算をMapReduceからサーバ同士がメッセージを送りあうことで分散処理を行うMPI (Message Passing Interface)に変更し、高速化を実現した。これらにより、機械学習プログラムにおいてHadoopの10倍以上の速度を実現しているという。


従来のHadoopでの可用性の高め方

 処理の途中の状態を保存できる点が有用なのはなぜか。これは高速化と可用性を両立した点にある。分散処理では多数のサーバを用いるため、そのうちの1台が故障する確率が上がり、サーバが故障した場合でも処理を継続できる可用性の高い仕組みが必要となる。Hadoopでは、サーバ故障時にハードディスク上にある入力データを用いて、故障したサーバが行った計算をやりなおして処理を継続し、可用性を高めていた。


処理の途中の状態を高速に保存する手法

メモリ上にある処理の状態を高速にハードディスクに保存する技術

 今回の新技術では通常、MapReduceの入力データはメモリ上にあるため、サーバが故障するとデータが失われてしまう。しかしNECは、メモリ上にある処理の状態を高速にハードディスクに保存する技術を開発したという。従来、処理の状態を保存する手法としては、プログラムが利用中のすべてのメモリ内容を保存する手法しかなかったが、同技術では処理の継続に必要な部分だけを選択することで、保存するデータサイズを大幅に削減し、高速な保存を実現したという。

 開発の一部は、平成21年度より平成24年度までNECが参画した独立行政法人新エネルギー・産業技術総合開発機構(NEDO)のプロジェクト「グリーンネットワーク・システム技術研究開発プロジェクト」によるものという。

 NECは今回の成果を、米国で開催される国際学会「IEEE International Conference on Big Data 2013」(10/6~10/9)において、10/8に発表する予定。

ZDNet Japan 記事を毎朝メールでまとめ読み(登録無料)

Special PR

特集

CIO

セキュリティ

スペシャル

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNet Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]