KR20140093508A - Proximity Query Process Accelerating System - Google Patents
Proximity Query Process Accelerating System Download PDFInfo
- Publication number
- KR20140093508A KR20140093508A KR1020130005992A KR20130005992A KR20140093508A KR 20140093508 A KR20140093508 A KR 20140093508A KR 1020130005992 A KR1020130005992 A KR 1020130005992A KR 20130005992 A KR20130005992 A KR 20130005992A KR 20140093508 A KR20140093508 A KR 20140093508A
- Authority
- KR
- South Korea
- Prior art keywords
- work
- scheduler
- arithmetic
- present
- proximity
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
-
- 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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/483—Multiproc
Abstract
Description
본 발명은 근접질의 연산 가속화 시스템에 관한 것으로, 보다 구체적으로 복합 구조 병렬 시스템에 범용적으로 적용될 수 있는 근접질의 연산 가속화 시스템에 관한 것이다.More particularly, the present invention relates to a proximity inquiry accelerating system that can be universally applied to a complex structure parallel system.
근접 질의(Proximity query)란 두 물체 또는 한 물체의 두 부분 사이의 충돌을 찾아내거나 거리를 계산하는 연산을 포함한다. 이러한 근접 질의는 물리기반 시뮬레이션, 광선추적 기법 기반 렌더링(rendering), 로봇 공학 분야 등에서 기반 기술로서 널리 이용된다. 일반적으로 효율적인 근접 질의를 위해 계층적인 자료 구조(Bounding Volume Hierarchy, 예컨대 KD-tree)를 이용하며, 물체를 구성하는 기본 단위(삼각형, 사각형 등)간 근접 질의를 위해 수학적 방법이 이용된다. Proximity queries include computation of distances between two objects or two parts of an object. Such proximity queries are widely used as underlying technologies in physics based simulation, ray tracing based rendering, and robotics. In general, a mathematical method is used for proximity queries between basic units (triangles, squares, etc.) that make up an object, using a Bounding Volume Hierarchy (eg KD-tree) for efficient proximity queries.
서로 다른 특성을 갖는 연산 장치들로 이루어진 장치는 일반적으로 비상관 병렬 장치(unrelated parallel machine)로 지칭된다. 이러한 비상관 병렬 장치의 일 처리 시간을 최소화하도록 일을 분배하는 스케줄링 문제는 가장 오랜 시간 일하는 연산 장치의 연산 시간을 최소화하는 처리기간 최소화 문제(minimizing makespan problem)로 잘 알려져 있다. 복합 구조 병렬 시스템은 서로 다른 특성을 갖는 연산 장치들이 통합된 시스템으로서, 예컨대 멀티코어 CPU와 그래픽스 가속장치(GPU)를 구비하는 컴퓨터등이 있다. 복합 구조 병렬 시스템은 비상관 병렬 장치의 일종이다. An apparatus consisting of computing devices having different characteristics is generally referred to as an unrelated parallel machine. The scheduling problem of distributing work to minimize the work time of such an uncorrelated parallel apparatus is well known as a minimizing makespan problem that minimizes the computation time of the longest running computing device. The complex structure parallel system is a system in which arithmetic units having different characteristics are integrated, for example, a computer having a multicore CPU and a graphics accelerator (GPU). A complex structure parallel system is a type of uncorrelated parallel device.
이론 분야에서, 비상관 병렬 장치를 위한 처리기간 최소화 문제는 일반적으로 정수 프로그래밍(IP: Integer Programming)으로 공식화된다. IP 문제는 NP-하드(NP-hard) 문제로서, 이를 풀기 위해 특정 오류 범위를 보장하는 근사 알고리즘이 널리 연구되어 왔다. 이러한 근사 알고리즘은 일반적으로 IP의 정수 값 제한(IP constraint)을 풀어주어 문제를 선형 프로그램(LP: Linear Programming)으로 공식화함으로써 계산의 복잡도를 줄인다. In the field of theory, the processing time minimization problem for uncorrelated parallel devices is generally formulated as integer programming (IP). The IP problem is an NP-hard problem, and an approximate algorithm that guarantees a certain error range has been widely studied to solve it. This approximation algorithm generally reduces the complexity of computation by solving the IP constraints of IP and formulating the problem into linear programming (LP).
최적화 기반(IP 또는 LP)으로 스케줄링 문제를 해결하기 위해서는 일과 처리장치 사이의 처리능력 관계가 정의되어야 한다. 종래에는 이러한 관계가 정의되어 있다는 가정하에 문제를 해결했으나 보다 좋은 스케줄링 결과를 얻기 위해서는 일과 연산 처리능력의 관계를 정확히 측정할 수 있는 모델이 요구된다. 최근 특정 연산 장치(예컨대, 그래픽스 가속장치)의 처리 능력을 정확히 측정하기 위한 연구가 이루어지고 있다. In order to solve the scheduling problem on the basis of optimization (IP or LP), the processing capability relation between the work and the processing device should be defined. In the past, the problem has been solved on the assumption that such a relation is defined. However, in order to obtain a better scheduling result, a model capable of accurately measuring the relationship between the work and the processing capacity is required. Recently, research has been conducted to accurately measure the processing capability of a specific computing device (e.g., a graphics accelerator).
이전까지 병렬 처리 장치를 이용한 근접 질의 연산 가속화 기술들은 멀티코어 CPU 또는 그래픽스 가속장치(GPU)에 특화되어 개발되어 왔다.Previously, proximity query processing acceleration techniques using parallel processors have been developed specifically for multicore CPUs or graphics accelerators (GPUs).
따라서, 복합구조 병렬 시스템에 일반적으로 적용될 수 있는 근접 질의 가속화 기술에 대한 필요성이 대두되고 있다. Therefore, there is a need for a proximity acceleration technique that can be generally applied to a complex structure parallel system.
본 발명은 종래의 필요성을 충족시키기 위해 안출된 것으로써, 복합 구조 병렬 시스템에 범용적으로 적용될 수 있는 근접질연 연산 가속화 시스템을 제공하기 위한 것이다. SUMMARY OF THE INVENTION The present invention has been made in order to meet the needs of the prior art, and it is intended to provide a proximity magnetostatic acceleration system that can be applied to a general structure parallel system.
본 발명이 이루고자 하는 기술적 과제들은 이상에서 언급한 기술적 과제들로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 본 발명의 기재로부터 당해 분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical objects to be achieved by the present invention are not limited to the above-mentioned technical problems, and other technical subjects which are not mentioned can be clearly understood by those skilled in the art from the description of the present invention .
본 발명의 실시예에 따른 근접질의 연산 가속화 시스템은 복수의 연산 장치, 상기 복수의 연산 장치에 일을 분배하는 스케줄러, 및 상기 복수의 연산 장치와 상기 스케줄러 사이의 데이터 통신을 수행하는 데이터 통신 인터페이스를 포함하며, 상기 스케줄러는 연산장치가 일을 처리할 때 걸리는 시간을 예측하도록 하는 일-연산장치 처리능력 관계 모델에 근거하여 일을 분배한다.According to an embodiment of the present invention, there is provided a proximity inquiry acceleration system including a plurality of arithmetic units, a scheduler for distributing work to the plurality of arithmetic units, and a data communication interface for performing data communication between the plurality of arithmetic units and the scheduler And the scheduler distributes work based on a one-arithmetic-apparatus processing capability relationship model that allows a computing device to estimate the time it takes to process the work.
또한, 본 발명의 실시예에 따른 근접질의 연산 가속화 시스템은 요청받은 근접 질의 연산으로부터 최초의 일 집단을 생성하는 초기 일 발생기를 더 포함하며, 상기 최초의 일 집단은 상기 스케줄러에 전달될 수 있다. In addition, the proximity calculation acceleration system according to an embodiment of the present invention further includes an initial day generator that generates an initial work group from the requested proximity operation, and the first work group can be delivered to the scheduler.
본 발명의 실시예에서 복수의 연산 장치는 복합구조 병렬 시스템에 포함된 연산 장치일 수 있다. In the embodiment of the present invention, the plurality of arithmetic units may be arithmetic units included in the complex structure parallel system.
본 발명의 실시예에서 스케줄러는 LP 기반 스케줄링을 이용하여 상기 복수의 연산 장치 중 가장 늦게 일을 끝마치는 연산 장치의 일 종료 시간이 최소값을 갖도록 일을 분배할 수 있다.In an embodiment of the present invention, the scheduler may use LP-based scheduling to distribute work so that one end time of an arithmetic unit that finishes the latest work among the plurality of arithmetic units has a minimum value.
본 발명의 실시예에 따르면 복합 구조 병렬 시스템에 범용적으로 적용될 수 있는 근접질연 연산 가속화 시스템을 제공할 수 있다. 또한, 본 발명의 실시예에 따르면 일-연산장치 처리능력 관계 모델에 기반한 LP 기반 최적화 스케줄링 알고리즘을 제공할 수 있다. 또한, 본 발명의 실시예에 따르면 LP 기반 최적화 스케줄링 문제의 빠른 해결을 위해 반복적 문제 해결방법을 제공할 수 있다. 또한, 본 발명의 실시예에 따르면 계층적 스케줄링 방법을 이용하여 많은 연산장치들이 사용되는 경우에 효율을 높일 수 있다. According to the embodiment of the present invention, it is possible to provide a close proximity binary operation acceleration system which can be applied to a composite structure parallel system in general. Further, according to the embodiment of the present invention, it is possible to provide an LP-based optimization scheduling algorithm based on the one-arithmetic-device processing capability relationship model. In addition, according to the embodiment of the present invention, it is possible to provide a repetitive problem solving method for quickly solving the LP-based optimization scheduling problem. In addition, according to the embodiment of the present invention, efficiency can be increased when a large number of computing devices are used by using the hierarchical scheduling method.
도1은 본 발명의 실시예에 따른 근접질의 연산 가속화 시스템의 구성도를 나타낸다.
도2는 본 발명의 실시예에 따른 스케줄러의 작동 순서를 나타낸다.FIG. 1 shows a block diagram of a proximity calculation acceleration system according to an embodiment of the present invention.
FIG. 2 shows an operation sequence of a scheduler according to an embodiment of the present invention.
이하, 본 발명의 바람직한 실시예의 상세한 설명이 첨부된 도면들을 참조하여 설명된다. 그러나, 본 발명의 실시형태는 여러 가지의 다른 형태로 변형될 수 있으며, 본 발명의 범위가 이하 설명하는 실시형태로만 한정되는 것은 아니다. 도면에서의 요소들의 형상 및 크기 등은 보다 명확한 설명을 위해 과장될 수 있으며, 도면들 중 인용부호들 및 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 인용부호들로 표시됨을 유의해야 한다. 참고로 본 발명을 설명함에 있어서 관련된 공지 기능 혹은 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, a detailed description of preferred embodiments of the present invention will be given with reference to the accompanying drawings. However, the embodiments of the present invention may be modified into various other forms, and the scope of the present invention is not limited to the embodiments described below. The shape and the size of the elements in the drawings may be exaggerated for clarity of explanation and the same reference numerals are used for the same elements and the same elements are denoted by the same quote symbols as possible even if they are displayed on different drawings Should be. In the following description, well-known functions or constructions are not described in detail to avoid unnecessarily obscuring the subject matter of the present invention.
이하, 본원 발명의 이해를 위해 주요 용어를 설명하면 아래와 같다. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Hereinafter, main terms will be described for the understanding of the present invention.
복합 구조 병렬 시스템(Heterogeneous multi-core architecture)는 서로 다른 특징을 가지는 연산 장치들이 하나로 통합되어 이루어지는 시스템으로서, 예컨대 멀티 코어 CPU와 그래픽스 가속장치(GPU)를 구비하는 컴퓨터가 될 수 있다. A heterogeneous multi-core architecture is a system in which computing devices having different characteristics are integrated into one, for example, a computer having a multi-core CPU and a graphics accelerator (GPU).
스케줄링(scheduling)은 여러 개의 연산 장치들에게 일을 분배하는 것을 지칭한다. Scheduling refers to distributing work to multiple computing devices.
선형 프로그래밍(LP: Linear Programming)은 선형 함수들로 주어진 제한 사항 하에서 최적의 해답을 찾기 위해 사용되는 문제 해결 방법이다. Linear programming (LP) is a problem-solving method used to find optimal solutions under given constraints with linear functions.
본 발명의 실시예에 따른 근접질의 연산 가속화 시스템은 복합 구조 병렬 시스템 내의 연산 장치들을 활용하기 위한 범용적 기반 프레임워크를 이용한다. A proximity query processing acceleration system according to an embodiment of the present invention uses a universal based framework for utilizing computation devices in a complex structure parallel system.
도1은 본 발명의 실시예에 따른 근접질의 연산 가속화 시스템의 구성도를 나타낸다. 본 발명의 실시예에 따른 근접질의 연산 가속화 시스템은 복수의 연산 장치(200), 복수의 연산 장치(200)에 일을 분배하는 스케줄러(300) 및 상기 복수의 연산 장치(200)와 상기 스케줄러(300) 사이의 데이터 통신을 수행하는 데이터 통신 인터페이스(400)를 포함할 수 있다. FIG. 1 shows a block diagram of a proximity calculation acceleration system according to an embodiment of the present invention. A proximity query processing system according to an embodiment of the present invention includes a plurality of
본 발명의 실시예에 따른 근접 질의 연산 가속화 시스템은 요청받은 근접질의 연산으로부터 최초의 일 집단을 생성하는 초기 일 발생기(100)를 더 포함할 수 있다. 이렇게 생성된 일은 최초의 일 분배를 위해 스케줄러(300)에게 전달된다. 최초의 일 집단은 요청된 근접 질의 연산의 종류에 달라지게 된다.The proximity query processing acceleration system according to the embodiment of the present invention may further include an
연산 장치(200)는 실제로 일의 처리를 담당하는 장치이다. 연산장치는 일의 입력 및 출력을 위한 각각의 큐(Queue)를 가지며, 스케줄러(300)로부터 할당 받은 일은 입력 큐를 통해 들어오게 된다. 각 연산 장치는 입력 큐에 있는 일을 순차적으로 처리하게 되며, 처리된 결과 및 처리과정 중 생성된 새로운 일들은 출력 큐에 저장한다. 도1에는 복수의 연산 장치(200)가 R개의 연산 장치를 구비하는 것으로 도시되며, 이들 복수의 연산 장치(200)는 복합구조 병렬 시스템에 포함된 연산 장치일 수 있다. The
스케줄러(300)는 현재 분배가 가능한 일들은 연산 장치(200)에게 분배하는 일을 담당한다. 분배 가능한 일은, 초기 일 발생기(100)로부터 발생된 초기 일들과 연산 장치(200)의 출력 큐에 저장된 일들을 포함한다. The
데이터 통신 인터페이스(400)는 연산장치(200)과 스케줄러(300) 사이의 데이터 통신을 담당한다. 스케줄러(300)에 의해 결정된 일 분배 상태에 따라 일들은 데이터 통신 인터페이스를 통해 스케줄러(300)로부터 또는 연산장치들(200)의 출력 큐로부터 연산장치들의 입력 큐로 이동하게 된다. 또한, 연산장치(200)로부터 처리된 일의 결과도 데이터 통신 인터페이스(400)를 통해 스케줄러(300)에게 전달되어 모아진다.The
본 발명의 실시예에 따른 스케줄러(300)의 작동 순서가 도2에 도시된다. 도2에 도시된 바와 같이, 스케줄러(300)는 분배 할 일을 먼저 확인한다(310S). 그 다음 스케줄러(300)는 일-연산장치 처리능력 관계 모델을 이용해 LP(Linear Programming) 기반 스케줄링(320S)을 수행한다. 이러한 스케줄링 결과에 따라 연산장치(200)에 일을 분배하게 된다(330S). The operation sequence of the
이때, 스케줄러(300)의 스케줄링 단계(320S)는 LP 기반 스케줄링을 이용하여 상기 복수의 연산 장치(200) 중 가장 늦게 일을 끝마치는 연산 장치의 일 종료 시간이 최소값을 갖도록 일을 분배할 수 있다. 또한, 스케줄러(300)는 일의 분배 결과에서 특정 종류의 일을 가장 적게 할당받은 연산 장치가 상기 특정 종류의 일을 할당받지 못하도록 일을 재분배하는 과정을 반복적으로 수행하는 반복적 LP 해결 방법을 이용할 수 있다. 또한, 스케줄러(300)는 계층적 스케줄링 방법을 이용하여 시스템의 효율을 높일 수 있다. At this time, the scheduling
이하에서는 본원 발명의 실시예에 따른 스케줄러(200)의 스케줄링 방법에 대해서 보다 구체적으로 설명한다. Hereinafter, a scheduling method of the
일-연산장치 처리능력 관계 모델 은 각각의 연산장치(200)에서 일을 처리할 때 걸리는 시간을 예측하는 역할을 한다. 이 관계 모델은 연산장치(200)의 초기 작동 시간(), 일의 종류에 따라 각각의 일을 처리하는 시간(), 각각의 일을 처리하기 위해 필요한 데이터를 가져오는 시간()의 조합으로 구성된다. 연산장치 i가, 연산장치 k가 생성한 종류j의 일 개를 처리할 때의 예상 처리 시간, )는 [수식 1]과 같이 표현된다.
The one-arithmetic-apparatus processing capability relationship model serves to predict the time taken to process the work in each arithmetic-
수식 1. 일-연산장치 처리능력 관계 모델Equation 1. The one-arithmetic unit processing capability relationship model
여기서, : 연산장치 i가, j일을 처리하기 위해 소모하는 최소한의 시간이다. 연산장치는 일의 종류에 따라 해당 종류의 일을 처리하기 위해 소모되는 최소한의 준비시간을 가진다. 이 준비시간은 일의 양과 관계 없이 일이 하나라도 있으면 소모되는 시간이다. : 연산장치 i가 j일을 하나 처리하는데 걸리는 시간이다. : 연산장치 k가 생성한 j일 하나를 연산장치 i로 전송하는데 걸리는 시간이다. Where: is the minimum time that computing device i consumes to process j days. The computing device has a minimum preparation time that is consumed to process that kind of work depending on the type of work. This preparation time is the time consumed if there is any work regardless of the amount of work. : It is the time it takes for computing device i to process j days. : It is the time it takes to transfer one of the j days generated by the computing device k to the computing device i.
위의 세가지 상수로는 각 근접질의 연산을 구성하는 일의 종류들과 복합구조 병렬 시스템이 가지고 있는 연산장치들에 대해 미리 측정한 정보를 이용할 수 있다. 본 발명의 실시예에서 사용하는 일-연산장치 처리능력 모델은 다양한 종류의 근접질의와 연산장치에서 공통적으로 적용 가능하다는 강점을 가진다. The above three constants can be used to determine the types of work that constitute each proximity query operation and to previously measured information about the computation devices of the complex architecture parallel system. The one-arithmetic-apparatus processing capability model used in the embodiment of the present invention has the advantage that it can be commonly applied to various kinds of proximity queries and arithmetic units.
LP기반 최적화 스케줄링 공식 은 일-연산장치 처리능력 관계 모델에 기반하여 최적의 일 분배 상태를 계산해 내는 것을 목표로 한다 [수식 2]. The LP-based optimization scheduling formula aims to calculate the optimal disparity state based on the one-arithmetic processing capability relationship model [Equation 2].
수식 2. IP기반 최적화 스케줄링 공식Formula 2. IP-based Optimization Scheduling Formula
여기서, |R| : 연산 장치의 개수, |J| : 일 종류의 개수, : 연산장치 i가 현재 스케줄러로부터 할당 받은 일을 다 완료할 때까지 남은 시간을 나타내며, 일-연산장치 처리능력 관계 모델로 측정된 예상 처리시간과 현재까지 진행된 시간을 기준으로 계산할 수 있다.Here, | R | : Number of arithmetic units, | J | : Number of one kind,: represents the time remaining until the operation unit i completes all the tasks allocated from the current scheduler, and based on the estimated processing time measured by the one-arithmetic processing capability relationship model and the time Can be calculated.
복수의 연산 장치(200) 중 가장 늦게 일을 마무리하는 연산장치의 일 종료 시간을 L로 나타내며, 이러한 L을 최소화 하는 것이 위 공식의 목표이다. 그리고 (2)~(4)는 이러한 공식을 푸는데 있어 제한 사항들을 표현하며 아래와 같은 의미를 가진다.The end time of a computing device that finishes the latest work among the plurality of
(2) 모든 연산 장치가 주어진 일을 L보다 작은 시간 내에 처리해야 한다. (2) All computing units must process a given task in less than L hours.
(3) 할당되지 않거나 중복되는 일이 없어야 한다. (3) There shall be no unassigned or redundant.
(4) 각각의 일은 더 이상 쪼개어 질 수 없는 단위이기 때문에 할당되는 일의 양은 0이거나 양의 정수이다. (4) Since each work is a unit that can not be broken apart, the amount of work to be assigned is zero or a positive integer.
상기 최적화 문제를 해결함으로써 얻는 결과는 모든 연산장치들(i로 지칭)과 모든 종류의 일(j로 지칭)에 대한 가 된다. 즉, 각각의 연산장치가 각 종류의 일을 몇 개씩 할당 받는 것이 최적인지를 계산하게 된다. IP(Integer Programming)를 푸는 것은 전산학 분야에서 어려운 문제인 NP-hard 문제로 잘 알려져 있다. 하지만, 제한사항 (4)를 정수가 아닌 소수점의 값을 가질 수 있도록 제한사항을 바꾸면, 다항시간(Polynomial time) 안에 문제를 해결 할 수 있다. 따라서, 최종적인 LP기반 스케줄링 공식은 다음 [수식3]과 같이 표현될 수 있다. 따라서, 본 발명의 실시예에 따른 스케줄러(300)는 LP 기반의 최적화 스케줄링 방식에 따라서 연산장치(200)에 일을 분배할 수 있다. The result obtained by solving the optimization problem is for all computing devices (denoted i) and all kinds of jobs (denoted j). That is, it is calculated that each arithmetic unit is optimal to receive the number of tasks of each kind. Unpacking IP (Integer Programming) is well known for its NP-hard problem, a difficult problem in computer science. However, if the restriction (4) is changed so that it has a non-integer decimal point value, the problem can be solved in polynomial time. Hence, the final LP-based scheduling formula can be expressed as [Equation 3]. Accordingly, the
수식 3. LP기반 최적화 스케줄링 공식Formula 3. LP-based optimization scheduling formula
반복적 LP 해결 방법 은 본 발명의 실시예에 따라 제안된 LP기반 스케줄링 공식의 해법을 찾는 계산 복잡도를 낮추게 위해 사용된다. 이러한 반복적 LP 해결 방법은 일의 분배 결과에서 특정 종류의 일을 가장 적게 할당받은 연산 장치가 상기 특정 종류의 일을 할당받지 못하도록 일을 재분배하는 과정을 반복하도록 한다. 이에 따라 각 연산 장치(200)는 자신이 잘 처리할 수 있는 일에 집중되며 전체적인 시스템의 효율을 높일 수 있다. The iterative LP solution is used to lower the computational complexity of finding a solution of the proposed LP-based scheduling formula according to an embodiment of the present invention. This iterative LP solution method repeats the process of redistributing the work so that the computing apparatus having the least assigned work of a certain kind in the work distribution result is not assigned the work of the specific kind. Accordingly, each of the
일반적인 LP 문제는 다항시간 내에 해결이 가능하다. 하지만, 본 발명의 실시예에서 사용하는 LP기반 스케줄링 공식의 경우, 일이 하나도 없는 경우 일-연산장치 처리능력 관계 모델에서 이 0이되고, 일이 하나라도 있으면 상수 값을 가지는 단편함수(Piece-wise function)가 된다. 그리고, 본 발명의 실시예에 따른 LP기반 스케줄링 공식은 단편선형문제(Piece-wise linear problem)가 되며, 이는 NP-hard 문제이다. A typical LP problem can be solved within a polynomial time. However, in the case of the LP-based scheduling formula used in the embodiment of the present invention, if there is no job, the number of bits is zero in the one-arithmetic-apparatus processing capability relationship model, wise function. In addition, the LP-based scheduling formula according to the embodiment of the present invention becomes a piecewise linear problem, which is an NP-hard problem.
이러한 계산적 어려움을 해결하기 위해 본 발명의 실시예에서는 반복적 해결 방법을 사용한다. 본 발명의 실시예에 따른 반복적 해결 방법은 적은 수의 일이 할당된 경우에는, 연산장치가 시간을 소비 하는 비효율적인 일 처리를 방지하는 것을 목표로 한다. 따라서, 각 연산장치들이 자신이 잘 처리하는 일에 집중할 수 있도록 함으로써 전체적인 효율성을 높이는 것이다. 그 알고리즘은 아래와 같이 두 개의 단계를 갖는다. To solve these computational difficulties, embodiments of the present invention use iterative solutions. The iterative solution according to the embodiment of the present invention aims at preventing an inefficient work process in which a computing device consumes time when a small number of jobs are allocated. Thus, each computing device can concentrate on what it does well, thereby improving overall efficiency. The algorithm has two steps as follows.
(1)초기 할당 단계(1) initial allocation step
모든 연산장치(i로 지칭)와 모든 종류의 일(j로 지칭)에 대하여 가 0이 아닌, 원래 상수 값으로 설정하여 LP기반 스케줄링을 문제를 풀어 일 분배 상태를 계산한다.We set the original constant value, not zero, for all arithmetic units (denoted i) and all kinds of jobs (denoted j) to solve the LP-based scheduling problem and calculate the dispatch state.
(2)재분배 단계(2) Redistribution step
1)현재 일 분배 결과(에서 각 종류의 일에 대해 분배분포()를 계산한다.1) Calculate the distribution () for each type of day in the current day distribution result ().
2)가장 작은 분배 분포를 가지는 에 대해 i연산 장치는 앞으로 일 종류 j의 일을 할당 받을 수 없게 한다. 그 구체적인 방법으로 으로 설정할 수 있다.2) For the one with the smallest distribution distribution, the i computing unit will not be able to allocate a job of one kind j in the future. You can set it to that specific method.
3)LP기반 스케줄링 문제를 풀어서 일 분배 상태를 재 계산한다.3) Solve the LP-based scheduling problem and recalculate the distribution state.
4)1~3단계를 다음 세가지 조건을 만족 할 때까지 반복한다.4) Repeat steps 1 to 3 until the following three conditions are satisfied.
A.현재 반복단계에서 얻어진 L값이 이전 반복단계에서의 L값보다 큰 경우A. If the L value obtained in the current iteration step is larger than the L value in the previous iteration step
B.LP기반 스케줄링 문제의 해답을 못 찾은 경우B. If you can not find the answer to the LP-based scheduling problem
C.가장 작은 값보다, 반복적 LP 해결 방법이 소모한 시간이 더 큰 경우C. If the recurring LP resolution consumes more time than the smallest value
이상에서 살펴본 반복적 LP 해결방법에 따른 알고리즘을 세개의 연산장치와 6개 종류의 일에 대해 적용하여 얻어진 결과값 L은 모든 경우의 수를 모두 검사하여 얻은 최적의 값보다 평균적으로 6%정도 큰 값을 가졌다. 하지만, 전수조사 방법은 답을 얻기까지 30초이상의 시간이 걸리는 반면, 본 발명의 실시예에 따른 반복적 LP 해결방법은 0.5 밀리세컨드(millisecond) 내에 해답을 찾아, 실시간 처리를 요구하는 장치에 사용이 가능하다.The result obtained by applying the algorithm according to the recursive LP solution method described above to three computing devices and six types of work is a value that is about 6% larger than the optimal value obtained by examining the number of all cases Respectively. However, while the all-rounder method takes more than 30 seconds to obtain an answer, the iterative LP solution according to an embodiment of the present invention finds a solution within 0.5 milliseconds and is used in devices requiring real-time processing It is possible.
계층적 스케줄링 방법 은 본 발명의 실시예에 따른 스케줄링 방법의 효율성을 한층 더 높이기 위해 사용될 수 있다. 동일한 특성을 갖는 연산장치들에 대해서는 최적화 기반의 일 분배와 일반 일 분배 방법(예, 평등분배)이 비슷한 처리 효율을 나타낸다. 하지만, 최적화 기반 방법은 최적화 문제를 해결하는 부담을 갖는다. 따라서 동일한 종류의 연산장치, 예를 들어 하나의 CPU안의 코어들에 대해서는 간단한 일 분배 방법(예컨대, 평등분배)을 사용하고, 서로 다른 특성을 갖는 연산 장치의 그룹들 사이에서는 본 발명의 LP기반 스케줄링 방법을 사용할 수 있다. 즉, 복수의 연산 장치(200)는 서로 다른 특성을 갖는 복수의 그룹으로 분류될 수 있다. 이때, 동일 그룹 내의 연산장치 사이에는 간단한 일 분배 방법이 이용되어 일이 분배될 수 있고, 각 그룹들 사이에 일의 분배는 본 발명의 실시예에 따른 LP 기반 최적화 스케줄링 방법이 이용될 수 있다. 따라서, 스케줄러(200)는 복수의 그룹 중 가장 늦게 일을 끝마치는 그룹의 일 종료 시간이 최소값을 갖도록 일을 분배할 수 있다. The hierarchical scheduling method can be used to further increase the efficiency of the scheduling method according to an embodiment of the present invention. For computing devices with the same characteristics, the optimization-based uniform distribution and the uniform distribution method (eg, equality distribution) exhibit similar processing efficiencies. However, optimization-based methods have the burden of solving optimization problems. Therefore, it is possible to use a simple distribution method (e. G., Equality distribution) for the same type of computing device, for example cores in one CPU, and between the groups of computing devices having different characteristics, Method can be used. That is, the plurality of
네 개의 코어를 가지는 CPU와 서로 두 종류의 그래픽스 가속장치(GPU)를 사용할 때, 계층적 스케줄링 방법을 이용하여 일을 분배하는 경우에 그렇지 않은 경우에 비해 최대 20%이상의 성능 향상을 얻었다.When using two kinds of graphics accelerators (GPUs) with a CPU having four cores, performance is improved by 20% or more compared to the case where work is distributed using a hierarchical scheduling method.
이상에서 살펴본 바와 같은, 본 발명의 실시예에 따른 일-연산장치 처리능력 관계 모델 및 스케줄링 방법은 근접 질의가 아닌 다른 분야로도 확장이 가능하다. 보다 구체적으로, 다른 응용분야의 문제를 구성하는 일의 기본단위를 밝혀내고, 그 일들과 사용될 연산장치들 사이의 처리능력 관계를 본 발명의 실시예에 따른 일-연산장치 처리능력 모델에 기반하여 측정함함으로써 쉽게 이루어질 수 있다. 또한, 본 발명의 실시예에 따른 일-연산장치 처리능력 관계 모델 및 스케줄링 방법은 이용되는 연산장치들의 종류와 독립적으로 적용하기 때문에, 다양한 종류의 복합 구조 병렬처리 시스템에 쉽게 적용이 가능하다.As described above, the one-arithmetic-apparatus processing capability relationship model and the scheduling method according to the embodiment of the present invention can be extended to other fields than the proximity query. More specifically, basic units of work for constructing problems in other application fields are identified, and the processing capability relationships between the tasks and the computing devices to be used are determined based on the one-arithmetic processing capability model according to the embodiment of the present invention Can be easily achieved. In addition, since the one-arithmetic-apparatus processing capability relation model and the scheduling method according to the embodiment of the present invention are applied independently to the types of arithmetic units used, they can be easily applied to various types of complex structure parallel processing systems.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야의 당업자는 본 발명이 그 기술적 사상이나 필수적 특징을 변경하지 않고 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적인 것이 아닌 것으로서 이해되어야 하고, 본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 등가개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. will be. Therefore, it should be understood that the above-described embodiments are to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than the foregoing description, It is intended that all changes and modifications derived from the equivalent concept be included within the scope of the present invention.
100: 초기 일 발생기
200: 연산장치
300: 스케줄러
400: 데이터 통신 인터페이스100: initial day generator
200:
300: Scheduler
400: Data communication interface
Claims (6)
상기 복수의 연산 장치에 일을 분배하는 스케줄러; 및
상기 복수의 연산 장치와 상기 스케줄러 사이의 데이터 통신을 수행하는 데이터 통신 인터페이스를 포함하며,
상기 스케줄러는 연산장치가 일을 처리할 때 걸리는 시간을 예측하도록 하는 일-연산장치 처리능력 관계 모델에 근거하여 일을 분배하는,
근접질의 연산 가속화 시스템. A plurality of computing devices;
A scheduler for distributing work to the plurality of computing devices; And
And a data communication interface for performing data communication between the plurality of computing devices and the scheduler,
Wherein the scheduler distributes work based on a one-arithmetic-apparatus processing capability relationship model that allows a computing apparatus to estimate the time it takes to process a job,
Proximity query processing acceleration system.
요청받은 근접 질의 연산으로부터 최초의 일 집단을 생성하는 초기 일 발생기를 더 포함하며,
상기 최초의 일 집단은 상기 스케줄러에 전달되는 것을 특징으로 하는 근접질의 연산 가속화 시스템. The method according to claim 1,
Further comprising an initial work generator for generating an initial work group from the requested proximity query operation,
Wherein the first work group is delivered to the scheduler.
상기 복수의 연산 장치는 복합구조 병렬 시스템에 포함된 연산 장치인 것을 특징으로 하는 근접질의 연산 가속화 시스템. The method according to claim 1,
Wherein the plurality of arithmetic processing units are arithmetic processing units included in the complex structure parallel system.
상기 스케줄러는 LP 기반 스케줄링을 이용하여 상기 복수의 연산 장치 중 가장 늦게 일을 끝마치는 연산 장치의 일 종료 시간이 최소값을 갖도록 일을 분배하는 것을 특징으로 하는 근접질의 연산 가속화 시스템.4. The method according to any one of claims 1 to 3,
Wherein the scheduler distributes the work using the LP-based scheduling so that the one end time of an arithmetic and logic unit that finishes the latest work among the plurality of arithmetic units has a minimum value.
상기 스케줄러는 상기 일의 분배 결과에서 특정 종류의 일을 가장 적게 할당받은 연산 장치가 상기 특정 종류의 일을 할당받지 못하도록 일을 재분배하는 것을 특징으로 하는 근접질의 연산 가속화 시스템. 5. The method of claim 4,
Wherein the scheduler redistributes work so that a computing device having the least number of jobs of a particular type in the job distribution result is not assigned the job of the particular type.
상기 복수의 연산 장치는 서로 다른 특성을 갖는 복수의 그룹으로 분류되고,
상기 스케줄러는 LP 기반 스케줄링을 이용하여 상기 복수의 그룹 중 가장 늦게 일을 끝마치는 그룹의 일 종료 시간이 최소값을 갖도록 일을 분배하는 것을 특징으로 하는 근접질의 연산 가속화 시스템.4. The method according to any one of claims 1 to 3,
Wherein the plurality of arithmetic units are classified into a plurality of groups having different characteristics,
Wherein the scheduler distributes the work using the LP-based scheduling so that the one end time of the group that finishes the latest work among the plurality of groups has a minimum value.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130005992A KR20140093508A (en) | 2013-01-18 | 2013-01-18 | Proximity Query Process Accelerating System |
PCT/KR2014/000170 WO2014112739A1 (en) | 2013-01-18 | 2014-01-08 | Proximity query process accelerating system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020130005992A KR20140093508A (en) | 2013-01-18 | 2013-01-18 | Proximity Query Process Accelerating System |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20140093508A true KR20140093508A (en) | 2014-07-28 |
Family
ID=51209799
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020130005992A KR20140093508A (en) | 2013-01-18 | 2013-01-18 | Proximity Query Process Accelerating System |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR20140093508A (en) |
WO (1) | WO2014112739A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11231961B2 (en) | 2019-05-22 | 2022-01-25 | Fujitsu Limited | Scheduling operations |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020156669A1 (en) * | 2000-06-27 | 2002-10-24 | Verhaegh Wilhelmus Franciscus Johannes | Method of determining a schedule, scheduler and system |
JP5381302B2 (en) * | 2009-05-07 | 2014-01-08 | 三菱電機株式会社 | Parallelization scheduling device |
KR101276308B1 (en) * | 2011-02-22 | 2013-06-18 | 서울대학교산학협력단 | Graph-based code generating apparatus and method supporting multi-output instructions |
-
2013
- 2013-01-18 KR KR1020130005992A patent/KR20140093508A/en not_active Application Discontinuation
-
2014
- 2014-01-08 WO PCT/KR2014/000170 patent/WO2014112739A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2014112739A1 (en) | 2014-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104536937B (en) | Big data all-in-one machine realization method based on CPU GPU isomeric groups | |
US20140129609A1 (en) | Computation of Componentized Tasks Based on Availability of Data for the Tasks | |
Lu et al. | Mrphi: An optimized mapreduce framework on intel xeon phi coprocessors | |
Dzafic et al. | High performance power flow algorithm for symmetrical distribution networks with unbalanced loading | |
Wang et al. | Transformer: A new paradigm for building data-parallel programming models | |
CN111985629A (en) | Parallelization strategy for training neural networks | |
Rauchecker et al. | Using high performance computing for unrelated parallel machine scheduling with sequence-dependent setup times: Development and computational evaluation of a parallel branch-and-price algorithm | |
US20230020389A1 (en) | Executing a Quantum Logic Circuit on Multiple Processing Nodes | |
Zhong et al. | Model-based parallelizer for embedded control systems on single-isa heterogeneous multicore processors | |
Ashraf et al. | Empirical investigation: performance and power‐consumption based dual‐level model for exascale computing systems | |
Cao et al. | CPU/GPU computing for a multi-block structured grid based high-order flow solver on a large heterogeneous system | |
Iserte et al. | Improving the management efficiency of GPU workloads in data centers through GPU virtualization | |
CN104360962B (en) | Be matched with multistage nested data transmission method and the system of high-performance computer structure | |
Isupov et al. | Multiple-precision residue-based arithmetic library for parallel CPU-GPU architectures: data types and features | |
KR20140093508A (en) | Proximity Query Process Accelerating System | |
Shah et al. | An efficient sparse matrix multiplication for skewed matrix on gpu | |
Prades et al. | Multi-tenant virtual GPUs for optimising performance of a financial risk application | |
US10200310B2 (en) | Fabric-integrated data pulling engine | |
CN104391821A (en) | System level model building method of multiple core sharing SIMD coprocessor | |
Appelhans et al. | Leveraging NVLINK and asynchronous data transfer to scale beyond the memory capacity of GPUs | |
Czarnul | A multithreaded CUDA and OpenMP based power‐aware programming framework for multi‐node GPU systems | |
Dümmler et al. | Execution schemes for the NPB-MZ benchmarks on hybrid architectures: a comparative study | |
Vo et al. | Streaming-enabled parallel data flow framework in the visualization toolkit | |
Benhaoua et al. | DynMapNoCSIM: a dynamic mapping simulator for network on chip based MPSoC | |
Spacey et al. | Improving communication latency with the write-only architecture |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |