
372 12 章 ビッグデータ:スケールを追求
過するデータの動きよりも、サイクル数によって処理が限界に達してしまう。強調点は、何らかの計
算問題を逐次的に処理するときよりも高速に解決することに置かれる。
• 分散処理は、ネットワークで接続された複数のマシンで実行される。この形で実現できる規模は膨大
なものになるが、あまり通信を必要としない疎結合な処理に適している。分散処理の目標は、複数の
CPU の能
力をフルに活用することではなく、複数のマシンの間でメモリやセカンダリストレージと
いったリソースを共有することに置かれることが多い。ディスクからのデータの読み出し速度がボト
ルネックになるときには、同時にできる限り多くのディスクを多数のマシンで読み出すようにすると
よい。
この節では、並列計算の基本原則を説明し、並列計算の比較的単純な活用方法であるデータ並列処理とグ
リッドサーチを説明する。ビッグデータの分散コンピューティングの主要パラダイムである MapReduce は
12.6 節で扱う。
12.5.1 1, 2, たくさん
原始的な文化では、数は未発達で、1, 2, たくさんという単語しかなかった。実は、並列・分散コンピュー
ティングも、このような形で考えるとよい。マシンが増えると非常に速いペースで複雑さが増すのである。
• 1:マシン内のすべてのコアをビジー状態に保つが、マシンは 1 台だけである。これは分散コンピュー
ティングではない。
• 2:LAN で接続されたマシンの間で実行する仕事を手作業で分割する場合である。辛うじて分散コン ...