KR20120060993A - Experimental frame for efficient simulation data collection, and simulation method and system using it - Google Patents

Experimental frame for efficient simulation data collection, and simulation method and system using it Download PDF

Info

Publication number
KR20120060993A
KR20120060993A KR1020100106430A KR20100106430A KR20120060993A KR 20120060993 A KR20120060993 A KR 20120060993A KR 1020100106430 A KR1020100106430 A KR 1020100106430A KR 20100106430 A KR20100106430 A KR 20100106430A KR 20120060993 A KR20120060993 A KR 20120060993A
Authority
KR
South Korea
Prior art keywords
simulation
processes
cores
scenarios
output data
Prior art date
Application number
KR1020100106430A
Other languages
Korean (ko)
Other versions
KR101158637B1 (en
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 KR1020100106430A priority Critical patent/KR101158637B1/en
Publication of KR20120060993A publication Critical patent/KR20120060993A/en
Application granted granted Critical
Publication of KR101158637B1 publication Critical patent/KR101158637B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • G06F11/261Functional testing by simulating additional hardware, e.g. fault simulation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

PURPOSE: An experimental frame for efficiently collecting simulation information, a simulation method using the same, and a system thereof are provided to easily perform simulation by using an experimental frame which is the same as standalone or interconnection simulation software. CONSTITUTION: A process manager(111) generates processes about a simulation model and allocates the processes to cores. A scenario manager(112) varies variable of input data about the simulation model and generates various combination of scenarios. A data collector(120) converts output which is generated from the processes into a form which is easy to analyze in response to the scenarios. An applying unit(130) generates a simulation result as data which is easy to recognize.

Description

효율적 시뮬레이션 정보 수집을 위한 실험 틀 및 이를 이용한 시뮬레이션 방법 및 시스템{Experimental frame for efficient simulation data collection, and simulation method and system using it}Experimental frame for efficient simulation data collection, and simulation method and system using it}

본 발명은 실험 틀 및 이를 이용한 시뮬레이션 방법 및 시스템에 관한 것으로 특히 멀티 코어 환경에서 효율적 시뮬레이션 정보 수집을 위한 실험 틀 및 이를 이용한 시뮬레이션 방법 및 시스템에 관한 것이다.The present invention relates to an experimental framework and a simulation method and system using the same, and more particularly, to an experimental framework and a simulation method and system using the same in a multi-core environment.

모델링 및 시뮬레이션(Modeling & Simulation: M&S) 공학은 수많은 산업 분야에서 핵심적인 역할을 맡아 제품 개발 및 수요 예측 등을 통하여 비용을 절감시키며 유체 역학 시뮬레이션과 전투 실험과 같은 다양한 학문 분야에서도 연구비용을 감소하는 효과를 가져왔다. 이러한 시뮬레이션 소프트웨어는 모의 대상을 실세계를 최대한 모사하기 위하여 연속 시간 모델링, 이산 시간 모델링, 이산 사건 모델링 등의 방법들을 사용하여 모의 대상을 모의하였다. 하지만, 실세계를 반영한 시뮬레이션 모델들은 복잡하여 표현하기 어려우며, 표현하더라도 시뮬레이션 수행 시간이 길어 시뮬레이션 소프트웨어를 활용하기 어렵다. 또한, 시뮬레이션 소프트웨어를 사용하여 데이터를 수집하는 경우 몬테 카를로스 시뮬레이션과 같은 기법을 사용하여 시뮬레이션 데이터를 수집하면 전체 시뮬레이션 소요 시간은 시뮬레이션 소프트웨어의 수행 시간의 n배가 된다. 이와 같은 이유로 대부분의 시뮬레이션 모델들은 실세계 모델들을 추상화하여 모델링하여 시뮬레이션을 수행한다. 그러나 추상화된 모델링을 수행함으로써 시뮬레이션의 수행 시간을 감소하지만 추상화로 인한 시뮬레이션 결과의 부정확성은 증가하는 단점이 존재한다. 이러한 모의 대상의 수준에 따른 시뮬레이션 수행시간과 시뮬레이션의 정확성 문제를 해결하기 위하여 분산 처리 시스템을 이용한 시뮬레이션과 멀티코어 시스템을 활용한 시뮬레이션이 있다. Modeling & Simulation (M & S) engineering plays a key role in many industries, reducing costs through product development and demand forecasting, and reducing research costs in a variety of disciplines such as fluid dynamics simulation and combat testing. Brought effect. The simulation software simulates the simulation object using methods such as continuous time modeling, discrete time modeling, and discrete event modeling to simulate the real world as much as possible. However, simulation models that reflect the real world are complex and difficult to express, and even when expressed, it is difficult to utilize simulation software due to the long simulation execution time. In addition, when collecting data using simulation software, if simulation data is collected using a technique such as Monte Carlos simulation, the total simulation time is n times the execution time of the simulation software. For this reason, most simulation models perform simulations by abstracting and modeling real-world models. However, although the execution time of the simulation is reduced by performing the abstracted modeling, there is a disadvantage in that the inaccuracy of the simulation result due to the abstraction is increased. In order to solve the simulation execution time and the accuracy of the simulation according to the level of the simulation object, there are a simulation using a distributed processing system and a simulation using a multicore system.

분산 처리 시스템은 오랜 시간동안 연구되어 온 학문으로 여러 개의 컴퓨터 시스템들이 네트워크를 통해 서로 연결되어 마치 하나의 시스템처럼 동작하는 시스템이다. 분산 시뮬레이션 시스템은 미들웨어를 통하여 모델 상호간의 메시지 전송 및 시뮬레이션 시간 동기화를 위한 인터페이스가 필요하고, 이들을 처리하며, 이러한 특징으로 인하여 확장성과 모듈성을 가진다. 하지만, 분산 처리 시스템은 오랫동안 연구되어왔음에도 불구하고 하나의 시뮬레이션 모델을 분산된 시스템에서 동작하게 만들기 위한 분산 알고리즘을 개발하기 어려워 분산 시스템에서 하나의 시뮬레이션 모델을 실행시키기 어렵고, 개별 모델들을 각각 분산 시스템의 서브시스템에 할당하여도 네트워크의 성능이 컴퓨터의 성능에 따라가지 못해서 시뮬레이션 수행 시간이 증가하는 문제점을 가진다. Distributed processing system has been studied for a long time. It is a system in which several computer systems are connected to each other through a network and act like a system. A distributed simulation system needs an interface for message transmission and simulation time synchronization between models through middleware, processes them, and is scalable and modular due to these features. However, although distributed processing systems have been studied for a long time, it is difficult to develop distributed algorithms to make one simulation model work in a distributed system, making it difficult to execute a simulation model in a distributed system, and to separate individual models from each other. Even if it is assigned to the subsystem of, the network performance does not match the performance of the computer, which increases the simulation execution time.

이에 비해 멀티코어 시스템을 활용한 시뮬레이션은 최근 멀티코어 시스템의 보급으로 일반 개인이 사용하는 컴퓨터에서도 멀티코어 시스템이 보편화되고 있으며, 네트워크를 통한 분산처리가 아닌 CPU 내부에서 다수의 CPU코어에서 동작을 수행함으로써 네트워크의 부하 없이 분산 시뮬레이션을 단일 환경에서 수행할 수 있게 함으로써 시뮬레이션의 성능을 증가시킬 수 있다. 하지만, 기존의 분산 시스템과 마찬가지로 하나의 시뮬레이션 모델을 다수의 코어에 사상시키기 어려워, 보편화되고 있는 수행 환경에 반해 시뮬레이션 소프트웨어는 멀티코어 시스템을 거의 지원하고 있지 않다. 또한 기존에 개발된 시뮬레이션 소프트웨어들은 대부분 싱글코어 기반으로 설계 및 구현되었기 때문에 시뮬레이션 소프트웨어를 변경하여 멀티코어 기반으로 변경시키기 어렵다. On the other hand, the simulation using multi-core system has been popularized by general-use computers in recent years with the spread of multi-core system, and it operates on multiple CPU cores inside the CPU instead of distributed processing through the network. This can increase the performance of simulations by allowing distributed simulations to run in a single environment without overloading the network. However, it is difficult to map a simulation model to multiple cores as in a conventional distributed system, and in contrast to a generalized performance environment, simulation software supports little of a multicore system. In addition, since most of the developed simulation software is designed and implemented on a single core basis, it is difficult to change the simulation software to a multicore basis.

본 발명의 목적은 멀티 코어 환경에서 효율적으로 시뮬레이션 정보 수집할 수 있는 실험 틀을 제공하는데 있다.An object of the present invention is to provide an experimental framework that can efficiently collect simulation information in a multi-core environment.

본 발명의 다른 목적은 상기 목적을 달성하기 위한 시뮬레이션 시스템을 제공하는데 있다.Another object of the present invention is to provide a simulation system for achieving the above object.

본 발명의 또 다른 목적은 상기 목적을 달성하기 위한 시뮬레이션 방법을 제공하는데 있다.Another object of the present invention is to provide a simulation method for achieving the above object.

상기 목적을 달성하기 위한 실험틀은 개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터를 이용하여 시뮬레이션 모델을 실행하는 시뮬레이션 시스템에 있어서, 상기 시뮬레이션 모델에 대한 복수개의 프로세스를 생성하고, 생성된 상기 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 프로세스 관리자와 상기 시뮬레이션 모델에 대한 입력 데이터의 변수를 가변하여 다양한 조합의 복수개의 시나리오를 생성하여 상기 복수개의 프로세스로 인가하는 시나리오 관리자를 구비하는 생성부, 상기 복수개의 시나리오 각각에 응답하여 상기 복수개의 프로세스에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 하나 또는 그 이상의 데이터 수집기를 구비하는 변환부, 및 상기 입력 데이터에 대한 상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 적용부를 구비한다.An experimental framework for achieving the above object is a simulation system for executing a simulation model using a computer having a plurality of cores that perform calculations individually, generating a plurality of processes for the simulation model, and generating the plurality of processes. A generation unit including a process manager for individually allocating 3 processes to the plurality of cores and a scenario manager for generating a plurality of scenarios of various combinations by varying variables of input data for the simulation model and applying them to the plurality of processes; A conversion unit including one or more data collectors for outputting output data by receiving outputs generated by the plurality of processes in response to each of the plurality of scenarios and converting the outputs into easy-to-analyze forms; and for the input data. Prize Output data is confirmed whether the user meets the desired conditions, and a portion applied to generate in the form of data that the user can easily understand the simulation results.

상기 목적을 달성하기 위한 시나리오 관리자는 생성된 상기 복수개의 시나리오에 따라 시뮬레이션 실행 횟수를 관리하는 것을 특징으로 한다.The scenario manager for achieving the above object is characterized by managing the number of simulation execution according to the generated plurality of scenarios.

상기 목적을 달성하기 위한 프로세스 관리자는 상기 시뮬레이션 모델이 다른 시뮬레이션 소프트웨어와 연동되지 않는 단독형 시뮬레이션 소프트웨어인 경우에, 상기 단독형 시뮬레이션 소프트웨어 하나에 대한 복수개의 상기 프로세스를 생성하여, 상기 복수개의 프로세스를 상기 복수개의 코어 각각에 할당하고, 상기 시나리오 관리자는 상기 복수개의 코어 각각에 할당된 상기 프로세스로 상기 복수개의 시나리오 중 서로 다른 시나리오를 인가하는 것을 특징으로 한다.In order to achieve the above object, the process manager generates a plurality of the processes for the standalone simulation software when the simulation model is a standalone simulation software which is not linked with other simulation software, thereby generating the plurality of processes. The scenario manager assigns a different scenario among the plurality of scenarios to the process assigned to each of the plurality of cores.

상기 목적을 달성하기 위한 프로세스 관리자는 상기 시뮬레이션 모델이 복수개의 시뮬레이션 소프트웨어를 연동하여 동작하는 연동형 시뮬레이션 소프트웨어인 경우에, 상기 복수개의 시뮬레이션 소프트웨어에 대응하는 복수개의 상기 프로세스를 생성하고, 상기 복수개의 프로세스를 상기 복수개의 코어 각각에 코어에 할당하고, 상기 시나리오 관리자는 상기 복수개의 시나리오 중 상기 복수개의 코어 할당된 상기 프로세스에 각각에 대응하는 시나리오를 인가하는 것을 특징으로 한다.The process manager for achieving the above object generates a plurality of the processes corresponding to the plurality of simulation software when the simulation model is a linked simulation software operating in conjunction with a plurality of simulation software, and the plurality of processes. Is assigned to each of the plurality of cores to the cores, and the scenario manager applies a scenario corresponding to each of the plurality of cores assigned processes among the plurality of scenarios.

상기 목적을 달성하기 위한 프로세스 관리자는 상기 사용자에 의해 지정되는 우선순위와 상기 복수개의 프로세스 각각의 부하를 판별하고, 판별된 우선순위와 부하에 따라 상기 복수개의 프로세스를 상기 복수개의 코어에 할당하는 것을 특징으로 한다.The process manager for achieving the object is to determine the priority assigned by the user and the load of each of the plurality of processes, and to assign the plurality of processes to the plurality of cores according to the determined priority and load. It features.

상기 다른 목적을 달성하기 위한 시뮬레이션 시스템은 개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터, 상기 컴퓨터상에서 실행되는 시뮬레이션 모델, 및 상기 시뮬레이션 모델에 대한 복수개의 프로세스를 생성하고, 생성된 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 프로세스 관리자와 상기 시뮬레이션 모델에 대한 입력 데이터의 변수를 가변하여 다양한 조합의 복수개의 시나리오를 생성하여 상기 복수개의 프로세스 각각으로 상기 복수개의 시나리오 중 서로 다른 시나리오를 인가하는 시나리오 관리자를 구비하는 생성부, 상기 복수개의 시나리오 각각에 응답하여 상기 시뮬레이션 모델에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 하나 또는 그 이상의 데이터 수집기를 구비하는 변환부, 및 상기 입력 데이터에 대한 상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 적용부를 구비하는 실험 틀을 구비한다.A simulation system for achieving the above another object is to generate a computer having a plurality of cores that perform calculations individually, a simulation model running on the computer, and a plurality of processes for the simulation model, and to generate the generated plurality of processes. A scenario in which a plurality of scenarios of various combinations are generated by varying a variable of an input data for the simulation model and a process manager individually allocated to the plurality of cores, and a different scenario among the plurality of scenarios is applied to each of the plurality of processes. A generation unit having a manager, one or more data collectors for outputting the output data by receiving the output generated by the simulation model in response to each of the plurality of scenarios and converting it into a form that can be easily analyzed Compared with an experiment frame having a conversion unit, and an application unit for confirming whether the output data for the input data meets the user's desired conditions, and generates the data of the form that the user can easily grasp the simulation results do.

상기 또 다른 목적을 달성하기 위한 시뮬레이션 방법은 개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터를 이용하여, 서로 연동하여 동작하는 복수개의 시뮬레이션 소프트웨어를 구비하는 시뮬레이션 모델을 실행하는 시뮬레이션 시스템에 있어서, 상기 복수개의 시뮬레이션 소프트웨어에 대응하여 복수개의 프로세스를 생성하고, 생성된 상기 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 단계, 상기 복수개의 코어에 할당된 상기 복수개의 프로세스 각각에 대응하는 시나리오를 인가하는 단계, 상기 시나리오 각각에 응답하여 상기 시뮬레이션 모델에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 단계, 및 상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 단계를 구비한다.The simulation method for achieving the another object is a simulation system for executing a simulation model having a plurality of simulation software that operates in conjunction with each other, using a computer having a plurality of cores to perform the operation individually, Generating a plurality of processes corresponding to a plurality of simulation software, individually assigning the generated plurality of processes to the plurality of cores, and applying a scenario corresponding to each of the plurality of processes assigned to the plurality of cores In response to each of the scenarios, receiving the output generated from the simulation model, converting the output into an easy-to-analyze form, and outputting the output data; and checking whether the output data satisfies a desired condition by the user. And generating data in a form that a user can easily grasp the simulation result.

상기 또 다른 목적을 달성하기 위한 시뮬레이션 방법은 개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터를 이용하여, 서로 연동하여 동작하는 복수개의 시뮬레이션 소프트웨어를 구비하는 시뮬레이션 모델을 실행하는 시뮬레이션 시스템에 있어서, 상기 복수개의 시뮬레이션 소프트웨어에 대응하여 복수개의 프로세스를 생성하고, 생성된 상기 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 단계, 상기 복수개의 코어에 할당된 상기 프로세스에 각각에 대한 상기 시뮬레이션 소프트웨어에 대응하는 시나리오를 인가하는 단계, 상기 시나리오 각각에 응답하여 상기 시뮬레이션 모델에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 단계, 및 상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 단계를 구비한다.The simulation method for achieving the another object is a simulation system for executing a simulation model having a plurality of simulation software that operates in conjunction with each other, using a computer having a plurality of cores to perform the operation individually, Generating a plurality of processes corresponding to the plurality of simulation software, individually assigning the generated plurality of processes to the plurality of cores, corresponding to the simulation software for each of the processes assigned to the plurality of cores Applying a scenario, receiving the output generated from the simulation model in response to each of the scenarios, converting the output data into a form that can be easily analyzed, and outputting the output data to a condition desired by the user; Check whether, and comprising the step of generating in the form of data that the user can easily understand the simulation results.

따라서, 본 발명의 실험 틀 및 이를 이용한 시뮬레이션 방법 및 시스템은 시뮬레이션 모델이 단독형 시뮬레이션 소프트웨어인지, 연동형 시뮬레이션 소프트웨어인지에 무관하게 동일한 실험 틀을 사용할 수 있으므로, 시뮬레이션을 용이하게 하며, 복수개의 코어 자원을 최대한 사용하여 시뮬레이션의 성능을 향상시키고(시뮬레이션 수행 시간을 단축시키고), 시뮬레이션 소프트웨어의 반복 실행 시 시뮬레이션 소프트웨어 프로세스 각각을 운영체제에서 제거하여 운용하는 시스템에서 발생할 수 있는 메모리 누수 현상을 제거하여 시뮬레이션의 신뢰도를 증진 시킬 수 있다.
Therefore, the experimental framework of the present invention and the simulation method and system using the same can use the same experimental framework regardless of whether the simulation model is a standalone simulation software or a linked simulation software. To maximize the performance of the simulation (shortening the execution time of the simulation) and to eliminate the memory leaks that may occur in the operating system by removing each of the simulation software processes from the operating system during repeated execution of the simulation software. Can promote it.

도1 은 본 발명에 따른 실험 틀의 일예를 나타낸다.
도2 는 본 발명의 일예에 따른 실험 틀을 사용하여 단독형 시뮬레이션 수행 시 소요되는 시간을 종래 기술에 대비하여 나타내는 도면이다.
도3 은 본 발명의 일예에 따른 실험 틀을 사용하여 연동형 시뮬레이션 수행 시 소요되는 시간을 수동 연동 실험에 대비하여 나타내는 도면이다.
도4 은 본 발명의 일예에 따른 실험 틀을 코어 지정 및 코어 미지정 조건에서 각각 사용하여 연동형 시뮬레이션 수행 시 소요되는 시간을 나타내는 도면이다.
1 shows an example of an experimental framework according to the present invention.
2 is a view showing the time required to perform a stand-alone simulation using the experimental framework according to an embodiment of the present invention in comparison with the prior art.
3 is a view showing the time required for performing the linked simulation using the experimental framework according to an embodiment of the present invention in comparison with the manual linked experiment.
4 is a view showing the time required to perform the linked simulation using the experimental framework according to an embodiment of the present invention in the core designation and core non-designation conditions respectively.

이하, 첨부한 도면들을 참조하여 본 발명의 바람직한 실시 예들을 상세히 설명한다. 하기의 설명에서는 본 발명에 따른 동작을 이해하는데 필요한 부분만이 설명되며 그 이외 부분의 설명은 본 발명의 요지를 흩트리지 않도록 생략될 수 있다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the following description, only parts necessary for understanding the operation according to the present invention will be described, and descriptions of other parts may be omitted so as not to distract from the gist of the present invention.

또한, 이하에서 설명되는 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 본 발명을 가장 적절하게 표현할 수 있도록 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야 한다.
In addition, the terms or words used in the specification and claims described below are not to be construed as being limited to the ordinary or dictionary meaning, meaning that corresponds to the technical spirit of the present invention so as to best express the present invention To be interpreted as

도1 은 본 발명에 따른 실험 틀의 일예를 나타낸다.1 shows an example of an experimental framework according to the present invention.

실험 틀(Experimental Frame)은 B. P. Zeigler에 의해서 처음으로 제시된 개념으로서, 시뮬레이션 시스템에 대한 입력 데이터를 생성하여 입력하고, 시뮬레이션 시스템에서 출력되는 출력 데이터를 인가받아 사용자가 이해하기 용이한 형태의 데이터로 변환하여 주는 양식을 일컫는다. 즉 실험 틀은 시뮬레이션 시스템에 대해 사용자가 입력 데이터를 일일이 인가하고 출력 데이터를 분석하기 위한 시간과 노력과 비용을 줄이고, 잘못된 입력 데이터의 입력 및 출력 데이터에 대한 분석 실수를 줄여 정형적으로 시뮬레이션 과정을 제어하여 시뮬레이션 시스템의 신뢰도를 높이기 위한 개념 틀이다.Experimental Frame is a concept first presented by BP Zeigler. It generates and inputs input data to the simulation system, and converts the output data from the simulation system into a form that is easy for the user to understand. It refers to the style of giving. In other words, the experiment framework reduces the time, effort, and cost for the user to authorize the input data and analyze the output data for the simulation system, and reduces the number of errors in the input and output data of the wrong input data. It is a conceptual framework to increase the reliability of the simulation system by controlling it.

도1 에 도시된 실험 틀(100)은 생성부(110)와 적용부(130), 그리고 변환부(120)를 구비한다. 생성부(110)는 실험 대상 시스템에 주어질 입력 데이터를 생성하는 역할을 담당한다. 예를 들어 생성부(110)는 실험 대상 시스템에 대하여 실험할 입력 데이터를 생성하여 시뮬레이션 시스템에 입력 데이터를 인가한다. 이때 생성부(110)는 입력 데이터에서 각종 변수를 가변하여 인가할 수 있다. 변환부(120)는 입력 데이터에 응답하여 시뮬레이션 시스템 생성한 출력 신호를 분석할 수 있도록 출력 데이터로 변경시킨다. 적용부(130)는 생성부(110)에서 입력한 입력 데이터에 따라 변환부(120)에서 받은 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하거나 시뮬레이션 결과를 정리한다. 즉, 시뮬레이션 시스템이 입력 데이터에 따라 생성한 출력 데이터가 사용자의 요구사항을 만족하는 지를 검사하거나 시뮬레이션 결과를 정리하여 사용자가 원하는 형태로 가공하는 모델이다.The experiment frame 100 shown in FIG. 1 includes a generation unit 110, an application unit 130, and a conversion unit 120. The generation unit 110 is responsible for generating input data to be given to the test target system. For example, the generation unit 110 generates input data to be tested for the test target system and applies the input data to the simulation system. In this case, the generation unit 110 may apply various variables in the input data. The converter 120 converts the output signal into output data to analyze the output signal generated by the simulation system in response to the input data. The application unit 130 checks whether the output data received from the conversion unit 120 satisfies a desired condition according to the input data input from the generation unit 110 or cleans up the simulation result. In other words, it is a model that checks whether the output data generated according to the input data by the simulation system satisfies the user's requirements or processes the simulation results into a desired shape.

그리고 생성부(110)는 시뮬레이션 모델의 프로세스를 생성하는 프로세스 관리자(111)와 생성된 시뮬레이션 모델에 입력할 입력 값의 시퀀스를 관리하는 시나리오 관리자(112)를 구비한다. 생성부(110) 모델의 프로세스 관리자(111)는 멀티코어(multi-core)를 활용하여 시뮬레이션 모델을 실행시킨다. 프로세스 관리자(111)는 사용자가 정의한 설정 값에 따라 시뮬레이션 모델을 실행 환경의 코어에 맵핑시켜 시뮬레이션을 관리한다. 시나리오 관리자(112)는 몬테 카를로스 시뮬레이션과 같이 특정 변수 값의 변화에 따른 시뮬레이션을 수행하기 위하여 현재 시뮬레이션의 시나리오를 관리하며 전체적인 시뮬레이션 횟수를 관리한다. 여기서 수행되는 실행 시나리오 관리자(112)는 몬테 카를로스 시뮬레이션과 같이 값을 변경시키며 시뮬레이션을 수행시킬 수 있도록 현재 진행되고 있는 시뮬레이션의 시나리오 값과 전체 시뮬레이션의 시나리오 값을 관리한다. The generation unit 110 includes a process manager 111 for generating a process of a simulation model and a scenario manager 112 for managing a sequence of input values to be input to the generated simulation model. The process manager 111 of the generation unit 110 model executes the simulation model by using a multi-core. The process manager 111 manages the simulation by mapping the simulation model to the core of the execution environment according to a user defined setting value. The scenario manager 112 manages the scenario of the current simulation and manages the overall simulation number in order to perform the simulation according to the change of a specific variable value, such as Monte Carlos simulation. The execution scenario manager 112 performed here manages the scenario values of the current simulation and the scenario values of the entire simulation so that the values can be changed and simulated like the Monte Carlos simulation.

변환부(120)는 시뮬레이션 모델로부터 생성된 출력 데이터를 인가받기 위한 하나 또는 그 이상의 데이터 수집기(121 ~ 12n)를 가진다. 본 발명에 따른 실험 틀(100)은 단독형 시뮬레이션 소프트웨어와 연동형 시뮬레이션 소프트웨어에 모두 적용이 가능하도록 복수개의 데이터 수집기(121 ~ 12n)를 가질 수 있다. 즉 복수의 시뮬레이션 소프트웨어가 동시에 실행되는 연동형 시뮬레이션인 경우, 각 시뮬레이션 소프트웨어의 출력 데이터를 처리하기 위하여 변환부(120)는 시뮬레이션 소프트웨어들 각각의 고유 출력 포맷을 처리할 수 있도록 복수개의 데이터 수집기(121 ~ 12n)를 가질 수 있다.The converter 120 has one or more data collectors 121 to 12n for receiving output data generated from the simulation model. Experiment frame 100 according to the present invention may have a plurality of data collector (121 ~ 12n) to be applicable to both stand-alone simulation software and linked simulation software. That is, in the case of a linked simulation in which a plurality of simulation software is executed simultaneously, the converter 120 may process a unique output format of each of the simulation software in order to process output data of each simulation software. To 12 n).

적용부(130)는 정보를 수집한 후 이를 처리하는 후처리 과정을 담당한다. 즉, 엑셀을 사용한 그래프 생성 혹은 생성된 출력 값들의 평균 값 ??산과 같은 통계적 처리, 실행 시간의 측정, 모의하는 대상 시스템의 동작 확인 등, 시뮬레이션 모델이 만족해야 하는 조건이나 시뮬레이션이 종료된 이후에 처리해야 하는 과정을 처리한다.The application unit 130 is in charge of the post-processing process of collecting the information after processing. That is, after the simulation or the conditions that the simulation model has to satisfy Handle the process that needs to be handled.

본 발명에 따른 정보 수집을 위한 실험 틀(100)은 다른 시뮬레이터와 연동없이 홀로 동작하는 단독형 시뮬레이션 소프트웨어와 HLA/RTI(High Level Architecture/Runtime Infrastructure)와 같은 미들웨어를 사용하여 타 시뮬레이션 소프트웨어와 연동하여 시뮬레이션을 수행하는 연동형 시뮬레이션 소프트웨어에 모두 적용할 수 있다.The experimental framework 100 for collecting information according to the present invention is integrated with other simulation software using a standalone simulation software that operates alone without interlocking with other simulators and middleware such as HLA / RTI (High Level Architecture / Runtime Infrastructure). Applicable to all linked simulation software that performs simulation.

도2 는 본 발명의 일예에 따른 실험 틀을 사용하여 단독형 시뮬레이션 수행 시 소요되는 시간을 종래 기술에 대비하여 나타내는 도면이다.2 is a view showing the time required to perform a stand-alone simulation using the experimental framework according to an embodiment of the present invention in comparison with the prior art.

단독형 시뮬레이션 소프트웨어의 입력 데이터의 변수값을 변경하면서 반복적으로 수행하는 경우, 본 발명의 실험 틀(100)은 프로세스 관리자(111)와 시나리오 관리자(112)를 사용하여 전체 시뮬레이션 시간을 단축시킬 수 있다. 즉, 동일한 시뮬레이션 소프트웨어에 대하여 시나리오 관리자(112)가 서로 다른 시나리오 데이터를 주고, 프로세스 관리자(111)에서 시뮬레이션 소프트웨어를 복수 개를 수행함으로써 전체 시뮬레이션 시간을 단축시킬 수 있다. 여기서 서로 다른 시나리오 데이터는 다양한 조건에서 시뮬레이션을 수행하기 위해, 시나리오 관리자(112)가 변수를 가변하여 생성하는 각기 다른 조합의 입력 데이터를 나타낸다.When repeatedly performed while changing the variable value of the input data of the standalone simulation software, the experimental framework 100 of the present invention can shorten the overall simulation time by using the process manager 111 and the scenario manager 112. . That is, the scenario manager 112 may give different scenario data to the same simulation software, and the overall simulation time may be shortened by executing a plurality of simulation software in the process manager 111. Here, different scenario data represents different combinations of input data generated by the scenario manager 112 by varying a variable in order to perform a simulation under various conditions.

단독형 시뮬레이션 소프트웨어의 수행 시 시뮬레이션 정보 수집을 위한 실험 틀(100)의 효과를 측정하기 위하여 이차원으로 구성된 모델에서 수상함(水上艦)의 생존율을 측정하는 단독형 시뮬레이션을 이용하였다.In order to measure the effect of the experimental framework 100 for collecting simulation information during the execution of the standalone simulation software, a standalone simulation was used to measure the survival rate of the water box in the two-dimensional model.

도2 에서는 실험 틀(100)을 사용하여 단독형 시뮬레이션을 20회 수행하였을 경우 시뮬레이션의 종료 시까지 걸린 시간을 측정한 결과이다. 2 shows the result of measuring the time taken until the end of the simulation when the standalone simulation was performed 20 times using the experiment frame 100.

도2 에서 확인할 수 있듯이, 코어를 4개를 사용하여 시뮬레이션을 수행한 경우를 1 개의 코어를 사용하여 20회의 시뮬레이션을 수행한 경우와 비교하면 대략 3.34배 정도 시뮬레이션 수행시간을 단축되었음을 확인할 수 있다. 이상적으로 총 4개의 코어를 사용하여 시뮬레이션을 수행하는 경우 4배의 성능향상을 볼 수 있어야 하지만, 실제 시뮬레이션 소프트웨어를 각 코어에 할당하는 등 시뮬레이션 초기화를 수행하는 시간으로 인하여 이상적인 성능 향상이 발생하지는 않는다.As can be seen in FIG. 2, it can be seen that the simulation execution time is reduced by about 3.34 times compared to the case where the simulation was performed using four cores compared to the case of performing 20 simulations using one core. Ideally, if you perform simulations using a total of four cores, you should see four times the performance improvement, but the ideal performance improvement does not occur due to the time to perform the simulation initialization, such as assigning the actual simulation software to each core. .

도3 은 본 발명의 일예에 따른 실험 틀을 사용하여 연동형 시뮬레이션 수행 시 소요되는 시간을 수동 연동 실험에 대비하여 나타내는 도면이다.3 is a view showing the time required for performing the linked simulation using the experimental framework according to an embodiment of the present invention in comparison with the manual linked experiment.

연동형 시뮬레이션에서 시뮬레이션 정보를 수집하기 위한 실험 틀(100)은 프로세스 관리자(111)가 다수의 시뮬레이션 소프트웨어를 수행할 때 각 시뮬레이션 소프트웨어를 멀티 코어의 서로 다른 코어에 배치시키며, 전체 시뮬레이션을 시나리오 관리자(112)가 관리함으로써 시뮬레이션의 수행시간을 감소시킨다. 연동형 시뮬레이션에서 시뮬레이션 정보 수집을 위한 실험 틀(100)의 효과를 측정하기 위하여 수상함의 생존율을 측정하는 연동형 시뮬레이션 소프트웨어를 사용하였다.The experimental framework 100 for collecting simulation information in the coordinated simulation places each simulation software in different cores of the multi-cores when the process manager 111 executes a plurality of simulation softwares, and the entire simulation is placed in a scenario manager ( 112 manages to reduce the execution time of the simulation. In order to measure the effectiveness of the experimental framework 100 for collecting simulation information in the linked simulation, a linked simulation software was used to measure the survival rate of the ship.

도3 에서는 사용자가 수동으로 시나리오와 시뮬레이션에서 사용될 랜덤 시드값을 입력하여 처음 시뮬레이션을 수행하였을 때부터 시뮬레이션의 종료될 때까지의 시간을 측정하고, 이와 반대로 실험 틀(100)을 사용한 경우 코어를 지정하지 않고, 시뮬레이션을 수행하여 각 시뮬레이션의 시간을 측정한 것이다. 도3 에서 시나리오 1번의 시드 2의 경우와 시나리오 2번의 시드 3번의 경우 수동으로 실험 한 것이 실험 틀(100)을 사용한 것보다 좋게 나온 것을 확인할 수 있다. 실험 틀(100)을 사용한 연동형 시뮬레이션은 전체 시뮬레이션에서 시뮬레이션 소프트웨어가 종료되는 시간과 초기화하는 시간을 프로세스 관리자(111)가 관리하는데 각 시뮬레이션에 따라 그 종료 시점과 초기화 시점이 불분명하기 때문에 일정시간 기다려야 한다. 이에 반해 사용자가 수동으로 시나리오를 입력하는 경우에는 종료 시점 혹은 초기화 시점에 즉시 시뮬레이션을 수행할 수 있기 때문에 몇몇 경우 시뮬레이션을 빨리 끝낼 수 있었다. 그러나 사용자가 수동으로 시나리오를 입력하는 시간을 고려한다면, 본 발명의 실험 틀(100)이 더욱 효율적이다.In Figure 3, the user manually inputs a random seed value to be used in the scenario and simulation to measure the time from the first simulation to the end of the simulation, and in contrast, designates a core when the experimental framework 100 is used. Instead, simulations were performed to measure the time of each simulation. In FIG. 3, the case of seed 2 of scenario 1 and the case of seed 3 of scenario 2 can be confirmed to be better than that of using experiment frame 100. In the linked simulation using the experimental framework 100, the process manager 111 manages the time when the simulation software is terminated and the initializing time in the entire simulation. do. On the other hand, when the user manually enters the scenario, the simulation can be performed immediately at the end or initialization time, so in some cases the simulation can be completed quickly. However, considering the time for the user to manually enter a scenario, the experimental framework 100 of the present invention is more efficient.

도4 은 본 발명의 일예에 따른 실험 틀을 코어 지정 및 코어 미지정 조건에서 각각 사용하여 연동형 시뮬레이션 수행 시 소요되는 시간을 나타내는 도면이다.4 is a view showing the time required to perform the linked simulation using the experimental framework according to an embodiment of the present invention in the core designation and core non-designation conditions, respectively.

그림 4는 실험 틀(100)을 사용하여 연동형 시뮬레이션을 수행하는 경우 프로세스 관리자(111)에서 연동형 시뮬레이션에서 사용되는 각 시뮬레이션 소프트웨어를 다양한 경우를 고려하여 코어에 개별적으로 수행하도록 할당한 경우와 프로세스 관리자(111)를 사용하지 않고, 운영 체제에서 자체적으로 프로세스를 관리하는 경우와 비교하였다. 도4 에서 EF 자동화(코어 미지정)로 표시된 그래프는 프로세스 관리자(111)가 코어를 개별적으로 할당한 경우를 나타내며, EF 자동화(코어 미지정) Opt1 과 EF 자동화(코어 미지정) Opt2 로 표시된 그래프는 각각 운영 체제에서 자체적으로 프로세스를 코어에 할당하는 경우를 나타낸다. 운영 체제가 자체적으로 프로세스를 코어에 할당하는 경우에는 사용자의 명령 또는 운영 체제의 상태에 따라 할당되는 코어가 변경될 수 있으며, 도4 에서는 예로서 프로세스가 할당된 코어가 각기 다른 2가지 경우를 도시하였다.Figure 4 shows the case in which the coordinated simulation is performed using the experiment framework 100, and the process manager 111 assigns each simulation software used in the coordinated simulation to the core individually according to various cases and processes. This is compared with the case where the operating system manages its own process without using the manager 111. In Fig. 4, the graph indicated by EF automation (core not specified) shows a case in which the process manager 111 individually assigns cores, and the graphs indicated by EF automation (core not specified) Opt1 and EF automation (core not specified) Opt2 are operated respectively. This is the case when the system assigns a process to its own core. When the operating system assigns a process to its own core, the allocated core may be changed according to a user's command or the state of the operating system. In FIG. 4, for example, two different cores to which a process is allocated are shown. It was.

도4 를 참조하면, 연동형 시뮬레이션에서 코어의 개수 이상의 시뮬레이션 소프트웨어를 실행시켜야 하기 때문에 시뮬레이션 수행 중 부하가 큰 프로세스를 개별 코어에 할당하여 시뮬레이션을 수행하였을 경우, 그렇지 않은 경우와 비교하여 시뮬레이션 성능이 향상됨을 확인할 수 있다. 또한 실제 부하가 크지 않은 프로세스를 개별 프로세스에 할당한 경우에는 몇몇 경우에서 시뮬레이션 성능이 저하되는 것을 확인할 수 있었다.
Referring to FIG. 4, when the simulation software needs to execute more than the number of cores in the linked simulation, the simulation performance is improved compared to the case where the simulation is performed by assigning a large load to the individual cores during the simulation. can confirm. In addition, the simulation performance was found to be lowered in some cases when a process with no actual load was assigned to an individual process.

본 발명에서 설명하는 특정 실행들은 일실시 예들로서, 어떠한 방법으로도 본 발명의 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다. 또한, “필수적인”, “중요하게” 등과 같이 구체적인 언급이 없다면 본 발명의 적용을 위하여 반드시 필요한 구성 요소가 아닐 수 있다.Particular implementations described in the present invention are embodiments and do not limit the scope of the present invention in any way. For brevity of description, descriptions of conventional electronic configurations, control systems, software, and other functional aspects of the systems may be omitted. Also, the connections or connecting members of the lines between the components shown in the figures are illustrative of functional connections and / or physical or circuit connections, which may be replaced or additionally provided by a variety of functional connections, physical Connection, or circuit connections. Also, unless explicitly mentioned, such as " essential ", " importantly ", etc., it may not be a necessary component for application of the present invention.

본 발명의 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The use of the terms " above " and similar indication words in the specification of the present invention (particularly in the claims) may refer to both singular and plural. In addition, in the present invention, when a range is described, it includes the invention to which the individual values belonging to the above range are applied (unless there is contradiction thereto), and each individual value constituting the above range is described in the detailed description of the invention The same. Finally, the steps may be performed in any suitable order, unless explicitly stated or contrary to the description of the steps constituting the method according to the invention. The present invention is not necessarily limited to the order of description of the above steps. The use of all examples or exemplary language (e.g., etc.) in this invention is for the purpose of describing the invention in detail and is not to be construed as a limitation on the scope of the invention, It is not. In addition, one of ordinary skill in the art appreciates that various modifications, combinations and changes can be made depending on design conditions and factors within the scope of the appended claims or equivalents thereof.

Claims (15)

개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터를 이용하여 시뮬레이션 모델을 실행하는 시뮬레이션 시스템에 있어서,
상기 시뮬레이션 모델에 대한 복수개의 프로세스를 생성하고, 생성된 상기 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 프로세스 관리자와 상기 시뮬레이션 모델에 대한 입력 데이터의 변수를 가변하여 다양한 조합의 복수개의 시나리오를 생성하여 상기 복수개의 프로세스로 인가하는 시나리오 관리자를 구비하는 생성부;
상기 복수개의 시나리오 각각에 응답하여 상기 복수개의 프로세스에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 하나 또는 그 이상의 데이터 수집기를 구비하는 변환부; 및
상기 입력 데이터에 대한 상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 적용부를 구비하는 실험 틀.
In a simulation system for executing a simulation model using a computer having a plurality of cores for performing the operation individually,
Create a plurality of processes for the simulation model, and process variables for individually assigning the generated plurality of processes to the plurality of cores and variable variables of input data for the simulation model to generate a plurality of scenarios of various combinations. A generation unit having a scenario manager for authorizing the plurality of processes;
A conversion unit including one or more data collectors for receiving outputs generated by the plurality of processes in response to each of the plurality of scenarios, converting the outputs into easy-to-analyze forms and outputting output data; And
And an application unit for confirming whether the output data for the input data satisfies a condition desired by the user and generating the data in a form that the user can easily grasp the simulation result.
제1 항에 있어서, 상기 시나리오 관리자는
생성된 상기 복수개의 시나리오에 따라 시뮬레이션 실행 횟수를 관리하는 것을 특징으로 하는 실험 틀.
The method of claim 1, wherein the scenario manager
Experimental frame, characterized in that for managing the number of simulation execution in accordance with the generated plurality of scenarios.
제2 항에 있어서, 상기 프로세스 관리자는
상기 시뮬레이션 모델이 다른 시뮬레이션 소프트웨어와 연동되지 않는 단독형 시뮬레이션 소프트웨어인 경우에, 상기 단독형 시뮬레이션 소프트웨어 하나에 대한 복수개의 상기 프로세스를 생성하여, 상기 복수개의 프로세스를 상기 복수개의 코어 각각에 할당하고,
상기 시나리오 관리자는 상기 복수개의 코어 각각에 할당된 상기 프로세스로 상기 복수개의 시나리오 중 서로 다른 시나리오를 인가하는 것을 특징으로 하는 실험 틀.
The method of claim 2, wherein the process manager is
In the case where the simulation model is standalone simulation software that is not linked with other simulation software, a plurality of processes for one standalone simulation software are generated, and the plurality of processes are assigned to each of the plurality of cores,
And said scenario manager applies different ones of said plurality of scenarios to said process assigned to each of said plurality of cores.
제2 항에 있어서, 상기 프로세스 관리자는
상기 시뮬레이션 모델이 복수개의 시뮬레이션 소프트웨어를 연동하여 동작하는 연동형 시뮬레이션 소프트웨어인 경우에, 상기 복수개의 시뮬레이션 소프트웨어에 대응하는 복수개의 상기 프로세스를 생성하고, 상기 복수개의 프로세스를 상기 복수개의 코어 각각에 코어에 할당하고,
상기 시나리오 관리자는 상기 복수개의 시나리오 중 상기 복수개의 코어 할당된 상기 프로세스에 각각에 대응하는 시나리오를 인가하는 것을 특징으로 하는 실험 틀.
The method of claim 2, wherein the process manager is
When the simulation model is linked simulation software operating in conjunction with a plurality of simulation software, a plurality of the processes corresponding to the plurality of simulation software are generated, and the plurality of processes are assigned to each of the plurality of cores. Assign it,
And said scenario manager applies a scenario corresponding to each of said plurality of core-allocated processes among said plurality of scenarios.
제4 항에 있어서, 상기 프로세스 관리자는
상기 사용자에 의해 지정되는 우선순위와 상기 복수개의 프로세스 각각의 부하를 판별하고, 판별된 우선순위와 부하에 따라 상기 복수개의 프로세스를 상기 복수개의 코어에 할당하는 것을 특징으로 하는 실험 틀.
The method of claim 4, wherein the process manager is
And determining the priority designated by the user and the load of each of the plurality of processes, and allocating the plurality of processes to the plurality of cores according to the determined priority and load.
제3 항 또는 제4 항 중 어느 한에 있어서, 상기 하나 또는 그 이상의 데이터 수집기는
상기 복수개의 코어 각각에 할당된 상기 프로세스에서 하나 또는 그 이상의 포맷으로 인가되는 출력을 미리 지정된 포맷의 상기 출력 데이터로 변환하는 것을 특징으로 하는 실험 틀.
The method of claim 3, wherein the one or more data collectors
And an output applied in one or more formats in the process allocated to each of the plurality of cores to the output data in a predetermined format.
제1 항에 있어서, 상기 적용부는
상기 출력 데이터가 미리 지정된 조건 범위 내의 값인지 판별하고, 상기 조건 범위 내의 값이면, 상기 출력 데이터에 대해 통계적 처리를 수행하고, 상기 사용자가 지정하는 형태로 변환하는 것을 특징으로 하는 실험 틀.
The method of claim 1, wherein the application unit
And determining whether the output data is a value within a predetermined condition range, and if the output data is a value within the condition range, performing statistical processing on the output data and converting the output data into a form designated by the user.
제1 항 내지 제7 항 중 어느 한 항에 있어서, 상기 복수개의 코어를 갖는 컴퓨터에서 실행시키기 위한 상기 실험 틀을 저장하는 기록 매체.The recording medium according to any one of claims 1 to 7, which stores the experiment frame for execution in a computer having the plurality of cores. 개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터;
상기 컴퓨터상에서 실행되는 시뮬레이션 모델; 및
상기 시뮬레이션 모델에 대한 복수개의 프로세스를 생성하고, 생성된 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 프로세스 관리자와 상기 시뮬레이션 모델에 대한 입력 데이터의 변수를 가변하여 다양한 조합의 복수개의 시나리오를 생성하여 상기 복수개의 프로세스 각각으로 상기 복수개의 시나리오 중 서로 다른 시나리오를 인가하는 시나리오 관리자를 구비하는 생성부, 상기 복수개의 시나리오 각각에 응답하여 상기 시뮬레이션 모델에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 하나 또는 그 이상의 데이터 수집기를 구비하는 변환부, 및 상기 입력 데이터에 대한 상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 적용부를 구비하는 실험 틀을 구비하는 시뮬레이션 시스템.
A computer having a plurality of cores that perform operations separately;
A simulation model running on the computer; And
By generating a plurality of processes for the simulation model, by varying the variable of the input data for the simulation model and the process manager for individually assigning the generated plurality of processes to the plurality of cores to generate a plurality of scenarios of various combinations A generation unit having a scenario manager for applying a different scenario of the plurality of scenarios to each of the plurality of processes, the output generated from the simulation model in response to each of the plurality of scenarios is applied to convert the form into an easy analysis A conversion unit having one or more data collectors for outputting the output data, and checking whether the output data for the input data satisfies a desired condition and the user easily grasps the simulation result. Simulation system having an experiment frame having an application unit for generating data in the form possible.
제9 항에 있어서, 상기 프로세스 관리자는
상기 시뮬레이션 모델이 다른 시뮬레이션 소프트웨어와 연동되지 않는 단독형 시뮬레이션 소프트웨어인 경우에, 상기 단독형 시뮬레이션 소프트웨어 하나에 대한 복수개의 상기 프로세스를 생성하여, 상기 복수개의 프로세스를 상기 복수개의 코어 각각에 할당하고,
상기 시나리오 관리자는 상기 복수개의 코어 각각에 할당된 상기 프로세스로 상기 복수개의 시나리오 중 서로 다른 시나리오를 인가하는 것을 특징으로 하는 시뮬레이션 시스템.
The method of claim 9, wherein the process manager is
In the case where the simulation model is standalone simulation software that is not linked with other simulation software, a plurality of processes for one standalone simulation software are generated, and the plurality of processes are assigned to each of the plurality of cores,
And said scenario manager applies different ones of said plurality of scenarios to said process assigned to each of said plurality of cores.
제9 항에 있어서, 상기 프로세스 관리자는
상기 시뮬레이션 모델이 복수개의 시뮬레이션 소프트웨어를 연동하여 동작하는 연동형 시뮬레이션 소프트웨어인 경우에, 상기 복수개의 시뮬레이션 소프트웨어에 대응하는 복수개의 상기 프로세스를 생성하고, 상기 복수개의 프로세스를 상기 복수개의 코어 각각에 코어에 할당하고,
상기 시나리오 관리자는 상기 복수개의 시나리오 중 상기 복수개의 코어 할당된 상기 프로세스에 각각에 대응하는 시나리오를 인가하는 것을 특징으로 하는 시뮬레이션 시스템.
The method of claim 9, wherein the process manager is
When the simulation model is linked simulation software operating in conjunction with a plurality of simulation software, a plurality of the processes corresponding to the plurality of simulation software are generated, and the plurality of processes are assigned to each of the plurality of cores. Assign it,
And the scenario manager applies a scenario corresponding to each of the plurality of core-allocated processes among the plurality of scenarios.
개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터를 이용하여 단독으로 동작하는 시뮬레이션 소프트웨어를 구비하는 시뮬레이션 모델을 실행하는 시뮬레이션 시스템에 있어서,
상기 시뮬레이션 소프트웨어를 대한 복수개의 프로세스를 생성하고, 생성된 상기 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 단계;
상기 복수개의 코어 각각에 할당된 상기 프로세스로 입력 데이터의 변수가 서로 다른 복수개의 시나리오를 인가하는 단계;
상기 복수개의 시나리오에 응답하여 상기 복수개의 프로세스에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 단계; 및
상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 단계를 구비하는 시뮬레이션 방법.
A simulation system for executing a simulation model having simulation software that operates independently by using a computer having a plurality of cores that perform calculations individually,
Creating a plurality of processes for the simulation software and individually assigning the generated plurality of processes to the plurality of cores;
Applying a plurality of scenarios in which variables of input data are different from each other to the process allocated to each of the plurality of cores;
In response to the plurality of scenarios, receiving the outputs generated by the plurality of processes, converting the outputs into a form that is easy to analyze, and outputting the output data; And
And checking whether the output data satisfies a condition desired by the user, and generating the data into a form in which the user can easily grasp the simulation result.
개별적으로 연산을 수행하는 복수개의 코어를 갖는 컴퓨터를 이용하여, 서로 연동하여 동작하는 복수개의 시뮬레이션 소프트웨어를 구비하는 시뮬레이션 모델을 실행하는 시뮬레이션 시스템에 있어서,
상기 복수개의 시뮬레이션 소프트웨어에 대응하여 복수개의 프로세스를 생성하고, 생성된 상기 복수개의 프로세스를 상기 복수개 코어에 개별적으로 할당하는 단계;
상기 복수개의 코어에 할당된 상기 복수개의 프로세스 각각에 대응하는 시나리오를 인가하는 단계;
상기 시나리오 각각에 응답하여 상기 시뮬레이션 모델에서 생성된 출력을 인가받아 분석이 용이한 형태로 변환하여 출력 데이터를 출력하는 단계; 및
상기 출력 데이터가 사용자가 원하는 조건을 만족하였는지를 확인하고, 상기 사용자가 시뮬레이션 결과를 용이하게 파악할 수 있는 형태의 데이터로 생성하는 단계를 구비하는 시뮬레이션 방법.
In a simulation system for executing a simulation model having a plurality of simulation software operating in conjunction with each other, using a computer having a plurality of cores to perform the calculation individually,
Generating a plurality of processes corresponding to the plurality of simulation software, and individually assigning the generated plurality of processes to the plurality of cores;
Applying a scenario corresponding to each of the plurality of processes assigned to the plurality of cores;
In response to each of the scenarios, receiving an output generated from the simulation model, converting the output into an easy-to-analyze form, and outputting output data; And
And checking whether the output data satisfies a condition desired by the user, and generating the data into a form in which the user can easily grasp the simulation result.
제13 항에 있어서, 상기 개별적으로 할당하는 단계는
상기 사용자가 지정하는 상기 복수개의 프로세스에 대한 상기 복수개의 코어의 우선순위와 상기 복수개의 프로세스 각각의 부하를 판별하고, 판별된 우선순위와 부하에 따라 상기 복수개의 코어를 할당하는 것을 특징으로 하는 시뮬레이션 방법.
14. The method of claim 13, wherein assigning individually
Simulate the priority of the plurality of cores for the plurality of processes designated by the user and the load of each of the plurality of processes, and allocates the plurality of cores according to the determined priority and load Way.
제13 항에 있어서, 상기 출력 데이터를 출력하는 단계는
상기 복수개의 프로세스에서 하나 또는 그 이상의 포맷으로 인가되는 출력을 미리 지정된 포맷의 상기 출력 데이터로 변환하는 것을 특징으로 하는 시뮬레이션 방법.
The method of claim 13, wherein the outputting of the output data comprises:
And converting outputs applied in one or more formats in the plurality of processes into the output data in a predetermined format.
KR1020100106430A 2010-10-29 2010-10-29 Experimental frame for efficient simulation data collection, and simulation method and system using it KR101158637B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100106430A KR101158637B1 (en) 2010-10-29 2010-10-29 Experimental frame for efficient simulation data collection, and simulation method and system using it

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100106430A KR101158637B1 (en) 2010-10-29 2010-10-29 Experimental frame for efficient simulation data collection, and simulation method and system using it

Publications (2)

Publication Number Publication Date
KR20120060993A true KR20120060993A (en) 2012-06-12
KR101158637B1 KR101158637B1 (en) 2012-06-26

Family

ID=46611686

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100106430A KR101158637B1 (en) 2010-10-29 2010-10-29 Experimental frame for efficient simulation data collection, and simulation method and system using it

Country Status (1)

Country Link
KR (1) KR101158637B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200076323A (en) * 2018-12-19 2020-06-29 한국전자통신연구원 Apparatus and method for multi-model parallel execution automation and verification on digital twin
KR102392131B1 (en) * 2021-10-14 2022-04-28 고려대학교 산학협력단 Food-web network analysis-based ecosystem prediction evaluation system and operation method thereof

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101695238B1 (en) 2016-06-29 2017-01-11 한국과학기술정보연구원 System and method for job scheduling using multi computing resource
KR20220081880A (en) 2020-12-09 2022-06-16 (주) 아인스에스엔씨 Apparatus for real time analysis and real time operation visualization for discrete event system using digital twin

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100340049B1 (en) * 1999-09-16 2002-06-12 오길록 Method for testing chill programs using test scenario
KR100542412B1 (en) * 2003-12-16 2006-01-11 한국전자통신연구원 Method to generate multilink test scenario in ngn tester
KR101073816B1 (en) * 2008-12-18 2011-10-14 주식회사 코아로직 Method and system for automatically testing database system based on scenario
KR101029332B1 (en) * 2009-03-27 2011-04-13 한국전자통신연구원 Testing apparatus and method for mobile software

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200076323A (en) * 2018-12-19 2020-06-29 한국전자통신연구원 Apparatus and method for multi-model parallel execution automation and verification on digital twin
KR102392131B1 (en) * 2021-10-14 2022-04-28 고려대학교 산학협력단 Food-web network analysis-based ecosystem prediction evaluation system and operation method thereof

Also Published As

Publication number Publication date
KR101158637B1 (en) 2012-06-26

Similar Documents

Publication Publication Date Title
US11042675B2 (en) Systems and methods for automatically realizing models for co-simulation
US10108763B2 (en) Method and simulation arrangement for simulating an automated industrial plant
CN112819169B (en) Quantum control pulse generation method, device, equipment and storage medium
US10331548B2 (en) Method and computer system for compiling and testing a control program
CN103927219A (en) Accurate-period simulation model for reconfigurable special processor core and hardware architecture thereof
JP6600011B2 (en) Efficient waveform generation for emulation
KR101158637B1 (en) Experimental frame for efficient simulation data collection, and simulation method and system using it
JP2019507405A (en) How to configure collaborative simulation for integrated systems
Fitzgerald et al. From embedded to cyber-physical systems: Challenges and future directions
US20110218795A1 (en) Simulator of multi-core system employing reconfigurable processor cores and method of simulating multi-core system employing reconfigurable processor cores
KR20140021389A (en) Apparatus and method for separable simulation by model design and execution
Saad et al. Modelling and Simulation of Construction Cyber-Physical Systems
KR20140042126A (en) Dcs logic diagram simulation apparatus for power plant and the method thereof
US20170212509A1 (en) Method for configuring a tester equipped for testing a control unit
Tominaga et al. Specifying satellite behavior for an operational simulator
KR101830582B1 (en) Simulation Program of BESS Providing Frequency Response for Power System Analysis
US9239893B2 (en) Method and process computer for computation of the state variables of a hybrid differential-algebraic process model
CN115935870A (en) Power consumption analysis method and device, electronic equipment and storage medium
CN109800506B (en) Performance evaluation method and system of aircraft
CN113987840A (en) Modelica-based model splitting method, Modelica-based model splitting equipment and storage medium
Wang et al. A simulation system based on ogre and physx for flexible aircraft assembly
KR20190120548A (en) Apparatus and method for analizing energy storage system with regard to characteristics of distribution grid
Zhang et al. Towards ML-based Performance Estimation of Embedded Software: A RISC-V Case Study
KR20200065860A (en) System and method for predicting anomalies in cfd interpretation
CN112631149B (en) Helicopter hydraulic energy simulation test platform

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150526

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170106

Year of fee payment: 5

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180123

Year of fee payment: 6

R401 Registration of restoration
FPAY Annual fee payment

Payment date: 20180525

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20200120

Year of fee payment: 8

R401 Registration of restoration
R401 Registration of restoration