KR101280864B1 - Method of simulating faster - Google Patents

Method of simulating faster Download PDF

Info

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
Application number
KR1020120147700A
Other languages
Korean (ko)
Inventor
황근철
김정훈
이동훈
Original Assignee
국방과학연구소
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 국방과학연구소 filed Critical 국방과학연구소
Priority to KR1020120147700A priority Critical patent/KR101280864B1/en
Application granted granted Critical
Publication of KR101280864B1 publication Critical patent/KR101280864B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime 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

PURPOSE: A high speed technique of simulation execution is provided to perform high speed simulation which is required in simulation analysis, thereby supplying high speed simulation environment based on parallel and cluster computing environment. CONSTITUTION: A controller PC receives a control command of a user through a user interface (UI) and controls computing environment based on the control command. Worker PCs receive the control command from the controller PC and receive test cases based on the control command. The worker PCs reassign setting simulation commands to the test cases by using cores included in the worker PCs. The cores receive a simulation application program and a scenario file which is executed in the simulation application program from the controller PC and execute simulation.

Description

Acceleration Techniques for Simulation Execution {METHOD OF SIMULATING FASTER}

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)

A controller PC which receives a user's control command through a user interface and controls the computing environment using the received control command; And
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 method of claim 1,
The controller PC,
And controlling the generation structure and the division structure of the simulation by using the control command.
delete 3. The method of claim 2,
The controller PC,
And send the simulation application program and the scenario file to the plurality of worker PCs.
The method of claim 4, wherein
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 method of claim 5, wherein
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.
3. The method of claim 2,
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 method of claim 7, wherein
The plurality of worker PCs,
And a worker program for communicating with the controller PC to receive the job.
KR1020120147700A 2012-12-17 2012-12-17 Method of simulating faster KR101280864B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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