KR102177440B1 - Method and Device for Processing Big Data - Google Patents
Method and Device for Processing Big Data Download PDFInfo
- Publication number
- KR102177440B1 KR102177440B1 KR1020190008484A KR20190008484A KR102177440B1 KR 102177440 B1 KR102177440 B1 KR 102177440B1 KR 1020190008484 A KR1020190008484 A KR 1020190008484A KR 20190008484 A KR20190008484 A KR 20190008484A KR 102177440 B1 KR102177440 B1 KR 102177440B1
- Authority
- KR
- South Korea
- Prior art keywords
- big data
- time
- data processing
- failure
- resources
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Pure & Applied Mathematics (AREA)
- Databases & Information Systems (AREA)
- Mathematical Optimization (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Debugging And Monitoring (AREA)
Abstract
빅데이터 처리 장치 및 방법이 개시된다. 개시된 장치는, 빅데이터 처리에 필요한 데이터를 저장하는 저장부; 빅데이터 처리 요청에 응답하여 상기 저장부로부터 요청된 처리에 필요한 데이터를 상기 저장부로부터 로드하는 드라이버; 다수의 가상 머신을 포함하며 상기 다수의 가상 머신을 이용하여 처리 작업을 실행하는 실행부; 및 상기 실행부에서 처리 작업에 소요되는 자원을 할당하는 스케줄러를 포함하되, 상기 스케줄러는 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당한다. 개시된 장치 및 방법에 의하면, 작업 실패를 적절히 고려하여 자원의 낭비 및 작업 지연을 발생할 수 있어서 빅데이터 처리 시스템에서의 최적화된 자원 할당이 가능한 장점이 있다. A big data processing apparatus and method are disclosed. The disclosed device includes: a storage unit for storing data necessary for processing big data; A driver for loading data required for processing requested from the storage unit from the storage unit in response to a big data processing request; An execution unit including a plurality of virtual machines and executing a processing operation using the plurality of virtual machines; And a scheduler that allocates resources required for processing by the execution unit, wherein the scheduler obtains a failure probability of the operation and generates resource-work time relationship information by reflecting the obtained failure probability, and the resource-work time Allocate resources to satisfy the target working time based on the relationship information. According to the disclosed apparatus and method, there is an advantage in that an optimized resource allocation in a big data processing system is possible because it is possible to cause waste of resources and a delay in operation by appropriately considering a job failure.
Description
본 발명은 빅데이터 분석 및 처리 시스템에 관한 것으로서, 더욱 상세하게는 빅데이터 처리 최적화를 위한 실행시간 예측 및 자원 할당 방법에 관한 것이다. The present invention relates to a big data analysis and processing system, and more particularly, to an execution time prediction and resource allocation method for optimizing big data processing.
빅데이터가 다양한 분야에 활용되면서 빅데이터 처리의 효율성의 연구 또한 활발해지고 있다. Apache Hadoop과 Apache Spark는 BIM, AWS, Facebook, Twitter 등 전세계적으로 널리 쓰이고 있는 빅데이터 처리를 위한 오픈 분산 처리 플랫폼이다. As big data is used in various fields, research on the efficiency of big data processing is also becoming active. Apache Hadoop and Apache Spark are open distributed processing platforms for big data processing widely used worldwide such as BIM, AWS, Facebook, and Twitter.
빅데이터의 크기가 커질수록 서버의 규모는 커지고 있고 그에 대한 처리 비용 부담도 커지고 있다. 그에 따라 데이터 처리의 최적화 연구가 필요하게 되었고 그에 관련하여 Job 스케쥴링의 방식으로 작업 시간을 낮추는 연구가 진행 되었다. 또한 처리 대상 시간을 만족시킬 수 있는 빅데이터 시스템을 구현하려면 정확한 자원 할당이 필요하고 이를 위해서는 요구된 작업에 대한 정확한 작업 실행 시간 추정이 필요하다The larger the size of big data, the larger the size of the server and the greater the burden of processing costs. Accordingly, a study on optimization of data processing was required, and related to this, a study was conducted to lower the working time through the method of job scheduling. In addition, in order to implement a big data system that can satisfy the processing target time, accurate resource allocation is required, and for this, it is necessary to estimate the exact job execution time for the requested job.
스파크 기반 빅데이터 처리 시스템은 작업 요청이 들어오면 그에 필요한 데이터를 기존에 구축되어 있는 Hadoop Distribute File System에서 RDD(Resilient Distributed Dataset)라는 파일 타입으로 로드한다. 그리고 그 RDD를 변형하면서 작업을 수행하고, 그 변화 과정을 lineage라는 파일 내에 저장한다.The Spark-based big data processing system loads the necessary data from the existing Hadoop Distribute File System in a file type called RDD (Resilient Distributed Dataset) when a job request comes in. And it performs work while transforming the RDD, and saves the change process in a file called lineage.
스파크 기반 빅데이터 처리 시스템에서의 처리 작업은 HDFS에서 HadoopRDD로 복사해 온 RDD를 Map Transformation 을 수행하여 MapRDD로 바꾸고 그 MapRDD에 Shuffle Transformation을 수행하여 ShuffleRDD로 바꾸고, 그 ShuffleRDD에 ReduceByKey Transformation 을 수행하여 ReduceRDD로 바꿔 작업을 완료한다.In the Spark-based big data processing system, the RDD copied from HDFS to HadoopRDD is converted to MapRDD by performing Map Transformation, and Shuffle Transformation is performed on the MapRDD to change to ShuffleRDD, and ReduceByKey Transformation is performed on the ShuffleRDD to ReduceRDD. To complete the task.
이런 과정은 DAG로 구현되어 그 작업 과정을 쉽게 확인 가능하고, lineage에 저장되어 있는 변환 (Transformation) 과정을 통해서 도중 오류가 발생했을 시 RDD를 다시 복구 할 수 있다.This process is implemented with DAG, so it is possible to easily check the working process, and if an error occurs during the transformation process stored in the lineage, the RDD can be restored again.
기존의 스파크 기반 빅데이터 처리 장치는 작업 수행 전에 작업 시간을 예측하고 이에 기초하여 최소의 자원이 할당되도록 자원 할당을 수행하며, 자원 할당을 통해 빅데이터 처리에 사용할 가상 머신의 수를 결정한다. Existing Spark-based big data processing devices predict work time before performing work, perform resource allocation to allocate minimum resources based on this, and determine the number of virtual machines to be used for big data processing through resource allocation.
그러나, 기존의 스파크 기반 빅데이터 처리 장치는 작업 실패로 인한 지연을 고려하지 않았으며 이는 부적절한 자원 할당이 이루어지는 주요한 요인으로 작용하였다. 부적절한 자원 할당은 자원의 낭비 또는 처리 작업의 지연으로 이어지기 때문에 보다 적절한 자원 할당이 요구되는 실정이다. However, the existing Spark-based big data processing device did not take into account the delay caused by a job failure, which served as a major factor in improper resource allocation. Since improper resource allocation leads to waste of resources or delay in processing tasks, more appropriate resource allocation is required.
본 발명의 목적은 작업 실패를 적절히 고려하여 자원의 낭비 및 작업 지연을 발생할 수 있는 빅데이터 처리 시스템에서의 최적화된 자원 할당 방법을 제안하는 것이다. An object of the present invention is to propose an optimized resource allocation method in a big data processing system that can cause waste of resources and delay in work by properly considering work failure.
상기 목적을 달성하기 위해 본 발명의 일 측면에 따르면, 빅데이터 처리에 필요한 데이터를 저장하는 저장부; 빅데이터 처리 요청에 응답하여 상기 저장부로부터 요청된 처리에 필요한 데이터를 상기 저장부로부터 로드하는 드라이버; 다수의 가상 머신을 포함하며 상기 다수의 가상 머신을 이용하여 처리 작업을 실행하는 실행부; 및 상기 실행부에서 처리 작업에 소요되는 자원을 할당하는 스케줄러를 포함하되, 상기 스케줄러는 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하는 빅데이터 처리 장치가 제공된다. According to an aspect of the present invention in order to achieve the above object, a storage unit for storing data necessary for processing big data; A driver for loading data required for processing requested from the storage unit from the storage unit in response to a big data processing request; An execution unit including a plurality of virtual machines and executing a processing operation using the plurality of virtual machines; And a scheduler that allocates resources required for processing by the execution unit, wherein the scheduler obtains a failure probability of the operation and generates resource-work time relationship information by reflecting the obtained failure probability, and the resource-work time A big data processing apparatus is provided that allocates resources for satisfying a target working time based on relationship information.
상기 스케줄러는 상기 다수의 가상 머신 각각이 전송하는 보고 메시지를 이용하여 상기 실패 확률을 획득한다. The scheduler obtains the failure probability by using a report message transmitted by each of the plurality of virtual machines.
상기 보고 메시지는 작업의 실패 여부를 나타내는 실패 필드, 메시지를 송신하는 가상 머신의 번호를 나타내는 가상 머신 번호 필드 및 작업의 목적 시간 정보인 목적 시간 필드를 포함한다. The report message includes a failure field indicating whether the job has failed, a virtual machine number field indicating the number of a virtual machine transmitting the message, and a destination time field indicating purpose time information of the job.
상기 드라이버는 상기 저장부로부터 필요한 데이터를 RDD(Resilient Distributed Dataset) 형태로 변환하여 로드한다. The driver converts and loads necessary data from the storage unit into an RDD (Resilient Distributed Dataset) format.
상기 스케줄러는 다음의 수학식과 같이 자원(n)과 작업 시간(TEst)의 관계 정보를 생성한다. The scheduler generates relationship information between the resource (n) and the work time (T Est ) as shown in the following equation.
상기 스케줄러는 다음의 수학식을 이용하여 목적 시간에 적합한 자원(n)의 수를 결정한다. The scheduler determines the number of resources n suitable for the target time using the following equation.
상기 자원의 수는 상기 실행부에서 사용할 가상 머신의 수를 포함한다. The number of resources includes the number of virtual machines to be used by the execution unit.
본 발명의 다른 측면에 따르면, 빅데이터 처리 요청에 응답하여 요청된 처리에 필요한 데이터를 로드하는 단계(a); 빅데이터 처리에 필요한 자원을 할당하는 스케줄링을 수행하는 단계(b); 및 다수의 가상 머신을 이용하여 상기 스케줄링된 자원에 기초하여 빅데이터 처리를 실행하는 단계(c)를 포함하되, 상기 단계(b)는, 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하는 빅데이터 처리 방법이 제공된다. According to another aspect of the present invention, in response to a big data processing request, loading data necessary for the requested processing (a); (B) performing scheduling of allocating resources necessary for processing big data; And (c) executing big data processing based on the scheduled resources using a plurality of virtual machines, wherein the step (b) includes obtaining a probability of failure of a task and reflecting the obtained probability of failure. A big data processing method is provided for generating resource-work time relationship information and allocating resources to satisfy a target work time based on the resource-work time relationship information.
본 발명에 의하면, 작업 실패를 적절히 고려하여 자원의 낭비 및 작업 지연을 발생할 수 있어서 빅데이터 처리 시스템에서의 최적화된 자원 할당이 가능한 장점이 있다. According to the present invention, there is an advantage in that an optimal resource allocation in a big data processing system is possible because it is possible to cause waste of resources and a delay in operation by appropriately considering a job failure.
도 1은 본 발명의 일 실시에에 따른 스파크 기반 빅데이터 처리 장치의 구조를 도시한 도면.
도 2는 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치에서의 처리 절차를 나타낸 도면.
도 3은 본 발명의 일 실시에에 따른 스케줄러의 구조를 도시한 블록도.
도 4는 본 발명의 일 실시예에 따른 빅데이터 처리 최적화를 위한 자원 할당 방법의 전체적인 흐름을 도시한 순서도.
도 5는 본 발명의 일 실시예에 따른 가상 머신이 스케줄러에 제공하는 보고 메시지의 구조를 도시한 도면.1 is a view showing the structure of a spark-based big data processing apparatus according to an embodiment of the present invention.
2 is a processing in the spark-based big data processing apparatus according to an embodiment of the present invention Diagram showing the procedure.
3 is a block diagram showing the structure of a scheduler according to an embodiment of the present invention.
4 is a flow chart showing the overall flow of a resource allocation method for optimizing big data processing according to an embodiment of the present invention.
5 is a diagram illustrating a structure of a report message provided by a virtual machine to a scheduler according to an embodiment of the present invention.
본 발명과 본 발명의 동작상의 이점 및 본 발명의 실시에 의하여 달성되는 목적을 충분히 이해하기 위해서는 본 발명의 바람직한 실시예를 예시하는 첨부 도면 및 첨부 도면에 기재된 내용을 참조하여야만 한다. In order to fully understand the present invention, operational advantages of the present invention, and objects achieved by the implementation of the present invention, reference should be made to the accompanying drawings illustrating preferred embodiments of the present invention and the contents described in the accompanying drawings.
이하, 첨부한 도면을 참조하여 본 발명의 바람직한 실시예를 설명함으로써, 본 발명을 상세히 설명한다. 그러나, 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며, 설명하는 실시예에 한정되는 것이 아니다. 그리고, 본 발명을 명확하게 설명하기 위하여 설명과 관계없는 부분은 생략되며, 도면의 동일한 참조부호는 동일한 부재임을 나타낸다. Hereinafter, the present invention will be described in detail by describing a preferred embodiment of the present invention with reference to the accompanying drawings. However, the present invention may be implemented in various different forms, and is not limited to the described embodiments. In addition, in order to clearly describe the present invention, parts irrelevant to the description are omitted, and the same reference numerals in the drawings indicate the same members.
명세서 전체에서, 어떤 부분이 어떤 구성요소를 “포함”한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라, 다른 구성요소를 더 포함할 수 있는 것을 의미한다. 또한, 명세서에 기재된 “...부”, “...기”, “모듈”, “블록” 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어나 소프트웨어 또는 하드웨어 및 소프트웨어의 결합으로 구현될 수 있다. Throughout the specification, when a part "includes" a certain component, it means that other components may be further included, rather than excluding other components unless specifically stated to the contrary. In addition, terms such as “... unit”, “... unit”, “module”, and “block” described in the specification mean units that process at least one function or operation, which is hardware, software, or hardware. And software.
도 1은 본 발명의 일 실시에에 따른 스파크 기반 빅데이터 처리 장치의 구조를 도시한 도면이다. 1 is a diagram showing the structure of a spark-based big data processing apparatus according to an embodiment of the present invention.
도 1을 참조하면, 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치는 드라이버(100), 스케줄러(110), 저장부(120), 실행부(130), 다수의 가상 머신(140) 및 DAG(150)를 포함한다. Referring to FIG. 1, a spark-based big data processing apparatus according to an embodiment of the present invention includes a
드라이버(100)는 클라이언트로부터 빅데이터 처리 요청을 수신할 경우 처리 작업에 필요한 데이터를 저장부(120)로부터 로드하는 기능을 한다. 저장부(120)에는 처리 작업에 필요한 데이터가 미리 저장되고, 드라이버(100)는 저장부(120)로부터 필요한 데이터를 선택적으로 로드한다. When receiving a big data processing request from a client, the
드라이버(100)는 처리 작업에 필요한 데이터를 그대로 복사하여 로드하는 것이 아니라 RDD(Resilient Distributed Dataset)라는 데이터 타입으로 변환한 후 로드한다. The
드라이버(100)에 의해 로드된 RDD는 실행부(130)로 제공되며, 실행부(130)는 다수의 가상 머신(140) 및 DAG(150)를 포함한다. The RDD loaded by the
실행부(130)는 제공된 RDD에 대해 클라이언트로부터 요청된 작업에 형태로 변환을 수행하고 처리 작업은 다수의 가상 머신(140)에 의해 이루어진다. 가상 머신(140)에 의해 이루어지는 처리 작업은 “lineage” 파일에 저장되며 작업 중간에 에러가 발생하더라도 “lineage” 파일에 기록된 정보를 이용하여 다시 복구가 가능하다. The
각 가상 머신(140)에 의해 처리된 결과 데이터는 DAG(150)에서 최종적으로 처리된다. The result data processed by each
스케줄러(110)는 실행부(130)에서 사용하는 자원을 스케줄링한다. 구체적으로 스케줄러(110)는 실행부(130)에서 처리 작업을 위해 사용하는 가상 머신의 수를 결정한다. The
스케줄러(110)는 처리 작업을 위해 소요되는 시간을 예측하고 예측된 소요 시간에 기초하여 사용할 가상 머신의 수를 결정한다. The
종래의 스파크 시스템은 소요되는 시간을 예측할 때 순수하게 처리에 소요되는 시간만을 예측하였으며 작업이 실패할 경우에 소요되는 시간을 고려하지 않는 문제점이 있었다. 본 발명은 스파크 시스템의 처리 작업에서 발생하는 실패를 고려하여 소요 시간을 예측하고 이에 기초하여 사용할 가상 머신의 수를 결정하도록 한다. In the conventional spark system, when estimating the time required, only the time required for processing was predicted, and there was a problem in that the time required when the operation failed was not considered. The present invention estimates the required time in consideration of failures occurring in the processing operation of the spark system, and determines the number of virtual machines to be used based on this.
스케줄러(110)의 구체적인 구성은 별도의 도면을 참조하여 상세히 설명한다. A detailed configuration of the
도 2는 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치에서의 처리 절차를 나타낸 도면이다. 2 is a processing in the spark-based big data processing apparatus according to an embodiment of the present invention It is a diagram showing the procedure.
도 2를 참조하면, 본 발명의 일 실시예에 따른 스파크 기반 빅데이터 처리 장치는 초기화 절차를 진행한다(200). 초기화는 로그 기록, 함수, 자원(사용하는 가상 머신의 수)과 같은 설정 값들을 초기화하는 것을 의미한다. 2, the spark-based big data processing apparatus according to an embodiment of the present invention performs an initialization procedure (200). Initialization means initializing configuration values such as log records, functions, and resources (the number of virtual machines used).
초기화가 이루어지면, 요청된 작업을 수행하기 위한 준비 작업을 수행한다(201). 준비 작업에서는 실제 작업 수행을 위한 함수들을 로딩하고 로그 파일을 준비하며 태스크에 대한 스케줄링을 수행한다. 여기서의 스케줄링은 작업에 대한 스케줄링으로서, 앞서 설명한 스케줄링부에서의 가성 머신의 수를 할당하는 스케줄링과는 구별된다. When initialization is performed, a preparation task for performing the requested task is performed (201). In the preparation work, functions for actual work are loaded, log files are prepared, and tasks are scheduled. Scheduling here is a scheduling for a job, and is distinct from the scheduling in which the number of pseudo-machines is allocated in the scheduling unit described above.
변수 공유 단계에서는 작업 중에 사용할 변수와 데이터를 각 가상 머신에 전달하는 과정이 이루어지며, 변수 공유 단계에서 가상 머신의 수를 결정하는 스케줄링이 이루어진다(203). In the variable sharing step, a process of delivering variables and data to be used during work to each virtual machine is performed, and in the variable sharing step, scheduling is performed to determine the number of virtual machines (203).
연산 단계에서는 각 가상 머신들을 이용하여 처리 연산이 이루어진다(204). In the calculation step, a processing operation is performed using each virtual machine (204).
전체적인 작업이 위와 같이, 초기화-준비-변수 공유-연산의 순서로 이루어지기 때문에, 스파크 기반 빅데이터 처리 시스템의 작업 시간은 다음의 수학식 1과 같이 정의될 수 있다. Since the overall operation is performed in the order of initialization-preparation-variable sharing-calculation as above, the working time of the spark-based big data processing system can be defined as in
위 수학식 1에 의해 작업 시간을 예측할 경우, 스파크 기반 빅데이터 처리 시스템이 별다른 에러 없이 작업을 수행한다면 비교적 정확하게 작업 시간을 예측할 수 있을 것이다. When the work time is predicted by
위 수학식 1에서, Tinit는 초기화에 소요되는 시간을 의미하고, Tprep는 준비 절차에 소요되는 시간을 의미하며, Tvs는 변수 공유에 소요되는 시간을 의미하고, Tcomp는 연산 작업에 소요되는 시간을 의미한다. In
그러나, 실제 스파크 기반 빅데이터 처리 시스템은 다양한 원인으로 인해 수행 실패가 발생한다. 따라서, 수학식 1과 같은 방식으로 작업 시간을 예측하는 것은 실패를 고려하지 않은 것이기에 정확하다고 볼 수 없다. However, in actual Spark-based big data processing systems, execution failures occur due to various reasons. Therefore, predicting the working time in the same manner as in
도 3은 본 발명의 일 실시에에 따른 스케줄러의 구조를 도시한 블록도이다. 3 is a block diagram showing the structure of a scheduler according to an embodiment of the present invention.
도 3을 참조하면, 본 발명의 일 실시예에 따른 스케줄러는 실패 확률 획득부(300), 자원-작업시간 관계 정보 생성부(302) 및 자원 할당부(304)를 포함한다. Referring to FIG. 3, a scheduler according to an embodiment of the present invention includes a failure
실패 확률 획득부(300)는 스파크 기반 빅데이터 처리 시스템의 실패 확률을 획득한다. 실패 확률은 다양한 방식으로 획득될 수 있을 것이나 바람직하게는 히스토리 처리를 통해 실패 확률을 획득할 수 있을 것이다. 과거의 작업 이력을 기초로 하여 성공적으로 실행한 작업의 수와 실패한 작업의 수에 대한 비를 이용하여 실패 확률을 획득할 수 있을 것이다. 각 작업은 다수의 반복으로 이루어지며 실패 확률 획득부(300)는 반복별 실패 확률을 획득한다. The failure
물론, 실패 확률은 히스토리 분석 방식 이외에도 다양한 방식으로 획득될 수 있을 것이며, 실패 확률 획득 방식의 변경이 본 발명의 사상과 범주에 영향을 미치지 않는다는 것은 당업자에게 있어 자명할 것이다. Of course, the failure probability may be obtained in various ways other than the history analysis method, and it will be apparent to those skilled in the art that a change in the failure probability acquisition method does not affect the spirit and scope of the present invention.
자원-작업시간 관계 정보 생성부(302)는 자원과 작업 시간과의 관계 정보를 생성한다. 작업 시간은 자원에 대한 함수이며, 자원에 따라 작업시간이 어떻게 결정되는지에 대한 관계 정보를 획득하는 것이다. 요컨대, 자원에 대한 작업 시간 함수를 생성하는 것이다. The resource-work time relationship
스파크 기반 빅데이터 처리 시스템은 반복작업을 수행하므로 각 작업에 대한 반복 횟수를 i라고 할 때 작업 완료까지의 실패 확률(PRDD)은 다음의 수학식 2와 같이 정의될 수 있을 것이며, 실패 확률 획득부(300)는 작업의 반복 횟수를 고려하여 다음의 수학식 2와 같이 실패 확률을 획득한다. Since the Spark-based big data processing system performs repetitive tasks, when the number of repetitions for each task is i, the probability of failure until task completion (P RDD ) can be defined as in
위 수학식2에서, 는 k번째 반복에서의 실패 확률을 의미한다. In
본 발명은 작업 완료까지의 실패 확률인 PRDD 를 고려하여 작업 시간을 예측하도록 한다. 만약 작업 실패가 발생할 경우, 다시 작업을 수행해야 한다. 이때, 초기화 및 준비 과정이 다시 진행되지는 않으며 변수 공유와 연산 작업이 다시 수행된다. The present invention predicts the work time by considering P RDD, which is the probability of failure until completion of the work. If a job fails, you have to perform the job again. At this time, the initialization and preparation process does not proceed again, and variable sharing and operation are performed again.
따라서, 실패 확률을 고려한 작업 시간은 다음의 수학식 3과 같이 정의될 수 있다. Therefore, the working time considering the probability of failure may be defined as in Equation 3 below.
자원-작업시간 관계 정보 생성부(302)는 수학식 3과 같이 작업 시간이 설정된다는 전제에서 자원과 작업 시간과의 관계 정보를 생성한다. The resource-working time relationship
는 측정을 통해 획득할 수 있는 값이며, 자원과 작업 시간과의 관계 정보는 다음의 수학식 4와 같이 정의될 수 있다. Is a value that can be obtained through measurement, and relationship information between resources and working time may be defined as in Equation 4 below.
위 수학식 4에서, i는 반복 횟수를 의미하고, n은 가상 머신의 수를 의미하며, 는 변수 공유 단계에서의 매개 변수로서 미리 설정되는 상수이고, 는 연산 단계에서의 매개 변수로서 미리 설정되는 상수이며, 는 측정된 연산 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, 은 작업당 RDD의 개수이고, 은 변수 공유 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, s는 입력되는 데이터 사이즈이고, 은 입력되는 데이터 사이즈의 평균이며, Pe는 실패 확률을 의미한다. In Equation 4 above, i means the number of repetitions, n means the number of virtual machines, Is a constant preset as a parameter in the variable sharing step, Is a constant preset as a parameter in the operation step, Is a variable obtained by measurement as the average value of the measured computational step time, Is the number of RDDs per job, Is the average value of the variable sharing step time and is a variable obtained by measurement, s is the input data size, Is the average of the input data size, and Pe is the probability of failure.
실패 확률을 고려한 작업 시간은 위의 수학식 4와 같이 자원(n)에 대한 함수로 나타낼 수 있으며, 자원 할당부(304)는 수학식 4를 이용하여 사용할 자원(가상 머신의 수)을 결정한다. The work time considering the probability of failure can be expressed as a function of the resource (n) as shown in Equation 4 above, and the
자원 할당부(304)는 자원을 변수로 하는 함수인 작업 시간이 미리 설정된 목적 작업 시간 이하가 되는 자원의 수를 결정한다. The
자원 할당부(304)에서 자원의 수를 결정하기 위한 수학식은 다음의 수학식 5와 같다. Equation 5 for determining the number of resources in the
위 수학식 5에서, Tojbect는 목적 작업 시간이고, In Equation 5 above, T ojbect is the target work time,
위 수학식에서, a, b, c는 아래와 같이 정의된다. In the above equation, a, b, c are defined as follows.
수학식 5와 같은 2차 부등식의 해는 하한과 상한을 가지며, 하한(n1) 및 상한(n2)은 다음의 수학식 6과 같이 정의된다. The solution of the quadratic inequality as shown in Equation 5 has a lower limit and an upper limit, and the lower limit (n 1 ) and the upper limit (n 2 ) are defined as in Equation 6 below.
최종적인 자원의 수는 n1 및 n2 사이의 값중 양의 정수인 최소값으로 결정된다. 예를 들어, n1이 -1이고 n2가 3일 경우 자원의 수는 1로 결정된다. 한편, n1이 5이고 n2가 12일 경우 자원의 수는 5로 결정된다. The final number of resources is determined as the minimum value, which is a positive integer among values between n1 and n2. For example, if n 1 is -1 and n 2 is 3, the number of resources is determined as 1. On the other hand, when n 1 is 5 and n 2 is 12, the number of resources is determined as 5.
이와 같은 자원 할당 방식은 최소의 자원을 사용하면서 작업 실패로 인한 추가 딜레이를 발생시키지 아니하므로 보다 효율적인 자원 할당이 가능한 장점이 있다. Such a resource allocation method has an advantage of enabling more efficient resource allocation since it does not generate additional delay due to a job failure while using a minimum number of resources.
도 4는 본 발명의 일 실시예에 따른 빅데이터 처리 최적화를 위한 자원 할당 방법의 전체적인 흐름을 도시한 순서도이다. 4 is a flowchart showing the overall flow of a resource allocation method for optimizing big data processing according to an embodiment of the present invention.
도 4를 참조하면, 우선 각 반복별 실패 확률을 획득한다(단계 400). 앞서 설명한 바와 같이 히스토리 분석을 통해 반복별 실패 확률을 획득한다. Referring to FIG. 4, first, a failure probability for each iteration is obtained (step 400). As described above, the probability of failure for each iteration is obtained through history analysis.
반복별 실패 확률 정보를 획득하면, 다수의 반복으로 이루어지는 작업의 실패 확률을 획득한다(단계 402). 작업의 실패 확률은 수학식 2와 같이 획득할 수 있다. When the failure probability information for each iteration is obtained, a failure probability of a task consisting of a plurality of iterations is obtained (step 402). The probability of failure of the task can be obtained as shown in
작업 실패 확률이 획득되면, 획득된 작업 실패 확률을 이용하여 작업 시간과 자원에 대한 관계 정보를 생성한다(단계 404). 자원과 작업 시간에 대한 관계 정보는 수학식 4와 같이 생성된다. When the job failure probability is obtained, relationship information between the job time and resources is generated by using the obtained job failure probability (step 404). Relationship information on resources and working hours is generated as shown in Equation 4.
실패 확률을 고려한 작업 시간과 자원에 대한 관계 정보가 생성되면, 자원에 따른 작업 시간이 미리 설정된 작업 시간 이하가 되는 자원의 수를 결정한다(단계 406). 자원의 수는 수학식 5와 같은 2차 부등식에 대한 해를 구하여 결정할 수 있을 것이다. When the relationship information between the work time and the resource in consideration of the failure probability is generated, the number of resources in which the work time according to the resource becomes less than or equal to the preset work time is determined (step 406). The number of resources may be determined by obtaining a solution to a quadratic inequality such as Equation 5.
도 5는 본 발명의 일 실시예에 따른 가상 머신이 스케줄러에 제공하는 보고 메시지의 구조를 도시한 도면이다. 5 is a diagram illustrating a structure of a report message provided to a scheduler by a virtual machine according to an embodiment of the present invention.
도 5를 참조하면, 본 발명의 일 실시예에 따른 보고 메시지는 실패 필드(500), 가상 머신 번호 필드(502) 및 목적 시간 필드(504)를 포함한다. 처리 작업을 수행하는 가상 머신들은 스케줄러에 미리 설정된 주기 또는 미리 설정된 이벤트 발생 시마다 도 5에 도시된 바와 같은 보고 메시지를 스케줄러에 제공한다. 5, a report message according to an embodiment of the present invention includes a
도 5와 같은 보고 메시지는 단독 메시지로 스케줄러에 제공될 수도 있으며 IP 레이어,TCP 레이어, MAC 레이어 등의 옵션 필드에 적용되어 전달될 수도 있을 것이다. The report message as shown in FIG. 5 may be provided to the scheduler as a single message, and may be applied to and delivered to option fields such as an IP layer, a TCP layer, and a MAC layer.
실패 필드(500)에는 요청된 작업이 실패 여부에 대한 정보가 기록된다. 가상 머신 번호 필드(502)에는 보고 메시지를 송신하는 가상 머신의 번호 정보가 기록된다. 목적 시간 필드(504)에는 작업을 완료해야 하는 목적 시간에 대한 정보가 기록된다. In the
스케줄러는 다수의 가상 머신들로부터 전송되는 보고 메시지를 분석하여 실패한 작업과 성공한 작업의 비를 산출하고 이를 기초로 하여 실패 확률을 획득한다. 실패 확률은 지속적으로 갱신되며, 실패 확률이 갱신될 경우 자원-작업시간 관계 정보 역시 갱신되며, 갱신된 관계 정보에 기초한 새로운 자원 할당이 이루어진다. The scheduler analyzes report messages transmitted from multiple virtual machines, calculates the ratio of the failed task to the successful task, and obtains a failure probability based on this. The failure probability is continuously updated, and when the failure probability is updated, resource-work time relationship information is also updated, and new resource allocation is made based on the updated relationship information.
본 발명에 따른 방법은 컴퓨터에서 실행 시키기 위한 매체에 저장된 컴퓨터 프로그램으로 구현될 수 있다. 여기서 컴퓨터 판독가능 매체는 컴퓨터에 의해 액세스 될 수 있는 임의의 가용 매체일 수 있고, 또한 컴퓨터 저장 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함하며, ROM(판독 전용 메모리), RAM(랜덤 액세스 메모리), CD(컴팩트 디스크)-ROM, DVD(디지털 비디오 디스크)-ROM, 자기 테이프, 플로피 디스크, 광데이터 저장장치 등을 포함할 수 있다.The method according to the present invention may be implemented as a computer program stored in a medium for execution on a computer. Here, the computer-readable medium may be any available medium that can be accessed by a computer, and may also include all computer storage media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data, and ROM (Read Dedicated memory), RAM (random access memory), CD (compact disk)-ROM, DVD (digital video disk)-ROM, magnetic tape, floppy disk, optical data storage device, and the like.
본 발명은 도면에 도시된 실시예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다.The present invention has been described with reference to the embodiments shown in the drawings, but these are merely exemplary, and those of ordinary skill in the art will appreciate that various modifications and other equivalent embodiments are possible therefrom.
따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 청구범위의 기술적 사상에 의해 정해져야 할 것이다.Therefore, the true technical protection scope of the present invention should be determined by the technical spirit of the appended claims.
Claims (14)
빅데이터 처리 요청에 응답하여 상기 저장부로부터 요청된 처리에 필요한 데이터를 상기 저장부로부터 로드하는 드라이버;
다수의 가상 머신을 포함하며 상기 다수의 가상 머신을 이용하여 처리 작업을 실행하는 실행부; 및
상기 실행부에서 처리 작업에 소요되는 자원을 할당하는 스케줄러를 포함하되,
상기 스케줄러는 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하며,
상기 스케줄러는 다음의 수학식과 같이 자원(n)과 작업 시간(TEst)의 관계 정보를 생성하는 것을 특징으로 하는 빅데이터 처리 장치.
위 수학식에서, Tinit는 초기화에 소요되는 시간을 의미하고, Tprep는 준비 절차에 소요되는 시간을 의미하며, Tvs는 변수 공유에 소요되는 시간을 의미하고, Tcomp는 연산 작업에 소요되는 시간을 의미하고, i는 반복 횟수를 의미하고, n은 가상 머신의 수를 의미하며, 는 변수 공유 단계에서의 매개 변수로서 미리 설정되는 상수이고, 는 연산 단계에서의 매개 변수로서 미리 설정되는 상수이며, 는 측정된 연산 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, 은 작업당 RDD의 개수이고, 은 변수 공유 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, s는 입력되는 데이터 사이즈이고, 은 입력되는 데이터 사이즈의 평균이며, Pe는 실패 확률을 의미한다.
A storage unit for storing data necessary for processing big data;
A driver for loading data required for processing requested from the storage unit from the storage unit in response to a big data processing request;
An execution unit that includes a plurality of virtual machines and executes a processing task using the plurality of virtual machines; And
Including a scheduler for allocating resources required for processing in the execution unit,
The scheduler acquires a failure probability of a task, generates resource-work time relationship information by reflecting the obtained failure probability, and allocates resources to satisfy a target work time based on the resource-work time relationship information,
The scheduler generates the relationship information between the resource (n) and the work time (T Est ) as shown in the following equation.
In the above equation, T init refers to the time required for initialization, T prep refers to the time required for the preparation procedure, T vs refers to the time required to share variables, and T comp refers to the time required for the operation. Means time, i means number of iterations, n means number of virtual machines, Is a constant preset as a parameter in the variable sharing step, Is a constant preset as a parameter in the operation step, Is a variable obtained by measurement as the average value of the measured computational step time, Is the number of RDDs per job, Is the average value of the variable sharing step time and is a variable obtained by measurement, s is the input data size, Is the average of the input data size, and Pe is the probability of failure.
상기 스케줄러는 상기 다수의 가상 머신 각각이 전송하는 보고 메시지를 이용하여 상기 실패 확률을 획득하는 것을 특징으로 하는 빅데이터 처리 장치.
The method of claim 1,
Wherein the scheduler acquires the probability of failure using a report message transmitted from each of the plurality of virtual machines.
상기 보고 메시지는 작업의 실패 여부를 나타내는 실패 필드, 메시지를 송신하는 가상 머신의 번호를 나타내는 가상 머신 번호 필드 및 작업의 목적 시간 정보인 목적 시간 필드를 포함하는 것을 특징으로 하는 빅데이터 처리 장치.
The method of claim 2,
The report message comprises a failure field indicating whether the job has failed, a virtual machine number field indicating the number of a virtual machine transmitting the message, and a destination time field indicating purpose time information of the job.
상기 드라이버는 상기 저장부로부터 필요한 데이터를 RDD(Resilient Distributed Dataset) 형태로 변환하여 로드하는 것을 특징으로 하는 빅데이터 처리 장치.
The method of claim 1,
And the driver converts and loads necessary data from the storage unit into a Resilient Distributed Dataset (RDD) format.
상기 스케줄러는 다음의 수학식을 이용하여 목적 작업 시간에 적합한 자원(n)의 수를 결정하는 것을 특징으로 하는 빅데이터 처리 장치.
위 수학식에서, Tojbect는 목적 작업 시간이고, 이고, 이며, 이다.
The method of claim 1,
The scheduler is a big data processing apparatus, characterized in that to determine the number of resources (n) suitable for the target work time using the following equation.
In the above equation, T ojbect is the target work time, ego, Is, to be.
상기 자원의 수는 상기 실행부에서 사용할 가상 머신의 수를 포함하는 것을 특징으로 하는 빅데이터 처리 장치.
The method of claim 6,
The number of resources includes the number of virtual machines to be used by the execution unit.
빅데이터 처리 요청에 응답하여 요청된 처리에 필요한 데이터를 로드하는 단계(a);
빅데이터 처리에 필요한 자원을 할당하는 스케줄링을 수행하는 단계(b); 및
다수의 가상 머신을 이용하여 상기 스케줄링된 자원에 기초하여 빅데이터 처리를 실행하는 단계(c)를 포함하되,
상기 단계(b)는, 작업의 실패 확률을 획득하고 획득된 실패 확률을 반영하여 자원-작업시간 관계 정보를 생성하며 상기 자원-작업시간 관계 정보에 기초하여 목적 작업시간을 만족시키기 위한 자원을 할당하며,
상기 단계(b)는 다음의 수학식과 같이 자원(n)과 작업 시간(TEst)의 관계 정보를 생성하는 것을 특징으로 하는 빅데이터 처리 방법.
위 수학식에서, Tinit는 초기화에 소요되는 시간을 의미하고, Tprep는 준비 절차에 소요되는 시간을 의미하며, Tvs는 변수 공유에 소요되는 시간을 의미하고, Tcomp는 연산 작업에 소요되는 시간을 의미하고, i는 반복 횟수를 의미하고, n은 가상 머신의 수를 의미하며, 는 변수 공유 단계에서의 매개 변수로서 미리 설정되는 상수이고, 는 연산 단계에서의 매개 변수로서 미리 설정되는 상수이며, 는 측정된 연산 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, 은 작업당 RDD의 개수이고, 은 변수 공유 단계 시간의 평균값으로서 측정에 의해 획득되는 변수이며, s는 입력되는 데이터 사이즈이고, 은 입력되는 데이터 사이즈의 평균이며, Pe는 실패 확률을 의미한다.
As a big data processing method performed by the big data processing autonomous government,
(A) loading data necessary for the requested processing in response to the big data processing request;
(B) performing scheduling of allocating resources necessary for processing big data; And
Including the step (c) of executing big data processing based on the scheduled resources using a plurality of virtual machines,
The step (b) is to obtain the probability of failure of the task, generate resource-work time relationship information by reflecting the obtained failure probability, and allocate resources for satisfying the target work time based on the resource-work time relationship information. And
The step (b) is a big data processing method, characterized in that generating the relationship information between the resource (n) and the working time (T Est ) as shown in the following equation.
In the above equation, T init refers to the time required for initialization, T prep refers to the time required for the preparation procedure, T vs refers to the time required to share variables, and T comp refers to the time required for the operation. Means time, i means number of iterations, n means number of virtual machines, Is a constant preset as a parameter in the variable sharing step, Is a constant preset as a parameter in the operation step, Is the average value of the measured calculation step times and is a variable obtained by measurement, Is the number of RDDs per job, Is a variable obtained by measurement as the average value of the variable sharing step time, s is the input data size Is the average of the input data size, and Pe is the probability of failure.
상기 단계(b)는 상기 다수의 가상 머신 각각이 전송하는 보고 메시지를 이용하여 상기 실패 확률을 획득하는 것을 특징으로 하는 빅데이터 처리 방법.
The method of claim 8,
The step (b) is a big data processing method, characterized in that the failure probability is obtained using a report message transmitted from each of the plurality of virtual machines.
상기 보고 메시지는 작업의 실패 여부를 나타내는 실패 필드, 메시지를 송신하는 가상 머신의 번호를 나타내는 가상 머신 번호 필드 및 작업의 목적 시간 정보인 목적 시간 필드를 포함하는 것을 특징으로 하는 빅데이터 처리 방법.
The method of claim 9,
The report message comprises a failure field indicating whether the job has failed, a virtual machine number field indicating the number of a virtual machine sending the message, and a destination time field indicating purpose time information of the job.
상기 단계(a)는 빅데이터 처리에 필요한 데이터를 저장하는 저장부로부터 필요한 데이터를 RDD(Resilient Distributed Dataset) 형태로 변환하여 로드하는 것을 특징으로 하는 빅데이터 처리 방법.
The method of claim 8,
The step (a) is a big data processing method, characterized in that the data required for big data processing is converted into an RDD (Resilient Distributed Dataset) format and loaded from a storage unit that stores data.
상기 단계(b)는 다음의 수학식을 이용하여 목적 시간에 적합한 자원(n)의 수를 결정하는 것을 특징으로 하는 빅데이터 처리 방법.
위 수학식에서, Tojbect는 목적 작업 시간이고, 이고, 이며, 이다.
The method of claim 8,
The step (b) is a big data processing method, characterized in that determining the number of resources (n) suitable for the target time using the following equation.
In the above equation, T ojbect is the target work time, ego, Is, to be.
상기 자원의 수는 상기 단계(c)에서 사용할 가상 머신의 수를 포함하는 것을 특징으로 하는 빅데이터 처리 방법.
The method of claim 13,
The number of resources comprises the number of virtual machines to be used in step (c).
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190008484A KR102177440B1 (en) | 2019-01-23 | 2019-01-23 | Method and Device for Processing Big Data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020190008484A KR102177440B1 (en) | 2019-01-23 | 2019-01-23 | Method and Device for Processing Big Data |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200094838A KR20200094838A (en) | 2020-08-10 |
KR102177440B1 true KR102177440B1 (en) | 2020-11-11 |
Family
ID=72049599
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020190008484A KR102177440B1 (en) | 2019-01-23 | 2019-01-23 | Method and Device for Processing Big Data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102177440B1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102643681B1 (en) * | 2021-12-31 | 2024-03-04 | 연세대학교 산학협력단 | Apparatus and Method for Controlling Processing of Big Data using Adaptive Clustering |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101772108B1 (en) * | 2016-07-15 | 2017-08-28 | 한국항공대학교산학협력단 | Memory management system and method based on spark |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05242103A (en) * | 1992-02-28 | 1993-09-21 | Mitsubishi Electric Corp | Scheduling system |
KR20120053857A (en) * | 2010-11-18 | 2012-05-29 | 한국전자통신연구원 | Apparatus and method for controlling response time of application program |
KR20140131089A (en) * | 2013-05-03 | 2014-11-12 | 한국전자통신연구원 | Apparatus and method for allocating resource |
-
2019
- 2019-01-23 KR KR1020190008484A patent/KR102177440B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101772108B1 (en) * | 2016-07-15 | 2017-08-28 | 한국항공대학교산학협력단 | Memory management system and method based on spark |
Non-Patent Citations (1)
Title |
---|
이진배 외 3명. ‘빅데이터 Hadoop Distributed File System의 자원 할당 최적화를 위한 Performance Modeling 기법’. 2018년도 한국통신학회 동계종합학술발표회 논문집, 2018.01.19., pp.1381-1382.* |
Also Published As
Publication number | Publication date |
---|---|
KR20200094838A (en) | 2020-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108845884B (en) | Physical resource allocation method, device, computer equipment and storage medium | |
US10860441B2 (en) | Method and system for data backup and restoration in cluster system | |
US10460241B2 (en) | Server and cloud computing resource optimization method thereof for cloud big data computing architecture | |
CN111176818B (en) | Distributed prediction method, device, system, electronic equipment and storage medium | |
US9477460B2 (en) | Non-transitory computer-readable storage medium for selective application of update programs dependent upon a load of a virtual machine and related apparatus and method | |
US20180341527A1 (en) | Task deployment method, task deployment apparatus, and storage medium | |
US9513835B2 (en) | Impact-based migration scheduling from a first tier at a source to a second tier at a destination | |
WO2018108001A1 (en) | System and method to handle events using historical data in serverless systems | |
US11150999B2 (en) | Method, device, and computer program product for scheduling backup jobs | |
US8984126B2 (en) | Service collaboration device, service collaboration method, and computer-readable recording medium | |
US10649670B2 (en) | Data block processing | |
US10334028B2 (en) | Apparatus and method for processing data | |
US8028291B2 (en) | Method and computer program product for job selection and resource allocation of a massively parallel processor | |
CN106775975B (en) | Process scheduling method and device | |
KR102177440B1 (en) | Method and Device for Processing Big Data | |
KR101702218B1 (en) | Method and System for Allocation of Resource and Reverse Auction Resource Allocation in hybrid Cloud Server | |
US20210149726A1 (en) | Scheduling device, scheduling system, scheduling method, and non-transitory computer-readable medium | |
WO2021013185A1 (en) | Virtual machine migration processing and strategy generation method, apparatus and device, and storage medium | |
CN113608838A (en) | Deployment method and device of application image file, computer equipment and storage medium | |
CN110968406B (en) | Method, device, storage medium and processor for processing task | |
CN112631994A (en) | Data migration method and system | |
US11144443B2 (en) | Optimization of workloads based on constraints | |
US20220229689A1 (en) | Virtualization platform control device, virtualization platform control method, and virtualization platform control program | |
US10606640B2 (en) | Rescheduling high performance computing jobs based on personalized sanity checks and job problem resolution classification | |
CN114020218A (en) | Mixed repeating data deleting and scheduling method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |