KR101996768B1 - Method and apparatus of managing resource - Google Patents

Method and apparatus of managing resource Download PDF

Info

Publication number
KR101996768B1
KR101996768B1 KR1020180152327A KR20180152327A KR101996768B1 KR 101996768 B1 KR101996768 B1 KR 101996768B1 KR 1020180152327 A KR1020180152327 A KR 1020180152327A KR 20180152327 A KR20180152327 A KR 20180152327A KR 101996768 B1 KR101996768 B1 KR 101996768B1
Authority
KR
South Korea
Prior art keywords
resource
network bandwidth
cpu
bandwidth resource
network
Prior art date
Application number
KR1020180152327A
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 KR1020180152327A priority Critical patent/KR101996768B1/en
Application granted granted Critical
Publication of KR101996768B1 publication Critical patent/KR101996768B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/52Queue scheduling by attributing bandwidth to queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/72Admission control; Resource allocation using reservation actions during connection setup
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/822Collecting or measuring resource availability data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • H04L47/82Miscellaneous aspects
    • H04L47/827Aggregation of resource allocation or reservation requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

A resource management method and an apparatus are disclosed. According to an embodiment of the present invention, the resource management method comprises the steps of: receiving a reservation request for a network bandwidth resource; determining a scheduling possibility for the network bandwidth resource based on the reservation request; reserving the network bandwidth resource based on the scheduling possibility for the network bandwidth resource; determining schedulability for a CPU bandwidth resource based on the reserved network bandwidth resource; and reserving the CPU bandwidth resource based on the schedulability for the CPU bandwidth resource.

Description

자원 관리 방법 및 장치{METHOD AND APPARATUS OF MANAGING RESOURCE}[0001] METHOD AND APPARATUS OF MANAGING RESOURCE [0002]

아래 실시예들은 자원 관리 방법 및 장치에 관한 것이다.The following embodiments relate to a resource management method and apparatus.

리눅스는 태스크 그룹단위로 다양한 하드웨어 자원을 관리하는 cgroup(Control Group) 프레임 워크를 제공하고 있다. 또한, 리눅스 환경에서 수행하는 컨테이너 기술들은 (예를 들어, 도커(Docker), LXC(LinuX Containers)) 자원 예약을 위해서 cgroup을 사용하고 있다.Linux provides a cgroup (Control Group) framework that manages various hardware resources on a task group basis. In addition, container technologies used in Linux environments (eg, Docker, LXC (LinuX Containers)) use cgroups to reserve resources.

하지만, cgroup은 자원 제약에 초점을 둔 자원 관리방식을 사용하고 있기 때문에, 예약된 자원에 대한 보장성이 낮다. 최근 이러한 문제를 해결하기 위해 CPU, 디스크 등의 자원에 대한 보장성 증가를 목표하는 기술들이 연구되고 있다. 그러나, 된 네트워크 자원에 대한 보장성을 향상시키기 위한 연구는 아직 미흡한 상황이다.However, since cgroups use a resource management method that focuses on resource constraints, the protection against reserved resources is low. In order to solve these problems, technologies aiming at increasing the protection of resources such as CPU and disk have been studied. However, there is still insufficient research to improve the protection of network resources.

리눅스는 네트워크 자원을 관리하기 위해 tc(Traffic Controller) 프레임워크를 제공해 왔으며, cgroup은 tc를 활용하여 태스크 그룹단위로 네트워크 자원을 예약할 수 있다. 하지만 tc는 예약된 네트워크 자원을 각각의 큐(queue)에서 qdisc를 통해 네트워크 대역폭의 상한을 관리할 뿐 서로 다른 큐에서 사용하는 자원에 대해 고려하지 않는다.Linux has provided a tc (Traffic Controller) framework to manage network resources, and cgroups can use tc to reserve network resources on a task group basis. However, tc does not consider reserved network resources for resources used in different queues, but only for managing the upper bound of network bandwidth through qdiscs in each queue.

따라서 가용 네트워크 대역폭이 충분하지 못한 상황에서 네트워크 자원을 사용하는 프로세스가 서로 다른 큐에 산재하는 경우, 서로의 네트워크 자원 간섭에 의해 네트워크 대역폭이 보장되지 않을 수 있다.Therefore, if the processes using the network resources are scattered in different queues in a situation where the available network bandwidth is insufficient, the network bandwidth may not be ensured due to mutual network resource interference.

또한, 프로세스가 네트워크 대역폭을 소비할 때 요구되는 CPU(Central Processing Unit), 메모리와 같은 자원이 다른 프로세스에 의해 간섭받는 경우 프로세스에 예약된 네트워크 대역폭 자원에 대한 제공을 보장할 수 없다.In addition, when a process consumes network bandwidth, it can not guarantee provision of network bandwidth resources reserved for the process when resources such as central processing unit (CPU) and memory are interfered with by other processes.

따라서 기존 리눅스의 tc, cgroup을 활용한 네트워크 자원관리 기능만으로는 네트워크 집중적인 실시간 응용을 지원하기 어려우며, 컨테이너가 사용하는 네트워크 자원을 기반으로 과금 시스템을 정밀하게 운영하기도 어렵다.Therefore, it is difficult to support the network-intensive real-time application with only the network resource management function using the existing Linux tc and cgroup, and it is also difficult to operate the billing system precisely based on the network resources used by the container.

실시예들은 자원을 관리하는 기술을 제공할 수 있다.Embodiments may provide techniques for managing resources.

일 실시예에 따른 자원 관리 방법은, 네트워크 대역폭 자원에 대한 예약 요청을 수신하는 단계와, 상기 예약 요청에 기초하여 상기 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계와, 상기 네트워크 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 네트워크 대역폭 자원을 예약하는 단계와, 예약된 네트워크 대역폭 자원에 기초하여 CPU 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계와, 상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약하는 단계를 포함한다.A resource management method according to an exemplary embodiment includes receiving a reservation request for a network bandwidth resource, determining schedulability for the network bandwidth resource based on the reservation request, scheduling for the network bandwidth resource, Determining a scheduling probability for a CPU bandwidth resource based on a reserved network bandwidth resource; and determining a scheduling probability for the CPU bandwidth resource based on schedulability for the CPU bandwidth resource, For example.

상기 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계는, 예약된 네트워크 대역폭 자원의 합을 계산하는 단계와, 최대 가용 네트워크 대역폭 자원과 상기 예약된 네트워크 대역폭 자원의 합을 비교하여 스케줄링 가능성을 판단하는 단계를 포함할 수 있다.Wherein determining the schedulability for the network bandwidth resource comprises: calculating a sum of reserved network bandwidth resources; comparing the sum of the maximum available network bandwidth resources and the reserved network bandwidth resources to determine schedulability; . ≪ / RTI >

상기 자원 관리 방법은, 상기 네트워크 대역폭 자원을 예약하는 단계 이후에, 상기 최대 가용 네트워크 대역폭 자원에서 상기 예약된 네트워크 대역폭 자원의 합을 뺀 값으로 상기 네트워크 대역폭 자원의 제한을 설정하는 단계를 더 포함할 수 있다.The resource management method further comprises setting a limit of the network bandwidth resource to a value obtained by subtracting the sum of the reserved network bandwidth resources from the maximum available network bandwidth resource after reserving the network bandwidth resource .

상기 CPU 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계는, 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원을 계산하는 단계와, 상기 합 및 상기 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원의 곱과 최대 가용 CPU 대역폭 자원을 비교하여 스케줄링 가능성을 판단하는 단계를 포함할 수 있다.Wherein determining the schedulability for the CPU bandwidth resource comprises: calculating a required CPU bandwidth resource per unit network bandwidth; comparing the sum of the CPU bandwidth resources needed per sum and the unit network bandwidth to the maximum available CPU bandwidth resource; And determining a schedulability possibility.

상기 자원 관리 방법은, 상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약하는 단계 이후에, 상기 최대 가용 CPU 대역폭 자원에서 상기 곱을 뺀 값으로 상기 CPU 대역폭 자원의 제한을 설정하는 단계를 더 포함할 수 있다.Wherein the resource management method further comprises: setting a limit of the CPU bandwidth resource to a value obtained by subtracting the product from the maximum available CPU bandwidth resource after reserving the CPU bandwidth resource based on schedulability for the CPU bandwidth resource As shown in FIG.

상기 자원 관리 방법은, 상기 네트워크 대역폭 자원의 사용량을 모니터링하는 단계를 더 포함할 수 있다.The resource management method may further include monitoring a usage amount of the network bandwidth resource.

상기 모니터링하는 단계는, 상기 네트워크 대역폭 자원의 디폴트 큐(default queue)를 생성하는 단계와, 대역폭이 예약되지 않은 비실시간 네트워크 흐름을 상기 디폴트 큐로 관리하는 단계를 포함할 수 있다.The monitoring may include generating a default queue of the network bandwidth resource and managing the non-reserved bandwidth non-real-time network flow with the default queue.

상기 모니터링하는 단계는, 상기 네트워크 대역폭 자원을 예약한 프로세스의 종료 또는 변경이 발생한 경우 상기 디폴트 큐의 네트워크 대역폭을 조절하는 단계를 더 포함할 수 있다.The monitoring may further include adjusting a network bandwidth of the default queue when a process for reserving the network bandwidth resource occurs or a change occurs.

일 실시예에 따른 자원 관리 장치는, 네트워크 대역폭 자원에 대한 예약 요청을 수신하는 수신기와, 상기 예약 요청에 기초하여 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단하고, 상기 네트워크 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 네트워크 대역폭 자원을 예약하고, 예약된 네트워크 대역폭 자원에 기초하여 CPU 대역폭 자원에 대한 스케줄링 가능성을 판단하고, 상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약하는 프로세서를 포함한다.A resource management apparatus according to an embodiment includes a receiver for receiving a reservation request for a network bandwidth resource, a scheduler for determining schedulability for a network bandwidth resource based on the reservation request, and for determining a scheduling probability for the network bandwidth resource Determining a scheduling probability for a CPU bandwidth resource based on a reserved network bandwidth resource and reserving the CPU bandwidth resource based on schedulability for the CPU bandwidth resource, .

상기 프로세서는, 예약된 네트워크 대역폭 자원의 합을 계산하고, 최대 가용 네트워크 대역폭 자원과 상기 예약된 네트워크 대역폭 자원의 합을 비교하여 스케줄링 가능성을 판단할 수 있다.The processor may calculate the sum of the reserved network bandwidth resources and determine the schedulability by comparing the sum of the maximum available network bandwidth resources and the reserved network bandwidth resources.

상기 프로세서는, 상기 네트워크 대역폭 자원을 예약한 이후에, 상기 최대 가용 네트워크 대역폭 자원에서 상기 예약된 네트워크 대역폭 자원의 합을 뺀 값으로 상기 네트워크 대역폭 자원의 제한을 설정할 수 있다.The processor may set the limitation of the network bandwidth resource to a value obtained by subtracting the sum of the reserved network bandwidth resources from the maximum available network bandwidth resource after reserving the network bandwidth resource.

상기 프로세서는, 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원을 계산하고, 상기 합 및 상기 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원의 곱과 최대 가용 CPU 대역폭 자원을 비교하여 스케줄링 가능성을 판단할 수 있다.The processor may calculate a required CPU bandwidth resource per unit network bandwidth and compare the maximum available CPU bandwidth resource with a product of the sum and the required CPU bandwidth resource per unit network bandwidth to determine schedulability.

상기 프로세서는, 상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약한 이후에, 상기 최대 가용 CPU 대역폭 자원에서 상기 곱을 뺀 값으로 상기 CPU 대역폭 자원의 제한을 설정할 수 있다.The processor may set a limit of the CPU bandwidth resource to a value obtained by subtracting the product from the maximum available CPU bandwidth resource after reserving the CPU bandwidth resource based on schedulability of the CPU bandwidth resource.

상기 프로세서는, 상기 네트워크 대역폭 자원의 사용량을 모니터링할 수 있다.The processor may monitor usage of the network bandwidth resource.

상기 프로세서는, 상기 네트워크 대역폭 자원의 디폴트 큐(default que)를 생성하고, 대역폭이 예약되지 않은 비실시간 네트워크 흐름을 상기 디폴트 큐로 관리할 수 있다.The processor may generate a default queue for the network bandwidth resources and manage non-real-time network flows that are not reserved for bandwidth with the default queue.

상기 프로세서는, 상기 네트워크 대역폭 자원을 예약한 프로세스의 종료 또는 변경이 발생한 경우 상기 디폴트 큐의 네트워크 대역폭을 조절할 수 있다.The processor may adjust the network bandwidth of the default queue when an end or change of a process that reserves the network bandwidth resource occurs.

도 1은 일 실시예에 따른 자원 관리 장치의 개략적인 블록도를 나타낸다.
도 2는 도 1에 도시된 자원 관리 장치의 동작의 예를 나타낸다.
도 3은 네트워크 부하에 대한 자원 보장성 검증 실험 결과의 예를 나타낸다.
도 4는 CPU 부하에 대한 자원 보장성 검증 실험 결과의 예를 나타낸다.
도 5는 부하가 가장 큰 구간의 흐름 별 대역폭 구성의 예를 나타낸다.
도 6은 도 1에 도시된 자원 관리 장치의 동작의 순서도를 나타낸다.
1 shows a schematic block diagram of a resource management apparatus according to an embodiment.
Fig. 2 shows an example of the operation of the resource management apparatus shown in Fig.
3 shows an example of the result of the resource protection verification test for the network load.
FIG. 4 shows an example of the results of the resource protection verification test for the CPU load.
Fig. 5 shows an example of bandwidth-specific bandwidth configuration of the load with the largest load.
FIG. 6 shows a flowchart of the operation of the resource management apparatus shown in FIG. 1. FIG.

이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.In the following, embodiments will be described in detail with reference to the accompanying drawings. However, various modifications may be made in the embodiments, and the scope of the patent application is not limited or limited by these embodiments. It is to be understood that all changes, equivalents, and alternatives to the embodiments are included in the scope of the right.

실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in the examples are used for descriptive purposes only and are not to be construed as limiting. The singular expressions include plural expressions unless the context clearly dictates otherwise. In this specification, the terms "comprises" or "having" and the like refer to the presence of stated features, integers, steps, operations, elements, components, or combinations thereof, But do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, or combinations thereof.

제1 또는 제2등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 용어들에 의해서 한정되어서는 안 된다. 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 실시예의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다. The terms first, second, or the like may be used to describe various elements, but the elements should not be limited by terms. The terms may be named for the purpose of distinguishing one element from another, for example, without departing from the scope of the right according to the concept of the embodiment, the first element being referred to as the second element, The second component may also be referred to as a first component.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.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 to which this embodiment belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.

또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.In the following description of the present invention with reference to the accompanying drawings, the same components are denoted by the same reference numerals regardless of the reference numerals, and redundant explanations thereof will be omitted. In the following description of the embodiments, a detailed description of related arts will be omitted if it is determined that the gist of the embodiments may be unnecessarily blurred.

본 명세서에서의 모듈(module)은 본 명세서에서 설명되는 각 명칭에 따른 기능과 동작을 수행할 수 있는 하드웨어를 의미할 수도 있고, 특정 기능과 동작을 수행할 수 있는 컴퓨터 프로그램 코드를 의미할 수도 있고, 또는 특정 기능과 동작을 수행시킬 수 있는 컴퓨터 프로그램 코드가 탑재된 전자적 기록 매체, 예를 들어 프로세서 또는 마이크로 프로세서를 의미할 수 있다.A module in this specification may mean hardware capable of performing the functions and operations according to the respective names described in this specification and may mean computer program codes capable of performing specific functions and operations , Or an electronic recording medium, e.g., a processor or a microprocessor, equipped with computer program code capable of performing certain functions and operations.

다시 말해, 모듈이란 본 발명의 기술적 사상을 수행하기 위한 하드웨어 및/또는 상기 하드웨어를 구동하기 위한 소프트웨어의 기능적 및/또는 구조적 결합을 의미할 수 있다.In other words, a module may mean a functional and / or structural combination of hardware for carrying out the technical idea of the present invention and / or software for driving the hardware.

도 1은 일 실시예에 따른 자원 관리 장치의 개략적인 블록도를 나타낸다.1 shows a schematic block diagram of a resource management apparatus according to an embodiment.

도 1을 참조하면, 자원 관리 장치(10)는 사용자의 자원 예약 요청에 따라, 자원을 관리할 수 있다. 자원 관리 장치(10)가 관리하는 자원은 네트워크 대역폭 자원 및 CPU 대역폭 자원을 포함할 수 있다.Referring to FIG. 1, the resource management apparatus 10 can manage resources according to a resource reservation request of a user. The resources managed by the resource management apparatus 10 may include network bandwidth resources and CPU bandwidth resources.

네트워크 대역폭 자원은 전송 속도를 포함할 수 있다. 예를 들어, 네트워크 대역폭 자원의 단위는 bps(bit per second)일 수 있다. CPU 대역폭 자원은 CPU가 주고받을 수 있는 데이터의 양을 또는 CPU 코어의 개수를 포함할 수 있다.The network bandwidth resources may include the transmission rate. For example, the unit of the network bandwidth resource may be bps (bits per second). The CPU bandwidth resources may include the amount of data that the CPU can exchange, or the number of CPU cores.

자원 관리 장치(10)는 네트워크 대역폭 자원과 CPU 대역폭 자원을 관리할 수 있다. 자원 관리 장치(10)는 네트워크 자원 예약 단계에서 스케줄링 가능성을 분석할 수 있다.The resource management apparatus 10 can manage network bandwidth resources and CPU bandwidth resources. The resource management apparatus 10 may analyze the schedulability in the network resource reservation step.

또한, 자원 관리 장치(10)는 비실시간 네트워크 흐름에 의한 자원 간섭을 줄이기 위해서 비실시간 네트워크 흐름의 네트워크 대역폭 자원의 사용량을 제한하고, 동시에 예약된 실시간 네트워크 흐름을 처리하는 응용의 CPU 자원의 보장을 통해 예약된 네트워크 대역폭을 보장할 수 있다.In addition, the resource management apparatus 10 may limit the usage of the network bandwidth resources of the non-real-time network flows to reduce resource interference caused by the non-real-time network flows, and to guarantee the CPU resources of the applications that simultaneously process the reserved real- Thereby guaranteeing the reserved network bandwidth.

자원 관리 장치(10)는 수신기(100) 및 프로세서(200)를 포함한다. 자원 관리 장치(10)는 메모리(300)를 포함할 수 있다.The resource management apparatus 10 includes a receiver 100 and a processor 200. [ The resource management device 10 may include a memory 300.

수신기(100)는 네트워크 대역폭 자원에 대한 예약 요청을 수신할 수 있다. 수신기(100)는 수신한 예약 요청을 프로세서(200)로 출력할 수 있다.Receiver 100 may receive a reservation request for a network bandwidth resource. The receiver 100 may output the received reservation request to the processor 200.

프로세서(200)는 수신한 예약 요청에 기초하여 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단할 수 있다. 프로세서(200)는 예약된 네트워크 대역폭 자원의 합을 계산할 수 있다. 예약된 네트워크 대역폭 자원의 합은

Figure 112018120173984-pat00001
로 나타낼 수 있다.The processor 200 may determine the schedulability of the network bandwidth resource based on the received reservation request. The processor 200 may calculate the sum of the reserved network bandwidth resources. The sum of the reserved network bandwidth resources
Figure 112018120173984-pat00001
.

프로세서(200)는 최대 가용 네트워크 대역폭 자원과 예약된 네트워크 대역폭 자원의 합을 비교하여 스케줄링 가능성을 판단할 수 있다. 최대 가용 네트워크 대역폭 자원은

Figure 112018120173984-pat00002
와 같이 나타낼 수 있다.The processor 200 may determine the schedulability by comparing the sum of the maximum available network bandwidth resource and the reserved network bandwidth resource. The maximum available network bandwidth resources
Figure 112018120173984-pat00002
As shown in Fig.

프로세서(200)는 예약된 네트워크 대역폭 자원의 합이 최대 가용 네트워크 대역폭 자원을 넘지 않는지 판단할 수 있다. 이는 수학식 1과 같이 나타낼 수 있다.The processor 200 may determine that the sum of the reserved network bandwidth resources does not exceed the maximum available network bandwidth resource. This can be expressed by Equation (1).

Figure 112018120173984-pat00003
Figure 112018120173984-pat00003

프로세서(200)는 예약된 네트워크 대역폭 자원의 합이 최대 가용 네트워크 대역폭 자원을 넘지 않는 경우 스케줄링 가능성이 있다고 판단할 수 있다. 프로세서(200)는 네트워크 대역폭 자원에 대한 스케줄링 가능성에 기초하여 네트워크 대역폭 자원을 예약할 수 있다.The processor 200 may determine that scheduling is possible if the sum of the reserved network bandwidth resources does not exceed the maximum available network bandwidth resource. The processor 200 may reserve network bandwidth resources based on schedulability for network bandwidth resources.

이 때, 프로세서(200)는 예약된 네트워크 대역폭 자원의 합이 최대 가용 네트워크 대역폭 자원을 넘지 않도록 네트워크 대역폭 자원의 예약을 제한할 수 있다.At this time, the processor 200 may limit reservations of network bandwidth resources such that the sum of the reserved network bandwidth resources does not exceed the maximum available network bandwidth resource.

프로세서(200)는 네트워크 대역폭 자원을 예약한 이후에, 최대 가용 네트워크 대역폭 자원에서 예약된 네트워크 대역폭 자원의 합을 뺀 값으로 네트워크 대역폭 자원의 제한을 설정할 수 있다. 네트워크 대역폭 자원의 제한

Figure 112018120173984-pat00004
을 계산하는 과정은 수학식 2과 같이 나타낼 수 있다.After reserving the network bandwidth resource, the processor 200 may set a limit of the network bandwidth resource by subtracting the sum of the reserved network bandwidth resources from the maximum available network bandwidth resource. Limitations of network bandwidth resources
Figure 112018120173984-pat00004
Can be expressed by Equation (2). &Quot; (2) "

Figure 112018120173984-pat00005
Figure 112018120173984-pat00005

프로세서(200)는 예약된 네트워크 대역폭 자원에 기초하여 CPU 대역폭 자원에 대한 스케줄링 가능성을 판단할 수 있다. 프로세서(200)는 단위 네트워크 대역폭 당 필요 CPU 대역폭

Figure 112018120173984-pat00006
을 계산할 수 있다.The processor 200 may determine the schedulability for the CPU bandwidth resources based on the reserved network bandwidth resources. The processor 200 determines the required CPU bandwidth per unit network bandwidth
Figure 112018120173984-pat00006
Can be calculated.

프로세서(200)는 예약된 네트워크 대역폭 자원의 합 및 단위 네트워크 대역폭 당 필요 CPU 대역폭의 곱과 최대 가용 CPU 대역폭 자원

Figure 112018120173984-pat00007
을 비교하여 스케줄링 가능성을 판단할 수 있다. 이는 수학식 3과 같이 나타낼 수 있다.The processor 200 calculates the product of the sum of the reserved network bandwidth resources and the required CPU bandwidth per unit network bandwidth and the maximum available CPU bandwidth resource
Figure 112018120173984-pat00007
To determine the schedulability. This can be expressed by Equation (3).

Figure 112018120173984-pat00008
Figure 112018120173984-pat00008

즉, 프로세서(200)는 예약된 네트워크 대역폭 자원의 합과 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원의 곱이 최대 가용 CPU 대역폭 자원보다 작은 경우에 CPU 대역폭 자원이 예약 가능하다고 판단할 수 있다. 프로세서(200)는 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 CPU 대역폭 자원을 예약할 수 있다.That is, the processor 200 may determine that the CPU bandwidth resource is reservable when the product of the sum of the reserved network bandwidth resources and the required CPU bandwidth resource per unit network bandwidth is smaller than the maximum available CPU bandwidth resource. The processor 200 may reserve the CPU bandwidth resources based on the schedulability of the CPU bandwidth resources.

프로세서(200)는 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 CPU 대역폭 자원을 예약한 이후에, 최대 가용 CPU 대역폭 자원에서 예약된 네트워크 대역폭 자원의 합과 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원의 곱을 뺀 값으로 CPU 대역폭 자원의 제한

Figure 112018120173984-pat00009
을 설정할 수 있다.After reserving the CPU bandwidth resource based on the schedulability of the CPU bandwidth resource, the processor 200 calculates the sum of the sum of the reserved network bandwidth resources in the maximum available CPU bandwidth resource minus the product of the CPU bandwidth resource required per unit network bandwidth Limit CPU bandwidth resources to
Figure 112018120173984-pat00009
Can be set.

CPU 대역폭 자원의 제한

Figure 112018120173984-pat00010
은 CPU 코어의 수를 포함할 수 있다. 예를 들어,
Figure 112018120173984-pat00011
일 수 있다. 프로세서(200)가 제한
Figure 112018120173984-pat00012
을 설정하는 동작은 수학식 4와 같이 나타낼 수 있다.Limitations of CPU bandwidth resources
Figure 112018120173984-pat00010
May include the number of CPU cores. E.g,
Figure 112018120173984-pat00011
Lt; / RTI > Processor 200 is limited
Figure 112018120173984-pat00012
Can be expressed by Equation (4). &Quot; (4) "

Figure 112018120173984-pat00013
Figure 112018120173984-pat00013

프로세서(200)는 네트워크 대역폭 자원의 사용량을 모니터링할 수 있다. 프로세서(200)는 네트워크 대역폭 자원의 디폴트 큐(default que)를 생성하고, 대역폭이 예약되지 않은 비실시간 네트워크 흐름을 디폴트 큐로 관리할 수 있다. 프로세서(200)는 네트워크 대역폭 자원을 예약한 프로세스의 종료 또는 변경이 발생한 경우 디폴트 큐의 네트워크 대역폭을 조절할 수 있다.The processor 200 may monitor the usage of network bandwidth resources. The processor 200 may generate a default queue of network bandwidth resources and manage the non-reserved non-real-time network flows as default queues. The processor 200 may adjust the network bandwidth of the default queue when an end or change of a process that reserves network bandwidth resources occurs.

메모리(300)는 프로세서(200)가 처리한 연산 결과, 수신기(100)가 수신한 예약 요청 등을 저장할 수 있다. 또한, 메모리(300)는 프로세서(200)가 관리하는 자원에 관한 정보를 저장할 수 있다.The memory 300 may store an operation result processed by the processor 200, a reservation request received by the receiver 100, and the like. In addition, the memory 300 may store information about resources managed by the processor 200. [

도 2는 도 1에 도시된 자원 관리 장치의 동작의 예를 나타낸다.Fig. 2 shows an example of the operation of the resource management apparatus shown in Fig.

도 2를 참조하면, 자원 관리 장치(10)는 네트워크 대역폭 자원과 CPU 대역폭 자원을 동시에 관리할 수 있다. 자원 관리 장치(10)는 데몬 프로세스를 이용하여 구현될 수 있다.Referring to FIG. 2, the resource management apparatus 10 can simultaneously manage a network bandwidth resource and a CPU bandwidth resource. The resource management apparatus 10 may be implemented using a daemon process.

종래의 tc 네트워크 대역폭 자원 관리 방식의 경우, 기본 태스크 그룹에 대한 네트워크 대역폭 제약이 없어 기본 태스크 그룹의 과도한 네트워크 대역폭 자원 사용 등의 관리되지 않는 네트워크 대역폭 자원 사용 요인에 의한 간섭에 취약할 수 있다.In the case of the conventional tc network bandwidth resource management method, since there is no network bandwidth restriction for the basic task group, it may be vulnerable to interference caused by an unmanaged network bandwidth resource use factor such as excessive network bandwidth resource usage of the basic task group.

자원 관리 장치(10)는 기본 태스크 그룹에 대한 네트워크 대역폭 제한을 설정하여 네트워크 자원 간섭을 방지할 수 있다. 또한, 자원 관리 장치(10)는 CPU 대역폭 자원의 제한을 설정함으로써, 네트워크 대역폭 자원을 사용하지 않는 태스크의 CPU 대역폭 자원의 사용으로 인하여 네트워크 대역폭 자원을 예약한 태스크 그룹의 CPU 대역폭 자원 사용이 방해받는 것을 막을 수 있다.The resource management apparatus 10 can prevent network resource interference by setting a network bandwidth limitation for the basic task group. In addition, the resource management device 10 can set a limitation of the CPU bandwidth resource so that the use of the CPU bandwidth resource of the task group that reserved the network bandwidth resource due to the use of the CPU bandwidth resource of the task that does not use the network bandwidth resource is prevented Can be prevented.

자원 관리 장치(10)는 CLI(Command Line Interface, 210), 네트워크 자원 모니터(network resource monitor, 220) 및 자원 관리 모듈(230)을 포함할 수 있다.The resource management apparatus 10 may include a command line interface (CLI) 210, a network resource monitor 220, and a resource management module 230.

자원 관리 모듈(230)은 중앙 모듈(central module, 231), 네트워크 스케줄 가능성 분석기(network schedulability anaylyer, 233), 필요CPU 대역폭 계산 모듈(required CPU bandwidth calculation modue, 235) 및 CPU 대역폭 스케줄 가능성 분석기(CPU bandwidth schedulability anyalyer, 237)을 포함할 수 있다.The resource management module 230 includes a central module 231, a network schedulability analyzer 233, a required CPU bandwidth calculation module 235, and a CPU bandwidth schedulability analyzer bandwidth schedulability anyalyer, 237).

자원 관리 장치(10)는 CLI(210), 네트워크 자원 모니터(220) 및 자원 관리 모듈(230)을 이용하여 네트워크 I/O(Input/Output) 대역폭을 보장할 수 있다.The resource management apparatus 10 can guarantee the network I / O bandwidth by using the CLI 210, the network resource monitor 220, and the resource management module 230. [

CLI(210)가 제공하는 사용자 인터페이스는 표 1과 같이 나타낼 수 있다.The user interface provided by the CLI 210 can be represented as shown in Table 1.

색인
(index)
index
(index)
프로그램
(program)
program
(program)
커맨드
(command)
Command
(command)
아규먼트
(argument)
Argument
(argument)
1One ./netbw_demon./netbw_demon dev [dev_name] link [link_speed] netpercpu [core_bandwidth]dev [dev_name] link [link_speed] netpercpu [core_bandwidth] 22 ./netbw_cli./netbw_cli add_dadd_d pid [pid] core [core_no]pid [pid] core [core_no] 33 ./netbw_cli./netbw_cli add, changeadd, change pid [pid], core [core_no], lower [net_bandwidth]pid [pid], core [core_no], lower [net_bandwidth] deletedelete pid [pid], core [core_no]pid [pid], core [core_no] 44 ./netbw_cli./netbw_cli quitquit

여기서, ./netbw_demon은 시스템 관리자가 초기 시스템의 최대 링크 스피드(link speed)와 단위 네트워크 시간당 CPU 자원 요구량(netpercpu)을 설정하기 위한 API를 의미할 수 있다.Here, ./netbw_demon may mean an API for the system administrator to set the maximum link speed of the initial system and the CPU resource requirement (netpercpu) per unit network time.

색인 2, 3 및 4에 해당하는 API는 사용자가 각 연결에 대한 네트워크 대역폭을 추가하기 위한 API를 의미할 수 있다.An API corresponding to indexes 2, 3, and 4 may refer to an API for the user to add network bandwidth for each connection.

사용자가 자원 관리 장치(10)를 실행하면, 수신기(100)는 CLI(210)를 통해 비 실시간 네트워크 흐름 프로세스의 정보에 대한 입력을 수신하고, 실시간 네트워크 흐름의 네트워크 대역폭 및 프로세스의 CPU 대역폭의 등록, 수정 및 삭제에 관한 입력을 수신할 수 있다. 사용이 종료되면 사용자는 자원 관리 장치(10)를 종료할 수 있다.When the user executes the resource management device 10, the receiver 100 receives an input for information of the non-real-time network flow process through the CLI 210, and registers the network bandwidth of the real-time network flow and the CPU bandwidth of the process , ≪ / RTI > modification, and deletion. When the use is terminated, the user can terminate the resource management apparatus 10.

자원 관리 장치(10)는 자원을 관리할 디바이스를 등록하고, 실시간 흐름에 해당하는 프로세스의 CPU 자원 요구량을 관리하고, 네트워크 대역폭을 보장할 수 있다.The resource management apparatus 10 can register a device to manage a resource, manage a CPU resource requirement of a process corresponding to a real-time flow, and guarantee a network bandwidth.

또한, 자원 관리 장치(10)는 cgroup(Control group, 240), tc(Traffic Controller, 250), 태스크 그룹(task group, 260) 및 큐디스크(qdisc, 270)을 제어함으로써 자원을 관리할 수 있다.Also, the resource management apparatus 10 can manage resources by controlling a cgroup (control group) 240, a tc (traffic controller) 250, a task group 260, and a queue disk (qdisc) .

cgroup(240)은 CPU 시간, 메모리(300), 네트워크 등의 자원을 태스크 그룹 단위로 할당할 수 있도록 하는 프레임워크를 의미할 수 있다. cgroup(240)은 서브시스템이라는 하위 인터페이스를 통해 태스크 그룹별 시스템 자원을 관리할 수 있다.The cgroup 240 may refer to a framework for allocating resources such as CPU time, memory 300, and network to each task group. The cgroup 240 can manage system resources for each task group through a sub-interface called a subsystem.

자원 관리 장치(10)는 tc(250)와 cgroup(240) 프레임워크를 활용하여 네트워크 대역폭을 예약할 수 있다. tc(250)는 커널에서 제공하는 트래픽 쉐이핑(traffic shaping) 도구를 의미할 수 있다. tc(250)는 큐잉 디서플린(queueing discipline), 클래스(class), 필터(filter)를 포함할 수 있다. 등이 있다.The resource management apparatus 10 can utilize the tc 250 and the cgroup 240 framework to reserve network bandwidth. tc 250 may refer to a traffic shaping tool provided by the kernel. tc 250 may include a queuing discipline, a class, and a filter. .

tc(250)는 링크 계층에 큐디스크(270)를 생성하고 전송을 위해 해당 디바이스에 도착하는 패킷을 큐잉(queueing)하고 설정에 따라 어떤 동작을 수행할지 결정할 수 있다. 또한, 큐디스크(270) 내에 계층 구조를 가진 클래스를 생성하여 사용자가 정의한 필터 규칙에 따라 패킷을 클래스 별로 분류할 수 있다. tc 250 may create a queue disk 270 in the link layer and queue packets arriving at the device for transmission and determine what action to perform according to the settings. In addition, a class having a hierarchical structure may be created in the cue disk 270 to classify the packets according to the filter rule defined by the user.

tc(250)는 디바이스, 클래스별 대역폭 상한선을 지정해 과도한 자원 사용을 막을 수 있다. cgroup(240)은 네트워크 대역폭 자원을 관리하는 서브시스템으로 net_cls 서브시스템을 포함할 수 있다. cgroup(240)은 net_cls 서브시스템을 통해 특정 태스크 그룹에서 생성된 패킷에 클래스 아이디를 마킹 함으로서 tc(250)의 동작을 지원할 수 있다.tc 250 can prevent excessive resource use by designating a bandwidth upper limit for each device and class. The cgroup 240 may include a net_cls subsystem as a subsystem for managing network bandwidth resources. The cgroup 240 may support the operation of the tc 250 by marking the class ID in the packet generated in the specific task group through the net_cls subsystem.

리눅스의 CPU 자원은 cpu 서브시스템을 통해 관리되며, 태스크 그룹 내의 태스크가 사용하는 스케줄러에 따라 실시간 태스크 그룹과 비실시간 태스크 그룹으로 구분될 수 있다. 리눅스는 비 실시간 스케줄러인 완전 공정 스케줄러 (Completely Fair Scheduler(CFS))를 기본 스케줄러로 지원하고, CFS 스케줄러는 공유 비율 방식과 대역폭 방식의 자원 예약 기능을 지원할 수 있다.CPU resources of Linux are managed through the cpu subsystem, and can be classified into real-time task groups and non-real-time task groups according to the scheduler used by the tasks in the task group. Linux supports the non-real-time scheduler, the Completely Fair Scheduler (CFS), as the default scheduler, and the CFS scheduler can support the resource-reservation features of the shared-rate and bandwidth-based schemes.

이 중에서 공유비율 방식의 자원예약은 태스크 그룹 간 자원 점유 비율(shares)을 예약할 수 있다. 예약된 점유 비율 값은 CFS의 나이스(nice) 값에 대응하는 웨이트(weight) 값과 함께 관리되며, 리눅스의 스케줄링 알고리즘은 가용 자원에 대해 예약한 자원비율만큼의 CPU 자원을 분배할 수 있다.Among these, the resource reservation of the sharing ratio scheme can reserve resource shares among the task groups. The reserved occupancy rate value is managed with a weight value corresponding to the nice value of the CFS, and the scheduling algorithm in Linux can distribute as much CPU resources as the reserved resource rate for the available resources.

또한, 대역폭 방식은 각 태스크 그룹이 사용할 수 있는 최대 CPU 대역폭을 예약하여 리눅스의 태스크 스케줄러는 CPU 대역폭 자원을 예약한 태스크 그룹의 과도한 CPU 자원 사용을 제한할 수 있다.In addition, the bandwidth scheme reserves the maximum CPU bandwidth available to each task group, allowing the task scheduler in Linux to limit excessive CPU resource usage of task groups that have reserved CPU bandwidth resources.

수신기(100)는 CLI(210)를 포함할 수 있다. 자원 관리 장치(10)는 CLI(210)를 통해 사용자의 네트워크 자원의 예약 요청을 수신할 수 있다. 자원 관리 장치(10)는 수신한 예약 요청에 응답하여 요청된 네트워크 I/O 대역폭 자원에 대한 필요 CPU 대역폭 자원을 계산할 수 있다.The receiver 100 may include a CLI 210. The resource management apparatus 10 may receive a reservation request of the user's network resources through the CLI 210. [ The resource management apparatus 10 can calculate the required CPU bandwidth resource for the requested network I / O bandwidth resource in response to the received reservation request.

프로세서(200)는 네트워크 자원 모니터(220) 및 자원 관리 모듈(230)을 포함할 수 있다. 자원 관리 모듈(230)은 예약 요청된 네트워크 대역폭 자원과 계산을 통해 얻어낸 CPU 대역폭 자원에 대한 스케줄링 가능성 분석을 수행할 수 있다. 또한, 자원 관리 모듈(230)은 스케줄링 가능성 분석을 통과한 자원 예약에 대하여 cgroup(240)을 통해 자원의 예약을 수행할 수 있다.The processor 200 may include a network resource monitor 220 and a resource management module 230. The resource management module 230 may perform the schedulability analysis on the reservation-requested network bandwidth resource and the CPU bandwidth resource obtained through the calculation. Also, the resource management module 230 can perform resource reservation through the cgroup 240 for the resource reservation that has passed the schedulability analysis.

자원 관리 장치(10)의 네트워크 리소스 모니터(220)는 초기화 시점에서 디폴트 큐를 생성하고, 대역폭 자원이 예약되지 않은 비실시간 네트워크 흐름들을 디폴트 큐를 통해서 관리할 수 있다.The network resource monitor 220 of the resource management device 10 can generate a default queue at an initialization time and manage non-real-time network flows for which bandwidth resources are not reserved through the default queue.

네트워크 대역폭 자원에 대한 스케줄링 가능성 분석은 네트워크 대역폭 자원의 예약 및 변경 명령어가 실행되는 시점에서 수행될 수 있다.The schedulability analysis for the network bandwidth resource can be performed at the time when the reservation and change instruction of the network bandwidth resource is executed.

자원 관리 모듈(230)은 새롭게 예약되는 자원의 보장 가능성을 판단하기 위해 시스템의 최대 가용 네트워크 대역폭 자원

Figure 112018120173984-pat00014
과 예약된 네트워크 대역폭 자원의 총합
Figure 112018120173984-pat00015
에 대해 수학식 1을 만족하는지 판단할 수 있다.The resource management module 230 determines the maximum available network bandwidth resource of the system
Figure 112018120173984-pat00014
And the sum of reserved network bandwidth resources
Figure 112018120173984-pat00015
It is possible to determine whether or not the expression (1) is satisfied.

자원 관리 모듈(230)는 네트워크 대역폭 자원 예약 요청이 스케줄링 가능성 분석을 통과하면 디폴트 큐의 네트워크 대역폭 자원 제한을 수학식 2와 같이 설정할 수 있다.The resource management module 230 may set the network bandwidth resource limit of the default queue as shown in Equation 2 if the network bandwidth resource reservation request passes the schedulability analysis.

네트워크 자원 모니터(220)는 자원 관리 장치(10)를 통해 네트워크 대역폭 자원을 예약한 프로세스의 리스트를 관리하며 주기적으로 프로세스 리스트를 탐색하여 비실시간 네트워크 흐름의 네트워크 대역폭 자원 사용량을 모니터링 할 수 있다.The network resource monitor 220 manages a list of processes for reserving network bandwidth resources through the resource management apparatus 10 and periodically searches the process list to monitor the network bandwidth resource usage of the non-real-time network flow.

또한, 비실시간 네트워크 흐름의 대역폭 자원 사용량이 디폴트 큐의 네트워크 대역폭 자원의 제한을 넘지 못하기 때문에 네트워크 자원 모니터(220)는 지속적인 모니터링을 통해 네트워크 자원을 예약한 프로세스의 종료나 예약 변경과 같은 이벤트가 발생하면 디폴트 큐의 대역폭 자원의 조정을 통해 비 실시간 네트워크 흐름의 네트워크 대역폭 자원 사용을 제어할 수 있다.In addition, since the bandwidth resource usage of the non-real-time network flow does not exceed the limit of the network bandwidth resource of the default queue, the network resource monitor 220 continuously monitors the event, When this happens, you can control the use of network bandwidth resources in non-real-time network flows through adjustment of the bandwidth resources of the default queue.

자원 관리 모듈(230)은 예약된 실시간 흐름 프로세스의 코어 친화도를 등록하고, 코어 친화도 정보를 기반으로 코어 별CPU 자원을 보장할 수 있다. 코어 친화도는 CPU에서 동작할 수 있는 디폴트 코어(default_core)와 특정 CPU에 지정되어 동작하는 퍼 코어(per_core) 그룹으로 분류될 수 있다.The resource management module 230 registers the core affinity of the reserved real-time flow process and can guarantee CPU resources for each core based on the core affinity information. Core affinity can be classified into a default core (default_core) that can operate on a CPU and a per_core group that is specified to operate on a specific CPU.

분류된 태스크 그룹의 초기 CPU 대역폭 자원 상한은 퍼 코어 그룹의 경우 1일 수 있고, 디폴트 코어의 경우 n(시스템 내의 총 코어 개수)으로 설정될 수 있다.The initial CPU bandwidth resource cap for the classified task group may be 1 for a percore group and may be set to n (total number of cores in the system) for a default core.

각 그룹은 실시간 흐름이 동작하는 넷(net) 하부 그룹과 실시간 흐름을 제외한 프로세스가 동작하는 디폴트(default) 하부 그룹으로 구성된다. 이때, 디폴트 하부그룹의 CPU 대역폭은 자원 최대 값(부모 그룹의 CPU 대역폭)으로 설정될 수 있다. 설정 값은 최대 가용 CPU 대역폭 자원

Figure 112018120173984-pat00016
을 나타낼 수 있다.Each group consists of a net subgroup in which real-time flows operate and a default subgroup in which processes except real-time flows operate. At this time, the CPU bandwidth of the default sub group can be set to the resource maximum value (CPU bandwidth of the parent group). The setting is the maximum available CPU bandwidth resource
Figure 112018120173984-pat00016
Lt; / RTI >

CPU 대역폭 스케줄링 가능성 분석기(237)는 실시간 흐름 프로세스가 네트워크 대역폭 자원을 예약하면 CPU 대역폭 자원에 대한 스케줄링 가능성을 분석할 수 있다. 이 때, 스케줄링 가능성 분석은 실시간 네트워크 흐름의 수학식 3을 만족하여 최대 가용 CPU 대역폭 자원을 넘지 않도록 제한될 수 있다.The CPU bandwidth schedulability analyzer 237 can analyze the schedulability of CPU bandwidth resources when the real-time flow process reserves network bandwidth resources. At this time, the schedulability analysis can be limited to satisfy the equation (3) of the real time network flow so as not to exceed the maximum available CPU bandwidth resource.

스케줄링 가능성 분석을 통과한 CPU 대역폭 자원 예약 요청은 cgroup(240)의 각 CPU별 태스크 그룹의 넷 하부 그룹에 적용될 수 있다. 또한, CPU 대역폭 스케줄링 가능성 분석기(237)는 CPU 대역폭 자원의 제한을 수학식 4와 같이 설정할 수 있다.The CPU bandwidth resource reservation requests that have passed the schedulability analysis can be applied to the net subgroups of the task groups of each CPU of the cgroup 240. In addition, the CPU bandwidth schedulability analyzer 237 can set the limitation of the CPU bandwidth resource as shown in Equation (4).

디폴트 하부 그룹의 프로세스는 cgroup(240)의 대역폭 자원 관리 방식에 따라 대역폭 이상의 자원 사용이 제한될 수 있다. 이러한 제한을 통해, 자원 관리 장치(10)는 최대 가용 대역폭 자원 내에서 자원을 예약하며, 예약된 CPU 자원에 대한 원활한 제공을 보장할 수 있다.The processes of the default sub group may be limited in resources usage over bandwidth depending on the bandwidth resource management method of the cgroup 240. With this restriction, the resource management device 10 reserves resources within the maximum available bandwidth resource and can guarantee smooth provision of reserved CPU resources.

도 3은 네트워크 부하에 대한 자원 보장성 검증 실험 결과의 예를 나타낸다.3 shows an example of the result of the resource protection verification test for the network load.

도 3을 참조하면, 자원 관리 장치(10)의 성능이 실험을 통해 검증될 수 있다. 실험환경은 다수의 클라이언트가 하나의 서버에 동시에 업로드를 시도하는 상황을 가정하고, 네트워크 대역폭 자원을 예약한 실시간 흐름의 네트워크 대역폭 측정을 통해 자원 보장성이 확인될 수 있다.Referring to FIG. 3, the performance of the resource management apparatus 10 can be verified through experiments. The experimental environment assumes a situation where a plurality of clients try to upload to one server at the same time, and resource protection can be confirmed by measuring network bandwidth of a real-time flow that reserves a network bandwidth resource.

상세한 실험의 구성은 표 2와 같이 나타낼 수 있다.The composition of the detailed experiment is shown in Table 2.

실험Experiment 실험 1 네트워크 로드 증가Experiment 1 Increase Network Load 실험 2 CPU 로드 증가Experiment 2 Increased CPU load 컴포넌트component Server, Client, SwitchServer, Client, Switch 서버 스펙Server Specifications OS : Ubuntu 16.04, Kernel v4.4.0CPU : Intel XEON HASWELL 2-way Deca-core 3.1GhzOS: Ubuntu 16.04, Kernel v4.4.0 CPU: Intel XEON HASWELL 2-way Deca-core 3.1Ghz 클라이언트 스펙Client specification OS : CentOS 7.4, Kernel v3.10.0CPU : Intel XEON HASWELL 2-way Deca-core 3.1GhzOS: CentOS 7.4, Kernel v3.10.0 CPU: Intel XEON HASWELL 2-way Deca-core 3.1Ghz 스위치 스펙Switch Specifications Mellanox SX1012 12-port 40/56GibE SwitchMellanox SX1012 12-port 40 / 56GibE Switch 실험 측정Experimental measurement Micro-benchmark : iperfMeasuring factors : The sum of the network bandwidth usage of the real-time flows that reserve resources (10G / 5G / 2.5G / 2.5G), respectively.Micro-benchmark: iperfMeasuring factors: The sum of the network bandwidth usage of the real-time flows that reserve resources (10G / 5G / 2.5G / 2.5G), respectively. 자원 관리 방법How to manage resources baseline : Default Linux environment without reserved bandwidth resources.w/tc : An environment with Traffic Controller's network bandwidth resource management.
w/guaranteed net : An environment with Network Bandwidth Guarantee Technique.
w/guarantted net, cpu : An environment with network bandwidth guarantee method considering CPU and network load.
baseline: Default Linux environment without reserved bandwidth resources.w / tc: An environment with Traffic controller's network bandwidth resource management.
w / guaranteed net: An environment with Network Bandwidth Guarantee Technique.
w / guarantted net, cpu: An environment with network bandwidth guarantee method considering CPU and network load.
백그라운드 프로세스Background process iperf benchmarks running on anycore(to minimize cpu load increase)iperf benchmarks running on anycore (to minimize cpu load increase) iperf benchmarks running on the same core (to maximize cpu load increase)iperf benchmarks running on the same core (to maximize cpu load increase) 실험 디테일Experiment Detail Network bandwidth resource reservation : 20 Gbit/sec
Manipulation variable : Increase background workload by one (0 to 9).
Network bandwidth resource reservation: 20 Gbit / sec
Manipulation variable: Increase background workload by one (0 to 9).

실험에서 각각 동일한 하드웨어 환경에서 네트워크와 CPU부하 증가에 따른 실시간 흐름의 네트워크 I/O 대역폭 사용량이 측정되었으며, 서로 다른 4가지 자원관리 방식에 대한 성능이 비교될 수 있다.Experimental results show that the network I / O bandwidth usage in real - time flow is measured by network and CPU load in the same hardware environment, and the performance of four different resource management methods can be compared.

자원관리 방식은 각각 1)리눅스의 기본환경(baseline), 2) tc(Traffic Controller)를 통해 네트워크 자원을 예약(w/tc), 3) 자원 관리 장치(10)의 네트워크 I/O 대역폭 보장 기술을 적용(w/guaranteed net), 4) 자원 관리 장치(10)의 CPU 자원과 네트워크 자원을 고려한 네트워크 I/O 대역폭의 보장(w/guaranteed net, cpu)으로 구분될 수 있다.The resource management method includes: 1) baseline of Linux; 2) reservation of network resources (w / tc) through tc (Traffic Controller); 3) network I / O bandwidth guarantee technique of resource management device 10 (W / guaranteed net), 4) guarantee of network I / O bandwidth (w / guaranteed net, cpu) considering CPU resources and network resources of the resource management apparatus 10.

실험환경 구성은 마이크로 벤치마크 도구인 iperf를 사용될 수 있고, 다수의 클라이언트가 하나의 서버에 단방향 통신을 수행한 결과가 측정될 수 있다.Experimental environment configuration can be used iperf, a micro benchmark tool, and the result of multiple clients performing unidirectional communication with one server can be measured.

첫 번째 실험은 네트워크 대역폭의 부하가 점차 증가할 때 실시간 흐름의 네트워크 대역폭 보장을 확인하기 위한 실험일 수 있다. 베이스라인(baseline)을 제외한 세 그래프는 4개의 실시간 흐름에 해당하는 클라이언트에 각각 10Gbps, 5Gbps, 2.5Gbps, 2.5Gbps의 대역폭을 예약하고, 4개의 클라이언트가 iperf 벤치마크를 통해 사용한 네트워크 대역폭의 합을 측정한 것일 수 있다.The first experiment can be an experiment to confirm network bandwidth guarantee of real-time flow as the load of network bandwidth increases gradually. Three graphs, excluding the baseline, are used to reserve bandwidths of 10 Gbps, 5 Gbps, 2.5 Gbps, and 2.5 Gbps, respectively, for clients in four real-time flows, and the sum of the network bandwidth used by four clients using the iperf benchmark It may be measured.

백그라운드 클라이언트 증가에 따른 CPU 자원의 영향을 최소화하기 위해 모든 클라이언트가 디폴트 코어(default_core) 그룹에서 관리될 수 있다. 실험은 백그라운드 클라이언트를 0부터 10까지 하나씩 증가시키며 네트워크 대역폭을 예약한 클라이언트의 네트워크 대역폭을 측정하여 수행될 수 있고, 6분간의 측정결과에 대한 평균값을 각각 측정하고 각각의 평균 값들이 합산될 수 있다.To minimize the impact of CPU resources on background client growth, all clients can be managed in the default_core group. The experiment can be performed by measuring the network bandwidth of the client that reserved the network bandwidth by incrementing the background client from 0 to 10 one by one, measuring the average value for the measurement result of 6 minutes each, and the respective average values can be summed .

도 3의 예시에서, 그래프의 x축은 백그라운드 클라이언트의 개수를 나타내며, 그래프의 y축은 iperf 벤치마크의 네트워크 대역폭의 합을 나타낼 수 있다. 대역폭 자원 예약을 하지 않는 베이스라인 그래프의 경우 백그라운드 클라이언트가 증가함에 따라 대역폭이 반비례하여 감소하는 것을 확인할 수 있다. In the example of FIG. 3, the x-axis of the graph represents the number of background clients and the y-axis of the graph may represent the sum of the network bandwidth of the iperf benchmark. In the case of a baseline graph without bandwidth resource reservation, it can be seen that the bandwidth decreases in inverse proportion as the number of background clients increases.

w/tc 그래프에서는 네트워크 부하가 증가함에 따라 베이스라인과 비교하여 높은 대역폭을 사용하나, 예약한 자원만큼의 대역폭을 보장하지는 못하는 것을 확인할 수 있다. 또한, w/guaranteed net 그래프와 w/guaranteed net, cpu 그래프를 통해 자원 관리 장치(10)를 사용했을 때 예약된 네트워크 대역폭에 대한 자원보장을 확인할 수 있다.In the w / tc graph, as the network load increases, it is possible to confirm that the bandwidth is not as high as the reserved resource, although the bandwidth is used in comparison with the baseline. In addition, the resource guarantee for the reserved network bandwidth can be confirmed by using the resource management device 10 through the w / guaranteed net graph and the w / guaranteed net and cpu graphs.

그래프에서 tc만을 사용하여 네트워크 자원을 관리하는 경우 최대 42.1%의 성능 하락을 보일 수 있다. 또한, 이러한 성능 하락은 네트워크 대역폭 부하가 증가함에 따라 더 큰 차이를 보일 수 있다. 실험 결과를 통해 네트워크 I/O 대역폭 관리도구의 네트워크 부하에 대한 자원보장성을 확인할 수 있다.If you use only tc in the graph to manage network resources, you can see a performance decrease of up to 42.1%. In addition, this performance degradation may show larger differences as the network bandwidth load increases. Experimental results show that the network I / O bandwidth management tool is able to confirm resource protection against network load.

도 4는 CPU 부하에 대한 자원 보장성 검증 실험 결과의 예를 나타낸다.FIG. 4 shows an example of the results of the resource protection verification test for the CPU load.

도 4를 참조하면, CPU 부하에 대한 보장성 검증 실험은 디폴트 코어그룹에서 모든 클라이언트를 관리하던 기존 실험과 대비하여 대역폭 자원을 예약한 클라이언트와 백그라운드 클라이언트 간의 CPU 자원 경쟁을 최대화하기 위해 모든 클라이언트는 하나의 코어에서 동작하도록 구성될 수 있다.Referring to FIG. 4, in order to maximize the CPU resource competition between a client reserving a bandwidth resource and a background client in comparison with an existing experiment in which all clients are managed in the default core group, Core. ≪ / RTI >

또한, CPU 자원 관리를 위해 경험적인 방식을 사용하여 실험 환경에서 20Gbps의 대역폭을 보장할 수 있는 CPU 자원 사용량이 36.2%임을 확인하였고, 실험환경에서 최대 40%의 CPU 자원을 보장할 수 있도록 CPU 자원이 예약될 수 있다. 이외의 환경 구성은 도 3의 실험과 동일할 수 있다. 도 4의 예시는 CPU 부하에 대한 자원 보장성 검증 실험 결과를 나타낼 수 있다.We also confirmed that 36.2% of the CPU resources are used to guarantee 20Gbps of bandwidth in the experimental environment by using an experimental method for CPU resource management. In order to guarantee maximum 40% CPU resources in the experimental environment, CPU resources Can be reserved. The other configuration of the environment may be the same as the experiment of Fig. The example of FIG. 4 can show the results of the resource protection verification test for the CPU load.

도 4에서 베이스라인 그래프와 w/tc 그래프의 경우 도 3의 결과와 유사한 추세를 나타낼 수 있다. 또한, 자원 관리 장치(10)를 이용한 w/guaranteed net의 실험결과에서 다른 실험결과와 비교하여 최대 62.5%로 큰 폭의 성능 감소가 발생하는 것을 확인할 수 있다. 반면 자원 관리 장치(10)를 이용한 w/guaranteed net, cpu의 실험 결과는 통해 예약한 만큼의 네트워크 대역폭을 보장하는 것을 확인할 수 있다.In FIG. 4, the baseline graph and the w / tc graph show a trend similar to that of FIG. Also, it can be seen that the performance of the w / guaranteed net using the resource management device 10 is greatly reduced to 62.5% as compared with other experimental results. On the other hand, the experimental results of w / guaranteed net and cpu using the resource management device 10 confirm that the bandwidth of the reserved network is ensured.

도 5는 부하가 가장 큰 구간의 흐름 별 대역폭 구성의 예를 나타낸다.Fig. 5 shows an example of bandwidth-specific bandwidth configuration of the load with the largest load.

도 5를 참조하면, 도 5의 예시는 CPU 부하가 가장 크게 작용하는 10개의 백그라운드 클라이언트가 동작하는 환경의 실험결과를 흐름 별로 나타낸 결과이며, 베이스라인을 제외한 3가지 자원 관리 방식에 대해 흐름별 네트워크 대역폭 사용량을 나타낼 수 있다.5, the example of FIG. 5 is a result of the experiment results of an environment in which 10 background clients that operate with the greatest CPU load are operated in a flow-by-flow basis. For the three resource management methods except for the base line, It can indicate bandwidth usage.

도 5의 10Gbps 흐름에서 이상적인 경우와 비교하여 가장 큰 차이가 나는 것을 통해 큰 네트워크 대역폭을 예약한 클라이언트일수록 CPU 부하에 의한 영향을 크게 받는 것을 확인할 수 있다.In the 10Gbps flow of FIG. 5, the largest difference is seen in comparison with the ideal case, and it can be confirmed that the client that reserves a large network bandwidth is greatly affected by the CPU load.

또한, w/guaranteed net, cpu 그래프의 측정 결과를 통해 각 흐름의 네트워크 대역폭이 보장됨을 확인할 수 있다. 따라서 올바른 네트워크 I/O 대역폭 보장을 위해 네트워크 대역폭에 대한 보장 외에도 네트워크 동작을 수행하는 프로세스의 CPU 자원에 대한 보장 역시 고려되어야 함을 확인할 수 있다.Also, it can be confirmed that the network bandwidth of each flow is guaranteed through the measurement result of w / guaranteed net and cpu graph. Therefore, in order to guarantee the correct network I / O bandwidth, it is necessary to consider not only the guarantee on the network bandwidth but also the guarantee of the CPU resource of the process of performing the network operation.

도 6은 도 1에 도시된 자원 관리 장치의 동작의 순서도를 나타낸다.FIG. 6 shows a flowchart of the operation of the resource management apparatus shown in FIG. 1. FIG.

도 6을 참조하면, 자원 관리 장치(10)는 네트워크 대역폭 자원에 대한 예약 요청을 수신할 수 있다(610).Referring to FIG. 6, the resource management apparatus 10 may receive a reservation request for a network bandwidth resource (610).

자원 관리 장치(10)는 수신한 예약 요청에 기초하여 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단할 수 있다(630). 구체적으로, 자원 관리 장치(10)는 예약된 네트워크 대역폭 자원의 합을 계산할 수 있고, 최대 가용 네트워크 대역폭 자원과 예약된 네트워크 대역폭 자원의 합을 비교하여 스케줄링 가능성을 판단할 수 있다.The resource management apparatus 10 may determine the schedulability of the network bandwidth resource based on the received reservation request (630). Specifically, the resource management apparatus 10 can calculate the sum of the reserved network bandwidth resources and determine the schedulability by comparing the sum of the maximum available network bandwidth resource and the reserved network bandwidth resource.

자원 관리 장치(10)는 네트워크 대역폭 자원에 대한 스케줄링 가능성에 기초하여 네트워크 대역폭 자원을 예약할 수 있다(650).The resource management device 10 may reserve network bandwidth resources based on schedulability for network bandwidth resources (650).

자원 관리 장치(10)는 예약된 네트워크 대역폭 자원에 기초하여 CPU 대역폭 자원에 대한 스케줄링 가능성을 판단할 수 있다(670). 구체적으로, 자원 관리 장치(10)는 단위 네트워크 대역폭 당 필요 CPU 대역폭을 계산할 수 있고, 예약된 네트워크 대역폭 자원의 합 및 단위 네트워크 대역폭 당 필요 CPU 대역폭의 곱과 최대 가용 CPU 대역폭 자원을 비교하여 스케줄링 가능성을 판단할 수 있다.The resource management device 10 may determine 670 schedulability for CPU bandwidth resources based on the reserved network bandwidth resources. Specifically, the resource management device 10 can calculate the required CPU bandwidth per unit network bandwidth, and compare the maximum available CPU bandwidth resource with the product of the sum of the reserved network bandwidth resources and the required CPU bandwidth per unit network bandwidth, Can be determined.

자원 관리 장치(10)는 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 CPU 대역폭 자원을 예약할 수 있다(690).The resource management device 10 may reserve 690 CPU bandwidth resources based on schedulability for CPU bandwidth resources.

상술한 동작을 통해, 자원 관리 장치(10)는 종래의 자원 관리 방식과 달리 네트워크 I/O대역폭 보장을 위해 다른 태스크로부터의 네트워크 및 CPU 대역폭 자원에 대한 간섭을 방지할 수 있다. 따라서, 자원 관리 장치(10)는 예약된 자원에 대해 시스템 자원 상황의 변화에도 안정적으로 네트워크 I/O 서비스를 제공할 수 있다.Through the above operation, the resource management apparatus 10 can prevent interference with network and CPU bandwidth resources from other tasks in order to guarantee the network I / O bandwidth unlike the conventional resource management method. Therefore, the resource management apparatus 10 can stably provide the network I / O service to the reserved resource even in the change of the system resource situation.

실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.The method according to an embodiment may be implemented in the form of a program command that can be executed through various computer means and recorded in a computer-readable medium. The computer readable medium may include program instructions, data files, data structures, and the like, alone or in combination. Program instructions to be recorded on the medium may be those specially designed and constructed for the embodiments or may be available to those skilled in the art of computer software. Examples of computer-readable media include magnetic media such as hard disks, floppy disks and magnetic tape; optical media such as CD-ROMs and DVDs; magnetic media such as floppy disks; Magneto-optical media, and hardware devices specifically configured to store and execute program instructions such as ROM, RAM, flash memory, and the like. Examples of program instructions include machine language code such as those produced by a compiler, as well as high-level language code that can be executed by a computer using an interpreter or the like. The hardware device may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.The software may include a computer program, code, instructions, or a combination of one or more of the foregoing, and may be configured to configure the processing device to operate as desired or to process it collectively or collectively Device can be commanded. The software and / or data may be in the form of any type of machine, component, physical device, virtual equipment, computer storage media, or device , Or may be permanently or temporarily embodied in a transmitted signal wave. The software may be distributed over a networked computer system and stored or executed in a distributed manner. The software and data may be stored on one or more computer readable recording media.

이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.Although the embodiments have been described with reference to the drawings, various technical modifications and variations may be applied to those skilled in the art. For example, it is to be understood that the techniques described may be performed in a different order than the described methods, and / or that components of the described systems, structures, devices, circuits, Lt; / RTI > or equivalents, even if it is replaced or replaced.

그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.Therefore, other implementations, other embodiments, and equivalents to the claims are also within the scope of the following claims.

Claims (16)

네트워크 대역폭 자원에 대한 예약 요청을 수신하는 단계;
상기 예약 요청에 기초하여 상기 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계;
상기 네트워크 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 네트워크 대역폭 자원을 예약하는 단계;
예약된 네트워크 대역폭 자원에 기초하여 CPU(central processing unit) 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계; 및
상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약하는 단계
를 포함하는 자원 관리 방법.
Receiving a reservation request for a network bandwidth resource;
Determining schedulability for the network bandwidth resource based on the reservation request;
Reserving the network bandwidth resource based on schedulability for the network bandwidth resource;
Determining schedulability for a central processing unit (CPU) bandwidth resource based on a reserved network bandwidth resource; And
Reserving the CPU bandwidth resource based on schedulability for the CPU bandwidth resource
The resource management method comprising:
제1항에 있어서,
상기 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계는,
예약된 네트워크 대역폭 자원의 합을 계산하는 단계; 및
최대 가용 네트워크 대역폭 자원과 상기 예약된 네트워크 대역폭 자원의 합을 비교하여 스케줄링 가능성을 판단하는 단계
를 포함하는 자원 관리 방법.
The method according to claim 1,
Wherein determining the schedulability for the network bandwidth resource comprises:
Calculating a sum of reserved network bandwidth resources; And
Comparing the maximum available network bandwidth resource with the sum of the reserved network bandwidth resources to determine schedulability
The resource management method comprising:
제2항에 있어서,
상기 네트워크 대역폭 자원을 예약하는 단계 이후에,
상기 최대 가용 네트워크 대역폭 자원에서 상기 예약된 네트워크 대역폭 자원의 합을 뺀 값으로 상기 네트워크 대역폭 자원의 제한을 설정하는 단계
를 더 포함하는 자원 관리 방법.
3. The method of claim 2,
After the step of reserving the network bandwidth resource,
Setting a limit of the network bandwidth resource to a value obtained by subtracting the sum of the reserved network bandwidth resources from the maximum available network bandwidth resource
Further comprising the steps of:
제2항에 있어서,
상기 CPU 대역폭 자원에 대한 스케줄링 가능성을 판단하는 단계는,
단위 네트워크 대역폭 당 필요 CPU 대역폭 자원을 계산하는 단계; 및
상기 합 및 상기 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원의 곱과 최대 가용 CPU 대역폭 자원을 비교하여 스케줄링 가능성을 판단하는 단계
를 포함하는 자원 관리 방법.
3. The method of claim 2,
Wherein determining the schedulability for the CPU bandwidth resource comprises:
Calculating a required CPU bandwidth resource per unit network bandwidth; And
Determining the schedulability by comparing the sum of the sum of the required CPU bandwidth resources per unit network bandwidth and the maximum available CPU bandwidth resource
The resource management method comprising:
제4항에 있어서,
상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약하는 단계 이후에,
상기 최대 가용 CPU 대역폭 자원에서 상기 곱을 뺀 값으로 상기 CPU 대역폭 자원의 제한을 설정하는 단계
를 더 포함하는 자원 관리 방법.
5. The method of claim 4,
After the step of reserving the CPU bandwidth resource based on schedulability for the CPU bandwidth resource,
Setting a limit of the CPU bandwidth resource to a value obtained by subtracting the product from the maximum available CPU bandwidth resource
Further comprising the steps of:
제1항에 있어서,
상기 네트워크 대역폭 자원의 사용량을 모니터링하는 단계
를 더 포함하는 자원 관리 방법.
The method according to claim 1,
Monitoring the usage of the network bandwidth resource
Further comprising the steps of:
제6항에 있어서,
상기 모니터링하는 단계는,
상기 네트워크 대역폭 자원의 디폴트 큐(default queue)를 생성하는 단계; 및
대역폭이 예약되지 않은 비실시간 네트워크 흐름을 상기 디폴트 큐로 관리하는 단계
를 포함하는 자원 관리 방법.
The method according to claim 6,
Wherein the monitoring comprises:
Generating a default queue for the network bandwidth resource; And
Managing non-real-time network flows that are not reserved for bandwidth with the default queue
The resource management method comprising:
제7항에 있어서,
상기 모니터링하는 단계는,
상기 네트워크 대역폭 자원을 예약한 프로세스의 종료 또는 변경이 발생한 경우 상기 디폴트 큐의 네트워크 대역폭을 조절하는 단계
를 더 포함하는 자원 관리 방법.
8. The method of claim 7,
Wherein the monitoring comprises:
Adjusting a network bandwidth of the default queue when an end or a change of a process for reserving the network bandwidth resource occurs,
Further comprising the steps of:
네트워크 대역폭 자원에 대한 예약 요청을 수신하는 수신기; 및
상기 예약 요청에 기초하여 네트워크 대역폭 자원에 대한 스케줄링 가능성을 판단하고, 상기 네트워크 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 네트워크 대역폭 자원을 예약하고, 예약된 네트워크 대역폭 자원에 기초하여 CPU(central processing unit) 대역폭 자원에 대한 스케줄링 가능성을 판단하고, 상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약하는 프로세서
를 포함하는 하는 자원 관리 장치.
A receiver for receiving a reservation request for a network bandwidth resource; And
Determining a schedulability for a network bandwidth resource based on the reservation request, reserving the network bandwidth resource based on schedulability for the network bandwidth resource, and determining a central processing unit (CPU) based on the reserved network bandwidth resource, A processor for determining the schedulability for a bandwidth resource and reserving the CPU bandwidth resource based on schedulability for the CPU bandwidth resource,
The resource management apparatus comprising:
제9항에 있어서,
상기 프로세서는,
예약된 네트워크 대역폭 자원의 합을 계산하고, 최대 가용 네트워크 대역폭 자원과 상기 예약된 네트워크 대역폭 자원의 합을 비교하여 스케줄링 가능성을 판단하는
자원 관리 장치.
10. The method of claim 9,
The processor comprising:
Calculating a sum of the reserved network bandwidth resources, and comparing the sum of the maximum available network bandwidth resource and the reserved network bandwidth resource to determine schedulability
Resource management device.
제10항에 있어서,
상기 프로세서는,
상기 네트워크 대역폭 자원을 예약한 이후에,
상기 최대 가용 네트워크 대역폭 자원에서 상기 예약된 네트워크 대역폭 자원의 합을 뺀 값으로 상기 네트워크 대역폭 자원의 제한을 설정하는
자원 관리 장치.
11. The method of claim 10,
The processor comprising:
After reserving the network bandwidth resource,
Setting a limit of the network bandwidth resource to a value obtained by subtracting the sum of the reserved network bandwidth resources from the maximum available network bandwidth resource
Resource management device.
제10항에 있어서,
상기 프로세서는,
단위 네트워크 대역폭 당 필요 CPU 대역폭 자원을 계산하고, 상기 합 및 상기 단위 네트워크 대역폭 당 필요 CPU 대역폭 자원의 곱과 최대 가용 CPU 대역폭 자원을 비교하여 스케줄링 가능성을 판단하는
자원 관리 장치.
11. The method of claim 10,
The processor comprising:
Calculates a necessary CPU bandwidth resource per unit network bandwidth, and determines schedulability by comparing the sum of the sum of necessary CPU bandwidth resources per unit network bandwidth and the maximum available CPU bandwidth resource
Resource management device.
제12항에 있어서,
상기 프로세서는,
상기 CPU 대역폭 자원에 대한 스케줄링 가능성에 기초하여 상기 CPU 대역폭 자원을 예약한 이후에,
상기 최대 가용 CPU 대역폭 자원에서 상기 곱을 뺀 값으로 상기 CPU 대역폭 자원의 제한을 설정하는
자원 관리 장치.
13. The method of claim 12,
The processor comprising:
After reserving the CPU bandwidth resources based on schedulability for the CPU bandwidth resources,
Setting a limit of the CPU bandwidth resource to a value obtained by subtracting the product from the maximum available CPU bandwidth resource
Resource management device.
제9항에 있어서,
상기 프로세서는,
상기 네트워크 대역폭 자원의 사용량을 모니터링하는
자원 관리 장치.
10. The method of claim 9,
The processor comprising:
Monitoring the usage of the network bandwidth resource
Resource management device.
제14항에 있어서,
상기 프로세서는,
상기 네트워크 대역폭 자원의 디폴트 큐(default que)를 생성하고, 대역폭이 예약되지 않은 비실시간 네트워크 흐름을 상기 디폴트 큐로 관리하는
자원 관리 장치.
15. The method of claim 14,
The processor comprising:
Generates a default queue of the network bandwidth resource, and manages a non-reserved non-real-time network flow with the bandwidth as the default queue
Resource management device.
제15항에 있어서,
상기 프로세서는,
상기 네트워크 대역폭 자원을 예약한 프로세스의 종료 또는 변경이 발생한 경우 상기 디폴트 큐의 네트워크 대역폭을 조절하는
자원 관리 장치.
16. The method of claim 15,
The processor comprising:
The network bandwidth of the default queue is adjusted when an end or a change of the process of reserving the network bandwidth resource occurs
Resource management device.
KR1020180152327A 2018-11-30 2018-11-30 Method and apparatus of managing resource KR101996768B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180152327A KR101996768B1 (en) 2018-11-30 2018-11-30 Method and apparatus of managing resource

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180152327A KR101996768B1 (en) 2018-11-30 2018-11-30 Method and apparatus of managing resource

Publications (1)

Publication Number Publication Date
KR101996768B1 true KR101996768B1 (en) 2019-07-04

Family

ID=67259362

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180152327A KR101996768B1 (en) 2018-11-30 2018-11-30 Method and apparatus of managing resource

Country Status (1)

Country Link
KR (1) KR101996768B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150121600A (en) * 2014-04-21 2015-10-29 삼성전자주식회사 Apparatus for scheduling task based on hardware and method thereof
KR101707601B1 (en) * 2015-12-31 2017-02-16 숭실대학교산학협력단 Virtual machine monitor and schduling method of virtual machine monitor

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150121600A (en) * 2014-04-21 2015-10-29 삼성전자주식회사 Apparatus for scheduling task based on hardware and method thereof
KR101707601B1 (en) * 2015-12-31 2017-02-16 숭실대학교산학협력단 Virtual machine monitor and schduling method of virtual machine monitor

Similar Documents

Publication Publication Date Title
US20230283681A1 (en) System and method for throttling service requests having non-uniform workloads
US9712448B2 (en) Proxy server, hierarchical network system, and distributed workload management method
US8670310B2 (en) Dynamic balancing priority queue assignments for quality-of-service network flows
US9419904B2 (en) System and method for throttling service requests using work-based tokens
US8719297B2 (en) System for managing data collection processes
US6961341B1 (en) Adaptive bandwidth throttling for network services
US8898674B2 (en) Memory databus utilization management system and computer program product
US9007898B2 (en) System to share network bandwidth among competing applications
US8918566B2 (en) System and methods for allocating shared storage resources
US7467291B1 (en) System and method for calibrating headroom margin
US9172646B2 (en) Dynamic reconfiguration of network devices for outage prediction
US7580353B1 (en) Method and apparatus to balance flow loads in a multipurpose networking device
CN106411558B (en) Method and system for limiting data flow
US20160364167A1 (en) Storage management device, storage management method, and computer-readable recording medium
US10560385B2 (en) Method and system for controlling network data traffic in a hierarchical system
CN103248622B (en) A kind of Online Video QoS guarantee method of automatic telescopic and system
US8780723B2 (en) Communication system and communication apparatus
Dasgupta et al. Qosmig: Adaptive rate-controlled migration of bulk data in storage systems
JPH05216842A (en) Resources managing device
KR101996768B1 (en) Method and apparatus of managing resource
Zhang et al. A performance comparison of adaptive and static load balancing in heterogeneous distributed systems
US20120054374A1 (en) System, method and computer program product for monitoring memory access
KR101813165B1 (en) Adaptive control plane management method for software defined network and apparatus thereof
CN111541558B (en) SLA configuration method and device
Du et al. Modeling and robust control for trusted web server

Legal Events

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