KR102068676B1 - The method for scheduling tasks in real time using pattern-identification in multitier edge computing and the system thereof - Google Patents

The method for scheduling tasks in real time using pattern-identification in multitier edge computing and the system thereof Download PDF

Info

Publication number
KR102068676B1
KR102068676B1 KR1020180089619A KR20180089619A KR102068676B1 KR 102068676 B1 KR102068676 B1 KR 102068676B1 KR 1020180089619 A KR1020180089619 A KR 1020180089619A KR 20180089619 A KR20180089619 A KR 20180089619A KR 102068676 B1 KR102068676 B1 KR 102068676B1
Authority
KR
South Korea
Prior art keywords
task
pattern
equation
waiting time
neuron
Prior art date
Application number
KR1020180089619A
Other languages
Korean (ko)
Inventor
조성래
덕 지아 부
응곡 다오 누
Original Assignee
중앙대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 중앙대학교 산학협력단 filed Critical 중앙대학교 산학협력단
Priority to KR1020180089619A priority Critical patent/KR102068676B1/en
Application granted granted Critical
Publication of KR102068676B1 publication Critical patent/KR102068676B1/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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16YINFORMATION AND COMMUNICATION TECHNOLOGY SPECIALLY ADAPTED FOR THE INTERNET OF THINGS [IoT]
    • G16Y10/00Economic sectors
    • G16Y10/05Agriculture

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The present invention relates to a method for scheduling a task in real time by using pattern recognition in multi-layer edge computing and a system thereof. The method for scheduling a task in real time by using pattern recognition in multi-layer edge computing according to an embodiment of the present invention can comprise the steps of: receiving task information from an IoT apparatus and training a task pattern with respect to a timeslot offline; and optimally allocating a new task based on the trained task pattern.

Description

다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법 및 그 시스템{THE METHOD FOR SCHEDULING TASKS IN REAL TIME USING PATTERN-IDENTIFICATION IN MULTITIER EDGE COMPUTING AND THE SYSTEM THEREOF}TECHNICAL METHODS AND SYSTEMS FOR SCHEDULE WORKS IN REAL TIME USING PATTERN IDENTIFICATION IN MULTIPLE EDGE EDGE COMPUTING.THE METHOD FOR SCHEDULING TASKS IN REAL TIME USING PATTERN

본 발명은 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법에 관한 것이다. 보다 자세하게는, 자기학습 알고리즘을 이용하여 최적의 작업를 온라인으로 할당하여 작업을 스케쥴링하는 방법에 관한 것이다. The present invention relates to a method for scheduling a task in real time using pattern identification in multi-layer edge computing. More specifically, the present invention relates to a method for scheduling a task by allocating an optimal task online using a self-learning algorithm.

제조업의 스마트화는 4차 산업 혁명을 실현하는 주요 추세 중 하나이다. 스마트 공장은 산업용 사물인터넷(IIoT, Industrial Internet of Things)을 구현하는 생산기계 및 보조 장치가 통합 네트워킹에 연결된다. 이 환경에서 연결된 모든 장치는 서로 상호 작용하고 중앙 관리에 작업 명령을 요청한다. Smartization of manufacturing is one of the major trends to realize the Fourth Industrial Revolution. In smart factories, production machines and auxiliary devices that implement the Industrial Internet of Things (IIoT) are connected to integrated networking. In this environment, all connected devices interact with each other and request work orders from the central management.

정확한 생산 프로세스에는 예기치 않은 문제가 발생하면 제어 엔티티(Control Entities)의 트리거 피드백을 요청하여 기계 및 로봇의 반응을 조정한다. If the correct production process encounters an unexpected problem, it coordinates the reaction of the machine and robot by requesting trigger feedback from the Control Entities.

예를 들어, 창고에서 연기가 감지되면 즉시 작동 중지 명령을 전기 작업 체인에 보내야 하며 실시간 활성화 명령은 소화 시스템을 활성화해야 한다. For example, if smoke is detected in a warehouse, an immediate shutdown command must be sent to the electrical work chain and a real-time activation command must activate the fire extinguishing system.

그러나, 이러한 산업용 사물인터넷(IIoT) 장치는 컴퓨팅 리소스가 제한된 경량 임베디드 플랫폼으로 가정하기 때문에, 장치의 자체 기능을 사용하여 실시간 서비스를 실행하는 것은 적절하지 않다. However, since such Internet of Things (IIoT) devices are assumed to be lightweight embedded platforms with limited computing resources, it is not appropriate to run real-time services using their own capabilities.

그러나 5G 모바일 엣지 컴퓨팅(MEC, Mobile Edge Computing) 기술의 발전으로 자율적이고 신뢰할 수 있는 실시간 오프로드(offload) 서비스를 제공할 수 있다.However, advances in 5G Mobile Edge Computing (MEC) technology can provide autonomous and reliable real-time offload services.

유럽 전기 통신 표준 연구소(ETSI)에 의해 정의된 모바일 엣지 컴퓨팅(MEC)은 클라우드 컴퓨팅 기능과 네트워크 가장자리에 IT 서비스 환경을 제공한다. 보다 구체적으로는, 다중 계층 MEC(mMEC)는 가상화된 계층적 MEC 프레임 워크로 엣지 성능 구현 엔티티(ECE)가 컴퓨팅 성능에 따라 계층화된다.Mobile Edge Computing (MEC), defined by the European Telecommunications Standards Institute (ETSI), provides cloud computing capabilities and IT service environments at the edge of the network. More specifically, multi-layer MEC (mMEC) is a virtualized hierarchical MEC framework in which edge performance implementation entities (ECEs) are layered according to computing power.

다중 계층 모바일 엣지 컴퓨팅(mMEC) 프레임 워크는 중앙 오케스트레이터에 의해 감독된다. 중앙 오케스트레이터는 IIoT 애플리케이션의 요구 사항을 유지하면서 컴퓨팅 성능을 최대화하고 에너지 소비를 줄이기 위한 목적으로 IIoT 디바이스에서 오프로드 된 태스크를 스케쥴링한다. The multi-layer mobile edge computing (mMEC) framework is supervised by a central orchestrator. The central orchestrator schedules offloaded tasks on IIoT devices for the purpose of maximizing computing performance and reducing energy consumption while maintaining the requirements of IIoT applications.

따라서, 작업할당의 최적화를 위해서 오프로드된 IIoT 작업을 실시간으로 스케쥴링하는 메커니즘이 필요하다. Therefore, there is a need for a mechanism for scheduling offloaded IIoT tasks in real time to optimize task assignment.

(비특허문헌 0001) Dr. Amit Agarwal, Saloni Jain (2014). Efficient Optimal Algorithm of Task Scheduling in Cloud Computing Environment. UCTT, Vol.9, 344-349.(Non-Patent Document 0001) Amit Agarwal, Saloni Jain (2014). Efficient Optimal Algorithm of Task Scheduling in Cloud Computing Environment. UCTT, Vol. 9, 344-349.

(비특허문헌 0002) Haoyu Wang, Jiaqi Gong, Yan Zhuang, Haiying Shen, John Lach (2017). Healthedge: Task Scheduling for Edge Computing with Health Emergency and Human Behavior Consideration in Smart Homes. IEEE.(Non-Patent Document 0002) Haoyu Wang, Jiaqi Gong, Yan Zhuang, Haiying Shen, John Lach (2017). Healthedge: Task Scheduling for Edge Computing with Health Emergency and Human Behavior Consideration in Smart Homes. IEEE.

본 발명이 해결하고자 하는 기술적 과제는 작업할당의 최적화를 위해 오프로드된 IIoT 작업을 실시간으로 스케쥴링 하는 방법을 제공하는 것이다. The technical problem to be solved by the present invention is to provide a method for scheduling offloaded IIoT tasks in real time for optimization of task assignment.

본 발명의 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present invention are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

본 발명의 일 실시예에 따른 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링하는 방법은, 사물 인터넷 장치로부터 태스크 정보를 수신하여 오프라인으로 타임슬롯에 대하여 태스크 패턴을 학습하는 단계; 및 상기 학습된 태스크 패턴에 기초하여 새로운 태스크를 최적으로 할당하는 단계를 포함할 수 있다.According to an embodiment of the present invention, a method of scheduling a job in real time using pattern identification in multi-layer edge computing includes: receiving task information from an IoT apparatus and learning a task pattern on a timeslot offline; And optimally allocating a new task based on the learned task pattern.

본 발명의 일 실시예에 따른 새로운 태스크를 최적으로 할당하는 단계는, 상기 태스크 패턴에 대한 자기구성지도 세트를 식별하는 단계; 상기 자기구성지도에 대해 기대되는 최적의 태스크 할당을 각각의 타임 슬롯 이전에 계산하는 단계; 및 상기 계산된 태스크 할당에 기초하여 모바일 엣지 컴퓨팅 프레임 워크에 새로 도착하는 태스크에 가장 일치하는 뉴런을 찾아 상기 태스크를 할당하는 단계를 포함할 수 있다.Optimally assigning a new task according to an embodiment of the present invention includes: identifying a set of self-organization maps for the task pattern; Calculating, before each time slot, the optimal task assignment expected for the self-organizing map; And allocating the task by finding a neuron that best matches a task newly arriving at the mobile edge computing framework based on the calculated task assignment.

본 발명의 일 실시예에 따라 실시간으로 작업을 스케쥴링하는 방법에서, 자기구성지도 세트를 식별하는 단계와 상기 최적의 태스크 할당을 계산하는 단계는 오프라인으로 실시되고, 상기 태스크를 할당하는 단계는 온라인으로 실시되는 것을 특징으로 한다.In a method of scheduling a task in real time according to an embodiment of the present invention, identifying a set of self-organizing maps and calculating the optimal task assignment are performed offline, and assigning the task is performed online. It is characterized in that the implementation.

본 발명의 일 실시예에 따라 최적의 태스크 할당을 계산하는 단계는, 하기 수학식 F가 최소가 되는 뉴런을 찾는 것일 수 있다. According to an embodiment of the present invention, calculating the optimal task assignment may be to find a neuron whose equation F is the minimum.

[수학식 1]

Figure 112018075941212-pat00001
[Equation 1]
Figure 112018075941212-pat00001

여기서, 지표

Figure 112018075941212-pat00002
는 뉴런 j 가 ECEs s에 할당되면 1, 그 이외는 0이며,
Figure 112018075941212-pat00003
는 뉴런j가 ECEs s에 할당될 때 총 대기 시간을 의미하며 하기 수학식 2에 의해 결정된다.Where indicators
Figure 112018075941212-pat00002
Is 1 if neuron j is assigned to ECEs s, 0 otherwise
Figure 112018075941212-pat00003
Denotes the total waiting time when neuron j is assigned to ECEs s and is determined by Equation 2 below.

[수학식 2]

Figure 112018075941212-pat00004
[Equation 2]
Figure 112018075941212-pat00004

여기서, wj1, wj2, wj3, wj4는 웨이트 벡터로 상대적인 작업크기, 상대적인 평균 처리 복잡도, 상대적 응답 크기 및 상대적 실행 마감 시간의 평균값을 각각 의미하며, bs는 ECE에서 처리 대기중인 작업의 현재 버퍼 크기, rajs 태스크 j를 가지는 장치에서 네트워크로의 액세스 데이터 속도(bps), rbjs는 bps단위의 ECEs에 대한 내부 포워딩 속도, Cs는 ECEs의 CPU 주기, k 뉴런 세트 수, m은 뉴런 수이다.Here, w j1, w j2, w j3, w j4 are weight vectors, and mean values of relative job size, relative average processing complexity, relative response size, and relative execution deadline, respectively, and b s is a job waiting to be processed in ECE. The current buffer size, ra js is The access data rate (bps) from the device with task j to the network, rb js is the internal forwarding rate for ECEs in bps, C s is the CPU cycle of the ECEs, the number of k neurons, and m is the number of neurons.

본 발명의 일 실시예에 따른 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 시스템은 사물 인터넷 장치로부터 태스크 정보를 수신하여 오프라인으로 타임슬롯에 대하여 태스크 패턴을 학습하는 태스크 패턴 학습부 및 상기 학습된 태스크 패턴에 기초하여 새로운 태스크를 최적으로 할당하는 최적 태스크 할당부를 포함하고, 상기 최적 태스크 할당부는, 상기 태스크 패턴에 대한 자기구성지도 세트를 식별하는 자기구성지도 세트 식별부; 상기 자기구성지도에 대해 기대되는 최적의 태스크 할당을 각각의 타임 슬롯 이전에 계산하는 최적 태스크 할당 계산부 및 상기 계산된 태스크 할당에 기초하여 모바일 엣지 컴퓨팅 프레임 워크에 새로 도착하는 태스크에 가장 일치하는 뉴런을 찾아 상기 태스크를 할당하는 온라인 뉴런 매칭부를 포함할 수 있다.In the multi-layer edge computing according to an embodiment of the present invention, the system for scheduling a job in real time using pattern identification includes: a task pattern learning unit learning task patterns with respect to timeslots by receiving task information from an IoT apparatus; An optimal task allocator configured to optimally allocate a new task based on the learned task pattern, wherein the optimal task allocator includes: a self-organized map set identification unit identifying a self-configured map set for the task pattern; An optimal task assignment calculator that calculates the optimal task assignment expected for the self-organization map before each time slot and a neuron that best matches the newly arrived task in the mobile edge computing framework based on the calculated task assignment. It may include an online neuron matching unit for finding and assigning the task.

본 발명의 일 실시예에 따른 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링하는 방법 및 그 시스템에 따르면, 태스크 할당 지연이 크게 줄어들 수 있다. According to a method and system for scheduling a task in real time using pattern identification in multi-layer edge computing according to an embodiment of the present invention, task allocation delay may be greatly reduced.

본 발명의 일 실시예에 따르면, 태스크 할당 계산 시간이 단축되며 계산 복잡성과 계산 대기 시간이 줄어들기 때문에, 산업용 사물인터넷(IIoT)을 사용하는 환경에서 태스크 할당 효율을 높일 수 있다. According to an embodiment of the present invention, since task assignment calculation time is shortened and computation complexity and calculation wait time are reduced, task allocation efficiency can be improved in an environment using the Industrial Internet of Things (IIoT).

또한, 본 발명의 일 실시예는 태스크 할당 계산이 완료 될 때까지 기다리지 않고 실시간 작업 할당을 연속적으로 수행할 수 있다.In addition, an embodiment of the present invention may continuously perform real-time task assignment without waiting for task assignment calculation to be completed.

본 발명의 효과들은 이상에서 언급한 효과들로 제한되지 않으며, 언급되지 않은 또 다른 효과들은 아래의 기재로부터 통상의 기술자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to the above-mentioned effects, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 발명의 일 실시예에 따른 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법 및 시스템의 개념도이다.
도 2는 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 순서도이다.
도 3은 본 발명의 일 실시예에 따라 사용되는 자기학습 알고리즘을 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따라 새로운 태스크를 최적으로 할당하는 순서도이다.
도 5는 본 발명의 일 실시예에 따라 태스크 할당을 계산하는 방법의 타임라인을 나타낸다.
도 6은 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 결과를 최적 솔루션과 비교한 그래프이다.
도 7은 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 작업 처리 대기 시간을 다른 알고리즘과 비교한 그래프이다.
도 8은 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 실행 오류율을 나타낸다.
도 9는 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 평균 버퍼링 대기 시간을 나타낸다.
1 is a conceptual diagram of a method and system for scheduling a job in real time using pattern identification in multi-layer edge computing according to an embodiment of the present invention.
2 is a flowchart of a real-time job scheduling method according to an embodiment of the present invention.
3 is a diagram illustrating a self-learning algorithm used according to an embodiment of the present invention.
4 is a flowchart for optimally allocating a new task according to an embodiment of the present invention.
5 shows a timeline of a method for calculating task assignment in accordance with an embodiment of the present invention.
6 is a graph comparing the results of the real-time job scheduling method according to an embodiment of the present invention with an optimal solution.
7 is a graph comparing job processing waiting time of a real-time job scheduling method according to an embodiment of the present invention with another algorithm.
8 illustrates execution error rate of a real-time job scheduling method according to an embodiment of the present invention.
9 illustrates an average buffering wait time of a real time job scheduling method according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.As the invention allows for various changes and numerous embodiments, particular embodiments will be illustrated in the drawings and described in detail in the written description. However, this is not intended to limit the present invention to specific embodiments, it should be understood to include all modifications, equivalents, and substitutes included in the spirit and scope of the present invention. In describing the drawings, similar reference numerals are used for similar elements.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.Terms such as first, second, A, and B may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. The term and / or includes a combination of a plurality of related items or any item of a plurality of related items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.When a component is said to be "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that another component may be present in the middle. Should be. On the other hand, when a component is said to be "directly connected" or "directly connected" to another component, it should be understood that there is no other component in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in the commonly used dictionaries should be construed as having meanings consistent with the meanings in the context of the related art, and shall not be construed in ideal or excessively formal meanings unless expressly defined in this application. Do not.

명세서 전체에서 MEC(Mobile Edge Computing)은 무선 기지국에 분산 클라우드 컴퓨팅 기술을 적용하여 다양한 서비스와 캐싱 콘텐츠를 사용자 단말에 가까이 전개하여 새로운 로컬 네트워크를 창출하는 기술을 지칭하고, mMEC(multitier Mobile Edge Computing)는 가상화된 다중 계층적 MEC 프레임워크로 엣지 성능 구현 엔티티(Edge Computing-enabled entities)가 컴퓨팅 성능에 따라 계층화된 것을 지칭한다. Throughout the specification, Mobile Edge Computing (MEC) refers to a technology for creating a new local network by applying distributed cloud computing technology to a wireless base station and deploying various services and caching contents close to a user terminal. Is a virtualized multi-layered MEC framework, which refers to Edge Computing-enabled entities layered according to computing capability.

명세서 전체에서 태스크(task)는 산업용 사물인터넷 장비가 수행할 작업의 종류를 의미하는 것으로 지칭되고, 엣지 컴퓨팅 엔터티(이하, ECEs라 지칭한다)는 특정 태스크를 수행하는 구성으로 지칭된다.Throughout the specification, a task is referred to as a kind of work to be performed by an industrial IoT apparatus, and an edge computing entity (hereinafter, referred to as ECEs) is referred to as a configuration for performing a specific task.

이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1은 본 발명의 일 실시예에 따른 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법 및 시스템의 개념도이다. 1 is a conceptual diagram of a method and system for scheduling a job in real time using pattern identification in multi-layer edge computing according to an embodiment of the present invention.

도 1을 참고하면, 다중 계층 엣지 컴퓨팅(mMEC) 프레임 워크(101, 이하 mMEC로 프레임 워크로 지칭한다.)는 중앙 오케스트레이터(104)에 의해 관리 감독되고, mMEC 프레임 워크(101)는 산업용 사물 인터넷(IIoT) 장치(102)를 인터넷에 연결해 주는 역할을 수행할 뿐만 아니라, IIoT 장치(102)에서 수신하는 데이터를 처리할 수 있다.Referring to FIG. 1, a multi-layer edge computing (mMEC) framework 101 (hereinafter referred to as framework in mMEC) is managed and supervised by a central orchestrator 104, and the mMEC framework 101 is an industrial object. Not only serves to connect the Internet (IIoT) device 102 to the Internet, but also process data received by the IIoT device 102.

mMEC 프레임 워크(101)는 라우터(103), 중앙 오케스트레이터(104), 무선 액세스 포인트/스위치(105), 로컬 서버/저장소(106)로 구성된다. The mMEC framework 101 consists of a router 103, a central orchestrator 104, a wireless access point / switch 105, and a local server / storage 106.

IIoT 장치(102)에서 발생한 데이터는 액세스 포인트(105)를 통하여 수집되고 중앙 오케스트레이터(104)에서 처리되어 저장소(106)에 저장된다. Data generated at the IIoT device 102 is collected via the access point 105 and processed at the central orchestrator 104 and stored in the storage 106.

즉, 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법은 mMEC 프레임 워크(101)에서 동작되며, 중앙 오케스트레이터(104)에서 구현된다. That is, the real-time job scheduling method according to an embodiment of the present invention operates in the mMEC framework 101 and is implemented in the central orchestrator 104.

도 2는 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 순서도이다.2 is a flowchart of a real-time job scheduling method according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링하는 방법은, 사물 인터넷 장치로부터 태스크 정보를 수신하여 오프라인으로 타임슬롯(timeslots)에 대하여 태스크 패턴을 학습하는 단계(S201); 및 상기 학습된 태스크 패턴에 기초하여 새로운 태스크를 최적으로 할당하는 단계(S202)를 포함할 수 있다.In a method of scheduling a job in real time using pattern identification in multi-layer edge computing according to an embodiment of the present invention, receiving task information from an IoT apparatus and learning a task pattern with respect to timeslots offline. Step S201; And optimally allocating a new task based on the learned task pattern (S202).

상기 태스크 패턴을 학습하는 단계는, 중앙 오케스트레이터가 사물 인터넷 장치로부터 태스크 정보를 수신하여 자기학습 알고리즘(Self-Organizing Map, SOM) 을 적용함으로써 태스크 패턴의 특징을 나타내는 맵을 구성함으로써 실시된다. The learning of the task pattern is performed by the central orchestrator receiving task information from the IoT apparatus and applying a self-organizing map (SOM) to construct a map representing the characteristics of the task pattern.

도 3은 본 발명의 일 실시예에 따라 사용되는 자기학습 알고리즘을 설명하기 위한 도면이다.3 is a diagram illustrating a self-learning algorithm used according to an embodiment of the present invention.

도 3을 참조하면, 자기학습 알고리즘(이하 SOM으로 지칭한다)은 먼저 태스크 i에 가장 잘 매칭되는 뉴런을 찾고, 그 뉴런의 주변의 모든 뉴런들은 태스크 i에 가깝게 가중치 벡터를 업데이트하는 순서로 진행된다.Referring to FIG. 3, the self-learning algorithm (hereinafter referred to as SOM) first finds a neuron that best matches task i, and all neurons in the vicinity of the neuron proceed in order to update the weight vector close to task i. .

태스크 i에 가장 잘 매칭되는 뉴런

Figure 112018075941212-pat00005
는, j개의 뉴런에 대해 뉴런과 태스크 i사이에 유클리디언(Euclidean) 거리를 계산하여 태스크 i에 가장 작은 유클리디언 거리를 가지는 유닛으로 결정된다.Neurons that best match task i
Figure 112018075941212-pat00005
Is calculated as the unit having the smallest Euclidean distance to task i by calculating the Euclidean distance between the neurons and task i for j neurons.

[수학식 1],

Figure 112018075941212-pat00006
[Equation 1],
Figure 112018075941212-pat00006

그리고 상기 뉴런

Figure 112018075941212-pat00007
의 주변의 모든 뉴런들은 태스크 i에 가깝게 가중치 벡터를 업데이트하는데, 하기 수학식 2를 기초로 업데이트 된다.And the neurons
Figure 112018075941212-pat00007
All neurons in the vicinity of update the weight vector close to task i, which is updated based on Equation 2 below.

[수학식 2]

Figure 112018075941212-pat00008
[Equation 2]
Figure 112018075941212-pat00008

가중치

Figure 112018075941212-pat00009
를 업데이트함에 있어, 이웃함수
Figure 112018075941212-pat00010
, 학습요소
Figure 112018075941212-pat00011
를 이용한다. 여기서, 이웃함수
Figure 112018075941212-pat00012
는 이웃에 있는 것을 정의하기 위해 뉴런
Figure 112018075941212-pat00013
로부터 거리를 결정하며, 학습요소
Figure 112018075941212-pat00014
는 입력 태스크i에서 뉴런 j까지의 거리에 따라 입력 태스크 i에서 뉴런 j에 대한 영향의 양을 계산하는 학습인자를 나타낸다. weight
Figure 112018075941212-pat00009
In updating, the neighbor function
Figure 112018075941212-pat00010
, Learning factor
Figure 112018075941212-pat00011
Use Where neighbor function
Figure 112018075941212-pat00012
Neurons to define what is in the neighborhood
Figure 112018075941212-pat00013
Distance from the learning element
Figure 112018075941212-pat00014
Denotes a learning factor that calculates the amount of influence on neuron j in input task i according to the distance from input task i to neuron j.

여기서

Figure 112018075941212-pat00015
는 태스크 세트로 입력값을 의미한다.here
Figure 112018075941212-pat00015
Means a set of inputs to a task set.

이웃함수

Figure 112018075941212-pat00016
와 학습요소
Figure 112018075941212-pat00017
의 관계는 수학식 3과 수학식 4와 같이 나타낼 수 있다.Neighbor function
Figure 112018075941212-pat00016
And learning elements
Figure 112018075941212-pat00017
Can be represented as in Equation 3 and Equation 4.

[수학식 3]

Figure 112018075941212-pat00018
[Equation 3]
Figure 112018075941212-pat00018

[수학식 4]

Figure 112018075941212-pat00019
[Equation 4]
Figure 112018075941212-pat00019

여기서

Figure 112018075941212-pat00020
는 이웃 반지름인데, 수학식 5와 같이 정의 될 수 있다.here
Figure 112018075941212-pat00020
Is the neighbor radius, which can be defined as Equation 5.

[수학식 5]

Figure 112018075941212-pat00021
[Equation 5]
Figure 112018075941212-pat00021

여기서 R은 자기학습지도의 중심으로부터 최대 반지름을 의미하며, X는 태스크의 수를 의미한다.Where R is the maximum radius from the center of the self-study map, and X is the number of tasks.

도 4는 본 발명의 일 실시예에 따라 새로운 태스크를 최적으로 할당하는 순서도이다. 4 is a flowchart for optimally allocating a new task according to an embodiment of the present invention.

보다 구체적으로는 도 4는 도2의 학습된 태스크 패턴에 기초하여 새로운 태스크를 최적으로 할당하는 단계(S202)를 보다 세분화한 단계를 나타낸다.More specifically, FIG. 4 illustrates a more detailed step S202 of optimally allocating a new task based on the learned task pattern of FIG. 2.

따라서, 새로운 태스크를 최적으로 할당하는 단계는 태스크 패턴에 대한 자기구성지도 세트를 식별하는 단계(S301); 상기 자기구성지도에 대해 기대되는 최적의 태스크 할당을 각각의 타임 슬롯 이전에 계산하는 단계(S302); 및 상기 계산된 태스크 할당에 기초하여 모바일 엣지 컴퓨팅 프레임 워크에 새로 도착하는 태스크에 가장 일치하는 뉴런을 찾아 상기 태스크를 할당하는 단계(S303)를 포함할 수 있다.Therefore, optimally allocating a new task includes identifying a set of self-organization maps for the task pattern (S301); Calculating (S302) an optimal task assignment expected for the self-organizing map before each time slot; And (S303) finding a neuron that best matches a task newly arriving at the mobile edge computing framework based on the calculated task assignment.

태스크 패턴에 대한 자기구성지도 세트를 식별하는 단계(S301)를 보다 자세하게 설명하면, IIoT 태스크 i는 4차 특징 벡터(수학식 6)로 나타낼 수 있다.Referring to step S301 of identifying the self-organization map set for the task pattern in more detail, the IIoT task i may be represented by a fourth order feature vector (Equation 6).

[수학식 6]

Figure 112018075941212-pat00022
[Equation 6]
Figure 112018075941212-pat00022

각각의 4차 특징 벡터는 순서대로, 태스크 크기, 평균 프로세싱 복잡도, 상대 반응 크기, 상대 실행 기한을 나타낸다.Each fourth order vector represents, in order, task size, average processing complexity, relative response size, and relative execution deadline.

생산 공정은 주어진 기간 동안 지속적으로 운영되기 때문에, 이 기간의 각 타임 슬롯 내에서 mMEC 프레임 워크로 오프로드 된 IIoT 장치의 태스크 집합 X(t)의 평균 수 Nx 개의 태스크가 있는 경우 SOM의 뉴런 수 k는 다음 수학식 7과 같이 선택된다.Since the production process runs continuously for a given period, the average number of task sets X (t) of IIoT devices offloaded to the mMEC framework within each time slot of this period N neurons in the SOM if there are N x tasks k is selected as in Equation 7 below.

[수학식 7]

Figure 112018075941212-pat00023
[Equation 7]
Figure 112018075941212-pat00023

여기서, <·> 는 가장 가까운 정수 함수, λ는 SOM 사이즈를 줄이는 스케일 레벨을 의미한다.Here, <·> is the nearest integer function, and λ is the scale level of reducing the SOM size.

이러한 설정을 기반으로 k-뉴런 SOM은 주어진 기간 동안 오프로드 된 모든 IIoT 태스크를 사용하여 학습된다. 각각의 특징적인 기간 동안, 전형적으로 훈련 된 SOM을 얻음으로써 IIOT 과제를 나타낸다. 특유의 기간은 오프로드된 IIoT 태스크 도착 주기로 정의되고, 이 기간이 지나면 작업량이 다시 볼륨 및 특성 측면에서 반복된다.Based on these settings, the k-neuron SOM is trained using all IIoT tasks that are offloaded for a given period. During each characteristic period, the IIOT task is typically represented by obtaining a trained SOM. A unique period is defined as the offloaded IIoT task arrival cycle, after which the workload is repeated again in terms of volume and characteristics.

자기구성지도(SOM)에 대해 기대되는 최적의 태스크 할당을 각각의 타임 슬롯 이전에 계산하는 단계(S302)는 도 5를 참조하여 설명한다.The step S302 of calculating the optimal task assignment expected for the self-organizing map SOM before each time slot is described with reference to FIG.

도 5는 본 발명의 일 실시예에 따라 태스크 할당을 계산하는 방법의 타임라인을 나타낸다.5 shows a timeline of a method for calculating task assignment in accordance with an embodiment of the present invention.

도 5를 참조하면, 타임슬롯 t동안 예상되는 최적의 태스크 할당을 결정하기 위해, 타임 슬롯 t 이전에, 본 발명의 일 실시예에 따른 태스크 할당 계산 메커니즘은 t-Δt에서 H(t) 함수를 수행한다. 5, prior to time slot t, in order to determine the optimal task assignment expected during timeslot t, the task assignment calculation mechanism according to one embodiment of the present invention performs an H (t) function at t-Δt. To perform.

H(t) 함수는 헝가리안 방식(Hungarian Method)을 사용하는데, 시간 슬롯 t에서의 전형적인 SOM의 뉴런 세트와 현재의 ECEs 세트 사이의 예상 된 최적의 작업 할당 문제를 해결한다. The H (t) function uses the Hungarian Method, which solves the problem of expected optimal task allocation between a set of neurons in a typical SOM and a set of current ECEs in time slot t.

H(t) 함수의 결과는 H (t + 1) 함수가 (t + 1) - Δt에서 시작하더라도, t부터 t+1 까지의 기간 동안에 온라인 태스크 할당에 적용될 수 있다. The result of the H (t) function can be applied to online task assignment for a period from t to t + 1, even if the H (t + 1) function starts at (t + 1)-Δt.

예상되는 최적의 작업 할당 문제는 ECEs의 현재 성능 상태(즉, 작업 버퍼 및 CPU 주파수)와 전송 상태(즉, IIoT 장치와 mMEC 프레임 워크 간의 전송 데이터 속도 및 포워딩 데이터 속도)를 정의할 수 있으며, 최적 작업 할당은 일반적인 SOM의 뉴런 세트를 ECEs에 할당 할 때 태스크 실행의 총 대기 시간을 최소화하는 것을 목적으로 한다.The expected optimal task allocation problem can define the current performance state (ie, job buffer and CPU frequency) and transfer state (ie, transfer data rate and forwarding data rate between the IIoT device and the mMEC framework) of the ECEs. Task allocation aims to minimize the total latency of task execution when allocating a set of neurons from a typical SOM to ECEs.

예상되는 최적의 작업 할당 문제는 다음과 같이 공식화 될 수 있다. W와 M은 SOM에서 k 개의 뉴런 세트와 mMEC 프레임 워크에서 m 개의 ECEs 세트를 나타낸다.The expected optimal task allocation problem can be formulated as: W and M represent a set of k neurons in the SOM and a set of m ECEs in the mMEC framework.

SOM 뉴런은 기록된 태스크를 사용하여 학습했으므로 뉴런의 가중치 벡터는 태스크 특징의 평균값을 반영한다. 가중치 벡터 wj는 wj1, wj2, wj3, 및 wj4로 분류될 수 있는데, 상대적인 작업 크기, 상대적 평균 처리 복잡도, 상대적 응답 크기 및 상대적 실행 마감 시간의 평균값을 각각 나타낸다. ECEs에서 처리 대기중인 작업의 현재 버퍼 크기를 bs CPU 주기로 할 때, 뉴런 j가 ECEs에 할당 될 때 총 대기 시간 Ljs는 수학식 8과 같다. Since SOM neurons were trained using recorded tasks, the weight vector of the neurons reflects the mean value of the task features. The weight vectors w j can be classified into w j1 , w j2 , w j3 , and w j4 , which represent the average values of relative job size, relative average processing complexity, relative response size, and relative execution deadline, respectively. When the current buffer size of a task waiting to be processed in ECEs is b s CPU cycle, when the neuron j is allocated to the ECEs, the total waiting time L js is expressed by Equation 8.

[수학식 8]

Figure 112018075941212-pat00024
[Equation 8]
Figure 112018075941212-pat00024

여기서, rajs 태스크 j를 가지는 장치에서 네트워크로의 액세스 데이터 속도(bps), rbjs는 bps단위의 ECEs에 대한 내부 포워딩 속도, Cs는 ECEs의 CPU 주기, k 뉴런 세트 수, m은 뉴런 수이다.Where ra js is The access data rate (bps) from the device with task j to the network, rb js is the internal forwarding rate for ECEs in bps, C s is the CPU cycle of the ECEs, the number of k neurons, and m is the number of neurons.

수학식 8에서 (a)는 업로드 대기 시간, (b)는 큐 대기 시간, (c)는 작업 처리 대기 시간 및 (d)는 응답 대기 시간을 나타낸다.In Equation 8, (a) represents an upload waiting time, (b) represents a queue waiting time, (c) represents a job processing waiting time, and (d) represents a response waiting time.

액세스 데이터 속도 rajs는 수학식 9와 같이 나타낼 수 있다.The access data rate ra js may be expressed as in Equation 9.

[수학식 9]

Figure 112018075941212-pat00025
[Equation 9]
Figure 112018075941212-pat00025

여기서, BWjs는 IIoT 장치에 할당된 대역폭, SINRj는 IIoT 장치와 네트워크 간의 채널 품질을 의미한다.Here, BW js is the bandwidth allocated to the IIoT device, and SINR j is the channel quality between the IIoT device and the network.

이를 기초로 예상되는 최적 태스크 할당 문제(F)는 다음 수학식 10 내지 14과 같이 나타낼 수 있다.The optimal task assignment problem F expected based on this may be expressed as in Equations 10 to 14 below.

[수학식 10]

Figure 112018075941212-pat00026
[Equation 10]
Figure 112018075941212-pat00026

[수학식 11]

Figure 112018075941212-pat00027
[Equation 11]
Figure 112018075941212-pat00027

[수학식 12]

Figure 112018075941212-pat00028
[Equation 12]
Figure 112018075941212-pat00028

[수학식 13]

Figure 112018075941212-pat00029
[Equation 13]
Figure 112018075941212-pat00029

[수학식 14]

Figure 112018075941212-pat00030
[Equation 14]
Figure 112018075941212-pat00030

수학식 13은 뉴런을 하나의 ECEs에만 할당 할 수 있고 SOM의 모든 m 개의 뉴런에 대해 최대 일치가 설정되도록 한다.Equation 13 can assign neurons to only one ECEs and set the maximum match for all m neurons in the SOM.

즉, 상기 수학식 10에서 F가 최소가 되는 뉴런을 찾는 것으로, 찾은 뉴런은 특정 태스크에 대응될 수 있다.That is, by finding a neuron of which F is the minimum in Equation 10, the found neuron may correspond to a specific task.

최적 태스크 할당 문제 F는 두 집합 W와 M을 헝가리안 방식(이하, H (·)라고 한다)을 그래프에 적용하여 최적 해를 구한다. 함수 H (·)는 다음과 같이 수행된다.The optimal task assignment problem F finds the optimal solution by applying two sets W and M to the graph using the Hungarian method (hereinafter referred to as H (·)). The function H (·) is performed as follows.

(I) 상수 (예 : 0)의 추가 항목을 보충하여 차원 최대 (|W|, |M|)의 정사각 행렬 (V로 지칭함)을 뉴런 세트 및 ECE 세트에서 모든 가능한 작업 배정의 대기 행렬을 보강한다.(I) Supplement the addition of constants (e.g. 0) to reinforce the square matrix (referred to as V) of the dimension maximum (| W |, | M |) to a queue of all possible work assignments in the neuron set and the ECE set. do.

(Ⅱ) V의 각 모든 행 항목에서 가장 작은 행 항목을 빼고, V의 각 모든 열 항목에서 가장 작은 열 항목을 뺀다.(II) Subtract the smallest row item from each row item of V, and subtract the smallest column item from each column item of V.

(Ⅲ) 모든 제로 엔트리가 커버되는 행과 열의 최소 수를 구한다.(III) Find the minimum number of rows and columns that cover all zero entries.

(Ⅳ) υ가 V의 크기와 같으면 최적해가 발견된다. 동일한 행 또는 열에 있는 항목이 두 개 이하인 항목을 선택하고,υ가 V의 크기보다 작으면, 발견된 최소 항목 c를 결정한다. 그 다음에, 모든 커버되지 않은 행에서 c를 빼고 c를 모든 커버 된 열에 추가한다. 이전 단계로 돌아가서 최소 숫자 υ를 다시 찾는다.(IV) If ν is equal to the magnitude of V, an optimal solution is found. Select an item with two or fewer items in the same row or column, and if υ is less than the size of V, determine the minimum item c found. Then, subtract c from all uncovered rows and add c to all covered columns. Go back to the previous step and find the minimum number υ again.

각각의 타임 슬롯에 대해, 함수 H (·)는 최적의 태스크 할당 솔루션을 발견하기 위해 타임 슬롯의 시작 전에 Δt 전에 계산된다.For each time slot, the function H (·) is calculated before Δt before the start of the time slot to find the optimal task assignment solution.

새로운 태스크를 최적으로 할당하는 단계(S202)의 마지막 단계인 계산된 태스크 할당에 기초하여 모바일 엣지 컴퓨팅 프레임 워크에 새로 도착하는 태스크에 가장 일치하는 뉴런을 찾아 상기 태스크를 할당하는 단계(S303)는 온라인으로 수행된다.On the basis of the calculated task assignment, which is the last step of the step of optimally allocating a new task (S202), the step of finding a neuron that best matches the newly arrived task in the mobile edge computing framework and assigning the task (S303) is online. Is performed.

온라인 모드에서 IIoT 태스크가 mMEC 프레임 워크에 도착하면 태스크는 SOM과 일치하여 수학식1을 계산 복잡성 함수에 적용하여 가장 일치하는 뉴런을 찾는다. 오프라인 모드에서 함수 H (·)에 의해 결정된 뉴런에 대한 최적 할당에 따라, 이 할당은 도착한 IIoT 작업에 대해 즉시 수행된다.When the IIoT task arrives at the mMEC framework in online mode, the task matches the SOM to apply Equation 1 to the computational complexity function to find the best matching neurons. According to the optimal assignment for neurons determined by function H (·) in offline mode, this assignment is performed immediately for the IIoT task that arrives.

도 6 내지 도 9는 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법 및 그 시스템의 우수성을 나타내는 실험결과이다.6 to 9 are experimental results showing the superiority of the real-time job scheduling method and the system according to an embodiment of the present invention.

도 6은 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 결과를 최적 솔루션과 비교한 그래프이다.6 is a graph comparing the results of the real-time job scheduling method according to an embodiment of the present invention with an optimal solution.

보다 상세하게는, 300 타임슬롯 동안의 다양한 IIoT 작업 도착에 따라 최적 태스크 할당 F의 결과를 보여준다. 수치 결과는 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링(이하, PIOTS(Pattern-Identified Online Task Scheduling)로 지칭한다)의 대략적인 성능을 최적의 솔루션(Optimal value)과 비교하여 나타내는데, 최적 솔루션(Optimal value)와 거의 일치하는 것을 확인할 수 있다. More specifically, we show the result of the optimal task assignment F upon various IIoT job arrivals for 300 timeslots. The numerical results indicate the approximate performance of real-time task scheduling (hereinafter, referred to as pattern-identified online task scheduling (PIOTS)) according to an embodiment of the present invention in comparison with an optimal solution. Almost identical to the Optimal value).

한편, 최적 솔루션(Optimal value)은 각 타임 슬롯에서 수집 된 IIoT 태스크 세트를 기반으로 계산된다.Meanwhile, the optimal value is calculated based on the set of IIoT tasks collected in each time slot.

평균 작업 처리 대기 시간의 차이는 0.159ms이며, 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법은 SOM 맵에서 파생된 전형적인 태스크 집합에 기반하여 예상된 태스크 할당을 수행하고, 실제 태스크 할당은 온라인으로 수행한다는 점이 주목할 만 하다. The difference in average job processing latency is 0.159 ms, and the real-time job scheduling method according to an embodiment of the present invention performs the expected task assignment based on a typical task set derived from the SOM map, and the actual task assignment is online. It is noteworthy that it does.

도 7은 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 작업 처리 대기 시간을 다른 알고리즘과 비교한 그래프이다. 7 is a graph comparing job processing waiting time of a real-time job scheduling method according to an embodiment of the present invention with another algorithm.

도 7을 참조하면, 본 발명의 일 실시예에 따른 PIOTS 방법은 IIoT 장치의 개수에 상관없이, 다른 종류의 알고리즘인 OHTA(Offline Hungarian Task Assignment), OGTA(Online Greedy Task Assignment)보다 작업 처리 시간이 더 짧은 것을 확인할 수 있다. Referring to FIG. 7, the PIOTS method according to an embodiment of the present invention has a task processing time longer than other types of algorithms, OHTA (Online Greedy Task Assignment) and OGTA (regardless of the number of IIoT devices). You can see a shorter one.

본 발명의 일 실시예에 따른 PIOTS 방법은 일반적인 태스크 집합이 들어오는 태스크에 대해 예상되는 태스크 할당을 미리 결정하는 데 사용되기 때문에 효과적인 성능을 달성한다. 한편, OHTA는 각 타임 슬롯 동안 수집된 입력 태스크를 기반으로 태스크 할당을 수행한다. OHTA는 다양한 작업 도착에 더 잘 적응하지만, 작업을 수집하고 최적의 할당을 결정하기 위해 각 타임슬롯의 끝까지 기다려야 하는 단점이 있다. 반면에, OGTA 계획은 대기 시간에 대한 성능이 가장 낮은 것을 확인할 수 있다.The PIOTS method according to an embodiment of the present invention achieves effective performance because a general set of tasks is used to predetermine the expected task assignment for an incoming task. The OHTA, on the other hand, performs task assignment based on input tasks collected during each time slot. OHTA better adapts to various job arrivals, but has the disadvantage of waiting until the end of each timeslot to collect jobs and determine the optimal allocation. On the other hand, the OGTA plan can confirm that the performance against latency is the lowest.

도 8은 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 실행 오류율을 나타낸다.8 illustrates execution error rate of a real-time job scheduling method according to an embodiment of the present invention.

실행 오류율(Execution error rate %)은 네트워크의 연결된 모든 장치 중에서 기한 위반(deadline-violated) IIoT 장치의 비율로 정의된다. 도 8은 실행 마감 시간 0.5 초, 1.0 초 및 1.5 초의 세 가지 임계 값에 해당하는 시뮬레이션 결과를 보여준다. 300 개의 시뮬레이션된 타임 슬롯 동안, 0.5 초 마감 시간의 실행 오류율은 PIOTS, OHTA 및 OGTA 체계 (0.970 %, 0.976 % 및 0.977 %)에서 근사치를 가진다. 한편 1.5 초의 마감 시간으로 PIOTS 방식은 실행 오류율을 0.826 %로 줄였다. 이러한 감소는 OGTA 및 OHTA 체계와 비교하여 약 5.7 % 및 1.2 % 감소된 수치이다. 도 8에 따른 분석은 태스크 실행 기한을 만족시키기 위해 PIOTS 체계가 ECEs 간의 균형 잡힌 작업 분배를 제공함을 보여준다.Execution error rate% is defined as the ratio of deadline-violated IIoT devices among all connected devices in the network. 8 shows simulation results corresponding to three thresholds of execution deadlines 0.5 seconds, 1.0 seconds and 1.5 seconds. During 300 simulated time slots, the execution error rate of the 0.5 second deadline is approximated in the PIOTS, OHTA and OGTA schemes (0.970%, 0.976% and 0.977%). On the other hand, with a 1.5 second deadline, the PIOTS approach reduced the execution error rate to 0.826%. This reduction is about 5.7% and 1.2% reduction compared to the OGTA and OHTA systems. Analysis according to FIG. 8 shows that the PIOTS scheme provides balanced work distribution among ECEs to meet task execution deadlines.

도 9는 본 발명의 일 실시예에 따른 실시간 작업 스케쥴링 방법의 평균 버퍼링 대기 시간을 나타낸다. 9 illustrates an average buffering wait time of a real time job scheduling method according to an embodiment of the present invention.

도 9에 대해 상세히 설명하면, 100, 200 및 300 타임 슬롯 동안 ECEs에 도착한 IIoT 태스크의 평균 버퍼링 대기 시간을 본 발명의 일 실시예인 PIOTS를 다른 체계인 OHTA 및 OGTA와 비교하여 나타낸다. 9, the average buffering wait time of IIoT tasks arriving at ECEs during 100, 200, and 300 time slots is shown by comparing PIOTS, which is an embodiment of the present invention, with other schemes, OHTA and OGTA.

도착한 태스크 볼륨은 네트워크에서 포화 상태로 이끄는 ECE 성능을 수용하기 위해 구성 되기 때문에 시간 지연에 의한 대기 시간 증가가 발생한다. OGTA 체계는 모든 타임 슬롯에서 상당한 버퍼링 대기 시간을 갖는 점이 관찰된다. 반면에, 본 발명의 일 실시예에 따른 PIOTS 방식은 OGTA 방식과 OHTA 방식에 비해 각각 타임 슬롯 300에서 44.33 %와 4.32 %의 낮은 버퍼링 대기 시간을 달성한다.Arrived task volumes are configured to accommodate ECE performance leading to saturation in the network, resulting in increased latency due to time delay. It is observed that the OGTA scheme has significant buffering latency in all time slots. On the other hand, the PIOTS method according to an embodiment of the present invention achieves a low buffering latency of 44.33% and 4.32% in time slot 300, respectively, compared to the OGTA method and the OHTA method.

이상 첨부된 도면을 참조하여 본 발명의 실시예들을 설명하였지만, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.Although the embodiments of the present invention have been described above with reference to the accompanying drawings, those skilled in the art to which the present invention pertains may implement the present invention in other specific forms without changing the technical spirit or essential features thereof. I can understand that. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive.

101 : mMEC 프레임 워크
102 : 산업용 사물 인터넷(IIoT) 장치
103 : 라우터
104 : 중앙 오케스트레이터
105 : 무선 액세스 포인트/스위치
106 : 로컬 서버/저장소
101: mMEC framework
102: Industrial Internet of Things (IIoT) devices
103: router
104: central orchestrator
105: wireless access point / switch
106: local server / storage

Claims (6)

사물 인터넷 장치로부터 태스크 정보를 수신하여 오프라인으로 타임슬롯에 대하여 태스크 패턴을 학습하는 단계;
상기 학습된 태스크 패턴에 기초하여 각 뉴런에 대응되는 업로드 대기 시간, 큐 대기 시간, 작업 처리 대기 시간, 응답 대기 시간을 포함하는 총 대기시간을 결정하는 단계; 및
상기 총 대기시간이 최소인 뉴런에 기초하여 새로운 태스크를 최적으로 할당하는 단계를 포함하는,
다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법.
Receiving task information from the IoT apparatus and learning a task pattern with respect to the timeslot offline;
Determining a total waiting time including upload waiting time, queue waiting time, job processing waiting time, and response waiting time corresponding to each neuron based on the learned task pattern; And
Optimally allocating a new task based on the neurons with the lowest total latency;
How to schedule jobs in real time using pattern identification in multi-layer edge computing.
제1항에 있어서,
상기 태스크 패턴에 대한 자기구성지도 세트를 식별하는 단계;
상기 자기구성지도에 대해 기대되는 최적의 태스크 할당을 각각의 타임 슬롯 이전에 계산하는 단계; 및
상기 계산된 태스크 할당에 기초하여 모바일 엣지 컴퓨팅 프레임 워크에 새로 도착하는 태스크에 가장 일치하는 뉴런을 찾아 상기 태스크를 할당하는 단계를 포함하는,
다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법.
The method of claim 1,
Identifying a set of self-organization maps for the task pattern;
Calculating, before each time slot, the optimal task assignment expected for the self-organizing map; And
Based on the calculated task assignment, finding a neuron that best matches the newly arrived task in the mobile edge computing framework, and assigning the task;
How to schedule jobs in real time using pattern identification in multi-layer edge computing.
제2항에 있어서,
상기 자기구성지도 세트를 식별하는 단계와 상기 최적의 태스크 할당을 계산하는 단계는 오프라인으로 실시되고, 상기 태스크를 할당하는 단계는 온라인으로 실시되는 것을 특징으로 하는,
다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법.
The method of claim 2,
Identifying the self-organizing map set and calculating the optimal task assignment are performed offline, and assigning the task is performed online.
How to schedule jobs in real time using pattern identification in multi-layer edge computing.
제1항에 있어서,
상기 최적의 태스크 할당을 계산하는 단계는 하기 수학식 F(수학식 1)가 최소가 되는 뉴런을 찾는 것인 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링 하는 방법.
[수학식 1]
Figure 112019086545518-pat00031

여기서, 지표
Figure 112019086545518-pat00032
는 뉴런 j 가 ECEs s에 할당되면 1, 그 이외는 0이며, Ljs는 뉴런j가 ECEs s에 할당될 때의 상기 총 대기시간을 의미하며 하기 수학식 2에 의해 결정된다.
[수학식 2]
Figure 112019086545518-pat00034

여기서, wj1, wj2, wj3, wj4는 웨이트 벡터로 상대적인 작업크기, 상대적인 평균 처리 복잡도, 상대적 응답 크기 및 상대적 실행 마감 시간의 평균값을 각각 의미하며, bs는 ECE에서 처리 대기중인 작업의 현재 버퍼 크기, rajs 태스크 j를 가지는 장치에서 네트워크로의 액세스 데이터 속도(bps), rbjs는 bps단위의 ECEs에 대한 내부 포워딩 속도, Cs는 ECEs의 CPU 주기, k 뉴런 세트 수, m은 뉴런 수이다.
The method of claim 1,
The step of calculating the optimal task assignment is to find a neuron that the following equation (F) (Equation 1) is the minimum in scheduling a task in real time using pattern identification in multi-layer edge computing.
[Equation 1]
Figure 112019086545518-pat00031

Where indicators
Figure 112019086545518-pat00032
Is 1 if neuron j is assigned to ECEs s, 0 otherwise, and L js is the total waiting time when neuron j is assigned to ECEs s and is determined by Equation 2 below.
[Equation 2]
Figure 112019086545518-pat00034

Here, w j1, w j2, w j3, w j4 are weight vectors, and mean values of relative job size, relative average processing complexity, relative response size, and relative execution deadline, respectively, and b s is a job waiting to be processed in ECE. The current buffer size, ra js is The access data rate (bps) from the device with task j to the network, rb js is the internal forwarding rate for ECEs in bps, C s is the CPU cycle of the ECEs, the number of k neurons, and m is the number of neurons.
사물 인터넷 장치로부터 태스크 정보를 수신하여 오프라인으로 타임슬롯에 대하여 태스크 패턴을 학습하는 태스크 패턴 학습부 및
상기 학습된 태스크 패턴에 기초하여 각 뉴런에 대응되는 업로드 대기 시간, 큐 대기 시간, 작업 처리 대기 시간, 응답 대기 시간을 포함하는 총 대기시간을 결정하고, 상기 총 대기시간이 최소인 뉴런에 기초하여 새로운 테스크를 최적으로 할당하는 최적 태스크 할당부를 포함하는,
다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용하여 실시간으로 작업을 스케쥴링하는 시스템.
A task pattern learning unit that receives task information from the IoT apparatus and learns a task pattern with respect to a timeslot offline; and
Based on the learned task pattern, a total waiting time is determined including upload waiting time, queue waiting time, job processing waiting time, and response waiting time corresponding to each neuron, and based on the neurons having the minimum waiting time. An optimal task allocator that optimally allocates new tasks is included.
A system for scheduling jobs in real time using pattern identification in multi-layer edge computing.
제5항에 있어서,
상기 최적 태스크 할당부는 하기 수학식 F(수학식 3)이 최소가 되는 뉴런을 찾을 특징으로 하는 다중 계층 엣지 컴퓨팅에서 패턴 식별을 이용해 실시간으로 작업을 스케쥴링하는 시스템.
[수학식 3]
Figure 112019086545518-pat00044

여기서, 지표
Figure 112019086545518-pat00045
는 뉴런 j 가 ECEs s에 할당되면 1, 그 이외는 0이며, Ljs는 뉴런j가 ECEs s에 할당될 때의 상기 총 대기시간을 의미하며 하기 수학식 4에 의해 결정된다.
[수학식 4]
Figure 112019086545518-pat00046

여기서, wj1, wj2, wj3, wj4는 웨이트 벡터로 상대적인 작업크기, 상대적인 평균 처리 복잡도, 상대적 응답 크기 및 상대적 실행 마감 시간의 평균값을 각각 의미하며, bs는 ECE에서 처리 대기중인 작업의 현재 버퍼 크기, rajs 태스크 j를 가지는 장치에서 네트워크로의 액세스 데이터 속도(bps), rbjs는 bps단위의 ECEs에 대한 내부 포워딩 속도, Cs는 ECEs의 CPU 주기, k 뉴런 세트 수, m은 뉴런 수이다.
The method of claim 5,
The optimal task allocator is a system for scheduling a task in real time using pattern identification in multi-layer edge computing characterized in that the following equation (F) to find the minimum neuron.
[Equation 3]
Figure 112019086545518-pat00044

Where indicators
Figure 112019086545518-pat00045
Is 1 if neuron j is assigned to ECEs s, 0 otherwise, and L js is the total waiting time when neuron j is assigned to ECEs s and is determined by Equation 4 below.
[Equation 4]
Figure 112019086545518-pat00046

Here, w j1, w j2, w j3, w j4 are weight vectors, and mean values of relative job size, relative average processing complexity, relative response size, and relative execution deadline, respectively, and b s is a job waiting to be processed in ECE. The current buffer size, ra js is The access data rate (bps) from the device with task j to the network, rb js is the internal forwarding rate for ECEs in bps, C s is the CPU cycle of the ECEs, the number of k neurons, and m is the number of neurons.
KR1020180089619A 2018-07-31 2018-07-31 The method for scheduling tasks in real time using pattern-identification in multitier edge computing and the system thereof KR102068676B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180089619A KR102068676B1 (en) 2018-07-31 2018-07-31 The method for scheduling tasks in real time using pattern-identification in multitier edge computing and the system thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180089619A KR102068676B1 (en) 2018-07-31 2018-07-31 The method for scheduling tasks in real time using pattern-identification in multitier edge computing and the system thereof

Publications (1)

Publication Number Publication Date
KR102068676B1 true KR102068676B1 (en) 2020-01-21

Family

ID=69369781

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180089619A KR102068676B1 (en) 2018-07-31 2018-07-31 The method for scheduling tasks in real time using pattern-identification in multitier edge computing and the system thereof

Country Status (1)

Country Link
KR (1) KR102068676B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272227A (en) * 2020-10-22 2021-01-26 华侨大学 Edge computing task scheduling method based on computation graph
CN113342514A (en) * 2021-05-11 2021-09-03 武汉理工大学 Edge calculation model based on near-earth orbit and service placement method thereof
KR20220061365A (en) * 2020-11-06 2022-05-13 고려대학교 산학협력단 Method of offloading task in distributed edge computing environment

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101326914B1 (en) * 2005-11-15 2013-11-11 베르나데트 가너 Method for training neural networks
KR20170023695A (en) * 2015-08-24 2017-03-06 (주)뉴로컴즈 Computing Method and Device for Multilayer Neural Network
KR20170102726A (en) * 2016-03-02 2017-09-12 한국전자통신연구원 Heterogeneous computing method
KR20180067502A (en) * 2015-08-27 2018-06-20 포그혼 시스템스 인코포레이티드 Edge Intelligence Platform and Objects Internet Sensor Stream System

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101326914B1 (en) * 2005-11-15 2013-11-11 베르나데트 가너 Method for training neural networks
KR20170023695A (en) * 2015-08-24 2017-03-06 (주)뉴로컴즈 Computing Method and Device for Multilayer Neural Network
KR20180067502A (en) * 2015-08-27 2018-06-20 포그혼 시스템스 인코포레이티드 Edge Intelligence Platform and Objects Internet Sensor Stream System
KR20170102726A (en) * 2016-03-02 2017-09-12 한국전자통신연구원 Heterogeneous computing method

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
(비특허문헌 0001) Dr. Amit Agarwal, Saloni Jain (2014). Efficient Optimal Algorithm of Task Scheduling in Cloud Computing Environment. UCTT, Vol.9, 344-349.
(비특허문헌 0002) Haoyu Wang, Jiaqi Gong, Yan Zhuang, Haiying Shen, John Lach (2017). Healthedge: Task Scheduling for Edge Computing with Health Emergency and Human Behavior Consideration in Smart Homes. IEEE.
Haoyu Wang 외 4명. 'Healthedge: Task Scheduling for Edge Computing with Health Emergency and Human Behavior Consideration in Smart Homes'. 2017 International Conference on NAS, 2017.08., pp.1-10. *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112272227A (en) * 2020-10-22 2021-01-26 华侨大学 Edge computing task scheduling method based on computation graph
CN112272227B (en) * 2020-10-22 2022-04-15 华侨大学 Edge computing task scheduling method based on computation graph
KR20220061365A (en) * 2020-11-06 2022-05-13 고려대학교 산학협력단 Method of offloading task in distributed edge computing environment
KR102491934B1 (en) 2020-11-06 2023-01-26 고려대학교 산학협력단 Method of offloading task in distributed edge computing environment
CN113342514A (en) * 2021-05-11 2021-09-03 武汉理工大学 Edge calculation model based on near-earth orbit and service placement method thereof
CN113342514B (en) * 2021-05-11 2023-11-07 武汉理工大学 Edge calculation model based on near-earth orbit and service placement method thereof

Similar Documents

Publication Publication Date Title
KR102068676B1 (en) The method for scheduling tasks in real time using pattern-identification in multitier edge computing and the system thereof
Hazra et al. Cooperative transmission scheduling and computation offloading with collaboration of fog and cloud for industrial IoT applications
Abd Elaziz et al. IoT workflow scheduling using intelligent arithmetic optimization algorithm in fog computing
Memari et al. A latency-aware task scheduling algorithm for allocating virtual machines in a cost-effective and time-sensitive fog-cloud architecture
WO2022171066A1 (en) Task allocation method and apparatus based on internet-of-things device, and network training method and apparatus
Zhang et al. Edgebatch: Towards ai-empowered optimal task batching in intelligent edge systems
Dao et al. Pattern‐identified online task scheduling in multitier edge computing for industrial IoT services
CN110519370A (en) A kind of edge calculations resource allocation methods based on Facility Location Problem
Laili et al. Parallel scheduling of large-scale tasks for industrial cloud–edge collaboration
Zhang et al. Effect: Energy-efficient fog computing framework for real-time video processing
KR20230035024A (en) Apparatus and method for dynamic resource allocation in cloud radio access networks
JP2017191373A (en) Multi-agent system, task assignment device, task assignment method, and program
Xiong et al. Multi-agent deep reinforcement learning for task offloading in group distributed manufacturing systems
Kumar et al. A K-means clustering based message forwarding model for Internet of Things (IoT)
Cong et al. CoopEdge: cost-effective server deployment for cooperative multi-access edge computing
Wassing et al. A machine learning approach for service function chain embedding in cloud datacenter networks
Alirezazadeh et al. Dynamic task allocation for robotic network cloud systems
Mo et al. Computation offloading and resource management for energy and cost trade-offs with deep reinforcement learning in mobile edge computing
CN114091807A (en) Method, device and system for distributing and scheduling tasks of multiple unmanned aerial vehicles and storage medium
Sookoor et al. Offload destination selection to enable distributed computation on battlefields
Qiu et al. Resource Optimization in MEC‐Assisted Multirobot Cooperation Systems
Kumar et al. Two-Level Priority Task Scheduling Algorithm for Real-Time IoT Based Storage Condition Assessment System
Rathod et al. Load balancing of fog computing centers: minimizing response time of high priority requests
Nethaji et al. Resource optimization in fog computing with shift-invariant deep convolutive load balancing
Pan et al. Optimizing Internet of Things Fog Computing: Through Lyapunov-Based Long Short-Term Memory Particle Swarm Optimization Algorithm for Energy Consumption Optimization

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant