マイクロシミュレーション型 土地利用モデルにおける

マイクロシミュレーション型
土地利用モデルにおける
コンピュータ並列処理について
関西大学 北詰 恵一
関西大学 井ノ口 弘昭
研究の背景
土地利用モデルを用いた多種多様な政策検討
多くの関係者が参加した政策検討には、近年、
より自由度の高いマイクロシミュレーションが用いられる
長い計算時間
CPU能力の
技術的要因による成長限界
PCの並列処理が重要
関西大学・社会資本計画研究室
2
研究の目的
マイクロシミュレーション型土地利用モデルの
並列処理の観点から見た特徴を整理
マイクロシミュレーション型土地利用モデルに
ふさわしい並列処理コンピューティングの
あり方を検討
関西大学・社会資本計画研究室
3
並列処理高速化の要点
1.並列処理以外(逐次処理)部分の割合を少なくする。
→ 逐次部分の割合が全体の計算効率に影響
2.各プロセッサの負荷を均等に分散する。
→ 一番遅いプロセッサに律速
→ 動的均一化(ただしプロセッサ間通信を少なく)
3.プロセッサ間の通信に要する時間を短くする。
→ PC間の通信速度は一般に遅い
→ プロセッサ間の通信量を減らす
関西大学・社会資本計画研究室
4
粒度(granularity)
粒度:逐次に処理されるプログラムの単位
細粒度:ひとつのステートメントorそれ以下のタスク
粗粒度:ループorサブルーチンレベルのタスク
粒度が大きいと・・・
+ プロセス生成とプロセス間通信コストが小さい
ー 並列度が下がる
粒度が小さいと・・・
+ 並列度が上がる
- プロセス生成とプロセス間通信コストが大きい
関西大学・社会資本計画研究室
5
データ従属性
プログラムの断片間に従属性があると実行順序性が生じる
I j  Oi  
成り立たない場合
フロー従属性
Ii  O j  
反従属性
Oi  O j  
出力従属性
where
i, j : プログラム断片
I:入力変数集合
O:出力変数集合
関西大学・社会資本計画研究室
6
基本的な2法則
アムダールの法則
複数のプロセッサを使ったときの理論上の性能向上の
度合いを予測するための法則
1
F  1  F  N
F : 並列化できない部分の計算時間の割合
1 - F : 並列化可能部分の計算時間の割合
N : PC(プロセッサ)の数
グスタフソンの法則
並列処理可能な部分で N 個のプロセッサが休み無し
に働いている場合の並列プログラムの速度向上率は
N  N  11  F 
関西大学・社会資本計画研究室
7
モデルの構成
年齢変化モデル
死亡モデル
結婚モデル
ライフサイクルモデル
離家モデル
出生モデル
転居発生モデル
住宅タイプ選択モデル
土地利用モデル
住宅地選択モデル
関西大学・社会資本計画研究室
8
並列処理の観点から見た特徴
1.粗粒度単位のプロセスが多く、ループ計算が多い
2.データ従属性がないプロセスとあるプロセスが
一定の順序で現れる。しかし、各プロセスの
計算時間は大きくばらつく。
3.データ従属性が発生する場合、特に条件を設定
しなければデータ全体にわたる。
4.いくつかのCPU分担ルールがありえて、それによって
計算時間や並列処理可能性が大きく変わり得る。
5.一連の計算プロセスが、データ状況を変えて、
何度も繰り返される。
関西大学・社会資本計画研究室
9
年齢変化モデル
個人データ
世帯主年齢処理
65歳以上?
Yes
No
年齢+5
65歳以上?
Yes
高齢者人数+1
年齢+5
世帯年齢処理
個人データの年齢と
世帯データの世帯主年齢が
同じだった場合
世帯主年齢を+5する
No
データ従属性無く
並列処理可能
終了
関西大学・社会資本計画研究室
10
結婚→離家モデル
個人データ
未婚判定
結婚候補者リスト
No
Yes
No
男女・年齢別
に結婚判定
結婚する組み
合わせを作成
離家判定
Yes
Yes
男女別の結婚候
補者リスト作成
離家処理
終了
終了
No
離家しない
処理
結婚候補者リストで、データ全体にデータ従属性
離家処理によって、データ全体にデータ従属性
関西大学・社会資本計画研究室
11
改善方向
土地利用モデル特有のデータ特性に着目すれば
改善の方向性が見つかるのではないか?
関西大学・社会資本計画研究室
12
並列処理の観点から見た改善方向
1.ループ並列化処理
ループディストリビューション
ノードスプリッティングとプログラムの改善
2.誕生/死亡データ、離家データ、
消滅・新設世帯データの効率的挿入
3.条件設定によるデータ従属性の緩和
4.CPU分担ルールテスト
5.一連のシミュレーション後にPDCAサイクル導入
関西大学・社会資本計画研究室
13
ループ並列化処理
ループディストリビューション
候補ゾーンデータ
住宅地評価
住宅地
選択
モデル
並
列
化
選択肢順位付け
マッチング
住宅地決定
関西大学・社会資本計画研究室
逐
次
並
列
化
14
ループ並列化処理
ノードスプリッティング
並列化の例
世帯数を1~400件とした場合の例
PC1
PC2
PC3
PC4
1~400
1~400
1~400
1~400
逐次処理
201~300
301~400
並列処理
1~400
逐次処理
分散
1~100
101~200
集約
1~400
1~400
1~400
関西大学・社会資本計画研究室
15
新設データの効率的挿入
CPU1
CPU2
関西大学・社会資本計画研究室
16
条件設定によるデータ従属性緩和
1.結婚候補者有世帯と無世帯に分けてCPU分担
データ従属性のある範囲が限定
2.住宅地選択の選択肢集合形成モデルを構築
潜在的選択肢となり得るゾーン間でCPU分担
関西大学・社会資本計画研究室
17
一連のシミュレーションのPDCAサイクル
CPU分担マネージャー
CPU別
律速情報
2005→2010
シミュレーション
新分担
ルール
2010→2015
シミュレーション
個々のPCの能力がばらばらでも可能となる
関西大学・社会資本計画研究室
18
まとめ
1.マイクロシミュレーション型土地利用モデルの
並列処理の観点から見た特徴をまとめた。
2.土地利用モデルの特徴から見た並列処理の
改善方法を検討した。
※ これらの方法を組み合わせ、都市圏の条件別の
最適な並列処理方法の方針を実証する必要
関西大学・社会資本計画研究室
19