KR101536423B1 - Steel process middleware system and method for dynamic allocating system memory - Google Patents

Steel process middleware system and method for dynamic allocating system memory Download PDF

Info

Publication number
KR101536423B1
KR101536423B1 KR1020130122474A KR20130122474A KR101536423B1 KR 101536423 B1 KR101536423 B1 KR 101536423B1 KR 1020130122474 A KR1020130122474 A KR 1020130122474A KR 20130122474 A KR20130122474 A KR 20130122474A KR 101536423 B1 KR101536423 B1 KR 101536423B1
Authority
KR
South Korea
Prior art keywords
task
system memory
data
amount
allocated
Prior art date
Application number
KR1020130122474A
Other languages
Korean (ko)
Other versions
KR20150043731A (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 KR1020130122474A priority Critical patent/KR101536423B1/en
Publication of KR20150043731A publication Critical patent/KR20150043731A/en
Application granted granted Critical
Publication of KR101536423B1 publication Critical patent/KR101536423B1/en

Links

Images

Classifications

    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 일 실시 형태에 따른 철강 공정 미들웨어 시스템 및 시스템 메모리 동적 할당 방법에 관한 것으로서, 요구 데이터 큐 크기 결정부에서, 태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 과정과, 시스템 메모리 할당부에서, 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기를 기반으로 해당 태스크에 할당할 시스템 메모리량을 결정하고, 결정된 시스템 메모리량 만큼의 시스템 메모리를 해당 디스크에 할당하는 과정을 포함하는 것을 특징으로 한다.The present invention relates to a steelworking middleware system and a system memory dynamic allocation method according to an embodiment of the present invention, in which a request data queue size determination unit determines a number of tasks Determining a size of a data queue required for the task based on the number of data per second; allocating a system memory amount to be allocated to the task based on a size of a data queue required for the task, And allocating a system memory corresponding to the determined system memory amount to the corresponding disk.

Figure R1020130122474
Figure R1020130122474

Description

철강 공정 미들웨어 시스템 및 시스템 메모리 동적 할당 방법{STEEL PROCESS MIDDLEWARE SYSTEM AND METHOD FOR DYNAMIC ALLOCATING SYSTEM MEMORY}STEEL PROCESS MIDDLEWARE SYSTEM AND METHOD FOR DYNAMIC ALLOCATING SYSTEM MEMORY FIELD OF THE INVENTION [0001]

본 출원은 철강 공정 미들웨어 시스템 및 시스템 메모리 동적 할당 방법에 관한 것으로서, 특히, 철강 공정 미들웨어 시스템 및 태스크의 부하 변화에 따라 각 태스크에 시스템 메모리 자원을 동적으로 할당하여 태스크 간 송수신되는 데이터의 손실을 최소화하기 위한 방법 및 시스템에 관한 것이다.
The present invention relates to a steel process middleware system and a method for dynamically allocating system memory, and more particularly, to a steel process middleware system and a method for dynamically allocating system memory resources to each task according to a change in load of the task, thereby minimizing loss of data transmitted / And more particularly,

철강 공정 제어 작업에서 미들웨어의 역할은 태스크의 요청을 받아 태스크 간의 통신이나 공정 제어에 관련된 정보의 저장 및 참조 등의 작업을 수행하고, 현재 수행 중인 태스크를 관리하는 것이다. 각 태스크는 고유한 기능(예를 들어, 제품위치추적, 압연제어, 냉각수제어 등)을 가지고 있고, 제품생산이라는 공통의 목적 아래 태스크들은 고유기능을 이용하여 협업해야 하며, 협업을 하기 위해서는 각 태스크가 자신의 작업실적 혹은 상태 정보 등을 포함하는 데이터를 다른 태스크에 전달해야 한다. 각 태스크가 이용하는 데이터의 포맷은 서로 상이할 수 있으며, 공장이 준공된 이후에도 새로운 데이터 포맷의 태스크들이 계속 추가될 수 있다. 이에 따라 태스크들이 다양한 포맷의 데이터를 자유롭게 송수신할 수 있는 환경이 제공되어야 한다. The role of middleware in the steel process control work is to manage the tasks currently performed by performing tasks such as storing and referencing information related to communication or process control between tasks in response to a task request. Each task has its own functions (for example, product location tracking, rolling control, cooling water control, etc.). Tasks with a common purpose of product production must collaborate using their own functions. Must pass data to other tasks, including their work performance or status information. The format of the data used by each task may be different from each other, and the tasks of the new data format may be continuously added even after the factory is completed. Accordingly, an environment must be provided in which tasks can freely transmit and receive data in various formats.

한편, 종래 철강 공정 미들웨어가 실행되는 시스템에서는 시스템 메모리 자원을 용이하게 관리하기 위해 모든 태스크에 대해 한번에 수신 가능한 데이터의 수를 한정하고 있으며, 모든 태스크에 동일 크기의 데이터 큐를 적용하여 수신 데이터를 관리하고 있다. 이와 같은 시스템 구조는, 순간적인 시스템 부하 변화 및 태스크의 수정 및 추가로 인한 데이터 송수신 패턴 변화 등을 동적으로 반영하기 어려우며, 이에 따라 데이터 큐가 갑자기 증가한 데이터 수신량을 감당하지 못하여 데이터의 손실이 발생할 수 있는 문제점이 있다.
Meanwhile, in the system in which the conventional steel process middleware is executed, the number of data that can be received at one time is limited for all the tasks in order to easily manage the system memory resources. The data queue of the same size is applied to all the tasks, . Such a system structure is difficult to dynamically reflect changes in data transmission / reception patterns due to instantaneous system load changes and task modifications and additions, and thus data queues can not cope with a sudden increase in data reception amount, There is a problem.

당해 기술분야에서는, 철강 공정 미들웨어 시스템 및 태스크의 부하 변화에 따라 각 태스크에 시스템 메모리 자원을 동적으로 할당하여 태스크 간 송수신되는 데이터의 손실을 최소화하기 위한 방법 및 시스템이 요구되고 있다.
There is a need in the art for a method and system for dynamically allocating system memory resources to each task according to a change in load of a steel process middleware system and a task to minimize loss of data transmitted and received between tasks.

상기 과제를 해결하기 위해서, 본 발명의 제1 태양은, 요구 데이터 큐 크기 결정부에서, 태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 과정과, 시스템 메모리 할당부에서, 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기를 기반으로 해당 태스크에 할당할 시스템 메모리량을 결정하고, 결정된 시스템 메모리량 만큼의 시스템 메모리를 해당 디스크에 할당하는 과정을 포함하는 것을 특징으로 한다.
According to a first aspect of the present invention, a request data queue size determination unit determines, based on a number of pieces of data per second received by a corresponding task and a number of pieces of data per second Determining a size of a data queue to be allocated to the task based on a size of a data queue required for the task in each task in the system memory allocating unit, And allocating the system memory to the corresponding disk.

본 발명의 제2 태양은, 철강 공정 미들웨어 시스템을 제공한다. 상기 철강 공정 미들웨어 시스템은, 태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 요구 데이터 큐 크기 결정부, 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기를 기반으로 해당 태스크에 할당할 시스템 메모리량을 결정하고, 결정된 시스템 메모리량 만큼의 시스템 메모리를 해당 태스크에 할당하는 시스템 메모리 할당부를 포함한다.
A second aspect of the present invention provides a steel processing middleware system. The steel process middleware system includes a request data queue size determining unit determining a size of a data queue required for a corresponding task based on the number of pieces of data per second received by the corresponding task and the number of pieces of data per second transmitted to the corresponding task, Determining a system memory amount to be allocated to the task based on a size of a data queue required for the task for each task, and allocating a system memory corresponding to the determined system memory amount to the task.

덧붙여 상기한 과제의 해결 수단은, 본 발명의 특징을 모두 열거한 것은 아니다. 본 발명의 다양한 특징과 그에 따른 장점과 효과는 아래의 구체적인 실시 형태를 참조하여 보다 상세하게 이해될 수 있을 것이다.
In addition, the solution of the above-mentioned problems does not list all the features of the present invention. The various features of the present invention and the advantages and effects thereof will be more fully understood by reference to the following specific embodiments.

철강 공정 미들웨어 시스템 및 태스크의 부하 변화에 따라 각 태스크에 시스템 메모리 자원을 동적으로 할당하여 태스크 간 송수신되는 데이터의 손실을 최소화하기 위한 방법 및 시스템이 제공될 수 있다.
A method and system for minimizing the loss of data transmitted and received between tasks by dynamically allocating system memory resources to each task in accordance with a load change of a steel process middleware system and a task can be provided.

도 1은 본 발명의 일 실시 형태에 따른 철강 공정 미들웨어 시스템의 장치 구성을 도시한 블록도, 및
도 2는 본 발명의 일 실시 형태에 따른 철강 공정 미들웨어 시스템에서 시스템 메모리 동적 할당 방법을 도시한 흐름도이다.
1 is a block diagram showing an apparatus configuration of a steelworking middleware system according to an embodiment of the present invention, and Fig.
2 is a flowchart illustrating a system memory dynamic allocation method in a steelworking middleware system according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시 형태들을 설명한다. 그러나, 본 발명의 실시형태는 여러 가지 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명하는 실시 형태로 한정되는 것은 아니다. 또한, 본 발명의 실시형태는 당해 기술분야에서 평균적인 지식을 가진 자에게 본 발명을 더욱 완전하게 설명하기 위해서 제공되는 것이다. 도면에서 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있다.
Hereinafter, preferred embodiments of the present invention will be described with reference to the accompanying drawings. However, the embodiments of the present invention can be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. Further, the embodiments of the present invention are provided to more fully explain the present invention to those skilled in the art. The shape and size of elements in the drawings may be exaggerated for clarity.

이하, 본 발명의 실시 형태인 철강 공정 미들웨어 시스템 및 시스템 메모리 동적 할당 방법에 관한 것으로서, 특히, 철강 공정 미들웨어 시스템 및 태스크의 부하 변화에 따라 각 태스크에 시스템 메모리 자원을 동적으로 할당하여 태스크 간 송수신되는 데이터의 손실을 최소화하기 위한 방법 및 시스템에 대해 설명한다.
The present invention relates to a steel process middleware system and a system memory dynamic allocation method, and more particularly, to a steel process middleware system and a system memory dynamic allocation method, which dynamically allocate system memory resources to each task according to a load change of a task, Methods and systems for minimizing the loss of data are described.

도 1은 본 발명의 일 실시 형태에 따른 철강 공정 미들웨어 시스템의 장치 구성을 도시한 블록도이다. FIG. 1 is a block diagram showing an apparatus configuration of a steel processing middleware system according to an embodiment of the present invention.

상기 도 1을 참조하면, 철강 공정 미들웨어가 실행되는 시스템은, 다중 태스크(100-1, 100-2)와 미들웨어(110)를 포함하며, 상기 미들웨어(110)는 다중 태스크(100-1, 100-2)에 일대일 대응하는 다중 대행 처리자(112-1, 112-2), 다중 데이터 큐(114-1, 114-2), 다중 송수신 프로브(116-1, 116-2), 다중 요구 데이터 큐 크기 결정부(118-1, 118-2), 다중 버퍼강제회수부(122-1, 122-2), 다중 우선순위 분석부(124-1, 124-2)와, 시스템 메모리 할당부(120)를 포함한다. 1, the system in which the steel process middleware is executed includes multiple tasks 100-1 and 100-2 and a middleware 110. The middleware 110 includes multiple tasks 100-1 and 100-2 2), multiple data queues 114-1 and 114-2, multiple transmit / receive probes 116-1 and 116-2, multiple request data queues 112-1 and 112-2, Size determining units 118-1 and 118-2, multiple buffer forced collection units 122-1 and 122-2, multiple priority analysis units 124-1 and 124-2, a system memory allocation unit 120 ).

상기 태스크(100-1, 100-2)는, 철강 공정을 동작시키기 위한 레벨 2 시스템의 철강 공정 운용 로직을 포함하는 응용 소프트웨어(software)로서, 공정의 단위기능(예를 들어, 제품위치추적, 압연제어, 냉각수제어 등)을 고유기능으로 한다. 상기 태스크(100-1, 100-2)는, 태스크 간 협업을 위해 데이터를 상호 송수신하며, 기 송신한 데이터 및 해당 데이터의 정보가 반송되면, 해당 데이터의 재전송 여부를 결정하여 재전송할 수 있다. 여기서, 철강 공정 레벨 2 시스템은 철강 공정 레벨 1, 3 시스템과 함께 철강공정 자동화 시스템을 구성하며, 상기 태스크(100-1, 100-2)와 미들웨어(110)를 이용하여, 철강 공정 레벨 3 시스템으로부터의 공정지시를 철강 공정 레벨 1 시스템으로 전달하고, 최종적으로 철강 공정 레벨 1 시스템에서 공정설비를 직접 구동하면, 철강 공정 레벨 1 시스템으로부터의 수행 결과를 철강 공정 레벨 3 시스템으로 전달한다. The tasks 100-1 and 100-2 are application software including a steel process operation logic of a level 2 system for operating a steel process and include a unit function of a process (for example, Rolling control, cooling water control, etc.). The tasks 100-1 and 100-2 mutually transmit and receive data for inter-task collaboration. When the transmitted data and the corresponding data are returned, the tasks 100-1 and 100-2 can determine whether to retransmit the corresponding data and retransmit the data. Here, the steel process level 2 system constitutes a steel process automation system together with steel process level 1 and 3 systems, and the steel process level 3 system, using the above-described tasks 100-1 and 100-2 and the middleware 110, To the steel process level 1 system and finally to the steel process level 1 system to direct the process facility to the steel process level 3 system.

상기 미들웨어(110)는, 상기 태스크(100-1, 100-2)의 요청을 받아 태스크 간의 통신이나 공정 제어에 관련된 정보의 저장 및 참조 등의 작업을 수행하고, 현재 수행 중인 태스크(100-1, 100-2)를 관리한다. The middleware 110 receives requests from the tasks 100-1 and 100-2 to perform tasks such as storing and referencing information related to communication between tasks and process control, , 100-2).

상기 대행 처리자(112-1, 112-2)는, 데이터 송수신용 통신채널을 통해 대응하는 태스크(100-1, 100-2)를 대신하여 미들웨어단에서 필요한 서비스 처리를 대행한다. 특히, 상기 대행 처리자(112-1, 112-2)는, 대응하는 태스크(100-1, 100-2)로부터 데이터 송신이 요구되면, 목적지 태스크의 송수신 프로브(116-1, 116-2)를 제어하여 목적지 태스크의 송신 프로브 정보를 갱신하고, 목적지 태스크의 우선순위 분석부(124-1, 124-2)를 제어하여 목적지 태스크의 데이터 큐 내 해당 데이터에 대한 우선순위 정보를 갱신한 후, 해당 데이터를 목적지 태스크의 데이터 큐(114-1, 114-2)에 저장한다. 또한, 상기 대행 처리자(112-1, 112-2)는, 대응하는 태스크(100-1, 100-2)로부터 데이터 수신이 요구되면, 대응 태스크의 송수신 프로브(116-1, 116-2)를 제어하여 대응 태스크의 수신 프로브 정보를 갱신하고, 대응 태스크의 우선순위 분석부(124-1, 124-2)를 제어하여 대응 태스크의 데이터 큐 내 해당 데이터에 대한 우선순위 정보를 삭제한 후, 해당 데이터를 대응 태스크의 데이터 큐(114-1, 114-2)에서 삭제하고 해당 데이터를 대응 태스크(100-1, 100-2)로 전달한다. The substitution processors 112-1 and 112-2 substitute for the corresponding tasks 100-1 and 100-2 through the communication channel for data transmission and reception, and perform the necessary service processing in the middleware. In particular, when data transmission is requested from the corresponding task 100-1 or 100-2, the proxy processors 112-1 and 112-2 transmit and receive the transmission / reception probes 116-1 and 116-2 of the destination task Updates the transmission probe information of the destination task and updates the priority information for the corresponding data in the data queue of the destination task by controlling the priority analyzing units 124-1 and 124-2 of the destination task, And stores the data in the data queues 114-1 and 114-2 of the destination task. When the data reception is requested from the corresponding task 100-1 or 100-2, the proxy processors 112-1 and 112-2 transmit and receive the transmission / reception probes 116-1 and 116-2 of the corresponding task And updates the reception probe information of the corresponding task by controlling the priority analyzing units 124-1 and 124-2 of the corresponding task to delete the priority information for the corresponding data in the data queue of the corresponding task, Data is deleted from the data queues 114-1 and 114-2 of the corresponding task, and the corresponding data is transferred to the corresponding tasks 100-1 and 100-2.

상기 데이터 큐(114-1, 114-2)는, 대응하는 태스크(100-1, 100-2)에 의해 수신되어야하는 데이터를 임시 저장한다. The data queues 114-1 and 114-2 temporarily store data to be received by the corresponding tasks 100-1 and 100-2.

상기 송수신 프로브(116-1, 116-2)는, 대응하는 데이터 큐(114-1, 114-2)를 모니터링하여, 대응하는 태스크(100-1, 100-2)의 송/수신 프로브 정보를 주기적으로 수집하고, 수집된 송/수신 프로브 정보를 대응하는 요구 데이터 큐 크기 결정부(118-1, 118-2)로 제공한다. The transmission / reception probes 116-1 and 116-2 monitor the corresponding data queues 114-1 and 114-2 to transmit / receive probe information of the corresponding task 100-1 and 100-2 And provides the collected transmit / receive probe information to the corresponding request data queue size determining sections 118-1 and 118-2.

상기 요구 데이터 큐 크기 결정부(118-1, 118-2)는, 대응하는 태스크(100-1, 100-2)의 송/수신 프로브 정보를 기반으로, 해당 태스크(100-1, 100-2)가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크(100-1, 100-2)로 송신하는 초당 데이터의 수를 결정하고, 해당 태스크(100-1, 100-2)가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크(100-1, 100-2)로 송신하는 초당 데이터의 수의 차를 기반으로 해당 태스크(100-1, 100-2)의 요구되는 데이터 큐의 크기를 결정한다. The request data queue size determination units 118-1 and 118-2 determine the required data queue sizes of the corresponding tasks 100-1 and 100-2 based on the transmission / reception probe information of the corresponding tasks 100-1 and 100-2 Determines the number of pieces of data per second to be transmitted to the corresponding task 100-1 or 100-2 based on the number of pieces of data per second received by the task 100-1 or 100-2, Based on the difference between the number of data items transmitted per second and the number of data items per second transmitted to the corresponding tasks 100-1 and 100-2, the size of the required data queue of the corresponding task 100-1 or 100-2 is determined .

상기 시스템 메모리 할당부(120)는, 태스크별로 해당 태스크(100-1, 100-2)의 요구되는 데이터 큐의 크기를 기반으로 해당 태스크(100-1, 100-2)에 할당할 시스템 메모리량을 결정하고, 결정된 시스템 메모리량 만큼의 시스템 메모리를 해당 태스크(100-1, 100-2)에 할당한다. 상세히 설명하면, 상기 시스템 메모리 할당부(120)는, 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기에 해당 태스크의 중요도를 적용하여 해당 태스크에 할당 가능한 시스템 메모리량을 결정하고, 전체 태스크에 할당 가능한 시스템 메모리량의 총합을 결정한다. 이후, 상기 시스템 메모리 할당부(120)는, 태스크별로 전체 태스크에 할당 가능한 시스템 메모리량의 총합에 대한 해당 태스크에 할당 가능한 시스템 메모리량의 비율을 결정하고, 태스크별로 해당 태스크에 대해 결정된 비율에 비례하는 개수의 추첨번호를 해당 태스크에 부여한다. 예를 들어, 상기 시스템 메모리 할당부(120)는, 태스크별로 해당 태스크에 대해 결정된 비율을 정수값으로 변환하고, 정수값에 비례하는 개수의 추첨번호를 해당 태스크에 부여할 수 있다. 여기서, 정수값의 총합은 미들웨어에 할당 가능한 시스템 메모리량과 동일하다. 이후, 상기 시스템 메모리 할당부(120)는, 추첨번호 추첨을 통해 각 태스크에 할당할 최종 시스템 메모리량을 결정한다. 예를 들어, 상기 시스템 메모리 할당부(120)는, 전체 태스크에 부여된 추첨번호 중 하나의 번호를 추첨하여 추첨된 번호의 태스크에 데이터 하나의 크기만큼의 시스템 메모리를 가상할당하고, 추첨된 번호를 제외한 나머지 추첨번호를 대상으로 다시 추첨하여, 미들웨어에 할당 가능한 시스템 메모리량의 시스템 메모리가 모두 가상할당될 때까지 시스템 메모리 가상할당을 계속 진행할 수 있다.The system memory allocation unit 120 allocates a system memory amount to be allocated to the tasks 100-1 and 100-2 based on the size of a data queue required for the tasks 100-1 and 100-2 for each task And allocates the system memory corresponding to the determined system memory amount to the corresponding task 100-1 or 100-2. In detail, the system memory allocation unit 120 determines the amount of system memory that can be allocated to a corresponding task by applying the importance of the task to the size of a data queue required for the task for each task, And determines the total amount of system memory. The system memory allocation unit 120 then determines the ratio of the system memory amount allocable to the task to the total sum of the amount of system memory allocatable to the entire task for each task, and is proportional to the ratio determined for the task for each task Number of lottery numbers to the corresponding task. For example, the system memory allocation unit 120 may convert a ratio determined for the task to an integer value for each task, and assign a lot number to the task in proportion to an integer value. Here, the sum of the integer values is equal to the amount of system memory that can be allocated to the middleware. Thereafter, the system memory allocation unit 120 determines the final amount of system memory to be allocated to each task through a lottery number draw. For example, the system memory allocation unit 120 assigns a lot number of the lot number assigned to the entire task, assigns a system memory of one size of data to the lot numbered task, , The virtual memory allocation of the system memory can be continued until all the system memory of the system memory amount allocable to the middleware is virtually allocated.

상기 버퍼강제회수부(122-1, 122-2)는, 시스템 메모리 할당 결과에 따라 대응하는 태스크(100-1, 100-2)에 기 할당된 시스템 메모리를 강제회수한다. 상기 시스템 메모리 할당부(120)는, 현재 할당된 시스템 메모리의 양이 이전에 할당된 양보다 작은 태스크(100-1, 100-2)가 존재할 경우, 해당 태스크(100-1, 100-2)로부터 차에 해당하는 양 만큼의 시스템 메모리를 강제회수하도록 해당 버퍼강제회수부(122-1, 122-2)를 제어하며, 해당 버퍼강제회수부(122-1, 122-2)는, 상기 시스템 메모리 할당부(120)의 제어에 따라 대응하는 데이터 큐(114-1, 114-2)에 기 저장되어 있는 데이터들 중 우선순위가 가장 낮은 데이터들을 삭제하고, 해당 데이터를 송신한 다른 태스크에게 삭제될 데이터의 정보 및 해당 데이터를 전달한다. The buffer forced recovery units 122-1 and 122-2 compulsorily collect system memory allocated in the corresponding tasks 100-1 and 100-2 in accordance with a system memory allocation result. The system memory allocating unit 120 allocates the tasks 100-1 and 100-2 to the system memory allocating unit 120 when the amount of currently allocated system memory is smaller than the previously allocated amount of the tasks 100-1 and 100-2, The corresponding buffer forced recovery units 122-1 and 122-2 control the corresponding buffer forced recovery units 122-1 and 122-2 to forcibly collect system memory corresponding to the difference from the system According to the control of the memory allocation unit 120, deletes the data having the lowest priority among the data stored in the corresponding data queues 114-1 and 114-2, Information of the data to be transmitted and the corresponding data.

상기 우선순위 분석부(124-1, 124-2)는, 대응하는 데이터 큐(114-1, 114-2) 내 데이터에 대한 데이터 큐(114-1, 114-2) 내 우선순위를 계산하고, 계산된 우선순위 정보를 대응하는 버퍼강제회수부(122-1, 122-2)로 제공한다. 여기서, 상기 우선순위는 데이터 식별자, 데이터에 저장된 내용을 실시간 분석하여 자동 계산된다.
The priority analysis units 124-1 and 124-2 calculate the priority in the data queues 114-1 and 114-2 for the data in the corresponding data queues 114-1 and 114-2 , And provides the calculated priority information to the corresponding buffer forced recovery units 122-1 and 122-2. Here, the priority is automatically calculated by analyzing the contents stored in the data identifier and the data in real time.

도 2는 본 발명의 일 실시 형태에 따른 철강 공정 미들웨어 시스템에서 시스템 메모리 동적 할당 방법을 도시한 흐름도이다. 2 is a flowchart illustrating a system memory dynamic allocation method in a steelworking middleware system according to an embodiment of the present invention.

상기 도 2를 참조하면, 철강 공정 미들웨어 시스템은 201단계에서 태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 결정한다. Referring to FIG. 2, in step 201, the steelworking middleware system determines the number of pieces of data per second received by the corresponding task and the number of pieces of data per second transmitted to the corresponding task.

이후, 상기 철강 공정 미들웨어 시스템은 203단계에서 상기 결정의 결과를 기반으로 태스크별 해당 태스크의 요구되는 데이터 큐의 크기를 결정한다. 여기서, 상기 철강 공정 미들웨어 시스템은 태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수의 차를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정한다. 태스크별로 해당 태스크가 수신하는 초당 데이터 수에 비해 다른 태스크들이 해당 태스크로 송신하는 초당 데이터 수가 많을 경우, 해당 태스크에 의해 수신되지 못한 데이터를 데이터 큐에 임시 저장하여 다음 데이터 수신 가능 시점에 수신될 수 있도록, 해당 태스크의 요구되는 데이터 큐의 크기를 결정해야 한다. 예를 들어, k번째 태스크가 수신하는 초당 데이터의 수가 Qk 개/초이고, 다른 태스크들이 k번째 태스크로 송신하는 초당 데이터의 수가 Ik 개/초인 경우, k번째 태스크의 요구되는 데이터 큐의 크기를 (Ik-Qk) 개/초로 결정할 수 있다. 또는, 다른 태스크들이 이전까지의 송수신 패턴과 달리 k번째 태스크로 갑자기 많은 데이터를 송신할 수 있으므로, 이러한 경우를 대비할 수 있도록 여분값을 추가로 설정하여, k번째 태스크의 요구되는 데이터 큐의 크기를 (Ik-Qk)×(1+α) 개/초로 결정할 수도 있다. 여기서, α는 여분값으로, 0 이상의 수로 설정된다. Then, in step 203, the steelworking middleware system determines a size of a data queue required for a task-specific task based on the determination result. Here, the steelworking middleware system determines the size of a required data queue of a corresponding task based on the difference between the number of data per second received by the corresponding task and the number of data per second transmitted to the corresponding task. If the number of data per second transmitted to the task is larger than the number of data per second received by the task, the data not received by the task is temporarily stored in the data queue and received at the next data receiving time , The size of the data queue required for that task must be determined. For example, if the number of data per second that the kth task receives is Qk (I k -Q k ) / sec, where the number of data per second transmitted by the k-th task is I k / sec, the size of the data queue required by the k-th task can be determined. Alternatively, since other tasks may suddenly transmit a large amount of data to the kth task unlike the previous transmission / reception pattern, extra values are additionally set so that the size of the data queue of the kth task (I k -Q k ) × (1 + α) pieces per second. Here,? Is an extra value and is set to a number equal to or larger than zero.

이후, 상기 철강 공정 미들웨어 시스템은 205단계에서 상기 결정된 태스크별 해당 태스크의 요구되는 데이터 큐의 크기를 기반으로 전체 태스크의 요구되는 데이터 큐 크기의 총합을 결정한다. 예를 들어, 1번째 태스크부터 m번째 태스크까지 전체 태스크의 요구되는 데이터 큐 크기의 총합을 {(I1-Q1)+...+(Im-Qm)}×(1+α) 개/초로 결정할 수도 있다.Then, in step 205, the steel process middleware system determines a total sum of required data queue sizes of all the tasks based on the size of the requested data queue of the task corresponding to the determined task. For example, the sum of the required data queue sizes of all tasks from the first task to the mth task is {(I 1 -Q 1 ) + ... + (I m -Q m )} × (1 + It is also possible to determine the number of dogs per second.

이후, 상기 철강 공정 미들웨어 시스템은 207단계에서 상기 결정된 전체 태스크의 요구되는 데이터 큐 크기의 총합이 미들웨어에 할당 가능한 시스템 메모리량보다 큰지 여부를 검사한다. 태스크 간 원활한 데이터 송수신을 위해서는, 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기 만큼의 시스템 메모리를 해당 태스크에 할당하면 된다. 하지만, 실제 미들웨어에 할당 가능한 시스템 메모리량에는 한계가 있으며, 따라서 전체 태스크의 요구되는 데이터 큐 크기의 총합이 미들웨어에 할당 가능한 시스템 메모리량보다 클 경우, 전체 태스크에 할당하기에 충분한 시스템 메모리가 존재하지 않으므로, 적절한 시스템 메모리 할당 방법이 필요하다. 이에 본 출원은 태스크의 우선순위(즉, 중요도)와 확률에 기반한 시스템 메모리 할당 방법을 제안한다. 시스템 메모리 할당에 있어서 중요도를 고려하는 것은, 중요도가 높은 태스크일수록 해당 태스크의 요구되는 데이터 큐 크기 만큼의 시스템 메모리를 거의 그대로 해당 태스크에 할당하기 위함이다. 하지만, 이와 같이 태스크의 중요도만 고려할 경우, 중요도가 낮은 태스크는 항상 불이익만 받게 되어 데이터 손실률이 항상 높을 수 있으며, 이에 따라 해당 태스크로 전송되는 데이터에 일부 중요한 데이터가 포함되어 있을 경우 문제가 될 수 있다. 따라서, 중요도가 낮은 태스크도 충분한 데이터 큐 크기를 확보할 수 있는 기회를 제공할 필요가 있다. 이에 본 출원은 태스크의 중요도와 확률을 고려하여 시스템 메모리를 할당하도록 한다. Then, in step 207, the steel processing middleware system checks whether the sum of required data queue sizes of the determined total tasks is larger than the amount of system memory allocable to the middleware. For smooth data transmission / reception between tasks, the system memory corresponding to the size of the data queue required for the task can be allocated to the corresponding task. However, there is a limit to the amount of system memory that can be allocated to the actual middleware. Therefore, if the total of the required data queue sizes of the entire task is larger than the amount of system memory allocatable to the middleware, there is not enough system memory Therefore, a proper system memory allocation method is needed. Accordingly, the present application proposes a system memory allocation method based on the task priority (i.e., importance) and probability. The importance of system memory allocation is considered in order to allocate system memory as much as the required data queue size of the task to the corresponding task with higher importance. However, considering only the importance of the task in this way, the data loss rate may be always high because the task with low importance always receives only the disadvantage. Therefore, if the data transmitted to the task includes some important data, have. Therefore, low-importance tasks also need to provide an opportunity to secure a sufficient data queue size. Therefore, the present application allocates the system memory in consideration of the importance and probability of the task.

상기 207단계에서, 상기 결정된 전체 태스크의 요구되는 데이터 큐 크기의 총합이 미들웨어에 할당 가능한 시스템 메모리량보다 클 경우, 상기 철강 공정 미들웨어 시스템은 209단계로 진행하여 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기에 해당 태스크의 중요도를 적용하여 해당 태스크에 할당 가능한 시스템 메모리량을 결정한다. 예를 들어, k번째 태스크에 할당 가능한 시스템 메모리량을 Pk×(Ik-Qk)×(1+α) 개/초로 결정할 수 있다. 여기서, Pk는 k번째 태스크의 중요도를 나타낸다. 각 태스크의 중요도는 관리자에 의해 미리 할당되고, 0 내지 1의 범위 내 값을 가지며, 중요도가 1에 가까운 값을 가질수록 중요한 태스크를 나타낸다. If the sum of the requested data queue sizes of all the determined tasks is greater than the amount of system memory allocable to the middleware in step 207, the steel processing middleware system proceeds to step 209, The amount of system memory that can be allocated to the task is determined by applying the importance of the task to the size. For example, the amount of system memory that can be allocated to the k-th task can be determined as P k × (I k -Q k ) × (1 + α) pieces / second. Here, P k represents the importance of the kth task. The importance of each task is assigned in advance by the administrator, has a value within the range of 0 to 1, and the important task has a value closer to 1, which represents an important task.

이후, 상기 철강 공정 미들웨어 시스템은 211단계에서 전체 태스크에 할당 가능한 시스템 메모리량의 총합을 결정한다. 예를 들어, 1번째 태스크부터 m번째 태스크까지 전체 태스크에 할당 가능한 시스템 메모리량의 총합 T를 {P1×(I1-Q1)×(1+α)}+...+{Pm×(Im-Qm)×(1+α)} 개/초로 결정할 수도 있다.Then, in step 211, the steel process middleware system determines a sum of system memory amounts allocable to all tasks. For example, the first task from a total sum m T of the first task assigned to the entire system memory task amount {P 1 × (I 1 -Q 1) × (1 + α)} to {P m + ... + × (I m -Q m ) × (1 + α)} pieces per second.

이후, 상기 철강 공정 미들웨어 시스템은 213단계에서 태스크별로 전체 태스크에 할당 가능한 시스템 메모리량의 총합에 대한 해당 태스크에 할당 가능한 시스템 메모리량의 비율을 결정한다. 예를 들어, 전체 태스크에 할당 가능한 시스템 메모리량의 총합 T에 대한 k번째 태스크에 할당 가능한 시스템 메모리량의 비율 Lk를 Pk×(Ik-Qk)×(1+α)/T 개/초로 결정할 수 있다. In step 213, the steel-processing middleware system determines a ratio of a system memory amount allocable to a corresponding task to a total sum of system memory amounts allocatable to all tasks for each task. For example, the ratio of the amount of system memory that can be allocated to the k-th task to the total T of system memory amount that can be allocated to the entire task, L k, is calculated as P k × (I k -Q k ) × / Sec. ≪ / RTI >

이후, 상기 철강 공정 미들웨어 시스템은 215단계에서 태스크별로 해당 태스크에 해당 비율에 비례하는 개수의 추첨번호를 부여한다. 상세히 설명하면, 상기 철강 공정 미들웨어 시스템은 태스크별로 해당 태스크에 대해 상기 결정된 비율을 정수값으로 변환하고, 정수값에 비례하는 개수의 추첨번호를 해당 태스크에 부여한다. 이때, 정수값의 총합은 미들웨어에 할당 가능한 시스템 메모리량과 동일하다. 예를 들어, 1, 2, 3번째 태스크 전체에 할당 가능한 시스템 메모리량의 총합에 대한 1번째 태스크에 할당 가능한 시스템 메모리량의 비율 L1이 0.4이고, 2번째 태스크에 할당 가능한 시스템 메모리량의 비율 L2가 0.1이며, 3번째 태스크에 할당 가능한 시스템 메모리량의 비율 L3이 0.5이고, 미들웨어에 할당 가능한 시스템 메모리량이 10인 경우, 비율 0.4, 0.1, 0.5 각각을 정수값 4, 1, 5로 변환하고, 1번째 태스크에 정수값 4에 비례하는 20(=4×5)개의 추첨번호(예를 들어, 1~20번), 2번째 태스크에 정수값 1에 비례하는 5(=1×5)개의 추첨번호(예를 들어, 21~25번), 3번째 태스크에 정수값 5에 비례하는 25(=5×5)개의 추첨번호(예를 들어, 26~50번)를 부여할 수 있다. Then, in step 215, the steelworking middleware system assigns the number of the lottery number proportional to the ratio to the corresponding task for each task. In more detail, the steelworking middleware system converts the determined ratio to an integer value for a corresponding task for each task, and assigns a lottery number, which is proportional to an integer value, to the corresponding task. At this time, the sum of the integer values is equal to the amount of system memory that can be allocated to the middleware. For example, if the ratio L 1 of the amount of system memory allocatable to the first task with respect to the total amount of system memory that can be allocated to all of the first, second, and third tasks is 0.4 and the ratio of the amount of system memory allocatable to the second task L 2 is 0.1, the ratio L 3 of the system memory amount allocable to the third task is 0.5, and the amount of system memory allocable to the middleware is 10, the ratio 0.4, 0.1, 0.5 (= 4 × 5) lot numbers (for example, 1 to 20) proportional to the integer value 4 in the first task, an integer value (for example, 1 to 20) in the second task, 5 (= 5 x 5) lottery numbers (for example, 21 to 25) proportional to 1 and 25 (= 5 x 5) lottery numbers (for example, 26 to 50).

이후, 상기 철강 공정 미들웨어 시스템은 217단계에서 추첨번호 추첨을 통해 각 태스크에 할당할 최종 시스템 메모리량을 결정한다. 예를 들어, 전체 태스크에 부여된 추첨번호 중 하나의 번호를 추첨하여 추첨된 번호의 태스크에 데이터 하나의 크기만큼의 시스템 메모리를 가상할당하고, 추첨된 번호를 제외한 나머지 추첨번호를 대상으로 다시 추첨하여, 미들웨어에 할당 가능한 시스템 메모리량의 시스템 메모리가 모두 가상할당될 때까지 시스템 메모리 가상할당을 계속 진행함으로써, 각 태스크에 할당할 최종 시스템 메모리량을 결정할 수 있다. 미들웨어에 할당 가능한 시스템 메모리량이 많은 경우, 추첨하는 오버헤드가 클 수 있으므로, 한번에 여러 개의 번호를 추첨하여 추첨된 번호의 태스크들에 시스템 메모리를 한번에 가상할당할 수도 있다. 이에 따라 각 태스크의 데이터 큐는 확률에 따라 시스템 메모리를 할당받게 되며, 중요도가 높은 태스크가 시스템 메모리를 많이 할당받을 확률이 크나, 중요도가 낮은 태스크도 낮은 확률이지만 시스템 메모리를 원하는 만큼 할당받을 수 있으며, 이를 통해 시스템의 변동성에 대응할 수 있다. Then, in step 217, the steel process middleware system determines a final system memory amount to be allocated to each task through a lottery number lottery. For example, the system memory of one size of data is virtually allocated to a lottery numbered task by drawing one of lottery numbers assigned to the entire task, and the remaining lottery numbers other than the lottery number are again drawn So that the system memory virtual allocation is continued until all of the system memory of the amount of system memory allocable to the middleware is virtually allocated, thereby determining the final amount of system memory to be allocated to each task. If there is a large amount of system memory that can be allocated to the middleware, the overhead of lottery may be large, so that the system memory can be allocated to the lottery numbered tasks at one time by drawing multiple numbers at once. Therefore, the data queue of each task is allocated system memory according to the probability, and a task having a high priority is assigned a lot of system memory, while a task having a low priority is assigned a low probability. However, , Thereby responding to the variability of the system.

이후, 상기 철강 공정 미들웨어 시스템은 219단계에서 태스크별로 해당 태스크에 할당할 최종 시스템 메모리량 만큼의 시스템 메모리를 해당 태스크에 할당한다. 만약, 현재 할당된 시스템 메모리의 양이 이전에 할당된 양보다 작은 태스크가 존재할 경우, 상기 철강 공정 미들웨어 시스템은 해당 태스크로부터 차에 해당하는 양 만큼의 시스템 메모리를 강제회수하며, 이를 위해 해당 태스크의 데이터 큐에 기 저장되어 있는 데이터들 중 우선순위가 가장 낮은 데이터들을 삭제한다. 이때, 삭제된 데이터들을 그대로 삭제처리할 경우 데이터 손실이 발생할 수 있으므로, 상기 철강 공정 미들웨어 시스템은 해당 데이터를 송신한 태스크에게 삭제될 데이터의 정보 및 해당 데이터를 전달하여 해당 데이터를 송신한 태스크가 데이터 재전송 여부를 결정할 수 있도록 한다.In step 219, the steel process middleware system allocates a system memory corresponding to a final system memory amount to be allocated to a corresponding task to the corresponding task. If there is a task in which the amount of currently allocated system memory is smaller than the previously allocated amount, the steel process middleware system forcibly recovers the system memory corresponding to the difference from the corresponding task, The data having the lowest priority among the data stored in the data queue is deleted. At this time, if the deleted data is deleted as it is, data loss may occur. Therefore, the steel process middleware system transmits information and data of data to be deleted to the task that transmitted the corresponding data, To determine whether to retransmit.

반면, 상기 207단계에서, 상기 결정된 전체 태스크의 요구되는 데이터 큐 크기의 총합이 미들웨어에 할당 가능한 시스템 메모리량보다 크지 않을 경우, 전체 태스크에 할당하기에 충분한 시스템 메모리가 존재하므로, 상기 철강 공정 미들웨어 시스템은 221단계로 진행하여 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기를 해당 태스크에 할당할 최종 시스템 메모리량으로 결정한 후, 상기 219단계로 진행하여 이하 단계를 반복 수행한다. On the other hand, if the sum of the requested data queue sizes of the determined total tasks is not larger than the amount of system memory allocatable to the middleware in step 207, there is sufficient system memory to be allocated to the entire task, The process proceeds to step 221, where the size of the data queue required for the task is determined as the amount of the final system memory to be allocated to the task, and then the process proceeds to step 219 to repeat the following steps.

이후, 상기 철강 공정 미들웨어 시스템은 본 발명에 따른 알고리즘을 종료한다.
Thereafter, the steelworking middleware system terminates the algorithm according to the present invention.

이상에서 본 발명의 실시예에 대하여 상세하게 설명하였지만 본 발명의 권리범위는 이에 한정되는 것은 아니고, 청구범위에 기재된 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 다양한 수정 및 변형이 가능하다는 것은 당 기술분야의 통상의 지식을 가진 자에게는 자명할 것이다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed exemplary embodiments, but, on the contrary, It will be obvious to those of ordinary skill in the art.

100-1, 100-2: 태스크
110: 미들웨어
112-1, 112-2: 대행 처리자
114-1, 114-2: 데이터 큐
116-1, 116-2: 송수신 프로브
118-1, 118-2: 요구 데이터 큐 크기 결정부
120: 시스템 메모리 할당부
122-1, 122-2: 버퍼강제회수부
124-1, 124-2: 우선순위 분석부
100-1, 100-2: Task
110: Middleware
112-1, 112-2: agent
114-1, 114-2: Data queue
116-1, 116-2: transmission / reception probes
118-1, 118-2: Request data queue size determination unit
120: system memory allocation unit
122-1 and 122-2: a buffer forced recovery unit
124-1 and 124-2: Priority analysis section

Claims (12)

요구 데이터 큐 크기 결정부에서, 태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 과정과,
시스템 메모리 할당부에서, 태스크별로 해당 태스크의 요구되는 데이터 큐의 크기를 기반으로 해당 태스크에 할당할 시스템 메모리량을 결정하고, 결정된 시스템 메모리량 만큼의 시스템 메모리를 해당 디스크에 할당하는 과정을 포함하는 것을 특징으로 하는 시스템 메모리 동적 할당 방법.
Determining a size of a requested data queue of the task based on the number of pieces of data per second received by the task and the number of pieces of data per second to be transmitted to the task in the request data queue size determination unit;
Determining the amount of system memory to be allocated to the task based on a size of a data queue required for the task for each task in the system memory allocation unit and allocating a system memory corresponding to the determined amount of system memory to the corresponding disk Wherein the system memory dynamic allocation method comprises:
제 1 항에 있어서,
상기 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 과정은,
태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 결정하는 과정과,
태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수의 차를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 과정을 포함하는 것을 특징으로 하는 시스템 메모리 동적 할당 방법.
The method according to claim 1,
Wherein the step of determining a size of a requested data queue of the corresponding task comprises:
Determining the number of data per second received by the task and the number of data per second transmitted to the task by the task;
And determining a size of a required data queue of the task based on a difference between the number of pieces of data per second received by the task and the number of pieces of data per second to be transmitted to the task. Memory dynamic allocation method.
제 1 항에 있어서, 상기 태스크별로 해당 태스크에 할당할 시스템 메모리량을 결정하는 과정은,
태스크별로 해당 태스크의 요구되는 데이터 큐의 크기에 해당 태스크의 중요도를 적용하여 해당 태스크에 할당 가능한 시스템 메모리량을 결정하는 과정과,
전체 태스크에 할당 가능한 시스템 메모리량의 총합을 결정하는 과정과,
태스크별로 전체 태스크에 할당 가능한 시스템 메모리량의 총합에 대한 해당 태스크에 할당 가능한 시스템 메모리량의 비율을 결정하는 과정과,
태스크별로 해당 태스크에 대해 결정된 비율에 비례하는 개수의 추첨번호를 해당 태스크에 부여하는 과정과,
추첨번호 추첨을 통해 각 태스크에 할당할 최종 시스템 메모리량을 결정하는 과정을 포함하는 것을 특징으로 하는 시스템 메모리 동적 할당 방법.
2. The method of claim 1, wherein the step of determining the amount of system memory to be allocated to the task for each task comprises:
Determining a system memory amount allocable to a corresponding task by applying a priority of the task to a size of a data queue required for the task,
Determining a total amount of system memory allocatable to all tasks;
Determining a ratio of a system memory amount assignable to a task to a total sum of system memory amounts allocable to all tasks for each task;
Assigning to the task a number of lottery numbers proportional to a ratio determined for the task for each task;
And determining a final system memory amount to be allocated to each task through a lottery number lottery.
제 3 항에 있어서, 태스크별로 해당 태스크에 대해 결정된 비율에 비례하는 개수의 추첨번호를 해당 태스크에 부여하는 과정은,
태스크별로 해당 태스크에 대해 결정된 비율을 정수값으로 변환하고, 정수값에 비례하는 개수의 추첨번호를 해당 태스크에 부여하는 과정이며, 여기서, 정수값의 총합은 미들웨어에 할당 가능한 시스템 메모리량과 동일한 것을 특징으로 하는 시스템 메모리 동적 할당 방법.
4. The method of claim 3, wherein the step of assigning, to the task, a number of lottery numbers proportional to a ratio determined for the task for each task,
Converting a ratio determined for the task to an integer value for each task, and assigning a number of the lottery number proportional to the integer value to the task, wherein the sum of the integer values is equal to the amount of system memory that can be allocated to the middleware A method for dynamic allocation of system memory.
제 3 항에 있어서, 각 태스크에 할당할 최종 시스템 메모리량을 결정하는 과정은,
전체 태스크에 부여된 추첨번호 중 하나의 번호를 추첨하여 추첨된 번호의 태스크에 데이터 하나의 크기만큼의 시스템 메모리를 가상할당하고, 추첨된 번호를 제외한 나머지 추첨번호를 대상으로 다시 추첨하여, 미들웨어에 할당 가능한 시스템 메모리량의 시스템 메모리가 모두 가상할당될 때까지 시스템 메모리 가상할당을 계속 진행하는 과정임을 특징으로 하는 시스템 메모리 동적 할당 방법.
4. The method of claim 3, wherein the step of determining a final amount of system memory to be allocated to each task comprises:
The system memory of one size of data is virtually allocated to the lottery number task by drawing one of the lottery numbers assigned to the whole task, and the remaining lottery numbers other than the lottery number are drawn again, and the middleware Wherein the system memory virtual allocation is continued until all the system memory of the allocable system memory amount is virtually allocated.
제 1 항에 있어서,
상기 시스템 메모리 동적 할당 방법은,
상기 결정된 시스템 메모리 량만큼의 시스템 메모리를 해당 디스크에 할당하는 과정 이후에,
버퍼강제회수부에서, 태스크별로 현재 할당된 시스템 메모리의 양이 이전에 할당된 양보다 작은 태스크가 존재할 경우, 해당 태스크로부터 차에 해당하는 양 만큼의 시스템 메모리를 강제회수하는 과정을 더 포함하며,
상기 강제회수 과정은, 해당 태스크의 데이터 큐에 기 저장되어 있는 데이터들 중 우선순위가 가장 낮은 데이터들을 삭제하고, 해당 데이터를 송신한 태스크에게 삭제될 데이터의 정보 및 해당 데이터를 전달하는 과정임을 특징으로 하는 시스템 메모리 동적 할당 방법.
The method according to claim 1,
The system memory dynamic allocation method includes:
After the process of allocating the system memory of the determined amount of system memory to the corresponding disk,
Further comprising the step of forcibly collecting the system memory corresponding to the difference from the task when the amount of the currently allocated system memory for each task is smaller than the amount previously allocated in the forced buffering unit,
The forced collection process is a process of deleting the data having the lowest priority among the data stored in the data queue of the corresponding task and transmitting the information of the data to be deleted and the corresponding data to the task that has transmitted the corresponding data A system memory dynamic allocation method.
태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 요구 데이터 큐 크기 결정부,
태스크별로 해당 태스크의 요구되는 데이터 큐의 크기를 기반으로 해당 태스크에 할당할 시스템 메모리량을 결정하고, 결정된 시스템 메모리량 만큼의 시스템 메모리를 해당 태스크에 할당하는 시스템 메모리 할당부를 포함하는 철강 공정 미들웨어 시스템.
A request data queue size determining unit for determining a size of a data queue required for the task based on the number of pieces of data per second received by the task and the number of pieces of data per second sent to the task,
A system memory allocation unit for determining a system memory amount to be allocated to the task based on a size of a data queue required for the task for each task and allocating a system memory corresponding to the determined system memory amount to the task, .
제 7 항에 있어서, 상기 요구 데이터 큐 크기 결정부는,
태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수를 결정하고,
태스크별로 해당 태스크가 수신하는 초당 데이터의 수와 다른 태스크들이 해당 태스크로 송신하는 초당 데이터의 수의 차를 기반으로 해당 태스크의 요구되는 데이터 큐의 크기를 결정하는 것을 특징으로 하는 철강 공정 미들웨어 시스템.
The apparatus of claim 7, wherein the request data queue size determination unit comprises:
The number of data per second received by the corresponding task and the number of data per second transmitted by the other task are determined,
Wherein a size of a data queue required for the task is determined based on a difference between the number of pieces of data per second received by the task and the number of pieces of data per second transmitted to the task.
제 7 항에 있어서, 상기 시스템 메모리 할당부는,
태스크별로 해당 태스크의 요구되는 데이터 큐의 크기에 해당 태스크의 중요도를 적용하여 해당 태스크에 할당 가능한 시스템 메모리량을 결정하고,
전체 태스크에 할당 가능한 시스템 메모리량의 총합을 결정하고,
태스크별로 전체 태스크에 할당 가능한 시스템 메모리량의 총합에 대한 해당 태스크에 할당 가능한 시스템 메모리량의 비율을 결정하고,
태스크별로 해당 태스크에 대해 결정된 비율에 비례하는 개수의 추첨번호를 해당 태스크에 부여하고,
추첨번호 추첨을 통해 각 태스크에 할당할 최종 시스템 메모리량을 결정하는 것을 특징으로 하는 철강 공정 미들웨어 시스템.
8. The system according to claim 7,
The amount of system memory that can be allocated to the task is determined by applying the importance of the task to the size of the data queue required for the task,
The total amount of system memory available for allocation to the entire task is determined,
Determining a ratio of a system memory amount assignable to the task to a total sum of system memory amounts allocable to all tasks for each task,
The number of the lottery numbers proportional to the ratio determined for the task for each task is assigned to the corresponding task,
And determining a final system memory amount to be allocated to each task through a lottery number lottery.
제 9 항에 있어서, 상기 시스템 메모리 할당부는,
태스크별로 해당 태스크에 대해 결정된 비율을 정수값으로 변환하고, 정수값에 비례하는 개수의 추첨번호를 해당 태스크에 부여하며, 여기서, 정수값의 총합은 미들웨어에 할당 가능한 시스템 메모리량과 동일한 것을 특징으로 하는 철강 공정 미들웨어 시스템.
10. The system according to claim 9,
Wherein a ratio determined for the task is converted into an integer value and a lot number in proportion to an integer value is assigned to the task for each task, wherein the sum of the integer values is equal to a system memory amount allocable to the middleware Steel process middleware system.
제 9 항에 있어서, 상기 시스템 메모리 할당부는,
전체 태스크에 부여된 추첨번호 중 하나의 번호를 추첨하여 추첨된 번호의 태스크에 데이터 하나의 크기만큼의 시스템 메모리를 가상할당하고, 추첨된 번호를 제외한 나머지 추첨번호를 대상으로 다시 추첨하여, 미들웨어에 할당 가능한 시스템 메모리량의 시스템 메모리가 모두 가상할당될 때까지 시스템 메모리 가상할당을 계속 진행하는 것을 특징으로 하는 철강 공정 미들웨어 시스템.
10. The system according to claim 9,
The system memory of one size of data is virtually allocated to the lottery number task by drawing one of the lottery numbers assigned to the whole task, and the remaining lottery numbers other than the lottery number are drawn again, and the middleware And the system memory virtual allocation is continued until all of the system memory of the allocable system memory amount is virtually allocated.
제 7 항에 있어서,
태스크별로 시스템 메모리 할당 결과에 따라 해당 태스크에 기 할당된 시스템 메모리를 강제회수하는 버퍼강제회수부를 더 포함하며,
상기 시스템 메모리 할당부는, 현재 할당된 시스템 메모리의 양이 이전에 할당된 양보다 작은 태스크가 존재할 경우, 해당 태스크로부터 차에 해당하는 양 만큼의 시스템 메모리를 강제회수하도록 상기 버퍼강제회수부를 제어하며,
상기 버퍼강제회수부는, 상기 시스템 메모리 할당부의 제어에 따라 해당 태스크의 데이터 큐에 기 저장되어 있는 데이터들 중 우선순위가 가장 낮은 데이터들을 삭제하고, 해당 데이터를 송신한 태스크에게 삭제될 데이터의 정보 및 해당 데이터를 전달하는 것을 특징으로 하는 철강 공정 미들웨어 시스템.
8. The method of claim 7,
Further comprising a buffer forced recovery unit for forcibly collecting the system memory pre-allocated to the task according to a result of the system memory allocation for each task,
Wherein the system memory allocation unit controls the buffer forced recovery unit to forcibly collect an amount of the system memory corresponding to the difference from the task when the amount of currently allocated system memory is smaller than a previously allocated amount,
The buffer forcible recovery unit deletes data having the lowest priority among the data stored in the data queue of the task under the control of the system memory allocating unit and stores the information of the data to be deleted in the task that transmitted the data, And transmits the corresponding data.
KR1020130122474A 2013-10-15 2013-10-15 Steel process middleware system and method for dynamic allocating system memory KR101536423B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130122474A KR101536423B1 (en) 2013-10-15 2013-10-15 Steel process middleware system and method for dynamic allocating system memory

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130122474A KR101536423B1 (en) 2013-10-15 2013-10-15 Steel process middleware system and method for dynamic allocating system memory

Publications (2)

Publication Number Publication Date
KR20150043731A KR20150043731A (en) 2015-04-23
KR101536423B1 true KR101536423B1 (en) 2015-07-13

Family

ID=53036181

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130122474A KR101536423B1 (en) 2013-10-15 2013-10-15 Steel process middleware system and method for dynamic allocating system memory

Country Status (1)

Country Link
KR (1) KR101536423B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101940878B1 (en) 2016-12-22 2019-04-10 주식회사 포스코 System for collecting data of steel process

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040022730A (en) * 2002-09-05 2004-03-18 엘지전자 주식회사 Method for Managering Memory
KR100900439B1 (en) * 2006-12-05 2009-06-01 한국전자통신연구원 Method and Apparatus for managing out-of-memory in embedded system
KR101091325B1 (en) * 2008-12-26 2011-12-07 주식회사 포스코 Middleware for controling steel process and method for providing service in the middleware
KR20130068685A (en) * 2011-12-16 2013-06-26 한국과학기술원 Hybrid main memory system and task scheduling method therefor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20040022730A (en) * 2002-09-05 2004-03-18 엘지전자 주식회사 Method for Managering Memory
KR100900439B1 (en) * 2006-12-05 2009-06-01 한국전자통신연구원 Method and Apparatus for managing out-of-memory in embedded system
KR101091325B1 (en) * 2008-12-26 2011-12-07 주식회사 포스코 Middleware for controling steel process and method for providing service in the middleware
KR20130068685A (en) * 2011-12-16 2013-06-26 한국과학기술원 Hybrid main memory system and task scheduling method therefor

Also Published As

Publication number Publication date
KR20150043731A (en) 2015-04-23

Similar Documents

Publication Publication Date Title
US8826284B1 (en) Scalable task scheduling
CN104239227B (en) A kind of virtualization storage managing device, local virtual memory management unit and method
US9244737B2 (en) Data transfer control method of parallel distributed processing system, parallel distributed processing system, and recording medium
CN113641457A (en) Container creation method, device, apparatus, medium, and program product
JP5775481B2 (en) Information processing system and processing method thereof
KR20160087706A (en) Apparatus and method for resource allocation of a distributed data processing system considering virtualization platform
JP5121936B2 (en) RESOURCE ALLOCATION DEVICE, RESOURCE ALLOCATION PROGRAM, RECORDING MEDIUM, AND RESOURCE ALLOCATION METHOD
KR20110000727A (en) Using priority to determine whether to queue an input/output(i/o) request directed to storage
CN105740063A (en) Data processing method and apparatus
JP5245711B2 (en) Distributed data processing system, distributed data processing method, and distributed data processing program
US20190087236A1 (en) Resource scheduling device, system, and method
US9104486B2 (en) Apparatuses, systems, and methods for distributed workload serialization
KR20140117905A (en) Virtual machine allcoation of cloud service for fuzzy logic driven virtual machine resource evaluation apparatus and method
JP2014102740A (en) Information processing method, program, information processor, and information processing system
CN111427678A (en) Virtualized resource scheduling system and method in automobile diagnosis cloud platform
US20160234129A1 (en) Communication system, queue management server, and communication method
US20170147400A1 (en) Method, apparatus, and computer-readable medium for performing a data exchange
CN112114984A (en) Graph data processing method and device
AU2015382255A1 (en) Business coordination system and business coordination method
CN111737004B (en) Remote sensing satellite data transmission resource scheduling method and device based on two-way degrees of freedom
KR101536423B1 (en) Steel process middleware system and method for dynamic allocating system memory
CN109347982A (en) A kind of dispatching method and device of data center
US9672073B2 (en) Non-periodic check-pointing for fine granular retry of work in a distributed computing environment
CN106020974A (en) Memory caching method and system for NUMA (Non Uniform Memory Access Architecture) platform
KR101560879B1 (en) System for managing task and executing service of steel process middleware

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20180710

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190705

Year of fee payment: 5