WO2014126322A1 - 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치 - Google Patents

클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치 Download PDF

Info

Publication number
WO2014126322A1
WO2014126322A1 PCT/KR2013/009548 KR2013009548W WO2014126322A1 WO 2014126322 A1 WO2014126322 A1 WO 2014126322A1 KR 2013009548 W KR2013009548 W KR 2013009548W WO 2014126322 A1 WO2014126322 A1 WO 2014126322A1
Authority
WO
WIPO (PCT)
Prior art keywords
resource
task
matrix
resources
allocation
Prior art date
Application number
PCT/KR2013/009548
Other languages
English (en)
French (fr)
Inventor
송형근
오유근
지정우
이규성
Original Assignee
Song Hyung Keun
Oh You Keun
Ji Jeong Woo
Lee Kyu Sung
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 Song Hyung Keun, Oh You Keun, Ji Jeong Woo, Lee Kyu Sung filed Critical Song Hyung Keun
Publication of WO2014126322A1 publication Critical patent/WO2014126322A1/ko

Links

Images

Classifications

    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Definitions

  • IVSCD Initial Value Setting and Cycle Deletion
  • Cloud computing refers to computing technology based on servers on the Internet.
  • IaaS Infrastructure as a Service
  • PaaS Platform as a Service
  • SaaS Software as a Service
  • IaaS primarily utilizes virtualization capabilities, but manages virtualized virtual resources based on physical resources.
  • PaaS provides the best resource utilization, scalability, and service stability based on the resource utilization status of each service and the current state of the cluster system in the environment hosting and operating the service.
  • resources generally refer to tools that help a user to compute, store data, and service online.
  • a virtual PC part of a real PC
  • a real PC part of a real PC
  • a RAID disk a dedicated server cluster for web hosting, or part of a large cluster system.
  • cloud services include Amazon elastic cloud, salesforce.com, and KT UCloud service.
  • KT UCloud service the problem of distributing computing resources by increasing the user's utility in accordance with the user's desired environment has been studied, which is a problem of cloud computing resource allocation.
  • Cloud resource allocation aims to maximize the utility of time and cost as variables. The goal was to reduce time or to create an optimal price near the optimal capacity. Similarly, we set the utility to make the smallest price to maximize the user's benefit.
  • the provider also offers you two allocation plans, a reservation plan and an on-demand plan.
  • the application must be fast.
  • the speed is dependent on the application component position and proposes a method for providing the component position.
  • it mainly deals with resource allocation process for distributed cloud and cloud security service in mobile.
  • resources may be allocated using IVSCD.
  • resources may be allocated regardless of the size of the task.
  • resources may be allocated by deleting cycles from the graph of the allocation matrix.
  • resources that do not meet the conditions of the task may prohibit distribution.
  • the utility is increased by using a resource information collecting unit that collects information on a task to be processed and resources used for the task and IVSCD (Initial Value Setting and Cycle Deletion) according to the information.
  • An efficient resource distribution device may be provided that includes a resource distribution unit that distributes the task to the resources.
  • the resource distribution unit sets an initial allocation matrix that maps the resource and the task according to the information, generates a final allocation matrix in which a utility total is increased than the initial allocation matrix, and generates the final allocation matrix.
  • An efficient resource allocation device can be provided that distributes the task to the resources based on an allocation matrix.
  • the resource distribution unit may be provided with an efficient resource allocation device for setting the initial allocation matrix by arranging the tasks in the order of the number of unit tasks included in each task.
  • the resource distribution unit may be provided with an efficient resource allocation device for setting the initial allocation matrix to minimize the number of sharing the resource.
  • the resource distribution unit generates the final allocation matrix that minimizes the cost consumed by the resource while maintaining the execution time required to process the task based on the number of times the resource is shared.
  • An efficient resource allocation device can be provided.
  • the resource distribution unit generates an edge graph connecting elements of the initial allocation matrix, and generates the final allocation matrix by performing a cycle deletion from the graph.
  • An efficient resource allocation device can be provided.
  • the resource distribution unit may be provided with an efficient resource distribution device that colors the edge differently from the non-adjacent edges according to the task.
  • an efficient resource distribution device may include an information about the resource, the value information of each resource including the required cost per unit time consumed when the resource is used.
  • the resource distribution unit may be provided with an efficient resource distribution device, prohibiting the distribution of resources that do not meet the conditions of the task.
  • the utility may be provided with an efficient resource allocation device that minimizes the cost and execution time consumed for processing the task.
  • the apparatus for allocating resources may efficiently allocate resources based on an allocation matrix according to IVSCD.
  • the apparatus for allocating resources may minimize execution times by minimizing the number of times resources are shared, and minimize the total sum of costs consumed by resources to complete a task by deleting a graph of an allocation matrix.
  • the apparatus for allocating resources may improve the total number of utilities as the number of users or the number of resources increases using IVSCD.
  • FIG. 1 is a diagram illustrating a schematic configuration of an efficient resource allocation apparatus according to an embodiment.
  • FIG. 2 is a diagram illustrating a detailed configuration of an efficient resource allocation apparatus according to an embodiment.
  • 3 is a graph showing the total utility of the efficient resource allocation apparatus according to an embodiment.
  • FIG. 4 is a graph comparing utility totals according to resources of an efficient resource allocation apparatus according to another embodiment with other methods.
  • 5 is a graph comparing utility totals according to the number of users of an efficient resource allocation apparatus according to an embodiment with other methods.
  • FIG. 6 is a graph illustrating the total sum of utilities according to the number of users and resources of an efficient resource allocation apparatus according to an exemplary embodiment.
  • FIG. 7 is a graph showing a total of utilities in 3D according to the number of users and resources of an efficient resource allocation apparatus according to an exemplary embodiment.
  • the resource distribution device 100 may efficiently distribute a task requested by n users 190 to m resources 180.
  • each resource 180 may include a computer and other terminals connected to a cloud network.
  • the present invention is not limited to resource distribution in the cloud system field, but may be applied to a general resource distribution problem that satisfies a specific condition according to an embodiment.
  • the resource distribution device 100 may allocate resources regardless of the size of the task.
  • the resource distribution device 200 may include a resource information collecting unit 210 and a resource distribution unit 220.
  • the resource information collection unit 210 may collect information about a task to be processed and resources used for the task.
  • the information on the task may include information related to a condition, a task type, and other tasks required to perform the task, and distribution of the task may be prohibited to resources that do not meet the condition.
  • the information about the resource may include a cost required when using the resource by unit time.
  • the resource distributor 220 may distribute n tasks to m resources through the processor so that the utility is increased by using IVSCD (Initial Value Setting and Cycle Deletion) according to the information collected by the resource information collector 210.
  • IVSCD Initial Value Setting and Cycle Deletion
  • n and m may be integers greater than zero.
  • the resource distribution unit 220 sets an initial allocation matrix that maps resources and tasks according to the information collected by the processor, generates a final allocation matrix in which the utility total is increased than the initial allocation matrix, and finally Tasks can be distributed to resources based on allocation matrices.
  • the initial allocation matrix may be set by arranging tasks in the order of the number of unit tasks included in the task, and setting the initial allocation matrix to minimize the number of resource sharing.
  • the final allocation matrix may be generated to minimize the cost of resources while maintaining the execution time of the initial allocation matrix. For example, based on the number of times a resource is shared, execution time for processing a task can be maintained.
  • the resource distribution unit 220 generates a graph of edges connecting nodes representing the elements of the initial allocation matrix, searches for cycles in the graph, and deletes cycles for the found cycles to form a final allocation matrix. Can be generated.
  • Cloud Computing Resource Allocation may mean assigning and processing a task desired by a user to cloud resources. It may be important to increase the "utility" of the user here.
  • the utility may be expressed as Equation 8 as a degree of minimizing the cost and execution time consumed for processing the task.
  • the system model for this problem is established, the "utility" is modeled formally, and the ALLOC problem for resource allocation can be officially defined. Since the ALLOC problem is an NP-hard problem, a heuristic solution may be needed. IVSCD (Initial Value Setting and Cycle Deletion) algorithm can be used based on the principle that can always improve the user utility derived from the analysis of the ALLOC problem and possible solution allocation matrix.
  • IVSCD Initial Value Setting and Cycle Deletion
  • one resource does not need to be limited to processing only one unit task, and a model for processing several unit tasks may be used.
  • a single resource can handle multiple unit tasks, thereby solving the problem and increasing the utility of the user.
  • the problem can be extended and generalized by assuming that a single resource handles a single unit task.
  • IVSCD Initial Value Setting and Cycle Deletion
  • theorems of the following equations (10) to (14) for the characteristics of the problem are devised through a systematic approach, not through any method or a random approach or through known algorithms.
  • the resource allocation algorithm IVSCD can be used.
  • the simulation results show an average improvement of 93.87% over the conventional method.
  • each resource could process only one unit task requested by a user, but according to an embodiment, each resource may process several unit tasks.
  • a probability may arise that each resource is forbidden by the user.
  • the probability of being prohibited by the user may include a probability that each resource does not handle the task requested by the user.
  • m resources may be appropriately arranged to solve n tasks. This deployment maximizes the utility, allowing for the right combination of execution time, financial costs, and more for increased efficiency.
  • a model of arranging m resources for n tasks may be expressed as Equation 1 to Equation 8 to improve the utility.
  • R may represent a set of resources
  • S may represent a set of tasks
  • any resource The cost of using It can be represented as.
  • Equation 2 It can represent matrix B of magnitude. Where any element About Back side To Can be assigned to Back side To May not be assigned to.
  • Any task in the above equation (3) Heard It may consist of three unit tasks. For example, To do that we All of the unit tasks must be solved, and the amount of calculation required for each unit task may be the same.
  • Matrix A of size may be represented as an allocation matrix.
  • each element to Unit task of It can mean that you allocated as many as. here, ego, This can be true.
  • Equation 5 the same size matrix E may be represented as an expense matrix for any allocation matrix A.
  • the value of the task To It can represent the cost needed to solve this problem.
  • Equation 6 the matrix T having the same size may be represented as an execution time matrix for an arbitrary allocation matrix A.
  • the value of the task To It can represent the execution time to solve.
  • Equation 7 Element of The value of One unit task for This can mean the time it takes to solve.
  • Equation 5 Element of Equation 5
  • Equation 6 Relationship with Can be expressed as:
  • each may represent a weight for cost and execution time.
  • each resource For the probability that the user does not meet the conditions It can be represented as.
  • Equation 8 described above is a utility that the i-th user or task can obtain using the cost that the user has to spend and the time taken to complete the desired task. Can be represented. here When is distributed among several machines, the overall execution time can be determined by the slowest machine. The total cost can also be seen as the sum of the costs required for each machine. Efficient resource allocation for cloud computing according to an embodiment may be represented by a model according to Equation 8 described above.
  • each task Is Contains unit tasks
  • Unit tasks are available resources in It can be assigned in between, and the final assignment result can be represented in the form of allocation matrix A.
  • Such an ALLOC problem may be expressed as Equation 9 below.
  • Equation 9 n is the number of users, m is the number of resources, Is a task, Is the number of unit tasks included in each task, Resources, Value information for each resource, including the cost per unit time consumed when each resource is used, And Is the weight for time and cost, Is one unit task Matrix for the time it takes to perform, Is a matrix indicating whether or not each resource is allocated to each task, Is It can indicate the probability that the resource is prohibited.
  • Each element of the allocation matrix A which is an output in Equation 9, may satisfy Equation 4 described above.
  • A1 may be a better solution than A2.
  • the ALLOC problem has been changed to allocate a number of unit tasks to an existing prohibited resource and one resource.
  • the ALLOC problem may be NP-hard because it is NP-hard if the task assignment is limited without using prohibited resources. Therefore, since ALLOC problem is NP-hard, heuristic algorithm can be used when there are many resources and users.
  • the IVSCD algorithm is an algorithm for finding a better solution having a high sum of utilities instead of finding an optimal solution.
  • the theorems necessary for systematically implementing the algorithm may be expressed as the following equations.
  • the proof for the above Equation 10 can be expressed as follows. priority, The runtime matrix of can be expressed as
  • the cost matrix obtained by multiplying the execution time matrix by the cost may be expressed as follows.
  • Equation 5 the cost matrix according to Equation 5 with respect to the above-described execution time matrix may be calculated and expressed as follows.
  • the allocation matrix A may be set as follows.
  • the execution time matrix described above may be represented as follows.
  • the execution time matrix described above may be represented by changing the cost matrix as follows.
  • Equation 10 Suppose, from Equation 10 described above Can be established. therefore So if you add two expressions Can be established. for example, or One or more of It may be abnormal. And excluding
  • the elements of the remaining allocation matrix are not changed by the utility. Than the matrix containing or The sum of the utilities of the matrices replaced by may increase further.
  • cost matrix for the above-described execution time matrix may be expressed as follows.
  • the runtime matrix for The cost matrix for the runtime matrix can be expressed as follows.
  • Utility for Can be expressed as:
  • the allocation matrix A may be set as follows.
  • each row It can be said that even if the rows are changed in the matrix A, the number of users, the number of resources, and the needs of the users are not changed, so the rows may be changed. for example, Not in order It may be rearranged in any order as shown. If matrix A is To satisfy If present, the rows of A can be replaced to form a matrix as shown in Equation 12 above. Therefore, since matrix A is equivalent to the matrix of Equation 12, Equation 13 may also be proved through the above-described proof for Equation 12.
  • a cycle may be present in graph G.
  • the cycle may refer to a closed curve that appears on a graph in which each node is connected to the edge by using the elements of the matrix as nodes.
  • cycle C exists in graph G to demonstrate sufficient conditions.
  • C is a node It may be a phosphorus cycle.
  • Edges Can be represented. For example, cycle C Where edges that are not adjacent may have different marked colors. Specifically, nonadjacent edges If the coloring of is equal to c, then it may be contradictory to the assumption that node Rc will appear more than once in the cycle.
  • An efficient resource allocation device for cloud computing may use IVSCD, a heuristic algorithm based on the system model and analysis according to Equations 1 to 14 described above.
  • the IVSCD algorithm can be composed of two parts, init_alloc and cycle deletion.
  • init_alloc can set the initial allocation matrix. From Equation 8 execution time is Final assignment matrix, which is a possible solution to the ALLOC problem May be a form in which the execution time is evenly distributed. But before execution time is even, the number of times resources are shared can be minimized. Here, the number of sharing may be the number of unit tasks allocated to resources.
  • Cycle deletion may be performed in Cycle deletion.
  • Initial allocation matrix completed in init_alloc May not be considered at all.
  • the runtime part is minimized in init_alloc, You can implement cycle elimination to reduce costs under conditions that do not increase the runtime.
  • Simulation for evaluating IVSCD is implemented by coding using C ++ to obtain a result
  • the number of users (n) may be arbitrarily selected from 100, 200, 300, ..., 1000
  • the number of resources (m) can be arbitrarily selected from 10, 20, 30, ..., 100.
  • elements of the runtime matrix T may be set to rational numbers of 2 or more and 20 or less
  • elements of the cost matrix E may be set to rational numbers of 1 or more and 10 or less.
  • the number of prohibitions of resources may be set to 0 or more (m-1) or less, and the probability that each resource is prohibited may be set to one of ⁇ 0, 0.2, 0.8 ⁇ .
  • the matrix obtained by the IVSCD algorithm may be compared with the conventional Wei algorithm and Greedy algorithm. The graphs below show the results of comparing IVSCD with other algorithms.
  • 3 is a graph showing the total utility of the efficient resource allocation device for cloud computing according to an embodiment. More specifically, it may be a graph showing the sum of utilities of each user when the number of users is 1000 and the number of resources is 100.
  • the IVSCD algorithm has an average 122.07% up to 136.87% minimum 106.56% improvement over the Wei method, and 310.14% up to 332.85% minimum 287.22% improvement over the Greedy method.
  • FIG. 4 is a graph comparing utility totals according to resources of an efficient resource allocation device for cloud computing according to an exemplary embodiment. Specifically, when the number of users is fixed to 1000, it may be a graph showing the sum of utilities according to the number of resources.
  • the IVSCD algorithm can achieve 100.46% maximum 122.07% minimum 46.58% improvement over the Wei method and 229.39% maximum 310.14% minimum 82.59% improvement over the Greedy method.
  • 5 is a graph comparing utility totals according to the number of users of an efficient resource allocation device for cloud computing according to an exemplary embodiment with other methods. Specifically, when the number of resources is fixed to 100, it may be a graph showing the sum of utilities according to the number of users.
  • the IVSCD algorithm is 91.37% up to 122.07% minimum 28.77% higher than the Wei method, and 282.89% up to 310.14% at least 213.20% better than the Greedy method.
  • FIG. 6 is a graph illustrating a total of utilities according to the number of users and resources of an efficient resource allocation device for cloud computing according to an exemplary embodiment. Specifically, it may be a graph showing only the algorithm of IVSCD.
  • the graph shown in FIG. 6 may represent simulation results for a case where the number of resources varies from 10 to 100 and the number of users is 100, 500, or 1000. According to these simulation results, the IVSCD method can increase the degree of utility improvement as the number of resources and the number of users increase.
  • FIG. 7 is a graph illustrating a total of utilities in 3D according to the number of users and resources of an efficient resource allocation device for cloud computing according to an exemplary embodiment.
  • 8 is a 3D graph showing the total utility according to the number of users and resources of the Wei method.
  • FIGS. 7 and 8 may be graphs illustrating the utility when the number of resources is changed from 10 to 100 and the number of users is changed from 100 to 1000.
  • the utility may increase as the number of users and the number of resources increases. May have a flat shape regardless of the number of users and the number of resources. According to the simulation results, as the number of users or the number of resources increases, the IVSCD algorithm can improve resource allocation efficiency more than other algorithms.
  • An apparatus for efficiently allocating resources for cloud computing may use IVSCD, which efficiently allocates resources to users who need them, thereby increasing user utility.
  • the IVSCD algorithm which is different from the conventional algorithm of allocating tasks for resources with the highest execution time to other resources, can delete cycles by changing the allocation matrix to a graph.
  • the IVSCD used in the efficient resource allocation device for cloud computing shows a simulation improvement of at least 46.58% and an average of 93.87% when the number of users is 50 to 100 or less than the conventional heuristic method for the ALLOC problem. Can be.
  • the apparatus described above may be implemented as a hardware component, a software component, and / or a combination of hardware components and software components.
  • the devices and components described in the embodiments may be, for example, processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field programmable arrays (FPAs), It may be implemented using one or more general purpose or special purpose computers, such as a programmable logic unit (PLU), microprocessor, or any other device capable of executing and responding to instructions.
  • the processing device may execute an operating system (OS) and one or more software applications running on the operating system.
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • OS operating system
  • the processing device may also access, store, manipulate, process, and generate data in response to the execution of the software.
  • processing device includes a plurality of processing elements and / or a plurality of types of processing elements. It can be seen that it may include.
  • the processing device may include a plurality of processors or one processor and one controller.
  • other processing configurations are possible, such as parallel processors.
  • the software may include a computer program, code, instructions, or a combination of one or more of the above, and configure the processing device to operate as desired, or process it independently or collectively. You can command the device.
  • Software and / or data may be any type of machine, component, physical device, virtual equipment, computer storage medium or device in order to be interpreted by or to provide instructions or data to the processing device. Or may be permanently or temporarily embodied in a signal wave to be transmitted.
  • the software may be distributed over networked computer systems so that they may be stored or executed in a distributed manner.
  • Software and data may be stored on one or more computer readable recording media.
  • the method according to the embodiment may be embodied in the form of program instructions that can be executed by various computer means and recorded in a computer readable medium.
  • Computer-readable media may include, alone or in combination with the program instructions, data files, data structures, and the like.
  • the program instructions recorded on the media may be those specially designed and constructed for the purposes of the embodiments, or they may be of the kind well-known and available to those having skill in the computer software arts.
  • Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tape, optical media such as CD-ROMs, DVDs, and magnetic disks, such as floppy disks.
  • Examples of program instructions include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.
  • the hardware device described above may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Stored Programmes (AREA)

Abstract

클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치가 개시된다. 일 실시예에 따른 자원 배분 장치는 처리되어야 하는 태스크(task) 및 태스크에 사용되는 자원에 대한 정보를 수집하는 자원 정보 수집부 및 정보에 따라 IVSCD(Initial Value Setting and Cycle Deletion)를 이용하여 유틸리티가 증가되도록 태스크를 자원에 분배하는 자원 분배부를 포함한다.

Description

클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치
클라우드 컴퓨팅에 있어서 IVSCD(Initial Value Setting and Cycle Deletion)를 이용하여 자원을 효율적으로 배분하는 장치를 개시한다.
클라우드 컴퓨팅(cloud computing)은 인터넷 상의 서버를 기반으로 하는 컴퓨팅 기술을 말한다. 이를 이용한 클라우드 서비스(cloud service)에는 세가지 유형이 있는데, 인프라를 제공하는 Infrastructure as a Service (IaaS), 플랫폼을 제공하는 Platform as a Service (PaaS), 마지막으로 소프트웨어를 제공하는 Software as a Service (SaaS)이다.
IaaS의 경우 주로 가상화 기능을 활용하지만 물리 자원을 기반으로 가상화 된 가상 자원을 관리한다. PaaS는 서비스를 호스팅하고 운영하는 환경에서 각 서비스의 자원 활용 상태와 클러스터 시스템의 현재 상태를 기반으로 최상의 자원 활용성과 확장성, 서비스 안정성을 제공한다. 여기서 자원이란 일반적으로 사용자의 전산계산, 데이터 저장, 온라인 서비스 등을 도와 주는 도구를 의미한다. 예를 들어, 가상PC(실제 PC의 일부), 실제 PC, RAID 디스크, 웹 호스팅 용 전용 서버 클러스터, 대규모 클러스터 시스템의 일부 등을 의미한다.
사용자 또는 회사가 최대 사용률에 맞추어서 컴퓨터 장비를 구매하는 대신, 필요할 때에 필요한 만큼의 컴퓨팅 자원만 전문 회사한테서 대여해서 사용하는 방식이 클라우드 서비스 개념이다. 이러한 클라우드 서비스로서는 Amazon elastic cloud, salesforce.com, KT UCloud service 등이 있다. 이때에 컴퓨팅 자원을 사용자가 원하는 환경에 맞추어서 사용자의 유틸리티를 높이면서 분배(distribute)하는 문제가 연구되어 왔으며 이것이 클라우드 컴퓨팅 자원 배분(cloud computing resource allocation) 문제이다.
클라우딩 컴퓨팅 자원 배분에 관한 문제는 많이 연구되어왔다. 초기에는 단순히 사용자가 원하는 태스크(task)을 처리하도록 자원(resource)을 분배하는 경우만 고려했지만 시간이 지날수록 유틸리티(utility)에 대해 연구하기 시작했다. 여기서 태스크란 사용자가 수행하고자 하는 작업의 단위로서 여러 개의 더 작은 단위 태스크(subtask)로 구성되도록 모델링 할 수 있다. 사용자의 유틸리티를 높이는 문제는 시간과 비용에 대해 가중치를 두어 연구가 되어왔고 주로 하나의 자원이 하나의 단위 태스크만을 처리한다고 가정하고 문제를 해결했다.
클라우드 컴퓨팅 자원 배분과 관련된 문제를 다루는 기존의 연구는 다음과 같이 분류될 수 있다.
첫 번째로, 연구의 목적으로 시간이나 비용을 변수로 가지는 함수를 최소화하거나 최대화 하는 연구들이 있다. 클라우드 자원 배분(cloud resource allocation)으로 시간과 비용을 변수로 가지는 유틸리티의 최대화를 목표로 한다. 목표를 시간을 줄이거나 옵티멀(optimal)한 캐퍼시티(capacity) 근처에서 옵티멀한 가격을 만드는 것을 목표로 하였다. 비슷하게 가장 작은 가격을 만들어 유틸리티를 설정해 사용자의 이익을 최대화하였다.
두 번째로는 각 지역(area) 에서 수용 가능한 전력 용량(electric power capacity)가 제한된 상황에서 처리능력(processing ability)과 대역폭(bandwidth)을 최적화 시키는 것과 총 전력 소비(electric power consumption)를 최소화하는 것을 목표로 하였다. 다른 예를 들어, 단순하게 사용자의 요구를 가장 만족하게 하는 것을 목표로 설정하거나, 수요 탄성(demand elasticity)을 증가시키는 것을 목표로 한다.
세 번째로, 게임 이론(game theory)을 사용한 방법들이 있다. 게임이론으로서 Stackelberg game 과 Nash equilibrium을 사용했다.
마지막으로 배분에 다른 방법들을 사용한 연구들이 있다. 가상 머신(Virtual machine)을 기반으로 한 배분 외에도 second-priced auction mechanism을 사용하였다. Nash equilibrium 이외에 M/M/1 queuing system 와 NECDA 라는 휴리스틱 방법을 사용하였다. 가상 머신을 기반으로 한 것 외에 lightweight resource management model인 elastic application container 기반 배분을 하였다. 역시 가상 머신 외에 각각 Resource Over-Reservation(ROR)과 Vickrey-Clarke-Groves mechanism를 사용하였다.
또한, 공급자가 사용자에게 reservation plan 과 on-demand plan, 두 가지 배분 계획을 제공한다. 사용자에게 좋은 환경을 주려면 기기(application)의 속도가 빨라야 한다. 그 속도는 기기 구성요소(application component) 위치에 따라 달라져 구성요소 위치를 제공하는 방법을 제안한다. 그리고 distributed cloud에 대한 자원 배분 처리(resource allocation process) 및 모바일(mobile)에서의 클라우드 보안 서비스(cloud security service)를 주요하게 다룬다.
일 실시예에 따르면 IVSCD를 이용하여 자원을 배분할 수 있다.
일 실시예에 따르면 태스크의 크기와 상관 없이 자원을 배분할 수 있다.
일 실시예에 따르면 할당 매트릭스의 그래프로부터 사이클(cycle)을 삭제하여 자원을 배분할 수 있다.
일 실시예에 따르면 태스크의 조건에 맞지 않는 자원은 분배를 금지할 수 있다.
일 실시예에 따르면, 처리되어야 하는 태스크(task) 및 상기 태스크에 사용되는 자원에 대한 정보를 수집하는 자원 정보 수집부 및 상기 정보에 따라 IVSCD(Initial Value Setting and Cycle Deletion)를 이용하여 유틸리티가 증가되도록 상기 태스크를 상기 자원에 분배하는 자원 분배부를 포함하는 효율적인 자원 배분 장치가 제공될 수 있다.
다른 일 실시예에 따르면, 상기 자원 분배부는, 상기 정보에 따라 상기 자원 및 상기 태스크를 매핑한 초기 할당 매트릭스를 설정하고, 상기 초기 할당 매트릭스보다 유틸리티 총합이 증가된 최종 할당 매트릭스를 생성하며, 상기 최종 할당 매트릭스에 기초하여 상기 태스크를 상기 자원에 배분하는, 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 상기 자원 분배부는, 각 상기 태스크가 포함하는 단위 태스크 개수 순서로 상기 태스크를 정렬하여 초기 할당 매트릭스를 설정하는, 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 상기 자원 분배부는, 상기 자원을 공유하는 횟수가 최소화되도록 상기 초기 할당 매트릭스를 설정하는, 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 상기 자원 분배부는, 상기 자원이 공유되는 횟수에 기초하여 상기 태스크를 처리하는데 소요되는 실행시간을 유지하면서 상기 자원이 소모하는 상기 비용을 최소화하는 상기 최종 할당 매트릭스를 생성하는, 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 상기 자원 분배부는, 상기 초기 할당 매트릭스의 원소를 연결하는 엣지로 된 그래프를 생성하고, 상기 그래프로부터 사이클 삭제(cycle deletion)를 수행하여 상기 최종 할당 매트릭스를 생성하는, 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면 상기 자원 분배부는, 상기 태스크에 따라 상기 엣지를 인접하지 않은 엣지와 다르게 컬러링(coloring)하는, 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 상기 자원에 대한 정보는, 상기 자원이 사용될 때 소모되는 단위시간당 필요한 비용을 포함하는 각 자원의 값 정보를 포함하는 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 상기 자원 분배부는, 상기 태스크의 조건에 맞지 않는 자원은 분배를 금지하는, 효율적인 자원 배분 장치가 제공될 수 있다.
또 다른 일 실시예에 따르면, 상기 유틸리티는, 상기 태스크를 처리하는데 소모되는 비용 및 실행시간을 최소화한 정도인, 효율적인 자원 배분 장치가 제공될 수 있다.
일 실시예에 따른 자원 배분 장치는 IVSCD에 따른 할당 매트릭스에 기초하여 자원을 효율적으로 배분할 수 있다.
일 실시예에 따른 자원 배분 장치는 자원이 공유되는 횟수를 최소화하여 실행시간을 유지하고, 할당 매트릭스의 그래프를 삭제하여 태스크를 완료하기 위해 자원이 소모하는 비용의 총합을 최소화할 수 있다.
일 실시예에 따른 자원 배분 장치는 IVSCD를 이용하여 사용자의 수 또는 자원의 개수가 증가할 수록 유틸리티의 총합을 향상시킬 수 있다.
도 1은 일 실시예에 따른 효율적인 자원 배분 장치의 개괄적인 구성을 도시한 도면이다.
도 2는 일 실시예에 따른 효율적인 자원 배분 장치의 세부적인 구성을 도시한 도면이다.
도 3은 일 실시예에 따른 일 실시예에 따른 효율적인 자원 배분 장치의 유틸리티 총합을 도시한 그래프이다.
도 4는 일 실시예에 따른 효율적인 자원 배분 장치의 자원에 따른 유틸리티 총합을 다른 방법과 비교한 그래프이다.
도 5는 일 실시예에 따른 효율적인 자원 배분 장치의 사용자 수에 따른 유틸리티 총합을 다른 방법과 비교한 그래프이다.
도 6은 일 실시예에 따른 효율적인 자원 배분 장치의 사용자와 자원 수에 따른 유틸리티 총합을 도시한 그래프이다.
도 7은 일 실시예에 따른 효율적인 자원 배분 장치의 사용자와 자원 수에 따른 유틸리티 총합을 3D로 도시한 그래프이다.
도 8은 Wei 방법의 사용자와 자원 수에 따른 유틸리티 총합을 3D로 도시한 그래프이다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 일 실시예에 따른 효율적인 자원 배분 장치(100)의 개괄적인 구성을 도시한 도면이다. 일 실시예에 따르면 자원 배분 장치(100)는 n명의 사용자(190)가 요청한 태스크(task)를 m개의 자원(180)에 효율적으로 분배할 수 있다. 예를 들어 클라우드 컴퓨팅을 효율적으로 수행하기 위해 m개의 자원(180)을 분배하는 경우, 각 자원(180)은 클라우드 네트워크 상으로 연결된 컴퓨터 및 기타 단말을 포함할 수 있다. 다만, 클라우드 시스템 분야에서의 자원 분배로 한정하는 것은 아니고, 일 실시예에 따른 특정 조건을 충족하는 일반적인 자원 분배 문제에서도 적용될 수 있다. 일 실시예에 따르면 자원 배분 장치(100)는 태스크의 크기와 상관 없이 자원을 배분할 수 있다
도 2는 일 실시예에 따른 효율적인 자원 배분 장치(200)의 세부적인 구성을 도시한 도면이다. 여기서 자원 배분 장치(200)는 자원 정보 수집부(210) 및 자원 분배부(220)를 포함할 수 있다.
자원 정보 수집부(210)는 처리되어야 하는 태스크 및 태스크에 사용되는 자원에 대한 정보를 수집할 수 있다. 여기서 태스크에 대한 정보는 태스크를 수행하기 위해 필요한 조건, 태스크의 종류 및 기타 태스크와 관련된 정보를 포함할 수 있고, 조건에 맞지 않는 자원에는 해당 태스크의 분배가 금지될 수 있다. 또한, 자원에 대한 정보는 자원을 단위 시간만큼 사용할 때 필요한 비용을 포함할 수 있다.
자원 분배부(220)는 자원 정보 수집부(210)에서 수집한 정보에 따라 IVSCD(Initial Value Setting and Cycle Deletion)를 이용하여 유틸리티가 증가되도록 n개의 태스크를 프로세서를 통해 m개의 자원에 분배할 수 있다. 여기서 n 및 m은 0보다 큰 정수일 수 있다.
일 실시예에 따르면 자원 분배부(220)는 프로세서를 통해 수집한 정보에 따라 자원 및 태스크를 매핑한 초기 할당 매트릭스를 설정하고, 초기 할당 매트릭스보다 유틸리티 총합이 증가된 최종 할당 매트릭스를 생성하며, 최종 할당 매트릭스에 기초하여 태스크를 자원에 배분할 수 있다.
여기서 초기 할당 매트릭스는 태스크가 포함하는 단위 태스크 개수 순서로 태스크를 정렬하고, 자원을 공유하는 횟수가 최소화되도록 초기 할당 매트릭스를 설정하여 설정될 수 있다.
그리고 최종 할당 매트릭스는 초기 할당 매트릭스의 실행시간을 유지하면서 자원이 소모하는 비용이 최소화되도록 생성될 수 있다. 예를 들면, 자원이 공유되는 횟수에 기초하여 태스크를 처리하는데 소요되는 실행시간을 유지할 수 있다. 구체적으로 자원 분배부(220)는 초기 할당 매트릭스의 구성요소를 나타내는 노드를 연결하는 엣지로 된 그래프를 생성하고, 당해 그래프에서 사이클을 검색하여, 검색된 사이클에 대해 사이클 삭제를 수행하여 최종 할당 매트릭스를 생성할 수 있다.
일 실시예에 따른 자원 배분 장치(200)의 자원 분배부(220)가 자원을 분배하는 구체적인 방법은 하기에서 상세히 설명한다.
클라우드 컴퓨팅 자원 배분(Cloud Computing Resource Allocation)은 사용자가 원하는 태스크를 클라우드 자원에 할당해서 처리하는 것을 의미할 수 있다. 여기서 사용자의 "유틸리티"를 높이는 것이 중요할 수 있다. 여기서 유틸리티는 태스크를 처리하는데 소모되는 비용 및 실행시간을 최소화한 정도로서 하기 수학식 8과 같이 나타낼 수 있다.
본 명세서에서는 이 문제를 위한 시스템 모델을 정립하고 "유틸리티"를 수식적으로 모델링 했으며, 자원 할당을 위한 ALLOC문제를 공식적으로 정의할 수 있다. ALLOC문제는 NP-hard 문제이므로 휴리스틱 해결책이 필요할 수 있다. ALLOC문제 및 이에 가능한 해법 할당 매트릭스(allocation matrix)를 분석한 결과로부터 도출된 사용자 유틸리티를 항상 향상시킬 수 있는 원칙을 기반으로 고안된 IVSCD(Initial Value Setting and Cycle Deletion) 알고리즘을 사용할 수 있다.
일 실시예에 따르면 하나의 자원이 하나의 단위 태스크만을 처리하는 것으로 제한할 필요는 없으며 여러 개의 단위 태스크를 처리하는 모델을 사용할 수 있다. 이에 따라 하나의 자원이 여러 개의 단위 태스크를 처리 가능하다고 보고 문제를 해결하면서 사용자의 유틸리티를 높일 수 있다. 기존 하나의 자원이 하나의 단위 태스크를 처리하던 방식을 여러 개의 단위 태스크를 처리 한다고 가정함으로써 문제를 확장시켜 일반화해 해결할 수 있다.
하기 시스템 모델을 기반으로 휴리스틱 방법인 IVSCD(Initial Value Setting and Cycle Deletion)알고리즘을 제안했으며 이 방법을 분석한 결과, 기존의 방법과 쉽게 생각해낼 수 있는 다른 휴리스틱 방법보다 사용자의 수가 50 이상 100 이하일 때 시뮬레이션으로 분석한 결과, IVSCD는 성능이 최소 46.58%, 평균 93.87% 향상될 수 있다. 다양한 사용자 수 n 및 자원의 개수 m에 대한 결과는 하기 도 3 내지 도 8에서 도시된 바와 같을 수 있다.
일 실시예에 따르면 임의의 방법 또는 랜덤(random)한 접근 방식 내지 이미 알려져 있는 알고리즘들을 통한 것이 아닌, 체계적인 접근을 통해 문제의 특성에 대한 하기 수학식 10 내지 수학식 14의 정리(theorem)들을 고안하여 만들어진 자원 배분 알고리즘 IVSCD를 사용할 수 있다. 시뮬레이션으로 검증한 결과 기존 방법에 비해 평균 93.87% 향상될 수 있다.
기존에는 각각의 자원들이 한 사용자가 요청한 하나의 단위 태스크만 처리할 수 있었으나, 일 실시예에 따르면 각각의 자원들이 여러 단위 태스크를 처리할 수 있다. 또한, 각각의 자원들이 사용자에 의해 금지될 확률이 발생할 수 있다. 여기서 사용자에 의해 금지될 확률은, 사용자가 요구하는 태스크를 각각의 자원들이 처리하지 못하는 확률을 포함할 수 있다.
일 실시예에 따르면 n개의 태스크들을 해결할 수 있도록 m개의 자원들을 적절히 배치할 수 있다. 이러한 배치를 통해 유틸리티를 극대화함으로써 실행 시간, 금전적인 비용 등이 적절하게 조합되어 효율성이 향상될 수 있다. 여기서 유틸리티가 향상되도록 n개의 태스크에 대한 m개의 자원을 배치하는 모델은 하기 수학식 1 내지 수학식 8과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000001
상술한 수학식 1에서, R은 자원들의 집합, S는 태스크들의 집합을 나타낼 수 있고, 어떤 자원
Figure PCTKR2013009548-appb-I000002
을 단위시간만큼 사용할 때 필요한 비용은
Figure PCTKR2013009548-appb-I000003
로 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000004
그리고 상술한 수학식 2와 같이
Figure PCTKR2013009548-appb-I000005
크기의 매트릭스 B를 나타낼 수 있다. 여기서 임의의 원소
Figure PCTKR2013009548-appb-I000006
에 대해
Figure PCTKR2013009548-appb-I000007
이면
Figure PCTKR2013009548-appb-I000008
Figure PCTKR2013009548-appb-I000009
에 할당할 수 있고,
Figure PCTKR2013009548-appb-I000010
이면
Figure PCTKR2013009548-appb-I000011
Figure PCTKR2013009548-appb-I000012
에 할당하지 못할 수 있다.
Figure PCTKR2013009548-appb-I000013
Figure PCTKR2013009548-appb-I000014
상술한 수학식 3에서 임의의 태스크
Figure PCTKR2013009548-appb-I000015
들은
Figure PCTKR2013009548-appb-I000016
개의 단위태스크로 이루어질 수 있다. 이를테면,
Figure PCTKR2013009548-appb-I000017
를 수행하기 위해서 우리는
Figure PCTKR2013009548-appb-I000018
개의 단위 태스크 모두를 해결해야 하며 각각의 단위 태스크가 요구하는 계산양은 동일할 수 있다.
Figure PCTKR2013009548-appb-I000019
상술한 수학식 4에서
Figure PCTKR2013009548-appb-I000020
크기의 매트릭스 A를 할당 매트릭스로 나타낼 수 있다. 할당 매트릭스 A에서 각 원소는
Figure PCTKR2013009548-appb-I000021
에게
Figure PCTKR2013009548-appb-I000022
의 단위 태스크를
Figure PCTKR2013009548-appb-I000023
개만큼 할당시킨 것을 의미할 수 있다. 여기서,
Figure PCTKR2013009548-appb-I000024
이고,
Figure PCTKR2013009548-appb-I000025
이 성립할 수 있다.
Figure PCTKR2013009548-appb-I000026
상술한 수학식 5에서 임의의 할당 매트릭스 A에 대해 같은 크기의 매트릭스 E를 비용(expense) 매트릭스로 나타낼 수 있다 여기서 원소
Figure PCTKR2013009548-appb-I000027
의 값은 태스크
Figure PCTKR2013009548-appb-I000028
Figure PCTKR2013009548-appb-I000029
로 해결하는데 필요한 비용을 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000030
Figure PCTKR2013009548-appb-I000031
상술한 수학식 6에서 임의의 할당 매트릭스 A에 대해 같은 크기의 매트릭스 T를 실행시간 매트릭스(execution time matrix)로 나타낼 수 있다 원소
Figure PCTKR2013009548-appb-I000032
의 값은 태스크
Figure PCTKR2013009548-appb-I000033
Figure PCTKR2013009548-appb-I000034
로 해결하는데 걸리는 실행시간을 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000035
상술한 수학식 7과 같이
Figure PCTKR2013009548-appb-I000036
크기의 매트릭스
Figure PCTKR2013009548-appb-I000037
를 나타낼 수 있다. 여기서,
Figure PCTKR2013009548-appb-I000038
의 원소
Figure PCTKR2013009548-appb-I000039
의 값은
Figure PCTKR2013009548-appb-I000040
의 단위 태스크 한 개를
Figure PCTKR2013009548-appb-I000041
로 해결하기 위해 걸리는 시간을 의미할 수 있다. 이를테면, 상기 수학식 5의 원소
Figure PCTKR2013009548-appb-I000042
및 수학식 6의 원소
Figure PCTKR2013009548-appb-I000043
와의 관계는
Figure PCTKR2013009548-appb-I000044
,
Figure PCTKR2013009548-appb-I000045
와 같이 나타낼 수 있다.
그리고 임의의 두 상수
Figure PCTKR2013009548-appb-I000046
Figure PCTKR2013009548-appb-I000047
는 일 실시예에 따라 자원이 태스크에 분배는 경우, 각각 비용과 실행시간에 대한 가중치를 나타낼 수 있다. 또한, 각 자원
Figure PCTKR2013009548-appb-I000048
에 대해 사용자가 요구하는 조건에 맞지 않을 확률을
Figure PCTKR2013009548-appb-I000049
로 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000050
상술한 수학식 8은 사용자가 지출해야 하는 비용과 자신이 원하고자 하는 태스크를 마치기까지 걸리는 시간을 이용하여 i번째 사용자 내지 태스크가 얻을 수 있는 유틸리티
Figure PCTKR2013009548-appb-I000051
를 나타낼 수 있다. 여기서
Figure PCTKR2013009548-appb-I000052
가 여러 기계에 분산되었을 때 전체 실행 시간은 가장 느린 기계에 의해서 결정될 수 있다. 또한 전체 비용은 각 기계에서 요구하는 비용의 합으로 볼 수 있다. 일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분은 상술한 수학식 8에 따른 모델로 나타낼 수 있다.
구체적으로 각각의 태스크
Figure PCTKR2013009548-appb-I000053
Figure PCTKR2013009548-appb-I000054
개의 단위 태스크를 포함하고,
Figure PCTKR2013009548-appb-I000055
개의 단위 태스크는 사용 가능한 자원
Figure PCTKR2013009548-appb-I000056
에서
Figure PCTKR2013009548-appb-I000057
사이에 할당될 수 있으며, 최종 할당 결과는 할당 매트릭스 A 형태로 나타낼 수 있다. 이러한 ALLOC문제는 공식으로는 다음 수학식 9와 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000058
상술한 수학식 9에서 입력(input) 중 n은 사용자의 수, m은 자원의 수,
Figure PCTKR2013009548-appb-I000059
는 태스크,
Figure PCTKR2013009548-appb-I000060
는 각 태스크에 포함된 단위 태스크의 개수,
Figure PCTKR2013009548-appb-I000061
는 자원,
Figure PCTKR2013009548-appb-I000062
는 각 자원이 사용될 때 소모되는 단위시간당 필요한 비용을 포함하는 각 자원의 값 정보,
Figure PCTKR2013009548-appb-I000063
Figure PCTKR2013009548-appb-I000064
는 시간과 비용에 대한 가중치,
Figure PCTKR2013009548-appb-I000065
는 단위 태스크 하나를
Figure PCTKR2013009548-appb-I000066
로 수행하기 위해 소요되는 시간에 대한 매트릭스,
Figure PCTKR2013009548-appb-I000067
는 각 자원의 각 태스크에의 할당 가부를 나타내는 매트릭스,
Figure PCTKR2013009548-appb-I000068
Figure PCTKR2013009548-appb-I000069
자원이 금지될 확률을 나타낼 수 있다. 그리고 상술한 수학식 9에서 출력(output)으로 되는 할당 매트릭스 A의 각 원소는 상술한 수학식 4를 만족할 수 있다.
여기서 상술한 수학식 9에 대한 출력인 A는 복수 개 존재할 수 있으나, 여러 할당 매트릭스 A 중 A1과 A2를 비교하면 유틸리티의 합이 큰 매트릭스가 자원 배분을 보다 효율적으로 수행된 것일 수 있다. 따라서 상술한 수학식 9에 대한 출력 A1과 A2가 있을 때 A1의 유틸리티의 합이 A2의 유틸리티의 합보다 높으면 A1이 A2보다 더 좋은 해법일 수 있다.
일 실시예에 따른 ALLOC문제는 기존의 금지자원 및 한 자원에 여러 개의 단위 태스크를 할당할 수 있도록 변경한 것이다. 일 실시예에 따른 ALLOC문제는 금지자원을 사용하지 않고 단위 태스크 할당을 제한적으로 하면 NP-hard이므로 ALLOC문제도 NP-hard임이 증명될 수 있다. 따라서 ALLOC문제는 NP-hard하므로 자원 및 사용자가 많을 경우 휴리스틱 알고리즘을 사용할 수 있다.
일 실시예에 따른 IVSCD 알고리즘은 최적의 해를 찾는 대신 유틸리티의 합이 높은 더 좋은 해법을 찾는 알고리즘으로서, 알고리즘을 체계적으로 구현하기 위해 필요한 정리들은 아래 수학식들과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000070
Figure PCTKR2013009548-appb-I000071
상술한 수학식 10에 대한 증명은 아래와 같이 나타낼 수 있다. 우선,
Figure PCTKR2013009548-appb-I000072
의 실행시간 매트릭스 는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000073
상술한 실행시간 매트릭스에 비용을 곱한 비용(expense) 매트릭스는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000074
상술한 비용 매트릭스를
Figure PCTKR2013009548-appb-I000075
라고 나타내면 상술한 수학식 8에 의해 각 자원의 유틸리티 값은 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000076
다음으로
Figure PCTKR2013009548-appb-I000077
의 경우에 대한 실행시간 매트릭스는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000078
여기서 상술한 실행시간 매트릭스에 대해 수학식 5에 따른 비용 매트릭스는 다음과 같이 계산되어 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000079
이러한 비용 매트릭스를 상술한
Figure PCTKR2013009548-appb-I000080
로 표현하면
Figure PCTKR2013009548-appb-I000081
로 나타낼 수 있고, 이 때의 유틸리티
Figure PCTKR2013009548-appb-I000082
은 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000083
다른 할당 매트릭스인
Figure PCTKR2013009548-appb-I000084
의 비용 매트릭스는
Figure PCTKR2013009548-appb-I000085
이므로 당해 매트릭스에 대한 유틸리티
Figure PCTKR2013009548-appb-I000086
는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000087
상술한 유틸리티들 중 제1 사용자에 대한 유틸리티는 다음과 같이 표현될 수 있다.
Figure PCTKR2013009548-appb-I000088
여기서 제1 사용자에 대한 각 유틸리티는
Figure PCTKR2013009548-appb-I000089
과 같이 나타낼 수 있고, 산술 기하 부등식,을 통해 다음과 같은 관계가 성립될 수 있다.
Figure PCTKR2013009548-appb-I000090
따라서
Figure PCTKR2013009548-appb-I000091
도 성립할 수 있는 바, 제1 사용자 및 제2 사용자에 대한 두 식을 합하면
Figure PCTKR2013009548-appb-I000092
과 같은 관계가 도출될 수 있다. 이를테면
Figure PCTKR2013009548-appb-I000093
Figure PCTKR2013009548-appb-I000094
중 하나는
Figure PCTKR2013009548-appb-I000095
이상일 수 있다.
결과적으로
Figure PCTKR2013009548-appb-I000096
Figure PCTKR2013009548-appb-I000097
, 둘 중 하나는
Figure PCTKR2013009548-appb-I000098
보다 유틸리티가 더 높을 수 있다.
Figure PCTKR2013009548-appb-I000099
Figure PCTKR2013009548-appb-I000100
상술한 수학식 11의 정리를 증명하기 위해 할당 매트릭스 A는 다음과 같이 설정될 수 있다.
Figure PCTKR2013009548-appb-I000101
Figure PCTKR2013009548-appb-I000102
를 포함하는 두 행에서
Figure PCTKR2013009548-appb-I000103
를 제외한 나머지 태스크들의 비용의 합과 최대 시간을 각각
Figure PCTKR2013009548-appb-I000104
,
Figure PCTKR2013009548-appb-I000105
,
Figure PCTKR2013009548-appb-I000106
,
Figure PCTKR2013009548-appb-I000107
로 나타낼 수 있다. 그리고
Figure PCTKR2013009548-appb-I000108
가 있는 열은
Figure PCTKR2013009548-appb-I000109
를 포함한 태스크의 개수를 x개라고 가정하고,
Figure PCTKR2013009548-appb-I000110
가 있는 열은
Figure PCTKR2013009548-appb-I000111
를 포함하여 태스크의 개수를 y개라고 다음과 같이 가정할 수 있다.
Figure PCTKR2013009548-appb-I000112
여기서 상술한 실행시간 매트릭스는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000113
상술한 수학식 10에서 나타난 방법과 유사하게 상술한 실행시간 매트릭스를 비용 매트릭스로 다음과 같이 바꿔서 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000114
이어서 수학식 10을 증명한 과정과 유사하게
Figure PCTKR2013009548-appb-I000115
로 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000116
상술한 a, b, c, d로 치환된 매트릭스로부터 각 사용자에 대한 유틸리티는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000117
그리고 수학식 10과 유사하게
Figure PCTKR2013009548-appb-I000118
부분을
Figure PCTKR2013009548-appb-I000119
,
Figure PCTKR2013009548-appb-I000120
로 대체할 수 있다. 예를 들어,
Figure PCTKR2013009548-appb-I000121
에 대한 비용 매트릭스는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000122
이러한 비용 매트릭스를
Figure PCTKR2013009548-appb-I000123
로 다음과 같이 다시 표현할 수 있다.
Figure PCTKR2013009548-appb-I000124
각 사용자에 대한 유틸리티를
Figure PCTKR2013009548-appb-I000125
은 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000126
다른 예를 들어,
Figure PCTKR2013009548-appb-I000127
의 유틸리티는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000128
여기서,
Figure PCTKR2013009548-appb-I000129
,
Figure PCTKR2013009548-appb-I000130
라 하면, 상술한 수학식 10으로부터
Figure PCTKR2013009548-appb-I000131
가 성립할 수 있다. 따라서
Figure PCTKR2013009548-appb-I000132
이므로 두 식을 더하면
Figure PCTKR2013009548-appb-I000133
가 성립할 수 있다. 이를테면,
Figure PCTKR2013009548-appb-I000134
또는
Figure PCTKR2013009548-appb-I000135
중 하나 이상은
Figure PCTKR2013009548-appb-I000136
이상일 수 있다. 그리고
Figure PCTKR2013009548-appb-I000137
를 제외한
나머지할당 매트릭스의 원소는 유틸리티의 변화가 없으므로 최종적으로
Figure PCTKR2013009548-appb-I000138
를 포함한 매트릭스보다
Figure PCTKR2013009548-appb-I000139
혹은
Figure PCTKR2013009548-appb-I000140
로 치환한 매트릭스의 유틸리티의 합이 더 증가할 수 있다.
Figure PCTKR2013009548-appb-I000141
Figure PCTKR2013009548-appb-I000142
상술한 수학식 12의 정리를 증명하기 위해서,
Figure PCTKR2013009548-appb-I000143
의 i번째 열의 단위 태스크 개수의 합을
Figure PCTKR2013009548-appb-I000144
라고 표현할 수 있다. 또한 다음과 같이
Figure PCTKR2013009548-appb-I000145
를 포함한 각 행에서
Figure PCTKR2013009548-appb-I000146
를 제외한 나머지 태스크들의 비용 합과 최대 시간을 각각
Figure PCTKR2013009548-appb-I000147
,
Figure PCTKR2013009548-appb-I000148
으로 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000149
우선 상술한 수학식 10 및 수학식 11과 유사하게 실행시간 매트릭스를 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000150
여기서 상술한 실행시간 매트릭스에 대한 비용 매트릭스는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000151
이로부터 각 사용자에 대한 유틸리티
Figure PCTKR2013009548-appb-I000152
는 다음과 같이 계산될 수 있다. 다만, i가 n일 때는 i+1을 1로 계산할 수 있다.
Figure PCTKR2013009548-appb-I000153
예를 들어,
Figure PCTKR2013009548-appb-I000154
에 대한 실행시간 매트릭스는,
Figure PCTKR2013009548-appb-I000155
이고, 당해 실행시간 매트릭스에 대한 비용 매트릭스는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000156
여기서 유틸리티
Figure PCTKR2013009548-appb-I000157
는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000158
다른 예를 들어,
Figure PCTKR2013009548-appb-I000159
에 대한 유틸리티
Figure PCTKR2013009548-appb-I000160
는 다음과 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000161
이 때,
Figure PCTKR2013009548-appb-I000162
,
Figure PCTKR2013009548-appb-I000163
라고 하면,
Figure PCTKR2013009548-appb-I000164
가 되고
Figure PCTKR2013009548-appb-I000165
가 성립할 수 있다. 이로부터
Figure PCTKR2013009548-appb-I000166
또는
Figure PCTKR2013009548-appb-I000167
Figure PCTKR2013009548-appb-I000168
보다 높을 수 있으므로,
Figure PCTKR2013009548-appb-I000169
둘 중 하나가
Figure PCTKR2013009548-appb-I000170
보다 더 좋은 매트릭스일 수 있다.
Figure PCTKR2013009548-appb-I000171
상술한 수학식 13을 증명하기 위해 할당 매트릭스 A를 다음과 같이 설정할 수 있다.
Figure PCTKR2013009548-appb-I000172
여기서 각각의 행을
Figure PCTKR2013009548-appb-I000173
이라고 할 수 있는 바, 매트릭스 A에서 행을 바꿔 주어도 사용자의 수, 자원의 수, 사용자들의 요구는 변함이 없기 때문에 행이 바뀌어도 무방할 수 있다. 이를테면,
Figure PCTKR2013009548-appb-I000174
의 순서가 아닌
Figure PCTKR2013009548-appb-I000175
과 같이 임의의 순서로 재배열해도 무방할 수 있다. 만약 매트릭스 A가
Figure PCTKR2013009548-appb-I000176
를 만족하는
Figure PCTKR2013009548-appb-I000177
이 존재한다면 A의 행들을 바꿔주어 상술한 수학식 12와 같은 모양의 매트릭스로 만들 수 있다. 따라서 매트릭스 A 는 수학식 12의 매트릭스와 동치가 되므로 수학식 12에 대해 상술한 증명을 통해 수학식 13 또한 증명될 수 있다.
Figure PCTKR2013009548-appb-I000178
상술한 수학식 14에서 필요충분조건임을 증명하기 위해 필요조건임과 충분조건임을 다음과 같이 증명할 수 있다.
우선, 필요조건을 증명하기 위해
Figure PCTKR2013009548-appb-I000179
를 만족하는
Figure PCTKR2013009548-appb-I000180
가 존재한다고 가정할 수 있다. 예를 들어, 임의의 i에 대해
Figure PCTKR2013009548-appb-I000181
이므로 G에서
Figure PCTKR2013009548-appb-I000182
에서
Figure PCTKR2013009548-appb-I000183
로 가는 길이 존재하는데,
Figure PCTKR2013009548-appb-I000184
이므로
Figure PCTKR2013009548-appb-I000185
에서
Figure PCTKR2013009548-appb-I000186
로 가는 길이 존재할 수 있다. 결과적으로
Figure PCTKR2013009548-appb-I000187
사이클(cycle)이 그래프 G에 존재할 수 있다. 여기서 사이클은 매트릭스의 원소를 노드로 하여 각 노드를 엣지로 연결한 그래프 상에 나타나는 폐곡선으로 된 도형을 의미할 수 있다.
다음으로 충분조건을 증명하기 위해 그래프 G에 사이클 C가 존재한다고 가정할 수 있다. C는 노드가
Figure PCTKR2013009548-appb-I000188
인 사이클일 수 있다.
Figure PCTKR2013009548-appb-I000189
의 엣지(edge)를
Figure PCTKR2013009548-appb-I000190
라고 나타낼 수 있다. 이를테면 사이클 C는
Figure PCTKR2013009548-appb-I000191
로 표현될 수 있고, 여기서 인접하지 않은 엣지들은 마크된 컬러(color)가 다를 수 있다. 구체적으로는 인접하지 않은 엣지
Figure PCTKR2013009548-appb-I000192
의 컬러링(coloring)이 c로 같다면, 사이클에 노드 Rc가 두 번 이상 출현하게 되므로 가정에 모순될 수 있다.
이어서, 사이클 C로부터
Figure PCTKR2013009548-appb-I000193
를 만족하는
Figure PCTKR2013009548-appb-I000194
를 생성할 수 있다. 이 때 생성하는 방법은
Figure PCTKR2013009548-appb-I000195
에 대해
Figure PCTKR2013009548-appb-I000196
이라면 시퀀스 b에
Figure PCTKR2013009548-appb-I000197
를, 시퀀스 c에
Figure PCTKR2013009548-appb-I000198
를 추가할 수 있다. 이렇게 생성된 시퀀스 b, c는
Figure PCTKR2013009548-appb-I000199
를 만족할 수 있다. 따라서 두 개의 조건이 필요충분임이 증명될 수 있다.
일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치는 상술한 수학식 1 내지 수학식 14에 따른 시스템 모델 및 분석을 기반으로 하는 휴리스틱 알고리즘인 IVSCD를 사용할 수 있다. 여기서 IVSCD 알고리즘은 init_alloc 및 cycle deletion 두 파트로 구성될 수 있다.
우선, init_alloc은 초기 할당 매트릭스를 설정할 수 있다. 수학식 8로부터 실행시간은
Figure PCTKR2013009548-appb-I000200
에 의존될 수 있으므로 ALLOC문제의 가능한 솔루션인 최종 할당 매트릭스
Figure PCTKR2013009548-appb-I000201
는 실행시간이 고루 분배된 형태일 수 있다. 하지만 실행시간이 균등해지기에 앞서, 자원들이 공유되는 횟수가 최소화될 수 있다. 여기서 공유 횟수는 자원들에 할당되는 단위 태스크의 개수일 수 있다.
여기서 초기 할당 매트릭스
Figure PCTKR2013009548-appb-I000202
는 다음과 같이 설정될 수 있다. 1)
Figure PCTKR2013009548-appb-I000203
이 되도록 정렬하고, 2) 각
Figure PCTKR2013009548-appb-I000204
에 대해서, 각
Figure PCTKR2013009548-appb-I000205
에 대해 현재 공유된 횟수를
Figure PCTKR2013009548-appb-I000206
라 하면
Figure PCTKR2013009548-appb-I000207
가 작은 순서대로
Figure PCTKR2013009548-appb-I000208
를 채우되, H값이 같고
Figure PCTKR2013009548-appb-I000209
이라면
Figure PCTKR2013009548-appb-I000210
를,
Figure PCTKR2013009548-appb-I000211
이면
Figure PCTKR2013009548-appb-I000212
를 먼저 채울 수 있다. 또한,
Figure PCTKR2013009548-appb-I000213
를 채울 때마다
Figure PCTKR2013009548-appb-I000214
를 갱신할 수 있다. 이런 과정은 다음 표 1과 같은 pseudocode로 표현될 수 있다.
Figure PCTKR2013009548-appb-I000215
Figure PCTKR2013009548-appb-I000216
그리고 Cycle deletion에서 사이클 삭제가 수행될 수 있다. init_alloc에서 완성된 초기 할당 매트릭스
Figure PCTKR2013009548-appb-I000217
에서는 비용에 대해 전혀 고려되지 않을 수 있다. 실행시간에 대한 부분은 init_alloc에서 최소화된 바,
Figure PCTKR2013009548-appb-I000218
의 실행시간을 늘리지 않는 조건에서 비용을 줄이는 사이클 삭제를 시행할 수 있다.
구체적으로
Figure PCTKR2013009548-appb-I000219
의 실행시간을 늘리지 않으며 비용을 최대한 줄인 최종 할당 매트릭스
Figure PCTKR2013009548-appb-I000220
는 다음과 같이 생성될 수 있다. 1) 그래프를 초기화하고, 2) 모든
Figure PCTKR2013009548-appb-I000221
에 대해 A의 i번째 행에서 0이 아닌 수가 가장 처음 등장하는 위치를 찾아
Figure PCTKR2013009548-appb-I000222
에 저장할 수 있다. 그리고 3) 모든
Figure PCTKR2013009548-appb-I000223
에 대해, 엣지에
Figure PCTKR2013009548-appb-I000224
를 추가한 후 노드={1, ..., m}으로 설정할 수 있으며, 4) 사이클을 찾고 없다면 Cycle deletion의 9) 과정을 수행할 수 있다. 5) 사이클을 찾은 경우 찾은 사이클의 노드에 대한 수열을 V, 엣지에 대한 수열을 E로 나타낼 수 잇다. 6)
Figure PCTKR2013009548-appb-I000225
를 만족하는 모든
Figure PCTKR2013009548-appb-I000226
에 대해, RED 에 점
Figure PCTKR2013009548-appb-I000227
, BLUE에 점
Figure PCTKR2013009548-appb-I000228
를 추가할 수 있다. 이어서, 7)
Figure PCTKR2013009548-appb-I000229
Figure PCTKR2013009548-appb-I000230
,
Figure PCTKR2013009548-appb-I000231
,
Figure PCTKR2013009548-appb-I000232
을 할당할 수 있고, 8) A<A'면, A를 A'으로 한 뒤 Cycle deletion의 1), A>A'면, Aij=...한 뒤 Cycle deletion의 1)을 다시 수행할 수 있다. 마지막으로 9) A 리턴할 수 있다. 이러한 Cycle deletion에 대한 pseudocode는 다음 표 2와 같이 나타낼 수 있다.
Figure PCTKR2013009548-appb-I000233
Figure PCTKR2013009548-appb-I000234
상술한 pseudo code로부터 일 실시예에 따른 IVSCD 에서 while 문이 총
Figure PCTKR2013009548-appb-I000235
번 실행되고 한 번 실행될 때마다 for 문이
Figure PCTKR2013009548-appb-I000236
번씩 실행되므로 time complexity는
Figure PCTKR2013009548-appb-I000237
일 수 있다.
일 실시예에 따른 IVSCD를 평가하기 위한 시뮬레이션은 결과를 얻기 위해 C++을 이용해 코딩하여 구현된 것으로서, 사용자의 수(n)는 100, 200, 300,..., 1000 중 임의로 선택될 수 있고, 자원의 수(m)는 10, 20, 30, ..., 100중 임의로 선택될 수 있다.
일 실시예에 따르면 실행시간 매트릭스 T의 원소들은 2이상 20이하인 유리수로, 비용 매트릭스 E의 원소들은 1이상 10이하인 유리수로 설정할 수 있다. 그리고 자원의 금지 개수는 0개 이상 (m-1)개 이하로 설정할 수 있고, 각 자원이 금지 될 확률은 {0, 0.2, 0.8} 중 하나로 설정될 수 있다. 여기서 IVSCD 알고리즘으로 도출된 유틸리티가 최대가 되는 매트릭스를 종래의 Wei 알고리즘, Greedy 알고리즘을 비교한 것일 수 있다. 아래 그래프들은 IVSCD와 다른 알고리즘과의 비교 결과를 보여줄 수 있다.
도 3은 일 실시예에 따른 일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치의 유틸리티 총합을 도시한 그래프이다. 구체적으로는 사용자의 수가 1000명, 자원의 개수가 100개일 때에 대한 각 사용자들의 유틸리티의 합을 나타낸 그래프일 수 있다.
여기서 IVSCD 알고리즘이 Wei 방법보다 평균 122.07% 최대 136.87% 최소 106.56% 향상된 유틸리티 결과, Greedy 방법보다는 평균 310.14% 최대 332.85% 최소 287.22% 향상된 결과가 나타날 수 있다.
도 4는 일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치의 자원에 따른 유틸리티 총합을 다른 방법과 비교한 그래프이다. 구체적으로는 사용자의 수를 1000명으로 고정 시켰을 때 자원의 개수에 따른 유틸리티의 합을 나타낸 그래프일 수 있다.
여기서 IVSCD 알고리즘이 Wei 방법보다 평균 100.46% 최대 122.07% 최소 46.58% 향상된 유틸리티 결과, Greedy 방법보다는 평균 229.39% 최대 310.14% 최소 82.59% 향상된 결과가 나타날 수 있다.
도 5는 일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치의 사용자 수에 따른 유틸리티 총합을 다른 방법과 비교한 그래프이다. 구체적으로는 자원의 수를 100개로 고정 시켰을 때 사용자의 수에 따른 유틸리티의 합을 나타낸 그래프일 수 있다.
여기서 IVSCD 알고리즘이 Wei 방법보다 평균 91.37% 최대 122.07% 최소 28.77% 향상된 유틸리티 결과, Greedy 방법보다는 평균 282.89% 최대 310.14% 최소 213.20% 향상된 결과가 나타날 수 있다.
도 6은 일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치의 사용자와 자원 수에 따른 유틸리티 총합을 도시한 그래프이다. 구체적으로는 IVSCD의 알고리즘만을 나타낸 그래프일 수 있다.
여기서 도 6에 도시된 그래프는 자원의 개수가 10개부터 100개까지 변화되고, 사용자의 수가 100, 500, 1000명인 경우에 관한 시뮬레이션 결과를 나타내는 것일 수 있다. 이러한 시뮬레이션 결과에 따르면 IVSCD 방법은 자원의 수가 많을수록, 사용자의 수가 많을수록 유틸리티가 향상하는 정도가 증가할 수 있다.
도 7은 일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치의 사용자와 자원 수에 따른 유틸리티 총합을 3D로 도시한 그래프이다. 도 8은 Wei 방법의 사용자와 자원 수에 따른 유틸리티 총합을 3D로 도시한 그래프이다. 구체적으로 도 7 및 도 8은 자원의 개수를 10개에서 100개, 사용자의 수를 100명에서 1000명까지 변화시켰을 때의 유틸리티를 연속적으로 나타낸 그래프일 수 있다.
여기서 일 실시예에 따른 IVSCD에 대한 시뮬레이션 결과를 나타내는 도 7은 그래프가 사용자의 수와 자원의 개수가 늘어날수록 유틸리티가 높아져서 위로 볼록한 모양으로 나타날 수 있으나, 종래의 Wei에 대한 시뮬레이션 결과를 나타내는 도 8 는 사용자의 수와 자원의 개수에 상관없이 평평한 모양을 나타낼 수 있다. 이러한 시뮬레이션 결과에 따르면 IVSCD 알고리즘은 사용자의 수 또는 자원의 개수가 증가할 수록 다른 알고리즘보다 보다 자원 배분의 효율을 향상시킬 수 있다.
일 실시예에 따른 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치는 자원을 필요로 하는 사용자에게 효율적으로 배분하여 사용자의 유틸리티를 높이는 IVSCD를 사용할 수 있다. 실행시간이 최대인 자원에 대한 태스크를 다른 자원에 배분하는 종래 알고리즘과는 차별화되는 IVSCD 알고리즘에서는 할당 매트릭스를 그래프로 바꾸어서 사이클을 삭제할 수 있다.
일 실시예에 따르면 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치에서 사용되는 IVSCD는 ALLOC문제를 위한 기존 휴리스틱에 의한 방법보다 사용자의 수가 50 이상 100 이하 일 때 최소 46.58%, 평균 93.87%의 향상이 시뮬레이션으로 나타날 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPA(field programmable array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (10)

  1. 처리되어야 하는 태스크(task) 및 상기 태스크에 사용되는 자원에 대한 정보를 수집하는 자원 정보 수집부; 및
    상기 정보에 따라 IVSCD(Initial Value Setting and Cycle Deletion)를 이용하여 유틸리티가 증가되도록 상기 태스크를 상기 자원에 분배하는 자원 분배부
    를 포함하는 효율적인 자원 배분 장치.
  2. 제1항에 있어서,
    상기 자원 분배부는,
    상기 정보에 따라 상기 자원 및 상기 태스크를 매핑한 초기 할당 매트릭스를 설정하고,
    상기 초기 할당 매트릭스보다 유틸리티 총합이 증가된 최종 할당 매트릭스를 생성하며,
    상기 최종 할당 매트릭스에 기초하여 상기 태스크를 상기 자원에 배분하는,
    효율적인 자원 배분 장치.
  3. 제2항에 있어서,
    상기 자원 분배부는,
    각 상기 태스크가 포함하는 단위 태스크 개수 순서로 상기 태스크를 정렬하여 초기 할당 매트릭스를 설정하는,
    효율적인 자원 배분 장치.
  4. 제2항에 있어서,
    상기 자원 분배부는,
    상기 자원을 공유하는 횟수가 최소화되도록 상기 초기 할당 매트릭스를 설정하는,
    효율적인 자원 배분 장치.
  5. 제4항에 있어서,
    상기 자원 분배부는,
    상기 자원이 공유되는 횟수에 기초하여 상기 태스크를 처리하는데 소요되는 실행시간을 유지하면서 상기 자원이 소모하는 상기 비용을 최소화하는 상기 최종 할당 매트릭스를 생성하는,
    효율적인 자원 배분 장치.
  6. 제2항에 있어서,
    상기 자원 분배부는,
    상기 초기 할당 매트릭스의 원소를 연결하는 엣지로 된 그래프를 생성하고,
    상기 그래프로부터 사이클 삭제(cycle deletion)를 수행하여 상기 최종 할당 매트릭스를 생성하는,
    효율적인 자원 배분 장치.
  7. 제6항에 있어서,
    상기 자원 분배부는,
    상기 태스크에 따라 상기 엣지를 인접하지 않은 엣지와 다르게 컬러링(coloring)하는,
    효율적인 자원 배분 장치.
  8. 제1항에 있어서,
    상기 자원에 대한 정보는,
    상기 자원이 사용될 때 소모되는 단위시간당 필요한 비용을 포함하는 각 자원의 값 정보
    를 포함하는 효율적인 자원 배분 장치.
  9. 제1항에 있어서,
    상기 자원 분배부는,
    상기 태스크의 조건에 맞지 않는 자원은 분배를 금지하는,
    효율적인 자원 배분 장치.
  10. 제1항 내지 제9항 중 어느 한 항에 있어서,
    상기 유틸리티는,
    상기 태스크를 처리하는데 소모되는 비용 및 실행시간을 최소화한 정도인,
    효율적인 자원 배분 장치.
PCT/KR2013/009548 2013-02-13 2013-10-25 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치 WO2014126322A1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2013-0015568 2013-02-13
KR1020130015568A KR101262679B1 (ko) 2013-02-13 2013-02-13 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치

Publications (1)

Publication Number Publication Date
WO2014126322A1 true WO2014126322A1 (ko) 2014-08-21

Family

ID=48665861

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2013/009548 WO2014126322A1 (ko) 2013-02-13 2013-10-25 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치

Country Status (3)

Country Link
US (1) US9203778B2 (ko)
KR (1) KR101262679B1 (ko)
WO (1) WO2014126322A1 (ko)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8874477B2 (en) 2005-10-04 2014-10-28 Steven Mark Hoffberg Multifactorial optimization system and method
US9817699B2 (en) 2013-03-13 2017-11-14 Elasticbox Inc. Adaptive autoscaling for virtualized applications
KR101491689B1 (ko) 2013-07-24 2015-02-11 한국과학기술정보연구원 다중 사용자를 위한 자원 할당 방법 및 장치
CN104811467B (zh) * 2014-01-28 2018-07-06 青岛海尔电子有限公司 综合效用的数据处理方法
US10911371B1 (en) 2015-03-16 2021-02-02 Amazon Technologies, Inc. Policy-based allocation of provider network resources
US9832220B2 (en) * 2015-09-22 2017-11-28 The United States Of America As Represented By The Secretary Of The Air Force Security method for allocation of virtual machines in a cloud computing network
US10613888B1 (en) 2015-12-15 2020-04-07 Amazon Technologies, Inc. Custom placement policies for virtual machines
US10382558B2 (en) * 2016-11-17 2019-08-13 Nokia Of America Corporation Edge resource sharing
KR102045125B1 (ko) * 2017-11-17 2019-11-14 전자부품연구원 분산환경에서의 cda 프로토콜을 활용한 자원할당방법 및 이를 적용한 기록매체 및 분산처리장치
US20190386928A1 (en) * 2018-06-19 2019-12-19 R-Stor Inc. System and method for utilizing idle network resources
CN110009233B (zh) * 2019-04-08 2020-12-25 清华大学深圳研究生院 群智感知中基于博弈论的任务分配方法
CN111124665B (zh) * 2019-11-22 2023-07-28 奇瑞汽车股份有限公司 分配计算资源的方法和装置
US11470481B2 (en) 2019-11-25 2022-10-11 University-Industry Cooperation Group Of Kyung Hee University Apparatus and method using a decentralized game approach for radio and computing resource allocation in co-located edge computing
KR102389666B1 (ko) * 2019-11-25 2022-04-25 경희대학교 산학협력단 공존 에지 컴퓨팅에서 분산 게임 이론을 기반으로 무선 및 컴퓨팅 리소스를 관리하는 장치 및 방법
CN113163006A (zh) * 2021-04-16 2021-07-23 三峡大学 基于云-边缘协同计算的任务卸载方法及系统
US11917041B1 (en) * 2021-06-15 2024-02-27 Amazon Technologies, Inc. Symmetric communication for asymmetric environments

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110041194A (ko) * 2009-10-15 2011-04-21 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
KR20110083176A (ko) * 2010-01-13 2011-07-20 삼성전자주식회사 클라우드 자원을 다수의 디바이스 자원과 결합하여 제공하는 자원분배장치 및 방법
KR101059199B1 (ko) * 2011-01-13 2011-08-25 주식회사 이글루시큐리티 클라우드 컴퓨팅 통합보안관제시스템 및 그 방법
KR20110096871A (ko) * 2010-02-23 2011-08-31 삼성전자주식회사 클라우드 자원을 다수의 디바이스 자원과 결합하여 제공하는 자원제공방법 및 자원분배장치

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5586219A (en) * 1994-09-30 1996-12-17 Yufik; Yan M. Probabilistic resource allocation system with self-adaptive capability
US6938256B2 (en) * 2000-01-18 2005-08-30 Galactic Computing Corporation System for balance distribution of requests across multiple servers using dynamic metrics
US8306841B2 (en) * 2001-04-17 2012-11-06 4Sight Technologies, Inc. Enterprise project management system and method therefor
US20040111308A1 (en) * 2002-12-09 2004-06-10 Brighthaul Ltd. Dynamic resource allocation platform and method for time related resources
FR2880450A1 (fr) * 2005-01-03 2006-07-07 France Telecom Procede d'affectation de ressources
JP2007183883A (ja) * 2006-01-10 2007-07-19 Fujitsu Ltd 資源計画作成プログラム、該プログラムを記録した記録媒体、資源計画作成装置、および資源計画作成方法
US20100115523A1 (en) * 2008-10-30 2010-05-06 International Business Machines Corporation Method and apparatus for allocating tasks and resources for a project lifecycle
KR20110059199A (ko) 2009-11-27 2011-06-02 삼성전자주식회사 단말장치와, 그 단말 장치와 연결된 미디어 처리 장치 및 그 제어 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20110041194A (ko) * 2009-10-15 2011-04-21 주식회사 클루넷 클라우드 컴퓨팅 네트워크 시스템 및 그것의 파일 분산 방법
KR20110083176A (ko) * 2010-01-13 2011-07-20 삼성전자주식회사 클라우드 자원을 다수의 디바이스 자원과 결합하여 제공하는 자원분배장치 및 방법
KR20110096871A (ko) * 2010-02-23 2011-08-31 삼성전자주식회사 클라우드 자원을 다수의 디바이스 자원과 결합하여 제공하는 자원제공방법 및 자원분배장치
KR101059199B1 (ko) * 2011-01-13 2011-08-25 주식회사 이글루시큐리티 클라우드 컴퓨팅 통합보안관제시스템 및 그 방법

Also Published As

Publication number Publication date
US20140229621A1 (en) 2014-08-14
US9203778B2 (en) 2015-12-01
KR101262679B1 (ko) 2013-05-20

Similar Documents

Publication Publication Date Title
WO2014126322A1 (ko) 클라우드 컴퓨팅을 위한 효율적인 자원 배분 장치
WO2019194465A1 (ko) 뉴럴 네트워크 프로세서
Gelenbe et al. Probabilistic models of computer systems—Part I (exact results)
Wang et al. Service function chain composition, placement, and assignment in data centers
JP2016042354A (ja) セキュアなバーチャルマシン間の共有メモリ通信のためのコンピューティング装置、方法及び機械可読記憶媒体
US20200073703A1 (en) Apparatus and method for virtual machine scheduling in non-uniform memory access architecture
Du et al. Model parallelism optimization for distributed inference via decoupled CNN structure
Gallenmüller et al. 5G URLLC: A case study on low-latency intrusion prevention
Chen et al. Tology-aware optimal data placement algorithm for network traffic optimization
Thakkar et al. Renda: resource and network aware data placement algorithm for periodic workloads in cloud
Price et al. Scheduling of precedence-constrained tasks on multiprocessors
Singh et al. Using local grid and multi-core computing in electromagnetic transients simulation
Fox et al. Advanced computer architectures
Begum et al. Potential of cloud computing architecture
Gu et al. Optimizing task and data assignment on multi-core systems with multi-port SPMs
US20160357707A1 (en) Parallel computer system, parallel computing method, and program storage medium
JP6930443B2 (ja) プロセス処理装置、プロセス処理システム、プロセス移行順序決定方法、及びプログラム
Smith Multiprocessor memory organization and memory interference
WO2023090502A1 (ko) 프레임 양자화에 기반한 분산 행렬 곱 연산 방법 및 장치
WO2023120875A1 (ko) 속성 기반 접근 제어를 지원하는 실시간 iot 데이터 공유 시스템 및 그 방법
CN113391919B (zh) 一种基于二维胖树网络的计算结点分配方法及装置
Sanga et al. COMPARATIVE ANALYSIS OF VIRTUAL MACHINE MIGRATION SYSTEMS IN CLOUD COMPUTING
Marinescu et al. On high level characterization of parallelism
WO2020101081A1 (ko) 고 영향 노드의 결정 방법, 고 영향 노드의 결정 장치, 바이럴 마케팅에서의 마케팅 비용 최소화 방법 및 이를 수행하기 위한 시스템
Gannon et al. Parallel architectures for iterative methods on adaptive, block structured grids

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13875294

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13875294

Country of ref document: EP

Kind code of ref document: A1