KR20140093508A - Proximity Query Process Accelerating System - Google Patents

Proximity Query Process Accelerating System Download PDF

Info

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
Application number
KR1020130005992A
Other languages
Korean (ko)
Inventor
윤성의
김덕수
이정환
이진규
신인식
김동준
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Priority to KR1020130005992A priority Critical patent/KR20140093508A/en
Priority to PCT/KR2014/000170 priority patent/WO2014112739A1/en
Publication of KR20140093508A publication Critical patent/KR20140093508A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline, look ahead
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/483Multiproc

Abstract

A proximity query operation accelerating system according to the present invention comprises: a plurality of operation devices; a scheduler for distributing tasks to the operation devices; and a data communications interface for performing data communications between the operation devices and the scheduler, wherein the scheduler distributes the tasks based on a task-operation device performance relation model which estimates the time needed when the operation devices process the tasks.

Description

근접질의 연산 가속화 시스템{Proximity Query Process Accelerating System}[Proximity Query Process Accelerating System]

본 발명은 근접질의 연산 가속화 시스템에 관한 것으로, 보다 구체적으로 복합 구조 병렬 시스템에 범용적으로 적용될 수 있는 근접질의 연산 가속화 시스템에 관한 것이다.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.

한국공개공보 제10-2002-0035580호 (2002.05. 11)Korean Laid-Open Publication No. 10-2002-0035580 (May 2002, 11)

본 발명은 종래의 필요성을 충족시키기 위해 안출된 것으로써, 복합 구조 병렬 시스템에 범용적으로 적용될 수 있는 근접질연 연산 가속화 시스템을 제공하기 위한 것이다. 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 operation devices 200, a scheduler 300 for distributing work to a plurality of operation devices 200, and a plurality of operation devices 200, And a data communication interface (400) for performing data communication between the base station and the base station (300).

본 발명의 실시예에 따른 근접 질의 연산 가속화 시스템은 요청받은 근접질의 연산으로부터 최초의 일 집단을 생성하는 초기 일 발생기(100)를 더 포함할 수 있다. 이렇게 생성된 일은 최초의 일 분배를 위해 스케줄러(300)에게 전달된다. 최초의 일 집단은 요청된 근접 질의 연산의 종류에 달라지게 된다.The proximity query processing acceleration system according to the embodiment of the present invention may further include an initial task generator 100 that generates an initial work group from the requested proximity query operation. The job thus generated is delivered to the scheduler 300 for the first job distribution. The first set of days will depend on the type of proximity query requested.

연산 장치(200)는 실제로 일의 처리를 담당하는 장치이다. 연산장치는 일의 입력 및 출력을 위한 각각의 큐(Queue)를 가지며, 스케줄러(300)로부터 할당 받은 일은 입력 큐를 통해 들어오게 된다. 각 연산 장치는 입력 큐에 있는 일을 순차적으로 처리하게 되며, 처리된 결과 및 처리과정 중 생성된 새로운 일들은 출력 큐에 저장한다. 도1에는 복수의 연산 장치(200)가 R개의 연산 장치를 구비하는 것으로 도시되며, 이들 복수의 연산 장치(200)는 복합구조 병렬 시스템에 포함된 연산 장치일 수 있다. The computing device 200 is a device that actually handles work. The computing device has a respective queue for input and output of work, and the work allocated from the scheduler 300 comes in through the input queue. Each processing unit sequentially processes the work in the input queue, and stores the processed result and new jobs generated during the processing in the output queue. In FIG. 1, a plurality of arithmetic units 200 are shown as having R arithmetic units, and these arithmetic units 200 may be arithmetic units included in a complex structure parallel system.

스케줄러(300)는 현재 분배가 가능한 일들은 연산 장치(200)에게 분배하는 일을 담당한다. 분배 가능한 일은, 초기 일 발생기(100)로부터 발생된 초기 일들과 연산 장치(200)의 출력 큐에 저장된 일들을 포함한다. The scheduler 300 is responsible for distributing currently distributable tasks to the computing device 200. The distributable job includes the initial jobs generated from the initial job generator 100 and the jobs stored in the output queue of the computing device 200.

데이터 통신 인터페이스(400)는 연산장치(200)과 스케줄러(300) 사이의 데이터 통신을 담당한다. 스케줄러(300)에 의해 결정된 일 분배 상태에 따라 일들은 데이터 통신 인터페이스를 통해 스케줄러(300)로부터 또는 연산장치들(200)의 출력 큐로부터 연산장치들의 입력 큐로 이동하게 된다. 또한, 연산장치(200)로부터 처리된 일의 결과도 데이터 통신 인터페이스(400)를 통해 스케줄러(300)에게 전달되어 모아진다.The data communication interface 400 is responsible for data communication between the computing device 200 and the scheduler 300. Depending on the dispense state determined by the scheduler 300, the jobs are moved from the scheduler 300 via the data communication interface or from the output queue of the computing devices 200 to the input queues of the computing devices. The result of the processing performed by the computing device 200 is also transmitted to the scheduler 300 through the data communication interface 400 and collected.

본 발명의 실시예에 따른 스케줄러(300)의 작동 순서가 도2에 도시된다. 도2에 도시된 바와 같이, 스케줄러(300)는 분배 할 일을 먼저 확인한다(310S). 그 다음 스케줄러(300)는 일-연산장치 처리능력 관계 모델을 이용해 LP(Linear Programming) 기반 스케줄링(320S)을 수행한다. 이러한 스케줄링 결과에 따라 연산장치(200)에 일을 분배하게 된다(330S). The operation sequence of the scheduler 300 according to the embodiment of the present invention is shown in FIG. As shown in FIG. 2, the scheduler 300 first confirms the job to be distributed (310S). The scheduler 300 then performs LP (Linear Programming) based scheduling 320S using the one-arithmetic and apparatus processing capability relationship model. And distributes the work to the computing device 200 according to the scheduling result (330S).

이때, 스케줄러(300)의 스케줄링 단계(320S)는 LP 기반 스케줄링을 이용하여 상기 복수의 연산 장치(200) 중 가장 늦게 일을 끝마치는 연산 장치의 일 종료 시간이 최소값을 갖도록 일을 분배할 수 있다. 또한, 스케줄러(300)는 일의 분배 결과에서 특정 종류의 일을 가장 적게 할당받은 연산 장치가 상기 특정 종류의 일을 할당받지 못하도록 일을 재분배하는 과정을 반복적으로 수행하는 반복적 LP 해결 방법을 이용할 수 있다. 또한, 스케줄러(300)는 계층적 스케줄링 방법을 이용하여 시스템의 효율을 높일 수 있다. At this time, the scheduling step 320S of the scheduler 300 may distribute the job so that one end time of the computing device that finishes the latest work among the plurality of computing devices 200 using the LP-based scheduling has a minimum value . In addition, the scheduler 300 may use an iterative LP solution that iteratively performs a process of redistributing work so that a computing device having the least number of jobs of a certain type of work is not assigned the job of the particular type have. Also, the scheduler 300 can increase the efficiency of the system by using a hierarchical scheduling method.

이하에서는 본원 발명의 실시예에 따른 스케줄러(200)의 스케줄링 방법에 대해서 보다 구체적으로 설명한다. Hereinafter, a scheduling method of the scheduler 200 according to an embodiment of the present invention will be described in more detail.

일-연산장치 처리능력 관계 모델 은 각각의 연산장치(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-logic unit 200. This relationship model is constituted by a combination of an initial operation time () of the arithmetic unit 200, a time () for processing each work according to the type of work, and a time () for fetching data necessary for processing each work do. The expected processing time when the computing device i processes one of the types j generated by the computing device k) is expressed as [Equation 1].

Figure pat00001
Figure pat00001

수식 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].

Figure pat00002
Figure pat00002

수식 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 computing devices 200 is represented by L, and the goal of the above formula is to minimize this L. And (2) ~ (4) express limitations in solving these equations and have the following meaning.

(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 scheduler 300 according to the embodiment of the present invention can distribute work to the computing device 200 according to the LP-based optimization scheduling method.

Figure pat00003
Figure pat00003

수식 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 arithmetic operation apparatuses 200 can concentrate on the work that can be handled by the arithmetic processing apparatus 200 itself, thereby increasing the efficiency of the overall system.

일반적인 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 arithmetic units 200 can be classified into a plurality of groups having different characteristics. At this time, a simple distribution method may be used between the computing devices in the same group so that the work can be distributed, and the LP-based optimization scheduling method according to the embodiment of the present invention can be used to distribute work among the respective groups. Accordingly, the scheduler 200 can distribute the work so that the one end time of the group that finishes the latest work among the plurality of groups has a minimum value.

네 개의 코어를 가지는 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.
제1항에 있어서,
요청받은 근접 질의 연산으로부터 최초의 일 집단을 생성하는 초기 일 발생기를 더 포함하며,
상기 최초의 일 집단은 상기 스케줄러에 전달되는 것을 특징으로 하는 근접질의 연산 가속화 시스템.
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.
제1항에 있어서,
상기 복수의 연산 장치는 복합구조 병렬 시스템에 포함된 연산 장치인 것을 특징으로 하는 근접질의 연산 가속화 시스템.
The method according to claim 1,
Wherein the plurality of arithmetic processing units are arithmetic processing units included in the complex structure parallel system.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 스케줄러는 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.
제4항에 있어서,
상기 스케줄러는 상기 일의 분배 결과에서 특정 종류의 일을 가장 적게 할당받은 연산 장치가 상기 특정 종류의 일을 할당받지 못하도록 일을 재분배하는 것을 특징으로 하는 근접질의 연산 가속화 시스템.
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.
제1항 내지 제3항 중 어느 한 항에 있어서,
상기 복수의 연산 장치는 서로 다른 특성을 갖는 복수의 그룹으로 분류되고,
상기 스케줄러는 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.
KR1020130005992A 2013-01-18 2013-01-18 Proximity Query Process Accelerating System KR20140093508A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11231961B2 (en) 2019-05-22 2022-01-25 Fujitsu Limited Scheduling operations

Family Cites Families (3)

* Cited by examiner, † Cited by third party
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

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