KR101491689B1 - Apparatus and method for allocating computing resource to multiple users - Google Patents

Apparatus and method for allocating computing resource to multiple users Download PDF

Info

Publication number
KR101491689B1
KR101491689B1 KR20130087452A KR20130087452A KR101491689B1 KR 101491689 B1 KR101491689 B1 KR 101491689B1 KR 20130087452 A KR20130087452 A KR 20130087452A KR 20130087452 A KR20130087452 A KR 20130087452A KR 101491689 B1 KR101491689 B1 KR 101491689B1
Authority
KR
South Korea
Prior art keywords
user
resource allocation
resources
allocated
resource
Prior art date
Application number
KR20130087452A
Other languages
Korean (ko)
Other versions
KR20150012071A (en
Inventor
김직수
노승우
김석규
김상완
황순욱
Original Assignee
한국과학기술정보연구원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술정보연구원 filed Critical 한국과학기술정보연구원
Priority to KR20130087452A priority Critical patent/KR101491689B1/en
Publication of KR20150012071A publication Critical patent/KR20150012071A/en
Application granted granted Critical
Publication of KR101491689B1 publication Critical patent/KR101491689B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 명세서는 자원 배분 장치가 컴퓨팅 자원을 배분하는 방법을 개시한다. 상기 방법은, 1 이상의 사용자로부터 컴퓨팅 자원 배분 요청을 수신하는 단계와; 상기 사용자의 요청 작업 중에서 자원을 배분받지 못한 작업의 수, 상기 자원 배분 요청 시점에서의 대기 사용자(Demanding User) 수 및 가용 자원량을 기초로 하여 상기 사용자에게 배분할 자원량(Resource Allotment)을 계산하는 단계와; 상기 계산된 자원량에 따라 상기 사용자에게 컴퓨팅 자원을 배분하는 단계;를 포함한다.This specification discloses a method for a resource allocation apparatus to allocate computing resources. The method includes receiving a computing resource allocation request from one or more users; Calculating a resource amount to be allocated to the user based on the number of tasks for which resources are not allocated among the requested tasks of the user, the number of waiting users at the time of requesting resource allocation, and the available resources; ; And allocating computing resources to the user according to the calculated amount of resources.

Description

다중 사용자를 위한 자원 할당 방법 및 장치{APPARATUS AND METHOD FOR ALLOCATING COMPUTING RESOURCE TO MULTIPLE USERS}[0001] APPARATUS AND METHOD FOR ALLOCATING COMPUTING RESOURCE TO MULTIPLE USERS [0002]

본 명세서는 다중 사용자들이 컴퓨팅 자원(슈퍼컴퓨터, 그리드 등)을 공유하여 작업을 수행할 때, 자원 및 사용자들의 현황에 따라 동적으로 공정성(fairness)을 변경하여 자원을 배분함으로써 효율적이고 공평한 자원 분배가 이루어지도록 하는 방법 및 그에 사용되는 장치에 관한 것이다.In this specification, when multiple users share a computing resource (supercomputer, grid, etc.), it is possible to distribute resources by changing fairness dynamically according to the status of resources and users, thereby efficiently and equitably distributing resources And a device used therefor.

슈퍼컴퓨팅 자원, 그리드(Grid) 자원 등은 과학자들이 많은 양의 계산을 필요로 하는 과학 응용(scientific application)들의 태스크(task)들을 수행하기 위한 용도로 활용되고 있다. 이러한 컴퓨팅 자원에서 여러 명의 사용자들이 각각 서로 다른 많은 수의 태스크들을 수행하려고 할 때에 이들 간의 공정성을 보장함으로써 각각 공평한 양만큼의 자원을 할당받아 예측 가능한 시간 내에 작업들의 수행을 끝마치게 하는 것은 매우 중요한 문제이다. 예를 들어, 제공되는 자원의 수는 100개인데 사용자 A가 10,000개의 태스크를 제출하였다면, 그 뒤에 오는 사용자 B는 10개의 태스크들만 수행하려는 목적으로 작업을 제출해도 앞서 제출된 A의 태스크들이 모두 끝날 때까지 기다려야만 한다(FIFO(First-In First-Out)로 인한 공정성 침해). 따라서 사용자들이 수행하는 각 작업 수행 시간 및 작업 수들이 다를 수 있으므로 단순히 작업이 제출되는 순서대로 처리하는 것은 비효율적이고 공평하지 못할 수 있다.Supercomputing resources and Grid resources are being used by scientists to perform tasks in scientific applications that require large amounts of computation. In such a computing resource, it is very important to ensure that fairness among a plurality of users when performing a large number of different tasks, respectively, is ensured, to be. For example, if the number of resources provided is 100, and user A submits 10,000 tasks, the subsequent user B submits the task for the purpose of performing only 10 tasks, (First-In First-Out (FIFO) infringement). Therefore, it may be inefficient and unfair to simply process jobs in the order in which they are submitted, since the time and number of tasks performed by users may be different.

반면 공평성만을 추구하기 위해 사용자 별로 할당량을 미리 정하여 정적으로 분배한다면, 많은 수의 태스크를 수행하고자 하는 사용자들은 유휴 자원이 있음에도 불구하고 자원을 할당받지 못하는 경우가 발생할 수 있다.On the other hand, if a user allocates and allocates a quota for each user in advance in order to pursue fairness, users who want to perform a large number of tasks may be unable to allocate resources even though they have idle resources.

또한, 작업이 어떠한 컴퓨팅 노드(node)에서 실행되느냐에 따라서도 수행 시간이 달라질 수 있으므로 자원 및 사용자 태스크들에 대한 지속적인 모니터링을 통해 유휴 자원들을 동적으로 할당하여 전체적인 시스템 활용률(utilization)을 높이는 기술이 요청된다.In addition, the execution time may vary depending on which computing node the task is executed. Therefore, a technology for dynamically allocating idle resources through continuous monitoring of resources and user tasks to increase overall system utilization Is requested.

본 명세서는 컴퓨팅 자원을 동적으로 공평하게 다중 사용자들에게 분배함으로써, 전체적인 시스템 활용률 및 사용자 응답시간을 향상시킬 수 있는 방법을 제안하는 데에 그 목적이 있다. 또한 상기 방법을 수행할 수 있는 장치를 제안하고자 한다.It is an object of the present invention to propose a method for improving the overall system utilization rate and user response time by distributing computing resources dynamically and equitably to multiple users. Also, an apparatus capable of performing the above method is proposed.

본 명세서의 일 실시예에 따라 자원 배분 장치가 컴퓨팅 자원을 배분하는 방법이 제공된다. 상기 방법은, 1 이상의 사용자로부터 컴퓨팅 자원 배분 요청을 수신하는 단계와; 상기 사용자의 요청 작업 중에서 자원을 배분받지 못한 작업의 수, 상기 자원 배분 요청 시점에서의 대기 사용자(Demanding User) 수 및 가용 자원량을 기초로 하여 상기 사용자에게 배분할 자원량(Resource Allotment)을 계산하는 단계와; 상기 계산된 자원량에 따라 상기 사용자에게 컴퓨팅 자원을 배분하는 단계;를 포함할 수 있다.There is provided a method for a resource allocation apparatus to allocate computing resources according to an embodiment of the present disclosure. The method includes receiving a computing resource allocation request from one or more users; Calculating a resource amount to be allocated to the user based on the number of tasks for which resources are not allocated among the requested tasks of the user, the number of waiting users at the time of requesting resource allocation, and the available resources; ; And distributing computing resources to the user according to the calculated resource amount.

상기 사용자에게 배분할 자원량을 계산하는 단계는 동적으로 다중 사용자에 대한 공정성(fairness)을 변동하면서 배분할 자원량을 계산하는 단계일 수 있다.The step of calculating the amount of resources to be allocated to the user may be a step of dynamically calculating the amount of resources to be allocated while varying the fairness for multiple users.

상기 사용자에게 배분할 자원량을 계산하는 단계는 하기 수학식을 사용하여 배분할 자원량을 계산하는 단계이며,

Figure 112013066987666-pat00001
The step of calculating the amount of resources to be allocated to the user is a step of calculating the amount of resources to be allocated using the following equation,
Figure 112013066987666-pat00001

여기서 상기

Figure 112013066987666-pat00002
는 컴퓨팅 자원 배분 요청을 전송한 사용자 U에게 배분할 자원량이고,
Figure 112013066987666-pat00003
는 상기 사용자 U의 작업 큐(task queue)에 남아있는 작업 수이고, 상기
Figure 112013066987666-pat00004
는 상기 자원 배분 요청 시점에서의 가용 자원량이고, 상기
Figure 112013066987666-pat00005
는 대기 사용자 집합이고, 상기
Figure 112013066987666-pat00006
는 상기 대기 사용자(Demanding User) 별 가중치이고,
Figure 112013066987666-pat00007
는 상기 사용자 U의 가중치일 수 있다.Here,
Figure 112013066987666-pat00002
Is a resource amount to be distributed to a user U who has transmitted a computing resource allocation request,
Figure 112013066987666-pat00003
Is the number of tasks remaining in the task queue of the user U,
Figure 112013066987666-pat00004
Is the amount of available resources at the time of the resource allocation request,
Figure 112013066987666-pat00005
Is a standby user set,
Figure 112013066987666-pat00006
Is a weight for each Demanding User,
Figure 112013066987666-pat00007
May be a weight of the user U.

상기 대기 사용자(Demanding User)는 상기 자원 배분 요청 시점에서 요청 작업 수만큼의 자원을 배분받지 못한 상태에 있는 사용자이며, 상기 컴퓨팅 자원 배분 요청을 전송한 사용자를 포함할 수 있다.The waiting user may be a user who is not allocated resources as many as the number of requested jobs at the resource allocation request time, and may include a user who has transmitted the computing resource allocation request.

상기 대기 사용자별 가중치는 상기 대기 사용자가 요청한 작업의 수, 상기 요청한 작업의 평균 소요 시간, 상기 대기 사용자의 우선 순위 중 적어도 하나 이상에 근거하여 결정될 수 있다.The weight for each waiting user may be determined based on at least one of the number of jobs requested by the waiting user, the average time required for the requested job, and the priority of the waiting user.

상기 사용자에게 컴퓨팅 자원을 배분하는 단계는 모든 가용 자원이 배분된 상태인 경우, 타 사용자에게 기 배분된 자원의 반환이 완료된 후에, 상기 사용자에게 상기 계산된 자원량에 따른 컴퓨팅 자원을 배분하는 단계일 수 있다.The step of distributing the computing resource to the user may be a step of distributing the computing resource according to the calculated amount of resources to the user after completion of the returning of the resources allocated to other users when all the available resources are allocated have.

본 명세서의 다른 실시예에 따라 장치가 제공된다. 상기 장치는, 1 이상의 사용자로부터 컴퓨팅 자원 배분 요청을 수신하는 자원요청 수신부와; 상기 사용자의 요청 작업 중에서 자원을 배분받지 못한 작업의 수, 상기 자원 배분 요청 시점에서의 대기 사용자(Demanding User) 수 및 가용 자원량을 기초로 하여 상기 사용자에게 배분할 자원량(Resource Allotment)을 계산하는 자원배분 계산부와; 상기 계산된 자원량에 따라 상기 사용자에게 컴퓨팅 자원을 배분하는 자원배분부;를 포함할 수 있다.An apparatus is provided in accordance with another embodiment herein. The apparatus comprises: a resource request receiving unit for receiving a computing resource allocation request from at least one user; (Resource allocation) to be allocated to the user on the basis of the number of tasks for which resources are not allocated among the requested tasks of the user, the number of waiting users at the time of requesting resource allocation, and the amount of available resources A calculation unit; And a resource allocation unit for allocating computing resources to the user according to the calculated amount of resources.

상기 자원배분 계산부는 동적으로 다중 사용자에 대한 공정성(fairness)을 변동하면서 배분할 자원량을 계산할 수 있다.The resource allocation calculator may dynamically calculate the amount of resources to be distributed while varying the fairness for multiple users.

상기 자원배분 계산부는 하기 수학식을 사용하여 배분할 자원량을 계산하며,

Figure 112013066987666-pat00008
The resource allocation calculation unit calculates a resource amount to be allocated using the following equation,
Figure 112013066987666-pat00008

여기서 상기

Figure 112013066987666-pat00009
는 컴퓨팅 자원 배분 요청을 전송한 사용자 U에게 배분할 자원량이고,
Figure 112013066987666-pat00010
는 상기 사용자 U의 작업 큐(task queue)에 남아있는 작업 수이고, 상기
Figure 112013066987666-pat00011
는 상기 자원 배분 요청 시점에서의 가용 자원량이고, 상기
Figure 112013066987666-pat00012
는 대기 사용자 집합이고, 상기
Figure 112013066987666-pat00013
는 상기 대기 사용자(Demanding User) 별 가중치이고,
Figure 112013066987666-pat00014
는 상기 사용자 U의 가중치일 수 있다.Here,
Figure 112013066987666-pat00009
Is a resource amount to be distributed to a user U who has transmitted a computing resource allocation request,
Figure 112013066987666-pat00010
Is the number of tasks remaining in the task queue of the user U,
Figure 112013066987666-pat00011
Is the amount of available resources at the time of the resource allocation request,
Figure 112013066987666-pat00012
Is a standby user set,
Figure 112013066987666-pat00013
Is a weight for each Demanding User,
Figure 112013066987666-pat00014
May be a weight of the user U.

상기 대기 사용자(Demanding User)는 상기 자원 배분 요청 시점에서 요청 작업 수만큼의 자원을 배분받지 못한 상태에 있는 사용자이며, 상기 컴퓨팅 자원 배분 요청을 전송한 사용자를 포함할 수 있다.The waiting user may be a user who is not allocated resources as many as the number of requested jobs at the resource allocation request time, and may include a user who has transmitted the computing resource allocation request.

상기 대기 사용자별 가중치는 상기 대기 사용자가 요청한 작업의 수, 상기 요청한 작업의 평균 소요 시간, 상기 대기 사용자의 우선 순위 중 적어도 하나 이상에 근거하여 결정될 수 있다.The weight for each waiting user may be determined based on at least one of the number of jobs requested by the waiting user, the average time required for the requested job, and the priority of the waiting user.

상기 자원배분부는 모든 가용 자원이 배분된 상태인 경우, 타 사용자에게 기 배분된 자원의 반환이 완료된 후에, 상기 사용자에게 상기 계산된 자원량에 따른 컴퓨팅 자원을 배분할 수 있다.The resource allocation unit may allocate the computing resources according to the calculated amount of resources to the user after completion of returning the resources allocated to other users when all the available resources are distributed.

본 명세서의 실시예들은 가용한 컴퓨팅 자원을 최대한 활용하여 재분배할 수 있어 시스템 활용률을 높일 수 있고, 작업의 수에 관계없이 공평한 분배를 통해 사용자 간에 공평한 자원 분배를 성취할 수 있으며, 이를 통해 사용자 응답시간을 향상시킬 수 있다.Embodiments of the present disclosure can maximize utilization of available computing resources to increase system utilization and achieve fair distribution of resources among users through fair distribution regardless of the number of tasks, Time can be improved.

도 1a 및 도 1b는 본 명세서의 일 실시예에 따른 컴퓨팅 자원 배분 시스템을 나타낸 개념도이다.
도 2는 본 명세서의 일 실시예에 따른 컴퓨팅 자원 배분 방법을 도시한 흐름도이다.
도 3은 본 명세서의 일 실시예에 따른 자원 배분 장치의 블록도이다.
Figures 1A and 1B are conceptual diagrams illustrating a computing resource allocation system in accordance with one embodiment of the present disclosure.
FIG. 2 is a flowchart illustrating a computing resource allocation method according to an embodiment of the present invention.
3 is a block diagram of a resource allocation apparatus according to an embodiment of the present invention.

본 명세서에서 사용되는 기술적 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아님을 유의해야 한다. 또한, 본 명세서에서 사용되는 기술적 용어는 본 명세서에서 특별히 다른 의미로 정의되지 않는 한, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 의미로 해석되어야 하며, 과도하게 포괄적인 의미로 해석되거나, 과도하게 축소된 의미로 해석되지 않아야 한다. 또한, 본 명세서에서 사용되는 기술적인 용어가 본 발명의 사상을 정확하게 표현하지 못하는 잘못된 기술적 용어일 때에는, 당업자가 올바르게 이해할 수 있는 기술적 용어로 대체되어 이해되어야 할 것이다. 또한, 본 발명에서 사용되는 일반적인 용어는 사전에 정의되어 있는 바에 따라, 또는 전후 문맥상에 따라 해석되어야 하며, 과도하게 축소된 의미로 해석되지 않아야 한다.It is noted that the technical terms used herein are used only to describe specific embodiments and are not intended to limit the invention. It is also to be understood that the technical terms used herein are to be interpreted in a sense generally understood by a person skilled in the art to which the present invention belongs, Should not be construed to mean, or be interpreted in an excessively reduced sense. Further, when a technical term used herein is an erroneous technical term that does not accurately express the spirit of the present invention, it should be understood that technical terms that can be understood by a person skilled in the art are replaced. In addition, the general terms used in the present invention should be interpreted according to a predefined or prior context, and should not be construed as being excessively reduced.

이하, 첨부된 도면을 참조하여 본 발명에 따른 바람직한 실시예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 또한, 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 발명의 사상을 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 발명의 사상이 제한되는 것으로 해석되어서는 아니 됨을 유의해야 한다. 본 발명의 사상은 첨부된 도면 외에 모든 변경, 균등물 내지 대체물에 까지도 확장되는 것으로 해석되어야 한다.Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings, wherein like reference numerals refer to like or similar elements throughout the several views, and redundant description thereof will be omitted. In the following description, well-known functions or constructions are not described in detail since they would obscure the invention in unnecessary detail. It is to be noted that the accompanying drawings are only for the purpose of facilitating understanding of the present invention, and should not be construed as limiting the scope of the present invention with reference to the accompanying drawings. The spirit of the present invention should be construed as extending to all modifications, equivalents, and alternatives in addition to the appended drawings.

도 1a 및 도 1b는 본 명세서의 일 실시예에 따른 컴퓨팅 자원 배분 시스템을 나타낸 개념도이다.Figures 1A and 1B are conceptual diagrams illustrating a computing resource allocation system in accordance with one embodiment of the present disclosure.

도 1a에서와 같이, 상기 시뮬레이션 컴퓨팅 자원 배분 시스템은 사용자 단말(10, 20, 30) 및 자원 배분 장치(100)를 포함하여 구성될 수 있다.As shown in FIG. 1A, the simulation computing resource allocation system may include a user terminal 10, 20, 30 and a resource allocation apparatus 100.

상기 자원 배분 장치(100)는 컴퓨팅 자원을 동적으로 공평하게 다중(다수) 사용자들에게 분배함으로써, 전체적인 시스템 활용률 및 사용자 응답시간을 향상시킬 수 있다. 이를 구체적으로 설명하면 아래와 같다.The resource allocation apparatus 100 can improve the overall system utilization rate and the user response time by dynamically and equitably distributing computing resources to multiple users. This will be described in detail as follows.

상기 자원 배분 장치(100)는 1 이상의 사용자 단말(예: 30)로부터 작업 수행을 위한 컴퓨팅 자원 배분 요청을 수신한다. 컴퓨팅 자원 배분 요청을 수신한 상기 자원 배분 장치(100)는 효율성과 공평성(fairness)을 고려하여 상기 사용자(30)에게 할당할 자원을 결정한다. 즉, 상기 자원 배분 장치(100)는 동적으로 다중 사용자에 대한 공정성(fairness)을 변동하면서 상기 사용자(30)에게 할당할 자원을 결정한다.The resource allocation apparatus 100 receives a request for allocating a computing resource for performing an operation from one or more user terminals (e.g., 30). The resource allocation apparatus 100, which has received the computing resource allocation request, determines resources to be allocated to the user 30 in consideration of efficiency and fairness. That is, the resource allocation apparatus 100 dynamically determines resources to be allocated to the user 30 while varying fairness for multiple users.

상기 사용자의 요청 작업 수, 상기 자원 배분 요청 시점(t3)에서의 대기 사용자(예: 10, 20) 수, 가용 자원량 등을 기초로 하여 상기 컴퓨팅 자원 배분 요청을 전송한 사용자(30)에게 배분할 자원량을 계산한다. 상기 사용자(30)에게 배분할 자원량을 계산되면, 상기 자원 배분 장치(100)는 상기 계산된 자원량에 따라 상기 사용자(30)에게 컴퓨팅 자원을 배분한다A resource amount to be distributed to the user 30 who has transmitted the computing resource allocation request based on the number of user's requested operations, the number of waiting users (e.g., 10 and 20) at the resource allocation request time point t3, . When the amount of resources to be allocated to the user 30 is calculated, the resource allocation apparatus 100 allocates computing resources to the user 30 according to the calculated amount of resources

상기 과정에서 상기 자원 배분 장치(100)는 특정 사용자(U)에 대한 자원(예: CPU core) 할당 시 소정의 자원할당함수(RA: Resource Allotment function)를 사용하여 자원 배분을 수행할 수 있다. 이때 상기 자원할당함수(RA: Resource Allotment function)의 일 예는 하기의 수학식 1과 같다.In the above process, the resource allocation apparatus 100 may perform resource allocation using a Resource Allotment Function (RA) when a resource (e.g., CPU core) for a specific user U is allocated. Here, an example of the Resource Allotment Function (RA) is shown in Equation (1).

Figure 112013066987666-pat00015
Figure 112013066987666-pat00015

여기서 상기

Figure 112013066987666-pat00016
는 컴퓨팅 자원 배분 요청을 전송한 사용자 U에게 배분할 자원량이고,
Figure 112013066987666-pat00017
는 상기 사용자 U의 작업 큐(task queue)에 남아있는 작업 수이고, 상기
Figure 112013066987666-pat00018
는 상기 자원 배분 요청 시점(또는 자원 배분 시점)에서의 가용 자원량이고, 상기
Figure 112013066987666-pat00019
는 대기 사용자 집합이고, 상기
Figure 112013066987666-pat00020
는 상기 대기 사용자(Demanding User) 별 가중치이고,
Figure 112013066987666-pat00021
는 상기 사용자 U의 가중치이다.Here,
Figure 112013066987666-pat00016
Is a resource amount to be distributed to a user U who has transmitted a computing resource allocation request,
Figure 112013066987666-pat00017
Is the number of tasks remaining in the task queue of the user U,
Figure 112013066987666-pat00018
Is the amount of available resources at the resource allocation request time (or resource allocation time point)
Figure 112013066987666-pat00019
Is a standby user set,
Figure 112013066987666-pat00020
Is a weight for each Demanding User,
Figure 112013066987666-pat00021
Is the weight of the user U.

이때 상기 대기 사용자(Demanding User)는 상기 자원 배분 요청 시점에서 가용 자원의 부족으로 인하여 요청 작업 수(제출한 태스크 수)만큼의 자원을 배 받지 못한 상태에 있는 사용자(예: 사용자 A(10) 및 사용자 B(20))이며, 상기 컴퓨팅 자원 배분 요청을 전송한 사용자(예: 사용자 C(30) 도 포함된다. 만약 자원을 요청한 사용자(U)의 잔존 작업 수, 즉 사용자 U의 작업 큐(task queue)에 남아있는 작업 수(

Figure 112013066987666-pat00022
)가 0이라면, 이 사용자(U)는 요청한 자원을 모두 할당받은 사용자(Satisfied User)가 되어 대기 사용자 집합(
Figure 112013066987666-pat00023
)에서 빠지게 된다.At this time, the waiting user (Demanding User) may not be able to receive resources (e.g., user A 10 and / or user A 10) who are not able to receive resources as many as requested tasks (the number of submitted tasks) User B 20 and the user who has transmitted the computing resource allocation request such as user C 30. The number of remaining operations of the user U who requested the resource, The number of jobs remaining in queue (
Figure 112013066987666-pat00022
) Is 0, the user U becomes a user who has been allotted the requested resources (Satisfied User)
Figure 112013066987666-pat00023
).

한편, 상기 대기 사용자별 가중치(

Figure 112013066987666-pat00024
)는 상기 대기 사용자가 요청한 작업의 수, 상기 요청한 작업의 평균 소요 시간, 상기 대기 사용자의 우선 순위 등이 될 수 있으며, 이중 적어도 하나 이상에 근거하여 결정될 수 있다. 만약, 모든 대기 사용자의 가중치가 동일하다면, 결국 모든 대기 사용자들은 최소한 가용 자원을 공평하게 나눈 만큼의 자원을 할당받게 될 것이며, 특정 시점에서 자신이 제출한 작업의 수가 가용 자원량보다 적다면 그 만큼만의 자원만 할당받을 것이므로, 남는 자원은 다른 사용자들에게 할당될 것이다.On the other hand,
Figure 112013066987666-pat00024
May be determined based on at least one of the number of jobs requested by the waiting user, the average time required for the requested job, the priority of the waiting user, and the like. If all the waiting users have the same weight, then all waiting users will be allocated at least as much resources as the available resources, and if the number of jobs submitted at a particular point in time is less than the available resources, Since only resources will be allocated, the remaining resources will be allocated to other users.

상술한 상기 자원 배분 장치(100)의 자원 배분 방법을 도 1b을 참조하여 예시적으로 설명하면 다음과 같다. 이때 설명의 편의를 위하여 사용자 A(10), 사용자 B(20) 및 사용자 C(30)의 가중치, 즉 대기 사용자(Demanding User) 별 가중치(

Figure 112013066987666-pat00025
)는 모두 같은 것으로 가정한다(
Figure 112013066987666-pat00026
=1). 또한 가용 자원량(CPU core)는 100으로 가정한다. 물론, 사용자별 가중치가 서로 달라도 동일한 방법으로 알고리즘이 수행될 수 있다.The resource allocation method of the resource allocation apparatus 100 will be described below with reference to FIG. 1B. For convenience of explanation, the weight of the user A 10, the user B 20, and the user C 30, that is, the weight per user (Demanding User)
Figure 112013066987666-pat00025
) Are all assumed to be the same (
Figure 112013066987666-pat00026
= 1). Also, the amount of available resources (CPU core) is assumed to be 100. Of course, the algorithms can be performed in the same way even if the weights of the users are different from each other.

먼저, t1 시점에서 사용자 A(10)가 200개의 작업(task)를 요청한다. 이때 상기 수학식 1을 통해 사용자 A(10)에게 배분할 자원량

Figure 112013066987666-pat00027
를 계산하면,First, at the time point t1, the user A 10 requests 200 tasks. At this time, the resource amount to be distributed to the user A (10)
Figure 112013066987666-pat00027
Lt; / RTI >

Figure 112013066987666-pat00028
이 된다.
Figure 112013066987666-pat00028
.

이는 t1 시점에서 대기 사용자(Demanding User)는 사용자 A(10)뿐이고, 사용자 A(10)는 총 가용 자원량보다 더 많은 수의 작업을 요청했기 때문이다.
This is because, at the time t1, only the user A 10 is a waiting user, and the user A 10 requests a larger number of jobs than the total available resources.

다음 시점 t2에서, 사용자 A(10)의 요청 작업들이 수행되고 있고, 사용자 B(20)가 50개의 작업(task)를 요청하면,At the next time point t2, when the request tasks of the user A 10 are being performed and the user B 20 requests 50 tasks,

Figure 112013066987666-pat00029
,
Figure 112013066987666-pat00029
,

Figure 112013066987666-pat00030
이 된다.
Figure 112013066987666-pat00030
.

이에 따라, 사용자 A(10)는 기 배분된 100개의 컴퓨팅 자원 중에서 50개를 반환(release)하는 단계로 진입한다. 이때 상기 반환은 사용자 A(10)에게 t1 시점에서 자원 할당한 100개의 작업들이 모두 끝난 후에 이루어진다. 즉, 사용자 B(20)는 사용자 A(10)가 요청한 작업의 평균 수행시간만큼 기다린 후에 상기 계산된 자원을 배분받을 수 있게 된다. 자원을 배분받으면, 사용자 B(20)는 Satisfied User가 되며, 이에 따라 대기 사용자(Demanding User)는 사용자 A(10)만 남게된다.
Accordingly, the user A 10 enters the step of releasing 50 out of the 100 allocated computing resources. At this time, the return is made to the user A 10 after the completion of 100 tasks allocated at the time t1. That is, the user B 20 waits for the average execution time of the job requested by the user A 10, and then the calculated resource can be distributed. When the resource is allocated, the user B 20 becomes a Satisfied User, so that the user A 10 remains as a waiting user.

그 다음 시점 t3에서, 사용자 C(30)가 20개의 작업(task)를 요청하면, 대기 사용자(Demanding User)는 사용자 A(10)와 사용자 C(30)이므로,At the next time t3, when the user C 30 requests 20 tasks, since the waiting user is the user A 10 and the user C 30,

Figure 112013066987666-pat00031
,
Figure 112013066987666-pat00031
,

Figure 112013066987666-pat00032
이 된다.
Figure 112013066987666-pat00032
.

이 경우 이미 50개의 자원을 할당받은 사용자 A(10)는 사용자 C(30)가 20개의 자원을 확보하기 전에는 더 이상 자원 할당을 받을 수 없게 된다.In this case, the user A 10, which has already allocated 50 resources, can no longer receive resource allocation until the user C 30 acquires 20 resources.

이후 사용자 B(또는 사용자 A)가 요청한 작업이 종료되어 생기는 유휴 자원들 중 20개는 사용자 C(30)에게 배분되고, 이후 가용해지는 자원들은 사용자 A(10)에게 배분된다. 즉, 사용자 C(30)가 Satisfied User가 되면, 대기 사용자는 사용자 A(10)만 남게 되므로, 이후 가용 가능한 자원들은 모두 사용자 A(10)에게 배분된다.20 of the idle resources resulting from termination of the job requested by the user B (or the user A) are distributed to the user C 30, and the resources that are available after that are distributed to the user A 10. That is, when the user C 30 becomes the satisfied user, the standby user remains only the user A 10, and all the available resources are all distributed to the user A 10.

상기 예시에서 알 수 있듯이 본 명세서의 실시예에 따른 방법은 특정 시점에 존재하는 대기 사용자의 수 및 가용 자원량에 기초하여 자원 분배 공식이 결정되며, 각 사용자들은 (가중치 값에 따라) 공평하게 분배된 자원들에 대한 권리를 행사할 수 있다. 또한, 다른 사용자들이 Satisfied User가 됨에 따라 가용해지는 유휴 자원들은 남아있는 대기 사용자(Demanding User)들에게 배분되게 된다. 이와 같이 동적으로 다중 사용자에 대한 공평성(fairness)을 변화시킴으로써, 적은 수의 작업을 제출한 사용자들도 최소한 할당만큼의 자원을 활용할 수 있고, 많은 수의 작업을 수행하고자 하는 사용자들은 다른 사용자들의 작업이 끝나감에 따라서 필요한 자원을 더 할당받을 수 있다. 본 명세서의 실시예에 따른 방법은 가용한 컴퓨팅 자원을 최대한 활용하여 재분배할 수 있다는 점에서 시스템 활용률을 높일 수 있고, 사용자 간에 공평한 분배를 통해 사용자 응답시간을 향상시킬 수 있다.As can be seen from the above example, the method according to the embodiment of the present invention determines a resource allocation formula based on the number of available users and the amount of available resources at a particular point in time, and each user (according to the weight value) You can exercise your rights to resources. In addition, the idle resources that become available as other users become Satisfied Users are allocated to the remaining Demanding Users. By dynamically changing the fairness for multiple users, users who submit a small number of jobs can utilize at least the resources of the allocation, and users who want to perform a large number of jobs can use the jobs of other users As you finish, you will be able to allocate more resources. The method according to the embodiment of the present invention can increase the system utilization rate in that the available computing resources can be maximally utilized and redistributed, and the user response time can be improved through fair distribution among users.

도 2는 본 명세서의 일 실시예에 따른 컴퓨팅 자원 배분 방법을 도시한 흐름도이다. FIG. 2 is a flowchart illustrating a computing resource allocation method according to an embodiment of the present invention.

이하에서 상술하는 컴퓨팅 자원 배분 방법은 도 1에서 설명한 자원 배분 장치에 의해 수행될 수 있다.The above-described computing resource allocation method may be performed by the resource allocation apparatus described in FIG.

상기 자원 배분 장치는 컴퓨팅 자원을 동적으로 공평하게 다중 사용자들에게 분배함으로써, 전체적인 시스템 활용률 및 사용자 응답시간을 향상시킬 수 있다.The resource allocation device can dynamically and equitably distribute the computing resources to multiple users, thereby improving the overall system utilization rate and the user response time.

상기 자원 배분 장치는 1 이상의 사용자로부터 컴퓨팅 자원 배분 요청을 수신한다(S210). 이때 상기 사용자는 슈퍼컴퓨터, 그리드 등의 컴퓨팅 자원을 공유하여 작업을 수행하고자 하는 장치를 지칭할 수 있다.The resource allocation apparatus receives a request for allocating a computing resource from at least one user (S210). At this time, the user may refer to a device that performs a task by sharing computing resources such as a supercomputer and a grid.

자원배분 요청을 수신한 상기 자원 배분 장치는 상기 사용자의 요청 작업 중에서 자원을 배분받지 못한 작업의 수, 상기 자원 배분 요청 시점에서의 대기 사용자(Demanding User) 수 및 가용 자원량을 기초로 하여 상기 사용자에게 배분할 자원량(Resource Allotment)을 계산할 수 있다(S220). 이때 상기 자원 배분 장치는 동적으로 다중 사용자에 대한 공정성(fairness)을 변동하면서 배분할 자원량(Resource Allotment)을 계산할 수 있으며, 일 실시예로 하기 수학식을 사용하여 배분할 자원량을 계산할 수 있다.

Figure 112013066987666-pat00033
The resource allocation apparatus, which has received the resource allocation request, notifies the user of the number of tasks for which resources are not allocated among the requested tasks of the user, the number of waiting users at the time of requesting resource allocation, (Resource Allotment) to be distributed (S220). At this time, the resource allocation apparatus can dynamically calculate the resource amount to be allocated while varying the fairness for multiple users. In one embodiment, the resource allocation amount can be calculated using the following equation.
Figure 112013066987666-pat00033

여기서 상기

Figure 112013066987666-pat00034
는 컴퓨팅 자원 배분 요청을 전송한 사용자 U에게 배분할 자원량이고,
Figure 112013066987666-pat00035
는 상기 사용자 U의 작업 큐(task queue)에 남아있는 작업 수이고, 상기
Figure 112013066987666-pat00036
는 상기 자원 배분 요청 시점(또는 자원 배분 시점)에서의 가용 자원량이고, 상기
Figure 112013066987666-pat00037
는 대기 사용자 집합이고, 상기
Figure 112013066987666-pat00038
는 상기 대기 사용자(Demanding User) 별 가중치이고,
Figure 112013066987666-pat00039
는 상기 사용자 U의 가중치이다.Here,
Figure 112013066987666-pat00034
Is a resource amount to be distributed to a user U who has transmitted a computing resource allocation request,
Figure 112013066987666-pat00035
Is the number of tasks remaining in the task queue of the user U,
Figure 112013066987666-pat00036
Is the amount of available resources at the resource allocation request time (or resource allocation time point)
Figure 112013066987666-pat00037
Is a standby user set,
Figure 112013066987666-pat00038
Is a weight for each Demanding User,
Figure 112013066987666-pat00039
Is the weight of the user U.

상기 대기 사용자(Demanding User)는 상기 자원 배분 요청 시점에서 요청 작업 수만큼의 자원을 배분받지 못한 상태에 있는 사용자이며, 상기 컴퓨팅 자원 배분 요청을 전송한 사용자를 포함할 수 있다. 또한 상기 대기 사용자별 가중치는 상기 대기 사용자가 요청한 작업의 수, 상기 요청한 작업의 평균 소요 시간, 상기 대기 사용자의 우선 순위 등이 될 수 있으며, 이중 적어도 하나 이상에 근거하여 결정될 수 있다.The waiting user may be a user who is not allocated resources as many as the number of requested jobs at the resource allocation request time, and may include a user who has transmitted the computing resource allocation request. The weights of the waiting users may be determined based on at least one of the number of the jobs requested by the waiting user, the average time required for the requested jobs, the priority of the waiting user, and the like.

특정 사용자에게 배분할 자원의 계산이 완료되면, 상기 자원 배분 장치는 상기 계산된 자원량에 따라 상기 사용자에게 컴퓨팅 자원을 배분한다(S230). 이때 상기 자원 배분 장치는, 모든 가용 자원이 배분된 상태인 경우에는, 타 사용자에게 기 배분된 자원의 반환이 완료된 후에, 상기 사용자에게 상기 계산된 자원량에 따른 컴퓨팅 자원을 배분할 수 있다.When the calculation of the resource to be allocated to the specific user is completed, the resource allocation apparatus allocates the computing resource to the user according to the calculated resource amount (S230). In this case, when all the available resources are allocated, the resource allocation device may allocate the computing resources according to the calculated resource amount to the user after completion of the return of resources allocated to other users.

도 3은 본 명세서의 일 실시예에 따른 자원 배분 장치의 블록도이다.3 is a block diagram of a resource allocation apparatus according to an embodiment of the present invention.

본 명세서의 실시예에 따른 자원 배분 장치(100)는 자원요청 수신부(101), 자원배분 계산부(102), 자원배분부(103)를 포함하여 구성될 수 있다.The resource allocation apparatus 100 according to the embodiment of the present invention may include a resource request reception unit 101, a resource allocation calculation unit 102, and a resource allocation unit 103.

상기 자원 배분 장치(100)는 도 1 내지 도 2에서 설명한 컴퓨팅 자원 배분 방법을 수행할 수 있다. 즉 상기 자원 배분 장치(100)는 컴퓨팅 자원을 동적으로 공평하게 다중 사용자들에게 분배함으로써, 전체적인 시스템 활용률 및 사용자 응답시간을 향상시킬 수 있다.The resource allocation apparatus 100 may perform the computing resource allocation method described with reference to FIGS. In other words, the resource allocation apparatus 100 can dynamically and equitably distribute the computing resources to multiple users, thereby improving the overall system utilization rate and the user response time.

상기 자원 배분 장치(100)의 상기 자원요청 수신부(101)는 1 이상의 사용자로부터 컴퓨팅 자원 배분 요청을 수신한다. 이때 상기 사용자는 슈퍼컴퓨터, 그리드 등의 컴퓨팅 자원을 공유하여 작업을 수행하고자 하는 장치를 지칭할 수 있다.The resource request receiving unit 101 of the resource distribution apparatus 100 receives a request for distributing a computing resource from at least one user. At this time, the user may refer to a device that performs a task by sharing computing resources such as a supercomputer and a grid.

자원배분 요청을 수신하면, 상기 자원배분 계산부(102)는 상기 사용자의 요청 작업 중에서 자원을 배분받지 못한 작업의 수, 상기 자원 배분 요청 시점에서의 대기 사용자(Demanding User) 수 및 가용 자원량을 기초로 하여 상기 사용자에게 배분할 자원량(Resource Allotment)을 계산할 수 있다. 이때 상기 자원 배분 장치는 동적으로 다중 사용자에 대한 공정성(fairness)를 변동하면서 배분할 자원량(Resource Allotment)을 계산할 수 있으며, 일 실시예로 하기 수학식을 사용하여 배분할 자원량을 계산할 수 있다.

Figure 112013066987666-pat00040
Upon receiving the resource allocation request, the resource allocation calculation unit 102 calculates the number of tasks for which resources are not allocated among the requested jobs of the user, the number of waiting users at the time of requesting resource allocation, (Resource Allotment) to be distributed to the user. At this time, the resource allocation apparatus can dynamically calculate the resource amount to be distributed while varying the fairness for multiple users. In one embodiment, the resource allocation amount can be calculated using the following equation.
Figure 112013066987666-pat00040

여기서 상기

Figure 112013066987666-pat00041
는 컴퓨팅 자원 배분 요청을 전송한 사용자 U에게 배분할 자원량이고,
Figure 112013066987666-pat00042
는 상기 사용자 U의 작업 큐(task queue)에 남아있는 작업 수이고, 상기
Figure 112013066987666-pat00043
는 상기 자원 배분 요청 시점(또는 자원 배분 시점)에서의 가용 자원량이고, 상기
Figure 112013066987666-pat00044
는 대기 사용자 집합이고, 상기
Figure 112013066987666-pat00045
는 상기 대기 사용자(Demanding User) 별 가중치이고,
Figure 112013066987666-pat00046
는 상기 사용자 U의 가중치이다.Here,
Figure 112013066987666-pat00041
Is a resource amount to be distributed to a user U who has transmitted a computing resource allocation request,
Figure 112013066987666-pat00042
Is the number of tasks remaining in the task queue of the user U,
Figure 112013066987666-pat00043
Is the amount of available resources at the resource allocation request time (or resource allocation time point)
Figure 112013066987666-pat00044
Is a standby user set,
Figure 112013066987666-pat00045
Is a weight for each Demanding User,
Figure 112013066987666-pat00046
Is the weight of the user U.

상기 대기 사용자(Demanding User)는 상기 자원 배분 요청 시점에서 요청 작업 수만큼의 자원을 배분받지 못한 상태에 있는 사용자이며, 상기 컴퓨팅 자원 배분 요청을 전송한 사용자를 포함할 수 있다. 또한 상기 대기 사용자별 가중치는 상기 대기 사용자가 요청한 작업의 수, 상기 요청한 작업의 평균 소요 시간, 상기 대기 사용자의 우선 순위 등이 될 수 있으며, 이중 적어도 하나 이상에 근거하여 결정될 수 있다.The waiting user may be a user who is not allocated resources as many as the number of requested jobs at the resource allocation request time, and may include a user who has transmitted the computing resource allocation request. The weights of the waiting users may be determined based on at least one of the number of the jobs requested by the waiting user, the average time required for the requested jobs, the priority of the waiting user, and the like.

특정 사용자에게 배분할 자원의 계산이 완료되면, 상기 자원배분부(103)는 상기 계산된 자원량에 따라 상기 사용자에게 컴퓨팅 자원을 배분한다. 이때 상기 자원배분부(103)는, 모든 가용 자원이 배분된 상태인 경우에는, 타 사용자에게 기 배분된 자원의 반환이 완료된 후에, 상기 사용자에게 상기 계산된 자원량에 따른 컴퓨팅 자원을 배분할 수 있다.When the calculation of the resource to be allocated to the specific user is completed, the resource allocation unit 103 distributes the computing resource to the user according to the calculated resource amount. In this case, when all the available resources are allocated, the resource allocation unit 103 can allocate the computing resources according to the calculated resource amount to the user after completion of the return of the resources allocated to other users.

이상, 본 발명의 실시예에 대하여 설명하였으나, 해당 기술 분야에서 통상의 지식을 가진 자라면 특허청구범위에 기재된 본 발명의 사상으로부터 벗어나지 않는 범위 내에서, 구성 요소의 부가, 변경, 삭제 또는 추가 등에 의해 본 발명을 다양하게 수정 및 변경시킬 수 있을 것이며, 이 또한 본 발명의 권리범위 내에 포함된다고 할 것이다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, It will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention as defined by the appended claims.

100 : 자원 배분 장치
101 : 자원요청 수신부
102 : 자원배분 계산부
103 : 자원배분부
100: Resource allocation device
101: Resource request receiver
102: Resource allocation calculation unit
103: Resource allocation unit

Claims (13)

삭제delete 삭제delete 자원 배분 장치가 컴퓨팅 자원을 배분하는 방법으로서,
1 이상의 사용자로부터 컴퓨팅 자원 배분 요청을 수신하는 단계;
상기 사용자의 요청 작업 중에서 자원을 배분받지 못한 작업의 수, 상기 자원 배분 요청 시점에서의 대기 사용자(Demanding User) 수 및 가용 자원량을 기초로 하여 상기 사용자에게 배분할 자원량(Resource Allotment)을 계산하는 단계;
상기 계산된 자원량에 따라 상기 사용자에게 컴퓨팅 자원을 배분하는 단계;를 포함하며,
상기 사용자에게 배분할 자원량을 계산하는 단계는
동적으로 다중 사용자에 대한 공정성(fairness)을 변동하면서 배분할 자원량을 계산하는 단계로서, 하기 수학식을 사용하여 배분할 자원량을 계산하는 단계이며,
Figure 112014097030345-pat00047

여기서 상기
Figure 112014097030345-pat00048
는 컴퓨팅 자원 배분 요청을 전송한 사용자 U에게 배분할 자원량이고, 상기
Figure 112014097030345-pat00049
는 상기 사용자 U의 작업 큐(task queue)에 남아있는 작업 수이고, 상기
Figure 112014097030345-pat00050
는 상기 자원 배분 요청 시점(또는 자원 배분 시점)에서의 가용 자원량이고, 상기
Figure 112014097030345-pat00051
는 대기 사용자 집합이고, 상기
Figure 112014097030345-pat00052
는 상기 대기 사용자(Demanding User) 별 가중치이고,
Figure 112014097030345-pat00053
는 상기 사용자 U의 가중치인 것을 특징으로 하는 방법.
CLAIMS What is claimed is: 1. A method for a resource allocation apparatus to allocate computing resources,
Receiving a computing resource allocation request from one or more users;
Calculating a Resource Allotment to be allocated to the user based on the number of tasks for which resources are not allocated among the user's requested tasks, the number of Demanding Users at the time of requesting resource allocation, and the available resources;
And distributing computing resources to the user according to the calculated amount of resources,
The step of calculating the amount of resource to be allocated to the user
Calculating a resource amount to be distributed while dynamically varying fairness for multiple users, calculating a resource amount to be allocated using the following equation,
Figure 112014097030345-pat00047

Here,
Figure 112014097030345-pat00048
Is a resource amount to be allocated to a user U that has transmitted a computing resource allocation request,
Figure 112014097030345-pat00049
Is the number of tasks remaining in the task queue of the user U,
Figure 112014097030345-pat00050
Is the amount of available resources at the resource allocation request time (or resource allocation time point)
Figure 112014097030345-pat00051
Is a standby user set,
Figure 112014097030345-pat00052
Is a weight for each Demanding User,
Figure 112014097030345-pat00053
Is a weight of the user < RTI ID = 0.0 > U. ≪ / RTI >
제3항에 있어서,
상기 대기 사용자(Demanding User)는
상기 자원 배분 요청 시점에서 요청 작업 수만큼의 자원을 배분받지 못한 상태에 있는 사용자이며, 상기 컴퓨팅 자원 배분 요청을 전송한 사용자를 포함하는 것을 특징으로 하는 방법.
The method of claim 3,
The Demanding User
And a user who has not been allocated resources as the number of requested jobs at the time of requesting resource allocation and has transmitted the computing resource allocation request.
제3항에 있어서,
상기 대기 사용자 별 가중치는 상기 대기 사용자가 요청한 작업의 수, 상기 요청한 작업의 평균 소요 시간, 상기 대기 사용자의 우선 순위 중 적어도 하나 이상에 근거하여 결정되는 것을 특징으로 하는 방법.
The method of claim 3,
Wherein the weight for each waiting user is determined based on at least one of a number of jobs requested by the waiting user, an average time required for the requested job, and a priority of the waiting user.
제3항에 있어서,
상기 사용자에게 컴퓨팅 자원을 배분하는 단계는
모든 가용 자원이 배분된 상태인 경우, 타 사용자에게 기 배분된 자원의 반환이 완료된 후에, 상기 사용자에게 상기 계산된 자원량에 따른 컴퓨팅 자원을 배분하는 단계인 것을 특징으로 하는 방법.
The method of claim 3,
The step of distributing computing resources to the user
And distributing computing resources according to the calculated amount of resources to the user after completion of returning the resources allocated to other users when all the available resources are allocated.
삭제delete 삭제delete 1 이상의 사용자로부터 컴퓨팅 자원 배분 요청을 수신하는 자원요청 수신부;
상기 사용자의 요청 작업 중에서 자원을 배분받지 못한 작업의 수, 상기 자원 배분 요청 시점에서의 대기 사용자(Demanding User) 수 및 가용 자원량을 기초로 하여 상기 사용자에게 배분할 자원량(Resource Allotment)을 계산하는 자원배분 계산부;
상기 계산된 자원량에 따라 상기 사용자에게 컴퓨팅 자원을 배분하는 자원배분부;를 포함하며,
상기 자원배분 계산부는
동적으로 다중 사용자에 대한 공정성(fairness)을 변동하면서 배분할 자원량을 계산하며, 하기 수학식을 사용하여 배분할 자원량을 계산하며,
Figure 112014097030345-pat00054

여기서 상기
Figure 112014097030345-pat00055
는 컴퓨팅 자원 배분 요청을 전송한 사용자 U에게 배분할 자원량이고, 상기
Figure 112014097030345-pat00056
는 상기 사용자 U의 작업 큐(task queue)에 남아있는 작업 수이고, 상기
Figure 112014097030345-pat00057
는 상기 자원 배분 요청 시점(또는 자원 배분 시점)에서의 가용 자원량이고, 상기
Figure 112014097030345-pat00058
는 대기 사용자 집합이고, 상기
Figure 112014097030345-pat00059
는 상기 대기 사용자(Demanding User) 별 가중치이고,
Figure 112014097030345-pat00060
는 상기 사용자 U의 가중치인 것을 특징으로 하는 자원 배분 장치.
A resource request receiving unit for receiving a computing resource allocation request from at least one user;
(Resource allocation) to be allocated to the user on the basis of the number of tasks for which resources are not allocated among the requested tasks of the user, the number of waiting users at the time of requesting resource allocation, and the amount of available resources Calculating section;
And a resource allocation unit for allocating computing resources to the user according to the calculated resource amount,
The resource allocation calculation unit
Calculating a resource amount to be distributed while dynamically varying fairness to multiple users, calculating a resource amount to be allocated using the following equation,
Figure 112014097030345-pat00054

Here,
Figure 112014097030345-pat00055
Is a resource amount to be allocated to a user U that has transmitted a computing resource allocation request,
Figure 112014097030345-pat00056
Is the number of tasks remaining in the task queue of the user U,
Figure 112014097030345-pat00057
Is the amount of available resources at the resource allocation request time (or resource allocation time point)
Figure 112014097030345-pat00058
Is a standby user set,
Figure 112014097030345-pat00059
Is a weight for each Demanding User,
Figure 112014097030345-pat00060
Is a weight of the user (U).
제9항에 있어서,
상기 대기 사용자(Demanding User)는
상기 자원 배분 요청 시점에서 요청 작업 수만큼의 자원을 배분받지 못한 상태에 있는 사용자이며, 상기 컴퓨팅 자원 배분 요청을 전송한 사용자를 포함하는 것을 특징으로 하는 자원 배분 장치.
10. The method of claim 9,
The Demanding User
Wherein the resource allocation apparatus includes a user who is not allocated resources as the number of requested jobs at the resource allocation request time, and transmits the computing resource allocation request.
제9항에 있어서,
상기 대기 사용자 별 가중치는 상기 대기 사용자가 요청한 작업의 수, 상기 요청한 작업의 평균 소요 시간, 상기 대기 사용자의 우선 순위 중 적어도 하나 이상에 근거하여 결정되는 것을 특징으로 하는 자원 배분 장치.
10. The method of claim 9,
Wherein the weight for each waiting user is determined based on at least one of a number of jobs requested by the waiting user, an average required time for the requested job, and a priority of the waiting user.
제9항에 있어서,
상기 자원배분부는
모든 가용 자원이 배분된 상태인 경우, 타 사용자에게 기 배분된 자원의 반환이 완료된 후에, 상기 사용자에게 상기 계산된 자원량에 따른 컴퓨팅 자원을 배분하는 것을 특징으로 하는 자원 배분 장치.
10. The method of claim 9,
The resource allocation unit
And allocates the computing resources according to the calculated amount of resources to the user after completion of the return of the resources allocated to other users when all the available resources are allocated.
제3항 내지 제6항 중 어느 하나에 따른 방법의 각 단계를 수행하는 명령들을 포함하는 컴퓨터 판독 가능 기록매체.7. A computer-readable medium having instructions for performing the steps of the method according to any one of claims 3 to 6.
KR20130087452A 2013-07-24 2013-07-24 Apparatus and method for allocating computing resource to multiple users KR101491689B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR20130087452A KR101491689B1 (en) 2013-07-24 2013-07-24 Apparatus and method for allocating computing resource to multiple users

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR20130087452A KR101491689B1 (en) 2013-07-24 2013-07-24 Apparatus and method for allocating computing resource to multiple users

Publications (2)

Publication Number Publication Date
KR20150012071A KR20150012071A (en) 2015-02-03
KR101491689B1 true KR101491689B1 (en) 2015-02-11

Family

ID=52488279

Family Applications (1)

Application Number Title Priority Date Filing Date
KR20130087452A KR101491689B1 (en) 2013-07-24 2013-07-24 Apparatus and method for allocating computing resource to multiple users

Country Status (1)

Country Link
KR (1) KR101491689B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101872621B1 (en) * 2016-12-16 2018-06-28 주식회사 한화 Apparatus and method for managing available resource of air vehicle equipped with mfr
CN116860456A (en) * 2017-12-14 2023-10-10 谷歌有限责任公司 Dynamic capacity optimization of shared computing resources
CN108920278B (en) * 2018-07-02 2021-12-24 中国建设银行股份有限公司 Resource allocation method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210523A (en) * 1991-10-17 1993-08-20 Internatl Business Mach Corp <Ibm> Adaptive scheduling method and device
KR20090108868A (en) * 2008-04-14 2009-10-19 삼성전자주식회사 Virtual machine management system and method for managing processor resources thereof
KR20120082598A (en) * 2011-01-14 2012-07-24 대전대학교 산학협력단 Cost based scheduling algorithm for multiple workflow in cloud computing and system of the same
KR101262679B1 (en) 2013-02-13 2013-05-20 송형근 Device to allocate resource effectively for cloud computing

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05210523A (en) * 1991-10-17 1993-08-20 Internatl Business Mach Corp <Ibm> Adaptive scheduling method and device
KR20090108868A (en) * 2008-04-14 2009-10-19 삼성전자주식회사 Virtual machine management system and method for managing processor resources thereof
KR20120082598A (en) * 2011-01-14 2012-07-24 대전대학교 산학협력단 Cost based scheduling algorithm for multiple workflow in cloud computing and system of the same
KR101262679B1 (en) 2013-02-13 2013-05-20 송형근 Device to allocate resource effectively for cloud computing

Also Published As

Publication number Publication date
KR20150012071A (en) 2015-02-03

Similar Documents

Publication Publication Date Title
US11582166B2 (en) Systems and methods for provision of a guaranteed batch
EP2701074B1 (en) Method, device, and system for performing scheduling in multi-processor core system
CN102902587B (en) Distributed task dispatching mthods, systems and devices
CN105718479B (en) Execution strategy generation method and device under cross-IDC big data processing architecture
WO2016106516A1 (en) Method and device for scheduling user request in distributed resource system
US9178763B2 (en) Weight-based collocation management
CN109697122B (en) Task processing method, device and computer storage medium
CN105159782A (en) Cloud host based method and apparatus for allocating resources to orders
CN109564528B (en) System and method for computing resource allocation in distributed computing
CN105373429A (en) Task scheduling method, device and system
US10733022B2 (en) Method of managing dedicated processing resources, server system and computer program product
CN109947551A (en) A kind of more round method for allocating tasks, edge calculations system and its storage medium
CN112783659A (en) Resource allocation method and device, computer equipment and storage medium
KR101491689B1 (en) Apparatus and method for allocating computing resource to multiple users
CN108259568B (en) Task allocation method and device, computer readable storage medium and electronic equipment
CN106201681B (en) Method for scheduling task based on pre-release the Resources list under Hadoop platform
CN114371926B (en) Refined resource allocation method and device, electronic equipment and medium
WO2015042904A1 (en) Method, apparatus and system for scheduling resource pool in multi-core system
Lin et al. {RingLeader}: Efficiently Offloading {Intra-Server} Orchestration to {NICs}
Ghouma et al. Context aware resource allocation and scheduling for mobile cloud
US9152549B1 (en) Dynamically allocating memory for processes
Sirohi et al. Improvised round robin (CPU) scheduling algorithm
CN112073498B (en) Resource allocation method and device
WO2016017161A1 (en) Virtual machine system, scheduling method, and program storage medium
Arif An effective load balancing algorithm based on deadline constraint under cloud computing

Legal Events

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

Payment date: 20180102

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20190130

Year of fee payment: 5