【ビッグデータ】

 

ビッグデータ(英語: Big data)は、情報技術分野の用語としては、通常のデータベース管理ツールなどで取り扱う事が困難なほど巨大な大きさのデータの集まりのことです。

通常は、構造化データおよび非構造化データが含まれ、その多様性とサイズや要求される処理の速度と高度化のため、格納と活用(検索/共有/分析/可視化など)の実現を目指したもの。

日本の総務省が情報通信白書に記載した定義例では、「ビッグデータ」は「事業に役立つ知見を導出するためのデータ」、ビッグデータビジネスは「ビッグデータを用いて社会・経済の問題解決や、業務の付加価値向上を行う、あるいは支援する事業」です。

【概要】

 

情報通信、とくにインターネットの発達にともなって爆発的に増大した構造化されていない莫大な量のデータ。それら様々な局面に発生した巨大データの集まりを分析することでビジネス傾向の特定、病気の予防、犯罪の対策などにメリットがあると言われています。

技術の進歩により変化するが、ペタバイト、エクサバイト、ゼタバイトなどが現在のデータの大きさの限界です。ビッグデータは気象学、ゲノミクス、コネクトミクス、複雑な物理シミュレーション、環境生物学、インターネット検索、経済学、経営情報学などの分野で科学者が日常直面する課題でもあります。

モバイル機器に搭載されたセンサー、リモートセンシング技術、ソフトウェアのログ、カメラ、マイクロフォン、RFIDリーダー、無線センサーネットワークなどでデータが収集されるようになったこともデータが増加する一因となっています。

現在のビッグデータの特徴的な課題の一つは、関係データベースとデスクトップ統計・可視化パッケージで取り扱うことが難しいということで、数十、数百あるいは数千台のサーバー上で動作する大規模並列ソフトウェアを必要としていることです。

ビッグデータの大きさはデータを取り扱う者の能力によって変わります。数百ギガバイトのデータを初めて処理する必要に迫られることが、データ管理の選択肢を再考するきっかけとなることがあります。別の者にとっては、それが数十から数百テラバイトであることもあります。

【超並列マシン】

 

超並列マシン (ちょうへいれつマシン、Massively parallel machine) は1990年代から台頭してきた、並列計算機の中で規模の大きなもの(CPU数の多いもの)を言います。

大規模クラスターマシン、大規模ワークステーションクラスター、地球シミュレーターなども超並列マシンの範疇に入れることができます。時代と共に並列度は大きくなり、CPU性能は向上するため、何個以上のCPU数(或いは性能)で超並列であるというはっきりとした定義は意味がありません。

超並列マシンは分散メモリ型のコンピュータシステムであり、多数のノードから構成され、各ノードは基本的に独立したコンピュータとなっています。本来の超並列マシンはnCUBEやコネクションマシンなどのように、ほとんどのノードがCPUとメモリとノード間接続用の通信ポートのみで構成されるものでした。

ノード間通信にはMPIのような標準的なプロトコルを使用してメッセージをやり取りしています。2005年現在のスーパーコンピュータはほとんどが超並列マシンです。超並列マシンの性能は、実行しようとするアプリケーションの並列性と、スレッド間の通信量に左右されます。

アプリケーションの並列性が高ければ多くのノードに展開して並列実行できるため、性能向上が期待できます。しかし、共有メモリ型と異なり、あるスレッドの実行結果をメモリに置くだけでは他のスレッドからは見えないため、通信が必要となります。したがって、計算途中に他のスレッドの結果を待ち合わせなければならないようなアプリケーションではノード数に比例した性能向上は期待できません。超並列マシンでの計算性能の向上は研究の活発な領域です。

超並列処理技術は、ハイパフォーマンスコンピューティング以外の用途でも使われています。その最も普及した例が、Graphics Processing Unit(GPU)である。最新世代のGPUは、少なくとも100個以上、ハイエンドモデルでは1000個以上の汎用プロセッサエレメント(俗称シェーダーユニット)を持ち、これらを8個から32個を一つの命令デコーダに接続し、一つの命令で8~32個のデータを同時処理できます。

このプロセッサエレメントのクラスターを巨大なクロスバースイッチデータバスや、リングバスに接続し、汎用のシェーダ記述言語をSIMDやVLIW技術を駆使した内部命令セットへ変換し、10GFLOPSもの性能を持つ製品もあります。

近年、このGPUを多数接続して安価な大規模超並列コンピュータを製造しようと言う動きがあり、GPUメーカーもGPGPU向けに倍精度浮動小数点計算を強化したバージョンを徐々に浸透させつつあります。近い将来GPGPUの為に単精度・倍精度の両方を処理できる高精度プロセッサエレメントを多数搭載した製品の登場も見込まれます。

【グリッド・コンピューティング】

 

グリッド・コンピューティングは、インターネットなどの広域のネットワーク上にある計算資源(CPUなどの計算能力や、ハードディスクなどの情報格納領域)を結びつけ、ひとつの複合したコンピュータシステムとしてサービスを提供する仕組みです。提供されるサービスは主に計算処理とデータの保存・利用に大別されます。一箇所の計算センターや、一組のスーパーコンピュータでは足りないほどの大規模な計算処理や大量のデータを保存・利用するための手段として開発されています。

グリッドコンピューティングは、どこにでも、必要な情報サービスを、必要なときに、必要なだけ提供するという、「情報資源」の「ユーティリティ化」を目指しており、インターネットをインフラとして実現される、インターネットの次の世代の情報インフラを目指しています。

名前は、21世紀初頭時点ですでにそのような系統が確立しているインフラである電力送電網(パワーグリッド)に由来しています。「有休パソコンの計算力をまとめて高性能計算を行うもの」といった説明は、ある一面だけしか捉えずに報道されたものです。

コンピュータの処理能力は年々向上して来たが、大規模な計算を出来るだけ短時間で処理するために、並列コンピューティング・分散コンピューティング等の手段が開発されてきました。こうした技術を利用して一台のコンピュータの処理能力を飛躍的に向上させたものはスーパーコンピュータと呼ばれ、複数のコンピュータを統合して全体として処理能力を上げたものはコンピュータ・クラスターと呼ばれています。また、パーソナルコンピュータをベースとした計算機でも100個前後のCPUと数100GBのメモリを搭載できるものが存在します。

グリッド・コンピューティングは、各地に散在するこれらの大規模計算のためのスーパーコンピュータやコンピュータ・クラスターを統一的に利用出来るようにし、更に全体の処理スループットの増加を目指すものです。

各地の計算センターに置かれたスーパーコンピュータやコンピュータ・クラスター等の計算資源は、それぞれに仕様が異なるため、従来それらの複数を利用する場合には個々の仕様に合わせた計算処理をそれぞれに用意しなければならなかったが、グリッド・コンピューティングはその手間を省き統一的に扱える様にするものです。

初期のグリッドは、大規模な計算処理を複数の計算センターで行なうことを目指す「コンピューティング・グリッド(計算グリッド)」であったが、大規模なデータを扱う必要のある科学研究分野で「データ・グリッド」が提唱・開発され、現在は計算処理とデータ保存・利用の両方の機能を備えているものが多いです。また、産業界向けに開発されているツールキットは単体の計算処理よりも複数処理のスループット改善を重視して開発されているものが多い(これは処理の並列化、分散化に対しアプリケーション自体が対応していないケースが考慮されていることも一因である)。