並列化オーバーヘッドは, 「全てのプロセッサが100% 稼働していても, 理想 の台数効果が得られない理由」を与える. CKYアルゴリズムにおいては, オー バーヘッドを調べることで, プロセッサ台数に比べて, 処理の量が多い場合 (つまり文の長さが長い場合)の, 性能の「上限」を予測するのに使える.
を計算するのに, および を他のプロセッサから 取り寄せる部分である. これは1台でローカルメモリで実行していればいらな かったはずの処理である. 以下の記号を導入する.
上を用いて, を通信オーバーヘッド零のプロセッサ(逐次プロセッ サの近似)で求めるための処理量 を, 以下で近似する.
最初の2項が, 要素を取り寄せるために必要な通信のコスト, 残りがローカル な処理のコストである. 取り出された要素, は, 各 に対し, なるsの集合を, コストCで求め, 取り出された 要素 に対し, エッジを生成する. 本来はこの上にさらに, sがすでに生成されて いるかどうかの検査のコストが必要になるが, 省略してある. その検査はロー カルな処理であり, それを0と見積もることは我々の並列処理のオーバーヘッ ド(通信コスト)を大きく評価することになる.
このアルゴリズムでオーバーヘッドを減らすために重要なことは, 通信オーバー ヘッドが式全体の外に出ているということである. たとえば上で, , の要素数をそれぞれn, mとし, が平均でaである とすると,
となる. このうち前2項が通信オーバーヘッドとなり, n + mのオーダー, 一 方ローカルな処理は, nmのオーダとなる.