• 検索結果がありません。

J73 j IEICE 1999 4 最近の更新履歴 Hideo Fujiwara J73 j IEICE 1999 4

N/A
N/A
Protected

Academic year: 2018

シェア "J73 j IEICE 1999 4 最近の更新履歴 Hideo Fujiwara J73 j IEICE 1999 4"

Copied!
10
0
0

読み込み中.... (全文を見る)

全文

(1)

選択問題を解く BSP モデ ル 及び BSP

モデ ル 上の並列アルゴ リズ ム

石水 隆

藤原 暁宏

††

井上美智子

増澤 利光

藤原 秀雄

Parallel Algorithms for Selection on the BSP Model and the BSP

Model

Takashi ISHIMIZU

, Akihiro FUJIWARA

††

, Michiko INOUE

,

Toshimitsu MASUZAWA

, and Hideo FUJIWARA

あら まし 本論文では ,BSP( Bulk-Synchronous Parallel)モデル及び BSP モデ ル 上で 選択 問題を 解 く 並列アルゴ リズ ムを 提案する .BSP モデル及び BSPモデ ルは ,近年提案され た 並列計算モデ ル で あり,最 近 の 並 列 計 算に お い て 重 要と され て い る 通 信コ スト を ,同 期 周 期L,通信路帯域幅の 逆数 g,パケット サ イズ B といったパラ メータに より 表すことを 可能にし たモデ ル であ る.本論文では ,デ ータ数 n の選 択 問題に 対し ,p 個のプ ロセッサを 用いてBSP モデル上で任意の整数 d (1 <= d <= log n) に対し 内部計算時間 O(np+d log p log log n+Llog p log log n

log d ),通信時間 O(gnp+(gd+L)

log p log log n

log d ),また,BSPモデル上で内部

計算時間O(n

p+ d log p log log n + Llog p log log n

log d ),通信時間 O(g(pBn + (np)17(log p)67) + (gd + L)log p log log n log d )

の並列アルゴ リズムを 提案する.

キーワード 並列アルゴ リズム,BSP モデル,選択問題,計算量

1. ま え が き

従来の並列アルゴ リズムに 関する研究は ,共有 メモ リ型並 列計算モデ ル ではPRAM(Parallel Random Access Machine,分散 メモリ型並列計算モデ ルでは メッシュモデル,ハイパキューブ モデル等の特定のネッ ト ワーク構造をもつ並列計算モデ ルに 関する研究が 主 流であった .初期の並列計算機の多くが ,低ビ ット の 並列処理専用に 開発され たプ ロセッサを 使って,短い 周期で同期をとりながら処理を行うものであったため, これ ら の 並列 計 算モデ ル で も1命令ご と の 同 期が 仮 定され ることが 多か った .また,初期の並列計算機で は ,プ ロセッサの演算能力が 低か ったこともあり,プ ロセッサ内部の演算に 比べて,プ ロセッサ間の通信は それほど 考慮が 必要とされず,上記の並列計算モデ ル においても,通信コ ストの表現には 重点が おかれてい

奈良先端科学技術大学院大学情報科学研究科 ,生駒市

Graduate School of Information Science Nara Institute of Science and Technology, 8916–5 Takayama, Ikoma-shi, 630– 0101 Japan

††九州工業大学情報工学部電子情報工学科,飯塚市

Department of Computer Science and Electronics, Kyushu Institute of Technology, 680–4 Kawazu, Iizuka-shi, 820–8502 Japan

なか った .

し かし ながら ,プ ロセッサ能力の向上に 伴い,プ ロ セッサ間の通信コ ストがプ ロセッサ内部の演算コ スト と と もに ,並 列 計 算の コ スト に おけ る 重 要な 要 素と なってきた .また ,同時に 多くのプ ロセッサが 大部分 の処理を他のプ ロセッサと 同期せずに 処理を行う非同 期処理も主流となってきた .これらの特徴をもつ最近 の並列計算機に 対し ては ,PRAMを 代表と する従来 の並列計算モデ ルでは ,アルゴ リズムの評価を正確に 行うことが 困難であり,これらの特徴に 対応し た新し い並列計算モデ ルが 望まれ ていた .

本論文では上記の要求に 対応し た並列計算モデ ルで あ るBSP(Bulk-Synchronous Parallel)モデ ル[9] 及び その 拡張モデ ルであ るBSPモデル[2]を 使用し てアルゴ リズムの提案を行う.BSPモデルはValiant により提案され た並列計算モデ ルであり,通信コ スト を同期周期,通信命令実行時間を表すLgという二 つの パラ メータに より 表すこ とが 可能に なって いる . また同期機構を仮定することに より,非常に 緩い同期 の処理に対応可能なモデルである.BSPモデルでは , 通信パケット サ イズを 表すパラ メータB を 導入する ことにより,より実際に 即し たアルゴ リズムの計算量

D– Vol. J82–D– No. 4 pp. 533–542 1999 4 533

(2)

の検証を可能にし ている.

本論文では,これらのモデル上で選択問題を解く並列 アルゴ リズムの提案を行う.選択問題とは,全順序関係 をもつn個のデ ータの集合Sと自然数k (1 <= k <= n) が 与えられたときに ,Sの中からk番目に小さい要素 を求める問題であり,多くのアプ リケーシ ョンにおい て ,部分問題とし て 利用され て いる基 本問題で あ る . この 選択問題に 対し ては ,O(n)時間の 最適逐次アル ゴ リズム[8]が 知られている.

選 択 問 題に 対す る 並 列アルゴ リズ ムとし ては ,以 下のものが 知られている.Cole [3]EREW PRAM 上でO(log n logn)時間( 注1)log n logn nプ ロセッサ, CRCW PRAM上でO(log n loglog log nn)時間,n log log n

log n logn

プ ロ セッサで 選 択 問 題 を 解 く 最 適 加 速

( 注2)

な 並 列 ア ルゴ リズ ムを 示し た .BSPモデ ル 上ではGerbessio- tis[5]が 内 部 計 算 時 間O(n

p + L log p),通 信 時 間

O(gn

2 3

p + L log p)で停止し ,確率1 − O(n 1−ρ)

で解 を出力するp (1 <= p <= n2/3+ζ)プロセッサの確率的並 列アルゴ リズムを示した.ρδζは0 < ζ < δ <1/3

ρ > 1となる任意の 定数である.BSPモデ ル 上では B¨aumker[1]がプ ロセッサ数p = O(logn4n)c 任 意の 定 数の と き B <=



n

p に 対し て 内部 計算 時間 O(np+ L log p),通信時間O(Bg



np+ (L + g) log p) となる確率 1 − 1

nc の確率的並列アルゴ リズムを示し た .以上の よ うに ,BSPモデ ル ,及びBSP モデ ル では ,選択問題を解く確率的なアルゴ リズムは 提案さ れ て い るが ,決 定 性アルゴ リズ ムは 提 案され て いな か った .

本論文では選択問題を解く以下の二つの 決定性並列 アルゴ リズムを示す.

1BSP モ デル上 で内 部 計 算 時 間 O(n

p

+ d log p log log n + Llog p log log n

log d ),通信 時 間O(g n p

+ (gd + L)log p log log n

log d )のアルゴ リズム.

2BSP モ デ ル 上 で 内 部 計 算 時 間 O(n

p

+ d log p log log n + Llog p log log n

log d ),通信時間O(g(

n pB

+ (np)17(log p)67) + (gd + L)log p log log n

log d )のアルゴ リ

ズム.

ただしd1 <= d <= log nを満たす任意の整数であり, かつプ ロセッサ数p1 <= p <= n

log n である.1)の

アルゴ リズムの計算量は ,g = d = O(1)のとき内部

計算時間,通信時間がともにO(n

p+ L log p log log n) となり,プ ロセッサ数が 小さい 場合は ,最適加速なア ルゴ リズムとなる.(2)のアルゴ リズムも,d = O(1), g <= B = O((p log pn )67) の場 合,内部計算時間,通信 時間が と もに O(n

p + L log p log log n) とな り,プ ロ セッサ数が 小さい場合は ,最適加速なアルゴ リズムと なる.

2. 準 備

2. 1 BSPモデル及びBSPモデ ル

2. 1. 1 定 義

BSPBulk-Synchronous Parallel)モ デ ル[9] Valiantに よって 提 案 され た 非 同 期 式 並 列 計 算 モデ ルであり,以下の構成要素からなる.

• 局所 メモリをもつ複数のプ ロセッサ( 本論文中 ではプ ロセッサ数をpとし ,各プ ロセッサをPi(1 <= i <= p)で 表す )

プ ロセッサ間の11メッセージ 通信を行う完 全結合網

• プ ロセッサ間の同期を実現するための同期機構 BSPモデル上での並列アルゴ リズムは ,各プ ロセッ サが 実行するプ ログ ラムに より表され る.各プ ロセッ サが 実行するプ ログ ラムは スーパステップ の列からな る.各スーパステップ は 内部計算命令の列からなる内 部計算フェーズと ,送信命令,受信命令の列からなる 通信フェーズで 構成され ており,各プ ロセッサは スー パ ス テップ の 命 令を 非 同 期に 実 行す る .また ,ス ー パステップ の命令を終了後,プ ロセッサ間でバリヤ同 期

( 注3)

をとり,次のスーパステップの実行に移る.メッ セージ の受信については ,各スーパステップ 中の通信 フェーズで送信された メッセージは同一のスーパステッ プ の通信で 受信され るが ,その メッセージはその次の スーパステップ 以降でし か 利用できないと 仮定する. BSPモデルは以下の二つのパラ メータにより,具体 的なネット ワーク構造や メッセージ 配送の仕組みを 抽 象化し ている.

( 注1log∗ n = min{i| log(i) n <= 2}.こ こ で ,log(i) n = log(log(i−1) n), log(1) n = log nで ある.

( 注2:並列アルゴ リズ ムのプ ロセッサ数と 時間計算量の積が 最速の逐 次アルゴ リズ ムの時 間計算量と漸近的に 等し いとき ,その並列アルゴ リ ズムは 最適加速な並 列アルゴ リズムで あるという.

( 注3:バ リヤ同期とは ,協調し て動 作する多数のプ ロセ ッサの歩 調を 合わせ ることを目的とし た同期プ リミテ ィブ である.バ リヤ同期を 実行 し て同 期をと る場合 ,すべてのプ ロセッサが バ リヤに 到達するまでど の プ ロサッサも実行を 継続できず,封鎖され る.

(3)

BSP モデル及び BSP

• L:バ リヤ同期周期

• g (<= L)1個の 送信命令又は 受信命令の 実 行 に 必要な時間

BSPモデル上の並列アルゴ リズムの基本的命令の実 行時間について ,以下のように仮定され ている.

各プ ロセッサは1単位時間に1内部計算命令を 局所 メモリにのみ基づいて 実行する.

メッセージ1個の送信命令又は 受信命令の実行 はg単位時間で 行われ る.ただし ,1メッセージは1 語からなるものとし ,サ イズ1の メッセージ と呼ぶ.

• あ る ス ー パ ス テップ に お い て ,すべ て のプ ロ セッサで 命令の実 行を 終了し てから L 時間以内にバ リヤ同期がとられ ,次のスーパステップ の実行に移る. よって ,あるスーパステップにおいて ,各プ ロセッサ がたかだか w個の 内部計算命令,たかだかh個の送 信命令又は 受信命令を割り当てられた場合,その スー パステップ の実行にはO(w + gh + L)時間かかる. 以降では 簡単のために ,各スーパステップ は内部計 算命令のみ,あるいは 送信命令及び 受信命令のみから なるとし ,内部計算命令のみからなるスーパ ステップ の 実 行 時 間を 内 部 計 算 時 間 ,送 信 命 令 及び 受 信 命 令 のみからなるスーパステップ の実行時間を通信時間と 呼ぶ .

BSPモデル[2]B¨aumkerらによって提案された BSPモデ ルの拡張モデ ルであり,BSPモデ ルのパラ メータに 加えて以下のような通信パケット のサイズを 表すパラ メータをもつ.

• B (>= 1):通信パケット の最小サ イズ

この拡張は ,多くの並列計算機において ,メッセー ジがある特定のサ イズの通信パケット とし て伝達され るという事実に 基づいている.

また ,この 拡張に よるBSPモデ ルから の 変更点は 以下のとおりである.

• 同じプ ロセッサに 対するs語の メッセージをサ イズsの メッセージとし て送信又は 受信できる.

サ イズ s の メッセージ の 送 信命 令 又は 受信 命 令の 実 行は g⌈s

B 単 位 時間で 行われ る .よって 各プ ロセッサが たか だかw 個の内 部計算命令,各サ イズ s1, s2, . . . , shであ るたかだか h個の メッセージ の 送 信命令又は 受信命令からなるスーパステップ の実行に は ,O(w + g



h i=1

si

B⌉ + L)時間かか る.

2. 1. 2 BSPモデ ル 及びBSPモデ ル 上の 基本ア ルゴ リズム

本 論 文 中で 提 案す る 選 択 問 題を 解 く 並 列アルゴ リ

ズ ムで は ,ブ ロード キャ スト 操作 ,接頭部 演算操作 , ソーテ ィング 操作を 行 うBSPモデ ル 上の 並列アルゴ リズ ムを 利用する .各操作はBSPモデ ル 及びBSP モデ ル 上では以下のように定義され る.以下の定義で は 要素a,各ai,各bi等はいずれ もサ イズ1であ る とする.

[ 定義1](ブ ロード キャ スト 操作 )ブロード キャスト 操作とは ,ある1プ ロセッサが 保持する要素をすべて のプ ロセッサに 送信する操作である.

入力:値a(プ ロセッサP1が 保持する.) 出力:すべてのプ ロセッサが 値aを保持する.

[ 定義2]( 接頭部演算操作 ) 入 力:n 個 の 要 素 列 (a1, a2, . . . , an).各 Pi (1 <= i <= p) (a⌈(i−1)n

p⌉+1, a⌈(i−1)np⌉+2, . . . , a⌈in

p)を保持する.

出力:各j (1 <= j <= n)について,bj= a1◦a2◦· · ·◦aj を満たす要素列(b1, b2, · · · , bn).各Pi(1 <= i <= p) (b⌈(i−1)n

p⌉+1, b⌈(i−1)np⌉+2, . . . , b⌈in

p)を保持する.

[ 定義3]( ソーテ ィング 操作 )ソーティング操作とは 要素を昇順に並べ替え る操作である.

入力:全順 序関係 をもつ n 個 の要 素集合 A = {a1, a2, . . . , an}.各 Pi (1 <= i <= p) (a⌈(i−1)n

p⌉+1, a⌈(i−1)np⌉+2, . . . , a⌈in

p)を保持する.

出力:Aのソート 列(b1, b2, . . . , bn).各Pi (1 <= i <= p)(b⌈(i−1)np⌉+1, b⌈(i−1)np⌉+2, . . . , b⌈inp)を保持す る.

1にブ ロード キャスト操作,接頭部演算操作,ソー テ ィング 操作に 関する既知の結果を示す.以下では 内 部計算時間,通信時間をそれぞれTITC と表す.

BSPモデ ルで 計算量が f (n, p, g, L)で あ るアルゴ リズムは ,BSPモデ ル 上で 同じ 計算量f (n, p, g, L)

1 BSP モデル上の基本操作に対する計算量 Table 1 The complexities for basic operations on the

BSP model.

操作 時間計算量 プ ロセ ッサ数 文献

ブ ロード キャ スト

TC : O((gd + L)log plog d) p [9] TI : O((d + L)log plog d+ np ) p 接頭部演算

TC : O((gd + L)log plog d) 1 <= p <= n [9]

TI : O(n log np + Llog nlog n p

) p

ソーテ ィング

TC : O((gnp + L)log nlog n p

) 1 <= p <= n [6]

TI: 内部計算時間,TC:通信時間 d1 <= d <= pの任意の定数

(4)

で 動作することが 可能である,すなわち,BSP

モデ ルにも表1の結果が 適用できる.

また,表1中のGoodrichのソーティング アルゴ リ ズ ム[6]は ,以下のよ うな 特性に より,BSP モデ ル 上では 計算量が 改善され る.

Goodrichのソーテ ィングアルゴ リズム[6]は ,各プ ロセッサは1スーパ ステップ でO(n

p) 個の 要素の 送

信,及び 受信を行い,また ,O(log n

lognp)スーパステップ

で終了するので ,BSPモデル上では ,通信の計算量が O((gnp+ L)loglog nn

p)

となっている.しかし ながら,この アルゴ リズムでは,各プロセッサが1スーパステップで 送信する メッセージ の送信先,及び 受信する メッセー ジの送信元のプ ロセッサ数はたかだか2(n

p) 1

7 である.

BSPモデ ルでは ,1スーパ ステップ に おいて ,d個 のプ ロセッサに si 個(1 <= i <= d)ずつ送信するため には ,O(g



d i=1

si

B⌉ + L)の通信時間しか必要とし な い.また,各プ ロセッサは ,1スーパステップでO(n

p)

個の要素の送受信を行うので ,



2(np) 1 7

i=1 si= O(np)

ある.し たが って ,このソーテ ィング アルゴ リズムの 1スーパステップ の通信時間は ,

O

g

2(np)17



i=1



si B



+ L

= O

g

n pB +

n p



17



+ L



となる.

し たが って,以下の補題が 得られ る.

[ 補題1]ソーテ ィング 操作はBSPモデ ル 上で TI: O

n log n

p + L

log n lognp



TC: O

g

n pB +

n p



17



+ L



log n lognp



で 実行できる. 2. 2 選 択問 題

全順序関係をもつ要素集合A = {a1, a2, . . . , an} 対し て ,関数rank(ai, A) (1 <= i <= n)

rank(ai, A) = |{a ∈ A|a <= ai}|

と定義する.なお,簡単のために 任意のi, j (1 <= i <

j <= n)に ついてai= a| j とする.このと き,選択問 題は 以下のように 定義され る.

[ 定義4]( 選択問題 ) 選 択 問 題は 全 順 序 関 係を も つ n個の要素の集合Aと 整数k (1 <= k <= n)が 与えら れ たと きに ,Aの 中でk 番目に 小さい 要素を 求め る 問題である.

入力:全順序関係をもつn個の 要素集合A = {a1, a2, . . . , an},及び ,整数k (1 <= k <= n).各Pi(1 <= i <= p) {a⌈(i−1)n

p⌉+1, a⌈(i−1)np⌉+2, . . . , a⌈in

p}を ,

Ppkを保持する.

出力:ある一つのプ ロセッサがrank(a, A) = k 満たす要素a ∈ Aを出力する.

3. 選択問題を解くアルゴ リズ ム

3. 1 BSPモデル上のアルゴ リズ ム 3. 1. 1 アルゴ リズムの概要

本 ア ル ゴ リ ズ ム は Vishkinに よって 提 案 さ れ た

EREW PRAM上の 並列アルゴ リズ ム[10]をもとに

し ている.

選択問題はソーテ ィング 操作を用いて 解くことがで きるのは明らかである.しかし ,一般にソーティング 操 作の計算量は ,選択問題を解く計算量よりも大きくな る.BSPモデ ル上の並列アルゴ リズムの場合も,表1 のソ ーテ ィング アルゴ リズ ム[6]に より,内部計算時 間O(n log n

p + L

log n

lognp),通信時間O((g n p+ L)

log n lognp)

でソート を行い,選択問題を解くことができるが ,こ の 計 算 量で は 選 択 問 題に 対し ては 最 適 加 速な アルゴ リ ズ ム と は な ら な い .そ こ で 本 ア ルゴ リ ズ ム で は , Viskin [10]のアルゴ リズムの方針を用いて ,k番目で はあり得ない要素を以下に述べる操作により取り除き, 対象要素数を n

log n まで 減少させた後にソーテ ィング

操作を 行う.このことに より,ソーテ ィング のための 計算量を減らすことができ,最適加速なアルゴ リズム となる.

要素数をnから n

log n に 減らすための操作は ,以下

のフェーズを 反復することによって行 う.まず,対象 要素の 中から 適当な 要素mを 選び ,対象要素集合を mよりも小さいのものからなる集合,及び 大きいもの から な る集合に 分割する .これ ら の2集合に ついて , ど ちらに k 番目に 小さい 要 素が 含まれ て いるか を 計

算し ,k番目の要素が 含まれていない方の集合を対象 要素から 除外する.また ,mk 番目の 要素であれ ば それ を出力し て停止する.本アルゴ リズムでは ,各

(5)

BSP モデル及び BSP

プ ロセッサが 保持する各要素の各中央値を求め,その 各中央値の 中央値を 上記の 要素mとし て 用いる .こ こで ,要素集合A = {a1, a2, . . . , an}の 中央値とは , rank(a, A) = ⌈n2を満たす要素a ∈ Aである.中央 値の 中 央値を 分割の 基準とし て 利用することに より, 対象の要素数を1回のフェーズで 1

ccc > 1を満

たす定数 )以下にすることができるので ,後述のとお

りO(log log n)のフェーズの反復により,対象要素数

n

log n 以下となる.

3. 1. 2 分配 操作

BSPモデルは分散メモリ型の並列計算モデルである ので ,各プ ロセッサがど の要素を保持するかを考慮す る必要がある.本アルゴ リズムでは ,各プ ロセッサが 保持する要素数を均等にするために ,以下の分配操作 を使用する.

[ 定義5]( 分配操作 )n個の要素が各Pi(1 <= i <= p)ni 個ず つ 保 持 され て い ると す る .た だし ,n =



p

j=1njである.分配操作とは ,各プ ロセッサがたか だかn

p個,少なくとも n

p個の要素を保持するよ

うに 要素を分配する操作である.

入 力:n 要 素か ら な る 集 合 A.各 Pi (1 <= i <= p) は 互 い に 素 で あ る 集 合 A の 部 分 集 合 Ai (|Ai| = ni, A1∪ A2∪ . . . ∪ Ap= A)を保持する.

出力:n要素からなる集合A.各Pi(1 <= i <= p)は互 いに素であるAの部分集合Ai(A1∪A2∪. . .∪Ap= A) を保持する.ただし ,各Ain

p⌋ <= |Ai| <= ⌈np

満たすものとする.

以下に 分配操作のアルゴ ルズムを示す.

[ 分配操作アルゴ リズム ]

1)接頭部演算操作を 用いて 各i (1 <= i <= p)に 対し ,si=



i

j=1njを計算する.

2)各 Pi (1 <= i <= p) が 保 持 す る ni 個 の 要 素 か ら な る 要 素 集 合 を Ai = {asi−ni+1, asi−ni+2, . . . , asi}と する .各 Piは 保持する各要素

aj(si−ni+1 <= j <= si)⌈(i−1)np⌉+1 <= j <= ⌈i′ np⌉ を満たすPi に 送信する.

3)各Pi(1 <= i <= p)において(2)で受信し た 要素の集合をAiとする.

[ 補題2nmax = max{n1, n2, . . . , np}と する .任 意の 定 数d (1 <= d <= p)に 対し て ,先の 分 配 操作は BSPモデ ル 上で ,

TI: O

nmax+ (d + L)log p log d



TC: O

gnmax+ (gd + L)log p log d



で 実行できる.

( 証明 ) p要素の接頭部和演算操作は ,表1のアルゴ リズム[6]を用いて ,

TI: O

(d + L)log p log d



, TC: O

(gd + L)log p log d



で実行できる.また,(2)において,各プロセッサはたか だかnmax個の要素を送信し ,たかだかn

p⌉ (<= nmax) 個の要素を受信する.よって通信時間はO(gnmax+L) である.また要素の送信先の決定に 要する内部計算時 間は ,O(nmax+ L)である.

3. 1. 3 アルゴ リズムSelection

こ こで はBSPモデ ル 上で 選 択 問 題を 解 く p (1 <= p <= log nn )プ ロ セッサの ア ルゴ リ ズ ムSelectionを 示す.

[ アルゴ リズムSelection]

1)各Pi(1 <= i <= p)において,s := nk:= k とする(sは ,アルゴ リズム中の対象要素数を,kは 見つけ 出す要素のラン クを表す ).

2s > n

log n ならば ,s <= log nn 以下のフェーズ

2.1)∼(2.6)を繰り返す.

2.1)各Pi(1 <= i <= p)上において ,Aiの中央値 miを求める.

2.2) プ ロセッサ全体により,中央値集合{m1, m2, . . . , mp}をソ ートし ,中央値集合の中 央値(mと す る )を 計算する .mを 保持するプ ロセッサは ,mを すべてのプ ロセッサにブ ロード キャ スト する.

2.3)各Pi(1 <= i <= p)上において ,Aiの要素を 以下のような二つの 部分集合A1iA2i に 分割する.

A1i = {x ∈ Ai|x < m}, A2i = {x ∈ Ai|x > m}

2.4)各Pi(1 <= i <= p)上において ,A1i のサイズ

|A1i|を計算する.次に ,プ ロセッサ全体により,その 和s1=



p j=1|A

1

j|を計算し ,s1 をすべてのプ ロセッ

サにブ ロード キャ スト する.

2.5)各Pi (1 <= i <= p) 上に おいて ,以下を 実行 する.

k < s1+ 1 の 場 合 )Ai := A1is := s1 する.

k> s1+ 1の場合 )k:= k− (s1+ 1)とし , Ai:= A2is := s − (s1+ 1)とする.

k= s1+ 1の場合 )P1mを出力し ,アル

(6)

ゴ リズムを停止する.

2.6)各プ ロセッサが保持する要素Ai(1 <= i <= p) に 対し ,分配操作を行う.分配操作後の各プ ロセッサ が 保持する要素を Aiとする.

3)す べ て の プ ロ セッサ を 用 い て ,要 素 集 合 A1 ∪ A2∪ . . . ∪ Ap を ソ ート し ,k 番 目 の 要 素 を 保持するプ ロセッサが その要素を出力する.

3. 1. 4 正当性の証明

アルゴ リズムが 停止すれば ,その出力が 選択問題の 解で あ ることは アルゴ リズ ムより 明らかで あ るので , ここではアルゴ リズムの停止性のみを示す.このため に ,(2)の繰返し 回数がたかだかO(log log n)である ことを示す.

以下では(2.1)から(2.6)まで の1回の 実行を1 反復フェーズと呼ぶ .

[ 補題3]Selectionの 各反復フェーズ 中の(2.4)終 了時,1

6s − 1 < s1< 56sが 成り立つ.

( 証明 ) Aを(2)の各反復フェーズの開始時点の要 素集合A = A1∪ A2∪ . . . ∪ Ap と する .このと き , s = |A|である.

各 反 復 フェー ズ の(2.4)終 了 時 の s1 に 対し て , s1 = rank(m, A) − 1で あ るので ,補 題を 示すに は

1

6s < rank(m, A) <56s + 1を示せば よい. sの値により場合分けを行う.

is < 3pのとき

m{m1, m2, . . . , mp}の中央値であるので ,Aの 要 素の う ちm 以 下の 要素は 少な くと も

p

2 個 存在

する .s < 3pより,rank(m, A) >= ⌈p2⌉ > s6 が 成り 立つ.

同様に ,mより大きい要素は 少な くともp

2個存

在する.し たが ってs − rank(m, A) >= ⌊p2⌋ > s6− 1 が 成り立つ.

iis >= 3pのとき

m {m1, m2, . . . , mp} の 中 央 値 で あ る の で , {m1, m2, . . . , mp}の要素のうちm以下の要素はp2⌉ 個存在する.また,各mi(1 <= i <= p)Aiの中央値 であるのでAiの要素のうちmi以下の要素は1

2 s p⌋⌉

個存在する.したがってAの要素のうちm以下の要素 は少なくともp

2⌉⌈ 1 2

s

p⌋⌉個存在する.ここでs <= 3p よりp

2⌉⌈ 1 2

s p⌋⌉ >

p 2(

s 2p

1 2) >=p2(

s 2p

s 6p) =

s 6

成り立つので ,rank(m, A) >s6 が 成り立つ. 同様に,{m1, m2, . . . , mp}の要素のうちm以上の 要素は

p

2⌋ + 1個存在すること,及び ,Bi(1 <= i <= p)

の要素の うちmi以上の要素は 1

2 s

p⌋⌋ + 1個存在す

ることからs − rank(m, A) > s6 − 1が 成り立つ. 以上より s

6 < rank(m, A) < 5s6 + 1となる.

[ 補題4]アルゴ リズ ムSelectionの(2)の 反 復フ ェーズ 数はO(log log n)である.

( 証明 ) 補題3より,第j 番目の 反復フェーズ 開始 時点の 要素集合Aの 要素数ss < n(5

6) j−1

とな る.よってO(log log n)回の反復によりs <= log nn

なる.

3. 1. 5 計 算 量

[ 定理1]任 意の 整 数 d (1 <= d <= log n)に 対し て , アルゴ リズムSelectionはBSPモデ ル 上で ,

TI: O

n

p+ d log p log log n + L

log p log log n log d

 

TC: O

gn

p + (gd + L)

log p log log n log d



で 選択問題を解く.

( 証 明 ) ア ルゴ リズ ムの 各 ステップ の 計 算 量を 評 価 する.

1)は各Piにおいて定数個の内部計算であるので , TI: O(L)で実行できる.また,3)はたかだか log nn 個の要素のソーテ ィング 操作であり,表1のソーテ ィ ング アルゴ リズム[6]を用いると ,

TI: O

n

log nlog n log n

p + L

loglog nn log

n log n

p



= O

n

p+ L

logp log nn + log p logp log nn



= O

n

p+ L log p



TC: O

g

n log n

p + L



× log

n log n

log

n log n

p



= O

gn

p+ L log p



で 実行できる.

し たが って以下では(2)の計算量のみに ついて 検 証する .まず1反復フェーズの 計算量を 評価する(s は 各反復フェーズ開始時点の要素数である ).

2.1)の各プ ロセッサ上の中央値の計算は ,既知の 逐次アルゴ リズム[8]を用いて内部計算時間O(s

p+ L)

で 求められ る .また ,(2.3)のソ ーテ ィング 操作を 除

(7)

BSP モデル及び BSP

いたその他のステップ は ,前述のブ ロード キャ スト 操 作,接頭部和演算,分配操作,及び ,O(s

p+ L)時間

の内部計算により実現され ているので , TI: O

s

p+ (d + L) log p log d



,

TC: O

gs

p+ (gd + L) log p log d



で 実行できる.

2.2)のソーテ ィング 操作は ,以下のよ うに実現す る.各プ ロセッサ一つず つの要素をすべてのプ ロセッ サを 使って 表1のアルゴ リズム[6]に よりソート する

と ,O(L log p)の通信時間がかかることになり,効率

が 悪い.そこで ,最初に ,要素をp

d

( 注4)

個のプ ロセッ サに 集め ,少ないプ ロセッサ数によりソート を行うこ とにより,通信時間を減ら す.具体的には ,以下のよ うな操作を行う.

2.3.1) 各Pi (1 <= i <= p)miPi d

に 送信 する.

2.3.2Pi(1 <= i <= p

d)を 用いて ,{m1, m2, . . . ,

mp}をソート する.

2.3.3{m1, m2, . . . , mp}の中央値を 保持するプ ロセッサが ,その中央値をブ ロード キャ スト する.

以上の 操作に より,(2.3)の計算量は ,表 1のソ ー ティングアルゴ リズム[6]を,要素数p,プ ロセッサ数

pd⌉で 実行し た計算量となるので ,

TI: O

p log p

pd+ L × log p logpp d



= O

d log p + Llog p log d



TC: O

g p

pd+ L



× log p logpp d



= O

(gd + L)log p log d



となる.

以上より(2)の1反復フェーズは TI: O

s

p+ d log p + Llog p log d



,

TC: O

gs

p+ (gd + L) log p log d



である.

以下で ,(2)全体の計算量を考える.(2)のj回目 の反復フェーズの開始時点のAの要素数ss(j)と する.補題3より,s(j)< (5

6) j−1n

であり,また ,補 題4より,(2)はO(log log n)フェーズ繰り返され る ので ,(2)の計算量は ,

TI: O

log log n



j=1

s(j)

p + d log p + Llog p log d

 

= O

log log n



j=1



5 6



j−1n

p + d log p + Llog p log d

 

= O

n

p+ d log p log log n + Llog p log log n log d



TC: O

log log n



j=1

gs

(j)

p + (gd + L) log p log d

 

= O

log log n



j=1

g



5

6



j−1n

p+ (gd + L) log p log d

 

= O

gn

p+ (gd + L)

log p log log n log d



となる.

仮 定 す る d <= log n の 範 囲

( 注5)

に お い て は , log log n >= log d で あ り,3)の ソ ート の 計 算 量 よ り(2)の計算量の 方が 漸近的に 大きいので ,アルゴ リズム全体の計算量も上記の計算量となる.

定 理1 よ り,selection は p log p <= L log log nn log d

g = O(1)のとき内部計算時間,通信時間ともにO(n

p)

となり,最適加速となることが 示され る. 3. 2 BSP モデ ル上のアルゴ リズ ム 3. 2. 1 アルゴ リズムの概要

BSP モデ ル 上で 選 択 問 題を 解 く 並 列ア ルゴ リズ ムSelectionは 前述のSelectionにおけ る分配操作を BSP用に 改良し たアルゴ リズムである.

BSPモデ ルでは 異なるプ ロセッサに それぞれ サ イ ズ1の メッセ ージ を s 個 送信す るのに gs単 位時 間 要す るが ,同 一のプ ロセッサに サ イズ s の メッセ ー ジ1個の送 信は g⌈s

B時間で 実行で き る.すなわ ち, BSPモデ ルではサ イズの小さい メッセージを多数の プ ロセッサに対し 送信または受信することは 非効率的 で あ る .Selectionで 用いられ る分配 操作では 各プ ロ

( 注4dはブ ロード キャ スト 演算等のdと 同じ 値を用いる.

( 注5:プ ロセッサ数が 多い場合でも,内部計算時間をnの 対数以下に するために 仮定.

(8)

セッサは たかだか サ イズ1の メッセ ージ をn

p個の

プ ロセッサから 受信することがある.

Selectionでは 分配操作の代わりに 各プ ロセッサの 保持する要素数をある程度均等にする擬似分配操作を 用いることにより通信時間を改善する.

3. 2. 2 擬似分配操作

[ 定義6]( 擬似分配操作 ) n 個の 要 素が 各 Pi (1 <= i <= p) ni 個ず つ保 持され て いると する .ただし , n =



pj=1njである.擬似分配操作とは,各プ ロセッ サがたかだか 1

2 n p+ ⌈

n

p個,少なくとも1個の要素を

保持するよ うに 要素を分配する操作である.

入 力:n 要 素か ら な る 集 合 A.各 Pi (1 <= i <= p) は 互 い に 素 で あ る 集 合 A の 部 分 集 合 Ai (|Ai| = ni, A1∪ A2∪ . . . ∪ Ap= A)を保持する.

出力:n要素からなる集合A.各Pi(1 <= i <= p)は互 いに素であるAの部分集合A

i(A1∪A2∪. . .∪Ap= A)

を保持する.ただし ,各Ai1 <= |Ai| <=1

2 n p+ ⌈

n p

を満たすものとする.

以下にBSPモデル上での擬似分配操作のアルゴ ル ズムを示す.

[ 擬似分配操作アルゴ リズム ]

1)接頭部演算操作を 用いて 各i (1 <= i <= p)に 対し ,si=



i

j=1njを計算する.

2)各Pi(1 <= i <= p)が 保持するni個の要素を {asi−ni+1, asi−ni+2, . . . , asi}と する .各Pi に おい

て以下の操作を行う.

ni >= 12np の 場 合 )各 Pi は 保 持 す る 各 要 素 aj(si−ni+1 <= j <= si)⌈(i−1)np⌉+1 <= j <= ⌈i′ np⌉ を満たすai に 送信する.

ni<12np の場合 )各Pi(1 <= i <= p)は保持す る各要素aj (si− ni+ 1 <= j <= si)の うち,あ るi に 対し j = ⌈(i− 1)n

p⌉ + 1とな るaj Pi に 送信

する.

3)各Piにおいて ,(2)で 受信し た要素と 未送 信の要素からなる集合をAiとする.

[ 補題5]擬 似 分 配 操 作 ア ル ゴ リ ズ ム 実 行 後 ,各 Pi (1 <= i <= p) に お い て 1 <= |Ai| <= 12np + ⌈np⌉ が 成り立つ.

( 証明) 擬似分配操作において,各Pi{a⌈(i−1)n p⌉+1,

a⌈(i−1)np⌉+2, . . . , a⌈inp}の部分集合を受信し ,このう ちa⌈(i−1)n

p⌉+1は必ず受信する.また,未送信の要素数

1

2 n

pより少ない.したがって,1 <= |Ai| <=12 n p+⌈

n p

が 成り立つ.

[ 補題6nmax = max{n1, n2, . . . , np}と する .任 意の定数d (1 <= d <= p)に 対し て ,BSPモデル 上で の擬似分配操作の計算量は

TI: O

nmax+ (d + L)log p log d



TC: O

gnmax

B + (gd + L) log p log d



である.

( 証明 )(1)(,3)はBSPモデル上の分配操作と同じ で,TI: O(nmax+(d+L)log p

log d)TC: O((gd+L) log p log d)

である.

2)に おいて ,各Pi (1 <= i <= p)は 連続し たプ ロ セッサに 対し て要素を送信する.Piが 要素を送信する 連続し たj個のプ ロセッサを Pi, Pi+1, . . . , Pi+j−1

と す る .Pi は た か だ か nmax 個 の 要 素 を 保 持し , Pi+1, Pi+2, . . . , Pi+j−2へは少なくともnp個の要 素を 送 信 す る .よって ,各 Pi は た か だ か nmax 個 の 要 素を 一つのプ ロセッサに n

p個ず つ ,たかだか nmax

np + 2プ ロセッサに 対し て送信する.また ,各Pi は たか だ か n

p 個の 要 素を たか だ か

np 1 2np

+ 2プ ロ セッサから 受信する.

よって

TI: O(nmax+ L)

TC: O

g

nmax



n

p



+ 2 +



n

p



1 2 n p

+ 2

 

n pB



+ L



= O



g



nmax B + 1



+ L



である.

3. 2. 3 アルゴ リズムSelection

アルゴ リズムSelectionの(2.6)を以下の(2.6に 変更する.また ,(3)でソートが 行われ る前には要素 は 均等に 分配され てなければ ならないので ,ダ ミー要 素を加え要素を均等にするために ,(3)の直前に以下 の(3.0)を挿入する.

2.6 すべてのプ ロセッサが 保持する要素に対し て擬 似分配操作を行う.

3.0) 各Piにおいて,保持する要素に3

2 n p log n−|Ai|

個のダ ミー要素を加え る. 3. 2. 4 正当性の証明

アルゴ リズムSelectionには ,アルゴ リズムSelec- tionの 正 当 性の 証 明と 同 様にし て 以 下の 補 題 7,補 題8が 成り立つ.

Table 1 The complexities for basic operations on the BSP model.

参照

関連したドキュメント

4 because evolutionary algorithms work with a population of solutions, various optimal solutions can be obtained, or many solutions can be obtained with values close to the

An easy-to-use procedure is presented for improving the ε-constraint method for computing the efficient frontier of the portfolio selection problem endowed with additional cardinality

It is suggested by our method that most of the quadratic algebras for all St¨ ackel equivalence classes of 3D second order quantum superintegrable systems on conformally flat

As an application, in Section 5 we will use the former mirror coupling to give a unifying proof of Chavel’s conjecture on the domain monotonicity of the Neumann heat kernel for

Applications of msets in Logic Programming languages is found to over- come “computational inefficiency” inherent in otherwise situation, especially in solving a sweep of

Shi, “The essential norm of a composition operator on the Bloch space in polydiscs,” Chinese Journal of Contemporary Mathematics, vol. Chen, “Weighted composition operators from Fp,

[2])) and will not be repeated here. As had been mentioned there, the only feasible way in which the problem of a system of charged particles and, in particular, of ionic solutions

It is perhaps not a priori clear that the implied flows are given directly by FM vectorfields along such curves (or that the flows are even PDE’s on the curve level). In any event,