JP2016184307A - 並列シミュレーション装置 - Google Patents
並列シミュレーション装置 Download PDFInfo
- Publication number
- JP2016184307A JP2016184307A JP2015064430A JP2015064430A JP2016184307A JP 2016184307 A JP2016184307 A JP 2016184307A JP 2015064430 A JP2015064430 A JP 2015064430A JP 2015064430 A JP2015064430 A JP 2015064430A JP 2016184307 A JP2016184307 A JP 2016184307A
- Authority
- JP
- Japan
- Prior art keywords
- parallel
- trial
- random number
- execution
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000004088 simulation Methods 0.000 title claims abstract description 46
- 238000000342 Monte Carlo simulation Methods 0.000 claims description 24
- 238000000034 method Methods 0.000 description 67
- 230000000694 effects Effects 0.000 description 12
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 241001589086 Bellapiscis medius Species 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 230000007123 defense Effects 0.000 description 2
- 101000710013 Homo sapiens Reversion-inducing cysteine-rich protein with Kazal motifs Proteins 0.000 description 1
- 230000001133 acceleration Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
Images
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
【解決手段】並列乱数生成部3は、並列試行実行部2−1〜2−nに共通のシード値を用いて、初回の乱数生成における状態変数の更新回数を並列試行実行部2−1〜2−n毎に付与された異なる識別値を基に決定し、初回以降の乱数生成における状態変数の更新回数を並列試行実行部2−1〜2−nの個数である並列数を基に決定する。試行実行部4は並列乱数生成部3で生成された乱数を用いて試行を行う。
【選択図】図1
Description
次に2つ目の問題は、各試行が利用する乱数列に相関があると、多数回の試行の実行結果にバイアスがかかるため、モンテカルロシミュレーションの結果の精度が悪化するという問題である。そのため、各試行で相関の小さい乱数列が生成できることが技術的な課題となる。
S(N):並列数Nの場合の高速化倍率
P :全体の実行時間に対して並列化可能な処理の割合
図1は、この発明の実施の形態1による並列シミュレーション装置を示す構成図である。
図1に示す並列シミュレーション装置は、全体制御部1と複数の並列試行実行部2−1〜2−nを備える。全体制御部1は、モンテカルロシミュレーション全体の実行制御を行う制御部である。並列試行実行部2−1〜2−nは、モンテカルロシミュレーションの各試行を並列に実行する処理部であり、モンテカルロシミュレーションを実行する計算資源の数に応じて用意され、図1ではn個用意されている例を示す。並列試行実行部2−1〜2−nは、それぞれ並列乱数生成部3と試行実行部4とを備えている。並列乱数生成部3は、全体制御部1によって並列試行実行部2−1〜2−nに実行が割り当てられた試行で利用する乱数を生成するための処理部である。試行実行部4は、全体制御部1によって並列試行実行部2−1〜2−nに実行が割り当てられた試行を実行するための処理部である。
図2は、並列シミュレーション装置が行うモンテカルロシミュレーションの流れを示すフローチャートである。
モンテカルロシミュレーションの実行が開始されると、全体制御部1は、ステップST1において、ユーザによって設定された試行回数と、利用する計算資源による並列数と、乱数生成の初期値となるシード値を取得する。ここで、シード値は、ユーザが設定した値を利用するか、または、全体制御部1が、例えば日付等を基に自動的に生成した値を利用することができる。
次に、ステップST3のループ処理中のステップST4において、未実行の試行の1つが試行を実行していない並列試行実行部2−1〜2−nのうちの1つに対して割り振られる。ステップST3のループ処理の初回のステップST4では、全ての並列試行実行部2−1〜2−nが試行を実行していないため、全ての並列試行実行部2−1〜2−nに試行が割当てられ並列に実行される。
図2のステップST4で試行の実行が開始されると、全体制御部1によって割当てられた未実行の試行の実行が図3に示すように行われる。この試行実行処理は、まずステップST11において、試行実行ループ処理が開始される。ステップST11のループ処理の終了条件は、例えば、シミュレーションの時刻が終了時刻に達するまでであったり、あるいは、シミュレーションにおける終了イベントが模擬されるまで等、シミュレーションの種類や目的によってユーザにより設定される試行の終了条件が満たされるまでである。
図3のステップST14において、試行実行部4より並列乱数生成部3に対して乱数が要求されると、1個の乱数要求に対して図4の乱数取得処理が開始される。
先ず、ステップST101において、今回の乱数の要求が、並列試行実行部2−1において初回の乱数取得かどうかの判定が行われる。
ステップST101の判定結果がYES(真)の場合、ステップST102に進み、シード値保存部7に保存されたシード値が取り出され、状態変数更新部8における状態変数更新処理の初期値として設定される。次に、ステップST103において、並列番号保存部6に保存された並列試行実行部2−1に割り当てられた並列番号が取り出され、次に、状態変数更新部8において並列番号と同じ数の回数分更新処理が実行され、状態変数が更新される。並列番号は各並列試行実行部2−1〜2−nに対して連番で割り振られた0から始まる{並列数−1}までの整数値であるため、このステップST103の処理の結果、各並列試行実行部2−1〜2−nは、それぞれ異なる状態変数の値に更新される。
Si=PN+i・Nparallel (2)
Si:i番目の乱数取得における更新回数
PN:各並列試行実行部に割り当てられた並列番号
Nparallel:並列数
なお、初回のiの値は0である。
実施の形態2は、過去に実行した試行の再現実行を行う場合の並列シミュレーション装置の処理を示すものである。実施の形態2における並列シミュレーション装置の図面上の構成は図1に示す実施の形態1の構成と同様であるため、図1を用いて説明する。また、過去に実行した試行とは例えば実施の形態1で説明した試行である。
実施の形態2の全体制御部1は、過去に実行した試行の再現実行を行う場合、これを指示し、各並列試行実行部2−1〜2−nはこれに従って試行の再現実行を行うよう構成されている。すなわち、各並列試行実行部2−1〜2−nにおける並列乱数生成部3は、試行の実行後に保存された、その試行を実行した際の並列数と、その試行を実行した自並列試行実行部の識別値である並列番号と、各並列試行実行部2−1〜2−nに共通のシード値と、自並列試行実行部が生成した最後の乱数生成回数と用いて、初回の乱数生成における状態変数の更新回数を、試行実行時の並列数、並列番号、シード値及び乱数生成回数を基に決定すると共に、初回以降の乱数生成における状態変数の更新回数を並列数を基に決定するよう構成されている。また、試行実行部4は、過去に実行した試行の再現実行を行う際、並列乱数生成部3で決定された乱数を用いて行うよう構成されている。
図5は、過去に実行した試行の再現実行処理の流れを示すフローチャートである。
全体制御部1の指示により各並列試行実行部2−1〜2−nで試行の再現実行処理を行う場合、まず、ステップST21において、当該試行が過去に実行された際の並列試行実行部2−1〜2−nにおけるステップST17で保存された、試行再現情報である並列数、並列番号、シード値、乱数生成回数が取得される。
次に、ステップST22において、ステップST21で取得された並列数、並列番号、シード値、乱数生成回数が、当該試行を実行する並列試行実行部2−1〜2−nに対して設定される。各並列試行実行部2−1〜2−nに設定された値は、それぞれの並列試行実行部2−1〜2−nにおいて、並列数保存部5に並列数が保存され、並列番号保存部6に並列番号が保存され、シード値保存部7にシード値が保存され、乱数生成回数保存部10に乱数生成回数が保存される。
各並列試行実行部2−1〜2−nによる試行の実行が終了すると、試行の再現実行が終了する。
図6のフローチャートの基本的な流れは図4のフローチャートと同様であるが、ステップST201〜ステップST204の条件分岐以降の更新処理を行うステップが異なる。まず、ステップST201において、今回の乱数の要求が、当該並列試行実行部2−1〜2−nの当該試行の再現実行において初回の乱数取得かどうかの判定が行われる。
ステップST201の判定結果がYES(真)の場合、ステップST202に進み、シード値保存部7に保存されたシード値が取り出され、状態変数更新部8における状態変数更新処理の初期値として設定される。次にステップST203において、並列数保存部5に保存された並列数、並列番号保存部6に保存された並列番号、乱数生成回数保存部10に保存された乱数生成回数が取り出され、状態変数更新部8において式(2)に示した式によって更新回数が計算され、算出された更新回数分状態変数の更新を行う。ここで、式(2)の変数iには乱数生成回数が設定される。以上の処理により、状態変数更新部8の状態変数の値は、再現の対象となる当該試行が実行された際の初回の乱数生成時の状態変数の値に再現される。
なお、試行を再現実行する際に設定される並列数、並列番号は、当該試行が過去に実行された際のシステム構成における値を利用するだけであり、試行を再現実行にあたって過去に当該試行を実行したシステム構成そのものを再現する必要はない。
まず、本発明は、各試行を並列に実行する並列試行実行部2−1〜2−nにおいて、試行を実行する前に、当該試行が必要とする乱数の個数を予め見積る必要がなく、試行を実行した後に実際に生成した乱数の数を計測して保存することで、試行が使用した乱数列の再現を行うことを可能とする。そのため、従来技術の課題に例示した防衛作戦評価用モンテカルロシミュレーションのような、事前に必要とする乱数の個数を見積ることが困難なシミュレーションであっても問題無く利用することが可能である。
Claims (4)
- それぞれが並列処理によるモンテカルロシミュレーションの試行を実行する複数の並列試行実行部を備えた並列シミュレーション装置であって、
前記複数の並列試行実行部は、それぞれ、
自身の試行を実行する試行実行部と、
前記複数の並列試行実行部に共通のシード値を用いて、初回の乱数生成における状態変数の更新回数を並列試行実行部毎に付与された異なる値を基に決定し、初回以降の乱数生成における状態変数の更新回数を前記複数の並列試行実行部の個数を基に決定する並列乱数生成部とを備え、
前記試行実行部は、前記並列乱数生成部で生成された乱数を用いて前記試行を行うことを特徴とする並列シミュレーション装置。 - 前記並列乱数生成部は、
前記初回の乱数生成における状態変数の更新回数を前記並列試行実行部毎に付与された異なる値と同数とし、前記初回以降の乱数生成における状態変数の更新回数を前記複数の並列試行実行部の個数と同数とすることを特徴とする請求項1記載の並列シミュレーション装置。 - 前記並列乱数生成部は、
前記試行実行部が試行を実行した際の前記複数の並列試行実行部の個数である並列数と、当該試行を実行した自並列試行実行部に付与されている値である識別値と、前記シード値と、前記自並列試行実行部が生成した乱数の生成回数とを保存することを特徴とする請求項1または請求項2記載の並列シミュレーション装置。 - 一度実行したモンテカルロシミュレーションの試行を終了後に再現する際、
前記並列乱数生成部は、
当該試行の実行後に保存された、当該試行を実行した際の前記複数の並列試行実行部の並列数と、当該試行を実行した自並列試行実行部の識別値と、前記シード値と、前記自並列試行実行部が生成した最後の乱数生成回数とを用い、
初回の乱数生成における状態変数の更新回数を、前記試行実行時の並列数、識別値、シード値及び乱数生成回数を基に決定すると共に、初回以降の乱数生成における状態変数の更新回数を前記並列数を基に決定し、
前記試行実行部は、前記並列乱数生成部で生成された乱数を用いて前記試行の再現を行うことを特徴とする請求項3記載の並列シミュレーション装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015064430A JP6270765B2 (ja) | 2015-03-26 | 2015-03-26 | 並列シミュレーション装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015064430A JP6270765B2 (ja) | 2015-03-26 | 2015-03-26 | 並列シミュレーション装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2016184307A true JP2016184307A (ja) | 2016-10-20 |
JP6270765B2 JP6270765B2 (ja) | 2018-01-31 |
Family
ID=57243122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015064430A Active JP6270765B2 (ja) | 2015-03-26 | 2015-03-26 | 並列シミュレーション装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6270765B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4033348A1 (en) | 2020-12-17 | 2022-07-27 | Fujitsu Limited | Random number generation program and random number generation method, random number generation apparatus |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029670A (ja) * | 1998-07-14 | 2000-01-28 | Hitachi Ltd | 乱数生成方式 |
JP2000035902A (ja) * | 1998-07-17 | 2000-02-02 | Nec Corp | シミュレーション実行装置およびシミュレーションの実行方法 |
US20070294508A1 (en) * | 2006-06-20 | 2007-12-20 | Sussman Myles A | Parallel pseudorandom number generation |
JP2012014591A (ja) * | 2010-07-02 | 2012-01-19 | Mizuho Dl Financial Technology Co Ltd | モンテカルロ法の効率的な並列処理手法 |
-
2015
- 2015-03-26 JP JP2015064430A patent/JP6270765B2/ja active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000029670A (ja) * | 1998-07-14 | 2000-01-28 | Hitachi Ltd | 乱数生成方式 |
JP2000035902A (ja) * | 1998-07-17 | 2000-02-02 | Nec Corp | シミュレーション実行装置およびシミュレーションの実行方法 |
US20070294508A1 (en) * | 2006-06-20 | 2007-12-20 | Sussman Myles A | Parallel pseudorandom number generation |
JP2012014591A (ja) * | 2010-07-02 | 2012-01-19 | Mizuho Dl Financial Technology Co Ltd | モンテカルロ法の効率的な並列処理手法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP4033348A1 (en) | 2020-12-17 | 2022-07-27 | Fujitsu Limited | Random number generation program and random number generation method, random number generation apparatus |
Also Published As
Publication number | Publication date |
---|---|
JP6270765B2 (ja) | 2018-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Chen et al. | GPU-accelerated sparse LU factorization for circuit simulation with performance modeling | |
KR101400577B1 (ko) | Gpu를 이용한 희소행렬 곱셈 방법 | |
JP6205168B2 (ja) | 並列構造化重複検出を利用する並列モデル検査のためのシステムおよび方法 | |
US11080261B2 (en) | Hybrid concurrency control | |
CN109992307B (zh) | 指令列表调度方法、装置、计算机设备及存储介质 | |
WO2019193570A1 (en) | Batch jobs execution time prediction using distinct service demand of threads and instantaneous cpu utilization | |
US11226798B2 (en) | Information processing device and information processing method | |
US10599638B2 (en) | System and method for identifying maximal independent sets in parallel | |
JP6270765B2 (ja) | 並列シミュレーション装置 | |
Aksenova et al. | The models and methods of optimal control of three work-stealing deques located in a shared memory | |
US8380724B2 (en) | Grouping mechanism for multiple processor core execution | |
Schmidt et al. | Load-balanced parallel constraint-based causal structure learning on multi-core systems for high-dimensional data | |
Gamaarachchi et al. | Accelerating correlation power analysis using graphics processing units (gpus) | |
Duttagupta et al. | Predicting performance in the presence of software and hardware resource bottlenecks | |
JP4950325B2 (ja) | モンテカルロ法の効率的な並列処理手法 | |
Plauth et al. | A performance evaluation of dynamic parallelism for fine-grained, irregular workloads | |
Hawick et al. | Speed and portability issues for random number generation on graphical processing units with CUDA and other processing accelerators | |
Riesinger et al. | Gpu optimization of pseudo random number generators for random ordinary differential equations | |
Anzt et al. | On block-asynchronous execution on GPUs | |
Zhang et al. | TENSILE: A Tensor granularity dynamic GPU memory scheduling method toward multiple dynamic workloads system | |
Patrou et al. | Software evaluation methodology of node. js parallelism under variabilities in scalable systems | |
US20180349249A1 (en) | Efficient calculation of performance data for a computer | |
Månsson | Comparative Study of CPU and GPGPU Implementations of the Sievesof Eratosthenes, Sundaram and Atkin | |
Kalgin | Parallel implementation of asynchronous cellular automata on a 32-core computer | |
JP5949245B2 (ja) | 情報処理装置、実行プログラムおよび実行方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170126 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171010 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20171017 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20171115 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20171128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20171226 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6270765 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |