(cache) 並列クラスタにおけるGAの処理時間について 並列クラスタにおけるGAの処理時間について
No. 02, 2001年 6月 6日
片浦 哲平

1  はじめに

今回のレポートでは,GAプログラムを並列化することで処理時間がどのように変化するかを考察する. データを収集するGAプログラムは佐野正樹氏が作成したソースを用いる. 今回のプログラムでは,対象となる問題に乱数を用い,処理はcambriaで行った.

2  実験内容

今回の実験では,PRC_NUM(島数)を変化させることで並列の効果を測った. また,島数の変化に伴い,島数で割り切れるだけのPOP_SIZE(個体数)を選んだ. また,今回はプロセッサ数=島数ということで,1つのサブ母集団に対して1つの プロセッサを割り当てるという方法で計測した. プログラムの初期パラメータはTable:1 の通りである.

Table 1: 初期値
TRIAL=1  OBJ_FUNC=sleep  MIG_RATE=0.3
MIG_ITVL=5CROSS_RATE=0.8G_LENGTH=100
MU_RATE=0.01LOAD=1MAX_GENERATION=2000

3  実行結果

まず,実行した結果をTable:2 に示す.

 
Table 2: 実行結果
クラスタ数個体数etcSelectionMigrationCrossoverMutation合計
14096186.3053006395.573410.009869244.427667154.362667980.6789136
2409664.431883127.04859242.331138104.37301871.360762409.545393
4409634.25725532.8746910.68265761.06612636.215362175.09609
8409615.0157229.1482813.57725132.58994518.46133978.792538
1640960.7403673.4610061.4711114.9874979.70731930.367299
3240962.9496511.2512930.8886758.0744335.01254818.1766
5140801.964760.5949653.1644273.3337352.14561911.20351
6440961.66070.5340362.150443.1190181.4060748.870268
8040800.8202230.3261222.746321.9702741.1470947.010033
9140951.061070.2960041.4423691.9138471.3770276.090317
10041000.9598060.4304780.8222012.3438081.0861225.642415
12840960.4185040.2504651.6641171.270010.7838254.386921
20440800.2313370.1081741.3737410.7638040.3909682.868024
21042000.2297490.1085191.5205810.7791190.3884293.026397
22041800.3018710.1987630.4949861.0451410.6153452.656106
22239960.2404070.098240.9034590.8794790.4202622.541847
22540500.2479120.0999360.501791.2519180.5563532.657909
22640680.2042450.0977121.2011460.6931060.3530432.549252
22740860.2053570.0997881.1486940.7390530.3576622.550554
22841040.2033710.0978721.0594190.8011890.4039012.565752

次に得た結果をFig:1 Fig:6 に示す.

Figure 1: etc

Figure 2: Selection

Figure 3: Migration

Figure 4: Crossover

Figure 5: Mutation

Figure 6: 合計


Fig:1 Fig:6 すべてにおいて,クラスタ数を増やすと計算時間が 短縮されるということが分かった.Fig:3 のMigrationにおいてプロセッサ数が 1のときにほぼ0という値が出たが,これはプロセッサ数=島数,すなわち島数=1, したがって,移住が全くない条件のもとでの測定であるからである.

以上の結果をまとめて表示したものをFig:7 に示す.

Figure 7: 全結果

4  考察

今回の結果からクラスタ数を増やせば計算速度が向上するということが分かった.しかし, このプログラムは,乱数を発生させただけのものであるので,解が収束するということは ない.この点をふまえて解が存在する対象問題でも同じような計測を行う必要があると思う.

また,一部でクラスタ数が増えたにもかかわらず,計算速度が落ちたものがあるが これは初期値でTRIAL=1としているため,1回しか試行していないためである.GAは 確率的手法であるのでTRIALの回数を増やし平均をとれば,計算速度はクラスタ数に 比例してよくなると思われる.

しかし,クラスタ数を増やすと総計算時間における通信時間の割合は大きくなる. 現在のクラスタの弱点は100BASEでしか転送できない通信速度にあると思うが, この問題は,今回の計測ではまったく表れなかった.この点は今後考えなければならない ことだと思う.




File translated from TEX by TTH, version 2.92.
On 09 May 2001, 16:59.