KR101280864B1 - Method of simulating faster - Google Patents
Method of simulating faster Download PDFInfo
- Publication number
- KR101280864B1 KR101280864B1 KR1020120147700A KR20120147700A KR101280864B1 KR 101280864 B1 KR101280864 B1 KR 101280864B1 KR 1020120147700 A KR1020120147700 A KR 1020120147700A KR 20120147700 A KR20120147700 A KR 20120147700A KR 101280864 B1 KR101280864 B1 KR 101280864B1
- Authority
- KR
- South Korea
- Prior art keywords
- simulation
- controller
- worker
- control command
- pcs
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 238000004088 simulation Methods 0.000 claims abstract description 80
- 238000002474 experimental method Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 7
- 238000000342 Monte Carlo simulation Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 2
- 238000007619 statistical method Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4405—Initialisation of multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45504—Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
- G06F9/45508—Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
The present invention relates to a speeding up technique of Monte Carlo simulation execution using parallel and cluster computing.
In general, in a simulation-based experimental environment, iterative simulation is performed by applying various experimental variables to a simulation program. In this case, an experimental environment set according to one experimental purpose is called a scenario, and an experimental variable that can be changed in each scenario is called an experimental variable.
In the simulation, as in the general experiment, the case of several experiments is applied while varying the values of the parameters in one scenario. This experiment case is called run. In each run (batch run), the simulation results are different each time due to the application of random variables. For statistical analysis, the average experimental results of the run are extracted through several iterative simulations, that is, Monte Carlo simulations. Each simulation in several iterative simulations is called a trial.
Therefore, in the simulation process in which statistical characteristics are reflected, it is inevitable that hundreds to tens of thousands of iterative simulations are required, and thus the computation time and simulation processing result collection and analysis become important issues.
Meanwhile, existing parallel and cluster computing technologies such as OpenMPI are focused on enabling users to use multicore CPUs in parallel, and the application concepts and implementations of parallel computing schemes in simulation environments such as Monte Carlo simulation. Is not established.
Accordingly, in order for general users to utilize parallel and cluster computing, a parallel programming technique has to be directly implemented.
An object of the present invention is to provide a simulation technique capable of executing high-speed simulation utilizing parallel and cluster computing without programming knowledge of parallel computing.
According to an embodiment of the present disclosure, a speeding-up technique for executing a simulation may include: a controller PC for receiving a control command of a user through a user interface and controlling a computing environment using the received control command; And a worker PC that receives the control command from the controller PC and executes a simulation using the received control command.
In an embodiment, the controller PC may control the generation structure and the division structure of the simulation using the control command.
In an embodiment, the controller PC may receive a simulation application program written in an executable file format and a scenario file to be executed in the simulation application program as the control command.
In example embodiments, the controller PC may transmit the simulation application program and the scenario file to the worker PC.
In an embodiment, the worker PC may generate a simulation instance using a simulation application program and the scenario file received from the controller PC, execute a simulation, and transmit the result data to the controller PC.
In an embodiment, the controller PC may collect the result data received from the worker PC and store the result data as a whole simulation result.
In an embodiment, the controller PC may be provided with a controller program that communicates with the worker PC, allocates a job to each worker PC, and aggregates the results of the simulation execution process.
In an embodiment, the worker PC may be provided with a worker program that can be allocated to the job by communicating with the controller PC.
According to the present invention, parallel and cluster computing techniques can be applied to perform high-speed simulations required for simulation analysis. This allows users to take advantage of high-speed simulation environments based on parallel and clustered computing environments without having to learn to perform highly parallel and cluster programming.
1 is a conceptual diagram showing a general simulation execution structure.
2 is a conceptual diagram illustrating a parallel and cluster computing environment.
3 is a conceptual diagram illustrating a simulation generation and division method for a high speed simulation.
4A and 4B are conceptual views illustrating a user interface for the controller program according to FIG. 3.
FIG. 5 is a conceptual diagram illustrating a user interface for a worker program according to FIG. 3.
6 is a conceptual diagram illustrating a processing flowchart of a high speed simulation using parallel and cluster computing according to FIG. 3.
DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art may easily implement the technical idea of the present invention. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.
1 is a conceptual diagram showing a general simulation execution structure.
In general, in a simulation-based experimental environment, iterative simulation is performed by applying various experimental variables to a simulation program. In this case, an experimental environment set according to one experimental purpose is called a scenario, and an experimental variable that can be changed in each scenario is called an experimental variable.
In the simulation, as in the general experiment, the case of several experiments is applied while varying the values of the parameters in one scenario. This experiment case is called run. In each run (batch run), the simulation results are different each time due to the application of random variables. For statistical analysis, the average experimental results of the run are extracted through several iterative simulations, that is, Monte Carlo simulations. Each simulation in several iterative simulations is called a trial.
Therefore, in order to simulate the statistical characteristics reflected in the simulation execution structure as shown in FIG. do.
2 is a conceptual diagram illustrating a parallel and cluster computing environment.
Parallel and cluster computing technology refers to a technology that divides the entire computational process into computing resources and collects the computational results of each resource to improve the computational speed of a computer.
2 shows a parallel and clustered computing environment based on the IBM PC (PC). In FIG. 2, a gray box means one computer, a light blue box means a microprocessor, a navy blue box means the number of cores of each processor, and a green box means a computer memory.
Parallel and cluster computing technologies are software technologies that enable the processing of a program to be processed in parallel in more hardware computing environments.
Here, a technology that uses cores supported in one PC dimension in parallel is referred to as parallel computing, and a technology that utilizes distributed computers as a network and operates in parallel is referred to as cluster computing. In general, since parallel computing and cluster computing are utilized together, they are referred to as parallel and cluster computing, or may be referred to as parallel computing for short.
The parallel and cluster computing techniques are consistent with the batch run of simulation design required for iterative simulation. That is, each run required in the simulation is assigned to each PC (or node) supported in the computing environment, and the trials set in each run are reallocated evenly for each PC core. Alternatively, all trials can be allocated evenly to all cores provided.
The following describes the simulation generation structure and partitioning method required for performing high-speed simulation using parallel and cluster computing environments, the data structure of simulation result data and the method of collecting the result data, and the application method of parallel and cluster computing technology. It will be described with reference to the drawings.
3 is a conceptual diagram illustrating a simulation generation and division method for a high speed simulation.
First, parallel and clustered computing environments can be defined with the structure shown in FIG. The PC specification of the computing environment itself is indistinguishable.
Referring to FIG. 3, a PC that allows a user to control a computing environment through a user interface so as to control a simulation generation structure and a partition definition may be referred to as a cluster controller or a controller (hereinafter, referred to as a “controller”). PC "). In addition, the PC that receives the user's control from the controller and actually executes the simulation may be referred to as a worker (hereinafter referred to as a worker PC).
4A and 4B are conceptual views illustrating a user interface for the controller program according to FIG. 3.
The controller PC may be provided with a controller program that communicates with the worker PC to assign a definition for a simulation execution process, that is, a job, and aggregate the results of the simulation execution process for each worker PC.
FIG. 5 is a conceptual diagram illustrating a user interface for a worker program according to FIG. 3.
Each worker PC may be installed with a worker program that can communicate with the controller PC to be assigned a job.
6 is a conceptual diagram illustrating a processing flowchart of a high speed simulation using parallel and cluster computing according to FIG. 3.
The user can enter or configure a simulation application written in the form of an executable file (* .exe) and a scenario file to be executed in the simulation application. Set executable and scenario files can be automatically transferred from the controller PC to the worker PC.
Walker PC can use the simulation application and scenario files received from the controller PC to create a simulation instance and run the simulation. The worker PC can then send the resulting data to the controller PC.
The controller PC can collect the result data received from the worker PC and store it as the overall simulation result.
As described above, the speeding up of the simulation execution is not limited to the configuration and method of the embodiments described above, but the embodiments are configured by selectively combining all or some of the embodiments so that various modifications can be made. May be
Claims (8)
Receive a control command from the controller PC, and include a plurality of worker PCs to which respective experiment cases are assigned based on the received control command,
The plurality of worker PCs,
Reassigns a predetermined number of simulation instructions set in each of the assigned experimental cases to a plurality of cores included in each of the plurality of worker PCs,
The plurality of cores,
And a simulation application program written in an executable file format as the control command, and a scenario file to be executed in the simulation application program, from the controller PC and executing a reallocated number of simulations.
The controller PC,
And controlling the generation structure and the division structure of the simulation by using the control command.
The controller PC,
And send the simulation application program and the scenario file to the plurality of worker PCs.
The plurality of worker PCs,
By using the simulation application received from the controller PC and the scenario file to generate a simulation instance to run the simulation,
And a resultant data to the controller PC.
The controller PC,
And collecting the result data received from the plurality of worker PCs and storing the result data as a total simulation result.
The controller PC,
And a controller program which communicates with the plurality of worker PCs, allocates a job to each of the plurality of worker PCs, and aggregates the results of the simulation execution processing.
The plurality of worker PCs,
And a worker program for communicating with the controller PC to receive the job.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120147700A KR101280864B1 (en) | 2012-12-17 | 2012-12-17 | Method of simulating faster |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020120147700A KR101280864B1 (en) | 2012-12-17 | 2012-12-17 | Method of simulating faster |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101280864B1 true KR101280864B1 (en) | 2013-07-03 |
Family
ID=48996295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020120147700A KR101280864B1 (en) | 2012-12-17 | 2012-12-17 | Method of simulating faster |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101280864B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180012996A (en) | 2016-07-28 | 2018-02-07 | 국방과학연구소 | Method and Apparatus of Extracting Synthetic Environment Data for Weapon Systems Simulation |
CN118093203A (en) * | 2024-04-24 | 2024-05-28 | 北京壁仞科技开发有限公司 | Data handling method, distributed training system, electronic device, and storage medium |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000268005A (en) * | 1999-03-15 | 2000-09-29 | Mitsubishi Electric Corp | System and method for parallel distributed simulation |
KR20040080534A (en) * | 2003-03-12 | 2004-09-20 | 한국전자통신연구원 | Apparatus and method for simulating information warfare using client-server model |
JP2011134275A (en) | 2009-12-25 | 2011-07-07 | Fujitsu Ltd | Scheduler program, distributed simulation system, and scheduler |
-
2012
- 2012-12-17 KR KR1020120147700A patent/KR101280864B1/en active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000268005A (en) * | 1999-03-15 | 2000-09-29 | Mitsubishi Electric Corp | System and method for parallel distributed simulation |
KR20040080534A (en) * | 2003-03-12 | 2004-09-20 | 한국전자통신연구원 | Apparatus and method for simulating information warfare using client-server model |
JP2011134275A (en) | 2009-12-25 | 2011-07-07 | Fujitsu Ltd | Scheduler program, distributed simulation system, and scheduler |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180012996A (en) | 2016-07-28 | 2018-02-07 | 국방과학연구소 | Method and Apparatus of Extracting Synthetic Environment Data for Weapon Systems Simulation |
CN118093203A (en) * | 2024-04-24 | 2024-05-28 | 北京壁仞科技开发有限公司 | Data handling method, distributed training system, electronic device, and storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102501992B1 (en) | Data processing method and related products | |
EP3285170B1 (en) | Application profiling job management system, program, and method | |
US11614927B2 (en) | Off-load servers software optimal placement method and program | |
Bhimani et al. | Docker container scheduler for I/O intensive applications running on NVMe SSDs | |
US10853137B2 (en) | Efficient resource allocation for concurrent graph workloads | |
JP6107801B2 (en) | Information processing apparatus, information processing system, task processing method, and program | |
US20160110209A1 (en) | Apparatus and method for performing multi-core emulation based on multi-threading | |
Ahmad et al. | Cloud computing modeling and simulation using CloudSim environment | |
Galante et al. | A programming-level approach for elasticizing parallel scientific applications | |
KR101280864B1 (en) | Method of simulating faster | |
Noorshams et al. | Automated modeling of I/O performance and interference effects in virtualized storage systems | |
US10592473B2 (en) | Method for improving energy efficiency of map-reduce system and apparatus thereof | |
Gaudin et al. | Optimising Hydrodynamics applications for the Cray XC30 with the application tool suite | |
KR101755154B1 (en) | Method and apparatus for power load balancing for heterogeneous processors | |
JP6563363B2 (en) | Setting server, setting method and setting program | |
US12056475B2 (en) | Offload server, offload control method, and offload program | |
US12033235B2 (en) | Offload server, offload control method, and offload program | |
Liu et al. | A concurrent approach for improving the efficiency of Android CTS testing | |
Gudukbay et al. | GYAN: Accelerating bioinformatics tools in galaxy with GPU-aware computation mapping | |
Morman et al. | The Future of GNU Radio: Heterogeneous Computing, Distributed Processing, and Scheduler-as-a-Plugin | |
Forti et al. | Hardware accelerated ATLAS workloads on the WLCG Grid | |
Sukhoroslov et al. | Towards fast and flexible simulation of cloud resource management | |
Nitu et al. | An improved gpu mapreduce framework for data intensive applications | |
RU2818034C1 (en) | Method and system for launching applications in simulated environment | |
JP6322968B2 (en) | Information processing apparatus, information processing method, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |