KR102192560B1 - Matrix Sparsificating Method and System in Distributed Computing System - Google Patents

Matrix Sparsificating Method and System in Distributed Computing System Download PDF

Info

Publication number
KR102192560B1
KR102192560B1 KR1020180156140A KR20180156140A KR102192560B1 KR 102192560 B1 KR102192560 B1 KR 102192560B1 KR 1020180156140 A KR1020180156140 A KR 1020180156140A KR 20180156140 A KR20180156140 A KR 20180156140A KR 102192560 B1 KR102192560 B1 KR 102192560B1
Authority
KR
South Korea
Prior art keywords
matrix
sparse
distributed computing
row
increased
Prior art date
Application number
KR1020180156140A
Other languages
Korean (ko)
Other versions
KR20190067721A (en
Inventor
서창호
이강욱
서기원
Original Assignee
한국과학기술원
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 한국과학기술원 filed Critical 한국과학기술원
Publication of KR20190067721A publication Critical patent/KR20190067721A/en
Application granted granted Critical
Publication of KR102192560B1 publication Critical patent/KR102192560B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computational Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Complex Calculations (AREA)

Abstract

본 발명은 분산 컴퓨팅 행렬 희소화 방법 및 그 시스템에 관한 것으로서, 분산 컴퓨팅 시스템에서 희소화된 행렬이 종래의 희소화보다 0 성분을 더 많이 포함하는 것을 보장함으로써, 종래 분산 컴퓨팅 행렬 희소화 방법에 의한 분산 컴퓨팅 시스템 보다 더욱 빠르게 연산 결과를 산출해낼 수 있는 효과가 있다.The present invention relates to a method and system for sparifying a distributed computing matrix, by ensuring that a sparse matrix in a distributed computing system contains more zero components than a conventional sparse. There is an effect that it can produce calculation results faster than a distributed computing system.

Description

분산 컴퓨팅 행렬 희소화 방법 및 시스템{Matrix Sparsificating Method and System in Distributed Computing System}Matrix Sparsificating Method and System in Distributed Computing System

본 발명은 분산 컴퓨팅 시스템에서 행렬을 희소화하는 방법 및 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 시스템에 관한 것이다.The present invention relates to a method of sparifying a matrix in a distributed computing system and a distributed computing system using a method of sparifying a matrix of distributed computing.

빅 데이터 시대가 도래함에 따라, 병렬 컴퓨팅 방법과 분산 컴퓨팅 방법은 머신 러닝, 빅 데이터 분석 등을 포함한 다양한 응용 분야에서 주요한 역할을 하고 있다. 종래의 분산 컴퓨팅 방법들은 처리하고자 하는 연산을 분산시켜 여러 컴퓨터에서 연산되도록 명령하고, 이후에 모든 컴퓨터에서 처리된 연산을 병합하여 거대한 계산 문제를 해결하는 방법이다.With the advent of the big data era, parallel computing methods and distributed computing methods are playing a major role in various application fields including machine learning and big data analysis. Conventional distributed computing methods are a method of distributing an operation to be processed and instructing it to be operated on several computers, and then merging operations processed on all computers to solve a huge computational problem.

하지만 이러한 방법은 분산 시스템 상의 컴퓨터들 중 일부의 속도가 느려질 때 전체 연산의 속도가 심각하게 느려진다는 문제점이 있다. 빅 데이터 시대와 함께 분산 시스템의 크기가 거대해지면서 상기 문제점이 빈번하게 일어남에 따라 상기의 문제점이 분산 시스템에서 더욱 치명적이게 되었으며, 이를 해결하기 위해 다양한 방법들이 제시되고 있다.However, this method has a problem that the speed of the entire operation is seriously slowed down when some of the computers on the distributed system are slowed down. As the size of the distributed system increases with the era of big data, the problem has become more fatal in the distributed system as the problem occurs frequently, and various methods have been proposed to solve this problem.

특히 최근 연구들에서는 부호화 이론에서 얻은 아이디어들을 바탕으로 하여 위의 문제점을 극복하는 방법들이 제시되고 있다. 이러한 방법들은 분산 시스템에 효율적으로 계산을 분배함으로써 일부 컴퓨터에서 연산 출력 값을 얻지 못하더라도 나머지 컴퓨터에서 얻은 결과만으로도 전체 연산 결과값을 알 수 있도록 하는 방법이다.In particular, recent studies have suggested ways to overcome the above problems based on ideas obtained from coding theory. These methods are a method of efficiently distributing calculations to distributed systems, so that even if some computers do not obtain calculation output values, the entire calculation result value can be known only from the results obtained from other computers.

그리고, 또 다른 방법 중 하나는 행렬 희소화 방법이다. 행렬 희소화란, 분산 컴퓨터에서 연산되는 행렬을 변형시켜 0이 포함되도록 하면 컴퓨터의 연산 속도가 빨라지는데, 분산 컴퓨터에서 연산되는 행렬에 0이 최대한 많이 포함되도록 행렬을 변환시키는 방법을 의미한다. And, one of the other methods is the matrix sparse method. Matrix sparification refers to a method of transforming a matrix so that 0 is included in a matrix computed in a distributed computer so that the computer's computation speed is accelerated.

그러나, 종래 개시된 분산 컴퓨팅 행렬 희소화 방법은 0의 개수가 제한적이어서 컴퓨팅 속도가 느리다는 문제점이 있다.However, the conventionally disclosed distributed computing matrix sparification method has a problem in that the computing speed is slow because the number of zeros is limited.

본 발명은 전술한 문제 및 다른 문제를 해결하는 것을 목적으로 한다. It is an object of the present invention to solve the above and other problems.

또 다른 목적은 분산 컴퓨팅 시스템에서 행렬의 연산을 더욱 빠르게 수행할 수 있는 행렬 희소화 방법을 개시하는 것을 그 목적으로 한다.Another object of the present invention is to disclose a matrix sparification method capable of performing a matrix operation faster in a distributed computing system.

상기 또는 다른 목적을 달성하기 위해 본 발명의 일 측면에 따르면, p, k, n 및 m이 자연수라고 할 때, p개의 컴퓨터로 구성된 분산 컴퓨팅 시스템에서 k개의 컴퓨팅 결과값을 이용하는 분산 컴퓨팅 행렬 희소화 방법에 있어서, 희소화 대상 행렬(A; n by m)에 희소화 대상 행렬과 동일한 행을 가지는 추가 행렬(

Figure 112018122421555-pat00001
; n by (k-m))이 추가되어 증가된 희소화 대상 행렬(
Figure 112018122421555-pat00002
; n by k)이 생성되는 단계; 및 상기 증가된 희소화 대상 행렬에 계수 행렬(B; k by p)이 내적 연산되어 희소화 행렬(F; n by p)이 생성되는 단계를 포함하는 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법을 제공한다.In order to achieve the above or other objects, according to an aspect of the present invention, when p, k, n, and m are natural numbers, the distributed computing matrix sparse using k computing result values in a distributed computing system composed of p computers In the method, in the sparse target matrix (A; n by m), an additional matrix having the same row as the sparse target matrix (
Figure 112018122421555-pat00001
; The sparse target matrix increased by adding n by (km)) (
Figure 112018122421555-pat00002
; n by k) is generated; And generating a sparse matrix (F; n by p) by performing a dot product calculation of a coefficient matrix (B; k by p) on the increased sparse target matrix. to provide.

그리고, t 및 p'이 자연수라고 할 때, 상기 증가된 희소화 대상 행렬 및 상기 계수 행렬의 성분이 결정됨에 있어서, 상기 증가된 희소화 대상 행렬의 (제1행 내지 제t*p'행, 제m+1열 내지 제k열)의 성분이 임의로 정해지는 단계; 상기 증가된 희소화 대상 행렬의 (제1행 내지 제t*p'행, 제1열 내지 제k열)의 성분에 의해 계수 행렬의 성분이 결정되는 단계; 및 상기 결정된 계수 행렬에 의해 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분이 결정되는 단계;를 포함할 수 있다.And, when t and p'are natural numbers, when the increased sparse target matrix and components of the coefficient matrix are determined, (first to t*p'th rows, A step in which components of m+1th to kth columns) are arbitrarily determined; Determining a component of a coefficient matrix based on a component of the increased sparse target matrix (first to t*p'th, first to kth); And determining a component of (t*p'+1th to nth row, m+1th to kth column) of the increased sparse target matrix by the determined coefficient matrix. have.

또, c는 t이하의 자연수이고, i는 p'이하의 자연수이며, d는 k-t이하의 자연수이되, 단, i가 p'일 때 d는 p-p'*(k-t)이하의 자연수라 할 때, 상기 계수 행렬은, 상기 증가된 희소화 대상 행렬과 상기 계수 행렬의 내적 연산에 의하여 산출되는 희소화 행렬의 제(i-1)*t+c행, 제(i-1)*(k-t)+d열의 성분이 0 이 되도록 하는 성분을 갖는 행렬일 수 있다.In addition, c is a natural number less than t, i is a natural number less than p', and d is a natural number less than kt, provided that when i is p', d is a natural number less than p-p'*(kt). In this case, the coefficient matrix is (i-1)*t+cth row, (i-1)*(kt) of the sparse matrix calculated by a dot product operation of the increased sparse target matrix and the coefficient matrix. It may be a matrix having a component that causes the component of )+d column to be 0.

또, 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분이 결정되는 단계에서, 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제1열 내지 제k열)의 성분과 상기 계수 행렬의 내적 연산에 의하여 결정되는 희소화 행렬의 (제t*p'+1행 내지 제n행, 제1열 내지 제p열)의 성분이 일정한 패턴을 가지는 0성분을 포함하도록 상기 계수 행렬의 성분이 결정될 수 있다.In addition, in the step of determining a component of (t*p'+1th to nth, m+1th to kth) of the increased sparse target matrix, the increased sparse target matrix (T*p'+1th to nth rows, 1st to kth columns) of the sparse matrix determined by the dot product operation of the coefficient matrix and (t*p'+1th to nth rows) The component of the coefficient matrix may be determined so that the components of row n and columns 1 to p) include 0 components having a constant pattern.

또, 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분은 상기 희소화 행렬의 (제t*p'+1행 내지 제n행, 제1열 내지 제p열)의 성분이 각 행 마다 k-m 개의 0 성분을 포함하도록 상기 계수 행렬의 성분이 결정될 수 있다.In addition, a component of (t*p'+1th to nth row, m+1th to kth column) of the increased sparse target matrix is (t*p'+1th) of the sparse matrix Components of the coefficient matrix may be determined so that the components of the row to nth rows and the first to pth columns) include km 0 components for each row.

또한, j는 n-t*p'이하의 자연수이고, e는 k-m이하의 자연수라 할 때, 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분은, 상기 희소화 행렬의 제t*p'+j행, 제j+e-1(mod p)열 성분이 0이 되도록 하는 성분일 수 있다.In addition, when j is a natural number less than nt*p' and e is a natural number less than km, the (t*p'+1 to nth row, m+1th column) of the increased sparse target matrix To kth column) may be a component such that the components of the t*p'+jth row and the j+e-1 (mod p)th column of the sparse matrix become 0.

그리고 또, 본 발명의 또 다른 일 측면에 따르면, 상기 생성된 희소화 행렬이 희소화 전치 행렬로 변환되는 단계; 변환된 희소화 전치 행렬의 각 행이 상기 p개의 컴퓨터로 분배되는 단계; 상기 p개의 컴퓨터 각각에서, 분배된 희소화 전치 행렬의 한 행과 입력 행렬(x; n by 1)의 내적 연산이 수행되는 단계; 상기 p개의 컴퓨터 중에서 k개 컴퓨터로부터 내적 연산 결과값이 수신되는 단계; 및 수신된 k개의 내적 연산 결과값이 복호화되어 상기 희소화 대상 행렬의 전치 행렬과 입력 행렬의 내적 연산 값이 산출되는 단계;를 포함하는 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 방법을 제공한다.In addition, according to another aspect of the present invention, the step of transforming the generated sparse matrix into a sparse transpose matrix; Distributing each row of the transformed sparse transposed matrix to the p computers; Performing a dot product operation of one row of the distributed sparse transposed matrix and an input matrix (x; n by 1) in each of the p computers; Receiving a result of a dot product operation from k computers among the p computers; And decoding the received k dot product calculation results to calculate a transpose matrix of the sparse target matrix and a dot product calculation value of the input matrix; a distributed computing method using a distributed computing matrix sparification method, comprising: Provides.

본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법에 따르면, 분산 컴퓨팅 시스템에서 희소화된 행렬이 종래의 희소화보다 0 성분을 더 많이 포함하는 것을 보장함으로써, 종래 분산 컴퓨팅 행렬 희소화 방법에 의한 분산 컴퓨팅 시스템 보다 더욱 빠르게 연산 결과를 산출해낼 수 있는 효과가 있다.According to the distributed computing matrix sparification method according to an embodiment of the present invention, by ensuring that a sparse matrix in a distributed computing system contains more zero components than a conventional sparseization method, There is an effect that it can calculate the calculation result faster than the distributed computing system.

도 1은 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 방법을 도시한 순서도이다.
도 2는 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 방법을 도시한 도면이다.
도 3은 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 도시한 순서도이다.
도4는 본 발명의 일 실시 예에 분산 컴퓨팅 행렬 희소화 방법을 도시한 도면이다.
도 5는 본 발명의 또 다른 일 실시 예에 분산 컴퓨팅 행렬 희소화 방법을 도시한 순서도이다.
도 6 은 본 발명의 또 다른 일 실시 예에 분산 컴퓨팅 행렬 희소화 방법을 도시한 도면이다.
도 7은 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 시스템을 도시한 도면이다.
1 is a flowchart illustrating a distributed computing method using a distributed computing matrix sparification method according to an embodiment of the present invention.
2 is a diagram illustrating a distributed computing method using a distributed computing matrix sparse method according to an embodiment of the present invention.
3 is a flowchart illustrating a method of sparifying a distributed computing matrix according to an embodiment of the present invention.
4 is a diagram illustrating a method of sparifying a distributed computing matrix according to an embodiment of the present invention.
5 is a flowchart illustrating a method of sparifying a distributed computing matrix according to another embodiment of the present invention.
6 is a diagram illustrating a method of sparifying a distributed computing matrix according to another embodiment of the present invention.
7 is a diagram illustrating a distributed computing system using a distributed computing matrix sparification method according to an embodiment of the present invention.

이하, 첨부된 도면을 참조하여 본 명세서에 개시된 실시 예를 상세히 설명하되, 도면 부호에 관계없이 동일하거나 유사한 구성요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 본 명세서에 개시된 실시 예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시 예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. Hereinafter, exemplary embodiments disclosed in the present specification will be described in detail with reference to the accompanying drawings, but identical or similar elements are denoted by the same reference numerals regardless of reference numerals, and redundant descriptions thereof will be omitted. In describing the embodiments disclosed in the present specification, when it is determined that a detailed description of related known technologies may obscure the subject matter of the embodiments disclosed herein, the detailed description thereof will be omitted. In addition, the accompanying drawings are for easy understanding of the embodiments disclosed in the present specification, and the technical idea disclosed in the present specification is not limited by the accompanying drawings, and all modifications included in the spirit and scope of the present invention It should be understood to include equivalents or substitutes.

단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다.Singular expressions include plural expressions unless the context clearly indicates otherwise.

본 출원에서, "포함한다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.In the present application, terms such as "comprises" or "have" are intended to designate the presence of features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, but one or more other features. It is to be understood that the presence or addition of elements or numbers, steps, actions, components, parts, or combinations thereof, does not preclude in advance.

본 발명의 기본 전제로서, 분산 시스템 상의 연산을 수행하는 컴퓨터의 개수가 p개이고, p개의 컴퓨터 중에서 k개의 컴퓨터의 연산 속도는 빠르며, 그 외의 컴퓨터인 p-k개의 컴퓨터의 연산 속도는 느리다고 가정한다. 다시 말해, 본 발명의 기본 전제에 따르면, 전체 분산 시스템에서 얻을 수 있는 p개의 컴퓨터에 의해 연산된 결과값 중 오직 k개의 컴퓨터에서 의해 연산된 결과값들만을 병합하여 원하는 최종 연산 결과를 도출하여야 한다. As a basic premise of the present invention, it is assumed that the number of computers performing calculations on a distributed system is p, the calculation speed of k computers among p computers is high, and the calculation speed of p-k computers, which are other computers, is slow. In other words, according to the basic premise of the present invention, it is necessary to derive the desired final calculation result by merging only the result values calculated by k computers among the result values calculated by p computers that can be obtained in the entire distributed system. .

본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 방법 및 시스템은 희소화 대상 행렬(A; n by m)이 주어졌을 때, 분산 컴퓨팅 시스템에서 입력 행렬(x; n by 1)이 입력되면, 희소화 대상 전치 행렬(transpose matrix)(AT; m by n) 과 입력 행렬(x; n by 1)의 내적 연산 결과값(ATx; m by 1)을 산출하는 것을 목적으로 한다.The distributed computing method and system using the distributed computing matrix sparification method according to an embodiment of the present invention is an input matrix (x; n by 1) in the distributed computing system when a sparse target matrix (A; n by m) is given. ) Is input, calculating the result of the dot product operation (A T x; m by 1) of the transpose matrix (A T ; m by n) and the input matrix (x; n by 1). The purpose.

도 1은 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 방법을 도시한 순서도이다.1 is a flowchart illustrating a distributed computing method using a distributed computing matrix sparification method according to an embodiment of the present invention.

도 2는 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 방법을 도시한 도면이다.2 is a diagram illustrating a distributed computing method using a distributed computing matrix sparse method according to an embodiment of the present invention.

도 1 내지 도 2를 참조하여, 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 방법을 설명하면, 희소화 대상 행렬을 이용하여 희소화 행렬이 생성될 수 있다(S110). 보다 자세하게, 희소화 대상 행렬에 희소화 대상 행렬과 동일한 행을 가지는 추가 행렬(

Figure 112018122421555-pat00003
; n by (k-m))이 희소화 대상 행렬의 우측에 연장되어 붙여지는 방법으로 추가되어, 증가된 희소화 대상 행렬(
Figure 112018122421555-pat00004
; n by k)이 생성된 후, 증가된 희소화 대상 행렬에 계수 행렬(B; k by p)이 내적 연산되어 희소화 행렬(F; n by p)이 생성 될 수 있다. 이에 대한 더욱 자세한 설명은 이하 도 3 내지 도6을 통하여 설명한다.Referring to FIGS. 1 to 2, when a distributed computing method using a distributed computing matrix sparification method according to an embodiment of the present invention is described, a sparse matrix may be generated using a sparse target matrix (S110). . In more detail, an additional matrix (
Figure 112018122421555-pat00003
; n by (km)) is added in a way that extends and attaches to the right side of the sparse target matrix, thereby increasing the sparse target matrix (
Figure 112018122421555-pat00004
; After n by k) is generated, a coefficient matrix B (k by p) is dot product calculated on the increased sparse target matrix to generate a sparse matrix F (n by p). A more detailed description of this will be described with reference to FIGS. 3 to 6 below.

그리고, 상기 생성된 희소화 행렬이 희소화 전치 행렬로 변환될 수 있다(S120). 보다 자세하게, 희소화 행렬의 행과 열을 서로 바뀌도록 재구성하여 전치 행렬(Transpose Matrix)을 생성할 수 있다. 예를 들어, 희소화 행렬의 (l행 h열)의 성분 값은 희소화 전치 행렬에서 (h행 l열)의 성분 값이 되도록 변환될 수 있다.In addition, the generated sparse matrix may be transformed into a sparse transposed matrix (S120). In more detail, a transpose matrix may be generated by reconfiguring the rows and columns of the sparse matrix so that they are interchanged. For example, the component value of (row 1 row) of the sparse matrix may be transformed to be a component value of (row 1 column h) in the sparse transpose matrix.

변환된 희소화 전치 행렬의 각 행이 상기 p개의 컴퓨터로 분배될 수 있다(S130). 보다 자세하게, 변환된 희소화 전치 행렬의 p개의 행이 각각 하나의 행으로 분리되어 p개의 컴퓨터에 각각 분배될 수 있다. 따라서, p개의 컴퓨터는 모두 다른 행에 대한 연산을 수행할 수 있게 된다. 도 2에서 p개의 컴퓨터에 분배되는 희소화 전치 행렬을 FT 1 내지 FT p 로 도시하고 있다.Each row of the transformed sparse transposed matrix may be distributed to the p computers (S130). In more detail, the p rows of the transformed sparse transpose matrix may be separated into one row and distributed to p computers. Thus, all of the p computers can perform operations on different rows. In FIG. 2, the sparse transposed matrices distributed to p computers are F T 1 to F T p It is shown as.

상기 p개의 컴퓨터 각각에서, 분배된 희소화 전치 행렬의 한 행과 입력 행렬(x; n by 1)의 내적 연산이 수행될 수 있다(S140). 보다 자세하게, 희소화 전치 행렬을 분배 받은 각 컴퓨터는 분배된 희소화 전치 행렬과 입력된 입력 행렬의 내적 연산을 수행할 수 있다. 이 때, 모든 컴퓨터는 각각 다른 행의 연산을 수행하게 되므로 컴퓨터의 연산 능력 및 분배된 희소화 전치 행렬의 행의 성분 값에 따라 연산 속도가 달라질 수 있다. In each of the p computers, a dot product operation of one row of the distributed sparse transpose matrix and the input matrix (x; n by 1) may be performed (S140). In more detail, each computer to which the sparse transpose matrix is distributed may perform a dot product operation of the distributed sparse transpose matrix and the input input matrix. In this case, since all computers perform operations on different rows, the operation speed may vary depending on the computer's computing power and the component values of the rows of the distributed sparse transposed matrix.

상기 p개의 컴퓨터 중에서 k개 컴퓨터로부터 내적 연산 결과값이 수신될 수 있다(S150). 보다 자세하게, 상기에서 설명한 바와 같이, 분배된 희소화 전치 행렬의 한 행과 입력 행렬의 내적 연산을 수행하는 p개의 컴퓨터의 연산 속도는 다를 수 있다. 이 때, p개의 컴퓨터 중에서, 상대적으로 빠른 연산을 수행한 k개의 컴퓨터로부터 연산 결과 값이 수신될 수 있다.Among the p computers, a result of the dot product operation may be received from k computers (S150). In more detail, as described above, the computation speed of the p computers performing the dot product operation of one row of the distributed sparse transpose matrix and the input matrix may be different. In this case, among the p computers, calculation result values may be received from k computers that have performed relatively fast calculations.

수신된 k개의 내적 연산 결과값이 복호화되어 상기 희소화 대상 행렬의 전치 행렬과 입력 행렬의 내적 연산 값이 산출될 수 있다(S160). 보다 자세하게, 복호화 과정은 k개의 희소화 전치 행렬, 입력 행렬, 계수 행렬, 증가된 희소화 대상 행렬 및 희소화 대상 행렬의 성분 값을 알고 있고, 희소화 행렬이 생성된 행렬 연산을 알고 있으므로, 행렬 연산을 통하여 희소화 대상 전치 행렬과 입력 행렬의 내적 연산 값이 산출될 수 있다.The received k dot product calculation results may be decoded to calculate a transpose matrix of the sparse target matrix and a dot product calculation value of the input matrix (S160). In more detail, the decoding process knows the component values of k sparse transpose matrices, input matrices, coefficient matrices, increased sparse target matrix and sparse target matrix, and knows the matrix operation in which sparse matrices are generated. Through an operation, a transpose matrix to be sparified and a dot product operation value of the input matrix may be calculated.

도 3 내지 도 4에서는 상기 도 1의 희소화 행렬 생성단계에 해당하는 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 자세하게 설명한다. 3 to 4 will be described in detail a method of sparifying a distributed computing matrix according to an embodiment of the present invention corresponding to the step of generating the sparse matrix of FIG. 1.

도 3은 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 도시한 순서도이다.3 is a flowchart illustrating a method of sparifying a distributed computing matrix according to an embodiment of the present invention.

도4는 본 발명의 일 실시 예에 분산 컴퓨팅 행렬 희소화 방법을 도시한 도면이다.4 is a diagram illustrating a method of sparifying a distributed computing matrix according to an embodiment of the present invention.

도 3 내지 도 4를 참조하면, p, k, n 및 m이 자연수라고 할 때, p개의 컴퓨터로 구성된 분산 컴퓨팅 시스템에서 k개의 컴퓨팅 결과값을 이용하는 분산 컴퓨팅 행렬 희소화 방법에 있어서, 희소화 대상 행렬(A; n by m)에 희소화 대상 행렬과 동일한 행을 가지는 추가 행렬(

Figure 112018122421555-pat00005
; n by (k-m))이 추가되어 증가된 희소화 대상 행렬(
Figure 112018122421555-pat00006
; n by k)이 생성될 수 있다(S310). 보다 자세하게, 도 4 (a) 내지 도 4(b)에 도시된 바 와 같이, 희소화 대상 행렬의 우측에 추가 행렬을 결합하는 방법으로 증가된 희소화 대상 행렬이 생성될 수 있다. 3 to 4, when p, k, n, and m are natural numbers, in a distributed computing matrix sparification method using k computing result values in a distributed computing system composed of p computers, a sparse target An additional matrix (A; n by m) with the same row as the target matrix (
Figure 112018122421555-pat00005
; The sparse target matrix increased by adding n by (km)) (
Figure 112018122421555-pat00006
; n by k) may be generated (S310). In more detail, as shown in FIGS. 4A to 4B, an increased sparse target matrix may be generated by combining an additional matrix on the right side of the sparse target matrix.

상기 증가된 희소화 행렬과 내적 연산되는 계수 행렬의 성분이 결정될 수 있다(S320). 보다 자세하게, 도 4 (c)에 도시된 바 와 같이, 상기 계수 행렬의 성분은 기 설정된 고정된 성분값을 가질 수 있다. 계수 행렬의 성분값이 결정되는 한 예로, 부호 이론에서 널리 알려진 Reed-Solomon code 와 같은 부호의 부호화 행렬이 사용될 수 있다.Components of the increased sparse matrix and the coefficient matrix to be computed in the dot product may be determined (S320). In more detail, as shown in FIG. 4C, the component of the coefficient matrix may have a preset fixed component value. As an example in which the component values of the coefficient matrix are determined, a coded matrix such as Reed-Solomon code widely known in code theory may be used.

상기 결정된 계수 행렬 성분에 의하여 상기 증가된 희소화 행렬의 성분이 결정될 수 있다(S330). 보다 자세하게, 도 4 (c) 내지 (d)에 도시된 바 와 같이, 상기 증가된 희소화 대상 행렬의 (제1행 내지 제n행, 제m+1열 내지 제k열)의 성분은 상기 희소화 행렬의 (제1행 내지 제n행, 제1열 내지 제p열)의 성분이 각 행 마다 k-m 개의 0 성분을 포함하고, k-m개의 0성분이 동일한 열에만 배치되지 않도록 상기 계수 행렬의 성분이 결정될 수 있다. 그 일 예로, q는 n이하의 자연수이고, e은 k-m이하의 자연수라 할 때, 상기 증가된 희소화 대상 행렬의 (제1행 내지 제n행, 제m+1열 내지 제k열)의 성분은, 상기 희소화 행렬의 제q행, 제q+e-1(mod p)열 성분이 0이 되도록 하는 성분으로 계산되어 증가된 희소화 대상 행렬의 모든 성분 값이 결정될 수 있다. 이는 선형방정식을 통해 쉽게 계산될 수 있다. 여기서, q+e-1(mod p)는 q+e-1를 p로 나눈 나머지 값을 의미한다.A component of the increased sparse matrix may be determined by the determined coefficient matrix component (S330). In more detail, as shown in FIGS. 4 (c) to (d), the components of (first to nth rows, m+1th to kth columns) of the increased sparse target matrix The coefficient matrix of the coefficient matrix so that the components of (first to nth rows, first to pth columns) of the sparse matrix contain km 0 components in each row, and km 0 components are not arranged only in the same column. Ingredients can be determined. As an example, when q is a natural number less than n and e is a natural number less than km, the increased sparse target matrix (first to nth rows, m+1th to kth columns) The component is calculated as a component such that the components of the qth row and the q+e-1 (mod p) column of the sparse matrix become 0, so that all the component values of the increased sparse target matrix may be determined. This can be easily calculated through a linear equation. Here, q+e-1 (mod p) means the remaining value obtained by dividing q+e-1 by p.

증가된 희소화 대상 행렬을 구성하는 추가 행렬 성분을 구하는 구체적인 식은 아래 수학식 1과 같다.A specific equation for obtaining the additional matrix components constituting the increased sparse target matrix is shown in Equation 1 below.

(수학식 1)(Equation 1)

Figure 112018122421555-pat00007
Figure 112018122421555-pat00007

여기서,

Figure 112018122421555-pat00008
이고,
Figure 112018122421555-pat00009
Figure 112018122421555-pat00010
에 해당하는 (k-m)개의 열벡터들을 나열한 계수 행렬(B)의 부분 행열이며,
Figure 112018122421555-pat00011
는 추가 행렬의 (제q행, 제1열 내지 제k-m열)이고,
Figure 112018122421555-pat00012
는 추가 행렬의 (제q행, 제1열 내지 제m열)이며,
Figure 112018122421555-pat00013
는 추가 행렬의 부분 행렬의 제1행 내지 제m행이고,
Figure 112018122421555-pat00014
는 추가 행렬의 부분 행렬의 제m+1행 내지 제k행이다.here,
Figure 112018122421555-pat00008
ego,
Figure 112018122421555-pat00009
Is
Figure 112018122421555-pat00010
It is a partial matrix of the coefficient matrix (B) listing (km) column vectors corresponding to,
Figure 112018122421555-pat00011
Is (row q, column 1 to column km) of the additional matrix,
Figure 112018122421555-pat00012
Is the (qth row, 1st to mth column) of the additional matrix,
Figure 112018122421555-pat00013
Is the first to mth rows of the partial matrix of the additional matrix,
Figure 112018122421555-pat00014
Is the m+1th row to the kth row of the partial matrix of the additional matrix.

그리고, 희소화 행렬이 생성될 수 있다(S340). 보다 자세하게, 상기 결정된 증가된 희소화 대상 행렬과 계수 행렬의 내적 연산을 통하여 희소화 행렬이 생성될 수 있다. 이렇게 생성된 희소화 행렬은 각 행마다 k-m 개의 0성분을 가질 수 있고, 그 0성분은 모든 열에 고루 분포되도록 배치될 수 있다.In addition, a sparse matrix may be generated (S340). In more detail, a sparse matrix may be generated through a dot product operation of the determined increased sparse target matrix and coefficient matrix. The sparse matrix generated in this way may have k-m 0 components in each row, and the 0 components may be arranged to be evenly distributed in all columns.

도 5 내지 도 6에서는 상기 도 1의 희소화 행렬 생성단계에 해당하는 본 발명의 또 다른 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 자세하게 설명한다.5 to 6 will be described in detail a method for sparifying a distributed computing matrix according to another embodiment of the present invention corresponding to the step of generating the sparse matrix of FIG. 1.

도 5는 본 발명의 또 다른 일 실시 예에 분산 컴퓨팅 행렬 희소화 방법을 도시한 순서도이다.5 is a flowchart illustrating a method of sparifying a distributed computing matrix according to another embodiment of the present invention.

도 6 은 본 발명의 또 다른 일 실시 예에 분산 컴퓨팅 행렬 희소화 방법을 도시한 도면이다.6 is a diagram illustrating a method of sparifying a distributed computing matrix according to another embodiment of the present invention.

이하의 설명에서, p, k, n 및 m이 자연수라고 할 때, t는

Figure 112018122421555-pat00015
또는
Figure 112018122421555-pat00016
중에서 작은 값을 넘지 않는 최대 자연수이고, p'은 p/(k-t) 또는 n/t 중에서 작은 값을 넘지 않는 최대 자연수이다. In the following description, when p, k, n and m are natural numbers, t is
Figure 112018122421555-pat00015
or
Figure 112018122421555-pat00016
Among them, it is the maximum natural number that does not exceed the smaller value, and p'is the maximum natural number that does not exceed the smaller value among p/(kt) or n/t.

n이

Figure 112018122421555-pat00017
보다 큰 경우, 도 6 (h)에 도시된 바와 같이 희소화 행렬의 0 성분 생성 방식에 따른 범위가 나뉠 수 있도록, 주어진 희소화 대상 행렬을 각 분할된 행렬의 행의 개수가 t*p'개가 넘지 않도록 n/(t*p') 이하의 자연수의 개수로 행을 분할한 후, 아래의 분산 컴퓨팅 행렬 희소화를 실시 한다. 만약, n이
Figure 112018122421555-pat00018
이하인 경우, 희소화 대상 행렬을 분할하지 않고 아래의 분산 컴퓨팅 행렬 희소화를 실시 한다.n is
Figure 112018122421555-pat00017
In the larger case, the number of rows of each partitioned matrix is t*p' so that the range according to the zero component generation method of the sparse matrix is divided as shown in FIG. 6(h). After dividing the rows by the number of natural numbers not exceeding n/(t*p'), the following distributed computing matrix sparse is performed. If n is
Figure 112018122421555-pat00018
In the following cases, the following distributed computing matrix sparse is performed without dividing the sparse target matrix.

도 5 내지 도 6을 참조하면, p개의 컴퓨터로 구성된 분산 컴퓨팅 시스템에서 k개의 컴퓨팅 결과값을 이용하는 분산 컴퓨팅 행렬 희소화 방법에 있어서, 희소화 대상 행렬(A; n by m)에 희소화 대상 행렬과 동일한 행을 가지는 추가 행렬(

Figure 112018122421555-pat00019
; n by (k-m))이 추가되어 증가된 희소화 대상 행렬(
Figure 112018122421555-pat00020
; n by k)이 생성될 수 있다(S510). 보다 자세하게, 도 6 (a)에 도시된 바 와 같이, 희소화 대상 행렬의 우측에 추가 행렬을 결합하는 방법으로 증가된 희소화 대상 행렬이 생성될 수 있다. 5 to 6, in a distributed computing matrix sparification method using k computing result values in a distributed computing system composed of p computers, a sparse target matrix in a sparse target matrix (A; n by m) An additional matrix with rows equal to (
Figure 112018122421555-pat00019
; The sparse target matrix increased by adding n by (km)) (
Figure 112018122421555-pat00020
; n by k) may be generated (S510). In more detail, as illustrated in FIG. 6A, an increased sparse target matrix may be generated by combining an additional matrix on the right side of the sparse target matrix.

증가된 희소화 대상 행렬의 일부 성분이 임의로 정해질 수 있다(S520). 보다 자세하게, 도 6 (d)에 도시된 바와 같이, t 및 p'이 자연수라고 할 때, 추가 행렬의 (제1행 내지 제t*p'행, 제1열 내지 제k-m열)의 성분에 해당하는, 증가된 희소화 대상 행렬의 (제1행 내지 제t*p'행, 제m+1열 내지 제k열)의 성분이 임의의 값으로 정해질 수 있다. Some components of the increased sparse target matrix may be arbitrarily determined (S520). In more detail, as shown in Fig. 6(d), when t and p'are natural numbers, the components of (first to t*p' rows, first to kmth columns) of the additional matrix Components of (first to t*p'th rows, m+1th to kth columns) of the corresponding increased sparse target matrix may be set to arbitrary values.

상기 증가된 희소화 대상 행렬의 (제1행 내지 제t*p'행, 제1열 내지 제k열)의 성분에 의해 계수 행렬의 성분이 결정될 수 있다(S530). 보다 자세하게, c는 t이하의 자연수이고, i는 p'이하의 자연수이며, d는 k-t이하의 자연수이되, 단, i가 p'일 때 d는 p-p'*(k-t)이하의 자연수라 할 때, 상기 계수 행렬은, 상기 증가된 희소화 대상 행렬과 상기 계수 행렬의 내적 연산에 의하여 산출되는 희소화 행렬의 제(i-1)*t+c행, 제(i-1)*(k-t)+d열의 성분이 0 이 되도록 하는 성분을 갖는 행렬일 수 있다. A component of the coefficient matrix may be determined by components of the increased sparse target matrix (first row to t*p'th row, first column to kth column) (S530). In more detail, c is a natural number less than t, i is a natural number less than p', and d is a natural number less than kt, provided that when i is p', d is a natural number less than p-p'*(kt). In this case, the coefficient matrix is (i-1)*t+cth row, (i-1)*((i-1)*() of the sparse matrix calculated by a dot product operation of the increased sparse target matrix and the coefficient matrix. It may be a matrix having a component such that the component of column kt)+d becomes 0.

도 6을 참조하여 설명하면, 도 6 (f)에 도시된 바와 같이, 희소화 행렬의 (제1행 내지 제t 행, 제1열 내지 제k-t열)의 성분이 0이되도록, 도 6 (f)에 도시된 바와 같이, 계수 행렬의 (제1행 내지 제k행, 제1열 내지 제k-t열)의 성분 값이 계산될 수 있고, 도 6 (g)에 도시된 바와 같이, 희소화 행렬의 (제t+1행 내지 제2t 행, 제k-t+1열 내지 제2(k-t)열)의 성분이 0이되도록, 도 6 (d)에 도시된 바와 같이, 계수 행렬의 (제1행 내지 제k행, 제k-t+1열 내지 제2(k-t)열)의 성분 값이 계산될 수 있다. 도 6 (d) 및 (h)에 도시된 바와 같이, 상기와 같은 방법으로 희소화 행렬의 제t*p'행까지 각 행에 (k-t)개의 0성분이 포함될 수 있도록 계수 행렬의 성분 값들이 모두 결정될 수 있다.Referring to FIG. 6, as shown in FIG. 6(f), so that the components of (first to t-th rows, first to kt-th columns) of the sparse matrix are 0, FIG. 6 ( As shown in f), the component values of (first to kth rows, first to kt columns) of the coefficient matrix can be calculated, and as shown in FIG. 6(g), sparse 6(d), so that the component of the matrix (t+1th row to 2tth row, k-t+1th column to 2nd (kt) column) is 0, as shown in FIG. The component values of the first to kth rows and the k-t+1 to second (kt) columns) may be calculated. 6 (d) and (h), the component values of the coefficient matrix are included in each row up to the t*p'th row of the sparse matrix in the same manner as described above. All can be decided.

상기 결정된 계수 행렬에 의해 상기 증가된 희소화 대상 행렬의 나머지 성분이 결정될 수 있다(S540). 보다 자세하게, 상기 결정된 계수 행렬에 의해 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분이 결정될 수 있는데, 희소화 행렬의 각 행에 (k-m)개의 0성분이 포함될 수 있도록 상기 도 3 내지 도 4에서 설명한 방법과 동일한 방법으로 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분이 결정될 수 있다. 구체적인 일 예로, j는 n-t*p'이하의 자연수이고, e는 k-m이하의 자연수라 할 때, 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분은, 상기 희소화 행렬의 제t*p'+j행, 제j+e-1(mod p)열 성분이 0이 되도록 하는 성분으로 계산되어 결정될 수 있다. 여기서, j+e-1(mod p)는 j+e-1를 p로 나눈 나머지 값을 의미한다. 이에 대한 자세한 수학적 계산 방법은 상기 도 3 내지 도4의 설명과 중복되므로 생략한다.The remaining components of the increased sparse target matrix may be determined by the determined coefficient matrix (S540). In more detail, a component of (t*p'+1th to nth, m+1th to kth) of the increased sparse target matrix may be determined by the determined coefficient matrix. The (t*p'+1 to nth row of the sparse target matrix, which is increased by the same method as described in FIGS. 3 to 4 above, so that (km) 0 components can be included in each row of the matrix, The components of m+1 column to k-th column) may be determined. As a specific example, when j is a natural number less than nt*p', and e is a natural number less than km, the (t*p'+row 1 to nth, m+th of the increased sparse target matrix The components of column 1 to column k) may be calculated and determined as components such that the components of the t*p'+jth and j+e-1 (mod p)th columns of the sparse matrix are 0. Here, j+e-1 (mod p) means the remainder of j+e-1 divided by p. A detailed mathematical calculation method for this will be omitted because it overlaps with the description of FIGS. 3 to 4.

상기 증가된 희소화 대상 행렬에 계수 행렬이 내적 연산되어 희소화 행렬이 생성될 수 있다(S550). 보다 자세하게, 상기 결정된 증가된 희소화 대상 행렬과 상기 결정된 계수 행렬의 내적 연산 결과에 의하여 희소화 행렬이 생성될 수 있다. A coefficient matrix may be dot product computed on the increased sparse target matrix to generate a sparse matrix (S550). In more detail, a sparse matrix may be generated based on a result of a dot product operation of the determined increased sparse target matrix and the determined coefficient matrix.

상기와 같이, 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법으로 생성된 희소화 행렬은 종래의 행렬 희소화 방법으로 생성된 희소화 행렬보다 더 많은 0 성분이 보장되는 효과가 있다. 따라서, 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법에 의하면 전체적인 분산 컴퓨팅 연산 속도가 향상될 수 있는 효과가 있다.As described above, the sparse matrix generated by the distributed computing matrix sparification method according to an embodiment of the present invention has an effect that more zero components are guaranteed than the sparse matrix generated by the conventional matrix sparification method. Accordingly, according to the method for sparging a distributed computing matrix according to an embodiment of the present invention, there is an effect that the overall distributed computing operation speed may be improved.

도 7은 본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 시스템을 도시한 도면이다.7 is a diagram illustrating a distributed computing system using a distributed computing matrix sparification method according to an embodiment of the present invention.

본 발명의 일 실시 예에 의한 분산 컴퓨팅 행렬 희소화 방법은, 상기에서 설명한 바와 같은 분산 컴퓨팅 행렬 희소화 방법이 수행될 수 있는 분산 컴퓨팅 시스템(700)에서 수행될 수 있다. 보다 자세하게, 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 시스템(700)은, 입력 행렬 수신부(710), 희소화 행렬 생성부(720), 컴퓨팅부(730), 복호화부(740) 및 제어부(750)를 포함할 수 있다.The distributed computing matrix sparse method according to an embodiment of the present invention may be performed in a distributed computing system 700 capable of performing the distributed computing matrix sparification method as described above. In more detail, the distributed computing system 700 using the distributed computing matrix sparse method includes an input matrix receiving unit 710, a sparse matrix generating unit 720, a computing unit 730, a decoding unit 740, and a control unit 750. ) Can be included.

입력 행렬 수신부(710)는 외부로부터 입력 행렬을 수신할 수 있다.The input matrix receiver 710 may receive an input matrix from the outside.

희소화 행렬 생성부(720)는 희소화 대상 행렬로부터 증가된 희소화 대상 행렬 및 계수 행렬을 생성하여 희소화 행렬을 생성할 수 있고, 생성된 희소화 행렬을 전치 행렬로 변환할 수 있다.The sparse matrix generator 720 may generate a sparse matrix by generating an increased sparse target matrix and a coefficient matrix from the sparse target matrix, and may convert the generated sparse matrix into a transposed matrix.

컴퓨팅부(730)는 행렬 연산을 수행할 수 있는 복수개의 컴퓨터를 포함할 수 있는데, 각 컴퓨터는 변환된 희소화 전치 행렬의 일부 행을 수신하여 입력 행렬과 내적 연산을 수행할 수 있다.The computing unit 730 may include a plurality of computers capable of performing matrix operations, and each computer may receive some rows of the transformed sparse transposed matrix to perform an input matrix and a dot product operation.

복호화부(740)는 컴퓨팅부(730)에 의해 연산된 k개의 결과값으로부터 희소화 대상 행렬의 전치 행렬과 입력 행렬의 내적 연산 값을 산출할 수 있다. 복호화부(740)는 컴퓨팅부(730)로부터 k개 이상의 결과값이 수신되면, 희소화 대상 행렬의 전치 행렬과 입력 행렬의 내적 연산 값을 산출할 수 있다.The decoder 740 may calculate a transpose matrix of a sparse target matrix and a dot product operation value of the input matrix from k result values calculated by the computing unit 730. When k or more result values are received from the computing unit 730, the decoder 740 may calculate a transpose matrix of a sparse target matrix and a dot product operation value of the input matrix.

제어부(750)는 입력 행렬 수신부(710)가 수신한 입력 행렬을 희소화 행렬 생성부(720)로 전송하여 희소화 행렬이 생성되도록 하고, 희소화 행렬 생성부(720)에서 생성된 희소화 전치 행렬의 p개의 행을 컴퓨팅부(730)의 각 컴퓨터로 각각 분배할 수 있으며, 컴퓨팅부(730)로부터 연산된 k개의 결과값을 복호화부(740)로 송신하여 복호화부(740)가 희소화 대상 행렬의 전치 행렬과 입력 행렬의 내적 연산 값을 산출할 수 있도록 할 수 있다.The control unit 750 transmits the input matrix received by the input matrix receiving unit 710 to the sparse matrix generator 720 so that a sparse matrix is generated, and the sparse transpose generated by the sparse matrix generator 720 The p rows of the matrix can be distributed to each computer of the computing unit 730, and the decoding unit 740 is sparse by transmitting k result values calculated from the computing unit 730 to the decoding unit 740 The transpose matrix of the target matrix and the dot product operation value of the input matrix can be calculated.

본 발명은 본 발명의 정신 및 필수적 특징을 벗어나지 않는 범위에서 다른 특정한 형태로 구체화될 수 있음은 당업자에게 자명하다. It is obvious to those skilled in the art that the present invention can be embodied in other specific forms without departing from the spirit and essential features of the present invention.

본 발명의 범위는 첨부된 청구항의 합리적 해석에 의해 결정되어야 하고, 본 발명의 등가적 범위 내에서의 모든 변경은 본 발명의 범위에 포함된다.The scope of the present invention should be determined by rational interpretation of the appended claims, and all changes within the equivalent scope of the present invention are included in the scope of the present invention.

700: 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 시스템
710: 입력 행렬 수신부
720: 희소화 행렬 생성부
730: 컴퓨팅부
740: 복호화부
750: 제어부
700: Distributed Computing System Using Distributed Computing Matrix Sparse Method
710: input matrix receiver
720: sparse matrix generator
730: computing department
740: decryption unit
750: control unit

Claims (8)

p, k, n, m, t 및 p'이 자연수라고 할 때, p개의 컴퓨터로 구성된 분산 컴퓨팅 시스템에서 k개의 컴퓨팅 결과값을 이용하는 분산 컴퓨팅 행렬 희소화 방법에 있어서,
희소화 대상 행렬(A; n by m)에 희소화 대상 행렬과 동일한 행을 가지는 추가 행렬(
Figure 112020033682615-pat00021
; n by (k-m))이 추가되어 증가된 희소화 대상 행렬(
Figure 112020033682615-pat00022
; n by k)이 생성되는 단계; 및 상기 증가된 희소화 대상 행렬에 계수 행렬(B; k by p)이 내적 연산되어 희소화 행렬(F; n by p)이 생성되는 단계를 포함하고,
상기 증가된 희소화 대상 행렬 및 상기 계수 행렬의 성분이 결정됨에 있어서, 상기 증가된 희소화 대상 행렬의 (제1행 내지 제t*p'행, 제m+1열 내지 제k열)의 성분이 임의로 정해지는 단계; 상기 증가된 희소화 대상 행렬의 (제1행 내지 제t*p'행, 제1열 내지 제k열)의 성분에 의해 계수 행렬의 성분이 결정되는 단계; 및 상기 결정된 계수 행렬에 의해 상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분이 결정되는 단계
를 포함하는 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법.
When p, k, n, m, t, and p'are natural numbers, in a distributed computing matrix sparse method using k computing results in a distributed computing system composed of p computers,
The sparse target matrix (A; n by m) has the same row as the sparse target matrix (
Figure 112020033682615-pat00021
; The sparse target matrix increased by adding n by (km)) (
Figure 112020033682615-pat00022
; n by k) is generated; And generating a sparse matrix (F; n by p) by performing a dot product operation of a coefficient matrix (B; k by p) on the increased sparse target matrix,
When the components of the increased sparse target matrix and the coefficient matrix are determined, components of (first to t*p'th rows, m+1th to kth columns) of the increased sparse target matrix This randomly determined step; Determining a component of a coefficient matrix based on a component of the increased sparse target matrix (first to t*p'th, first to kth); And determining a component of (t*p'+1th row to nth row, m+1th column to kth column) of the increased sparse target matrix by the determined coefficient matrix.
Distributed computing matrix sparse method comprising a.
삭제delete 제1항에 있어서,
c는 t이하의 자연수이고, i는 p'이하의 자연수이며, d는 k-t이하의 자연수이되, 단, i가 p'일 때 d는 p-p'*(k-t)이하의 자연수라 할 때,
상기 계수 행렬은,
상기 증가된 희소화 대상 행렬과 상기 계수 행렬의 내적 연산에 의하여 산출되는 희소화 행렬의 제(i-1)*t+c행, 제(i-1)*(k-t)+d열의 성분이 0 이 되도록 하는 성분을 갖는 행렬인 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법.
The method of claim 1,
c is a natural number less than t, i is a natural number less than p', and d is a natural number less than kt, provided that when i is p', d is a natural number less than p-p'*(kt),
The coefficient matrix,
Components of the (i-1)*t+cth row and (i-1)*(kt)+d column of the sparse matrix calculated by the dot product operation of the increased sparse target matrix and the coefficient matrix are 0 A method for sparifying a distributed computing matrix, characterized in that it is a matrix having a component such that
제1항에 있어서,
상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분이 결정되는 단계에서,
상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제1열 내지 제k열)의 성분과 상기 계수 행렬의 내적 연산에 의하여 결정되는 희소화 행렬의 (제t*p'+1행 내지 제n행, 제1열 내지 제p열)의 성분이 일정한 패턴을 가지는 0성분을 포함하도록 상기 계수 행렬의 성분이 결정되는 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법.
The method of claim 1,
In the step of determining a component of (t*p'+1th row to nth row, m+1th column to kth column) of the increased sparse target matrix,
(T*p'+1th to nth rows, 1st to kth columns) of the increased sparse target matrix and the (tth) of the sparse matrix determined by the dot product operation of the coefficient matrix *p'+ 1st to nth row, 1st to pth column) components of the coefficient matrix are determined such that components of the coefficient matrix include 0 components having a constant pattern.
제4항에 있어서,
상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분은 상기 희소화 행렬의 (제t*p'+1행 내지 제n행, 제1열 내지 제p열)의 성분이 각 행 마다 k-m 개의 0 성분을 포함하도록 상기 계수 행렬의 성분이 결정되는 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법.
The method of claim 4,
Components of (t*p'+1th to nth rows, m+1th to kth columns) of the increased sparse target matrix are from (t*p'+1th rows of the sparse matrix) And a component of the coefficient matrix is determined so that the components of the nth row and the first to pth columns) include km 0 components for each row.
제4항에 있어서,
j는 n-t*p'이하의 자연수이고, e는 k-m이하의 자연수라 할 때,
상기 증가된 희소화 대상 행렬의 (제t*p'+1행 내지 제n행, 제m+1열 내지 제k열)의 성분은,
상기 희소화 행렬의 제t*p'+j행, 제j+e-1(mod p)열 성분이 0이 되도록 하는 성분인 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법.
The method of claim 4,
When j is a natural number less than nt*p' and e is a natural number less than km,
Components of (t*p'+1th to nth rows, m+1th to kth columns) of the increased sparse target matrix,
A distributed computing matrix sparse method, characterized in that the sparse matrix is a component such that a component of the t*p'+j-th row and the j+e-1 (mod p) column of the sparse matrix becomes 0.
제1항 및 제3항 내지 제6항 중 어느 한 항의 분산 컴퓨팅 행렬 희소화 방법이 수행되는 컴퓨터를 포함하는 분산 컴퓨팅 행렬 희소화 방법을 이용한 분산 컴퓨팅 시스템.
A distributed computing system using a distributed computing matrix sparification method including a computer on which the distributed computing matrix sparification method of any one of claims 1 and 3 to 6 is performed.
제1항에 있어서,
상기 생성된 희소화 행렬이 희소화 전치 행렬로 변환되는 단계;
변환된 희소화 전치 행렬의 각 행이 상기 p개의 컴퓨터로 분배되는 단계;
상기 p개의 컴퓨터 각각에서, 분배된 희소화 전치 행렬의 한 행과 입력 행렬(x; n by 1)의 내적 연산이 수행되는 단계;
상기 p개의 컴퓨터 중에서 k개 컴퓨터로부터 내적 연산 결과값이 수신되는 단계; 및
수신된 k개의 내적 연산 결과값이 복호화되어 상기 희소화 대상 행렬의 전치 행렬과 입력 행렬의 내적 연산 값이 산출되는 단계;
를 포함하는 것을 특징으로 하는 분산 컴퓨팅 행렬 희소화 방법.
The method of claim 1,
Transforming the generated sparse matrix into a sparse transpose matrix;
Distributing each row of the transformed sparse transposed matrix to the p computers;
Performing a dot product operation of one row of the distributed sparse transposed matrix and an input matrix (x; n by 1) in each of the p computers;
Receiving a result of a dot product operation from k computers among the p computers; And
Decoding the received k dot product calculation results to calculate a transpose matrix of the sparse target matrix and a dot product calculation value of the input matrix;
Distributed computing matrix sparse method comprising a.
KR1020180156140A 2017-12-07 2018-12-06 Matrix Sparsificating Method and System in Distributed Computing System KR102192560B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170167451 2017-12-07
KR20170167451 2017-12-07

Publications (2)

Publication Number Publication Date
KR20190067721A KR20190067721A (en) 2019-06-17
KR102192560B1 true KR102192560B1 (en) 2020-12-17

Family

ID=67064742

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180156140A KR102192560B1 (en) 2017-12-07 2018-12-06 Matrix Sparsificating Method and System in Distributed Computing System

Country Status (1)

Country Link
KR (1) KR102192560B1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248778A1 (en) 2008-03-28 2009-10-01 Magerlein Karen A Systems and methods for a combined matrix-vector and matrix transpose vector multiply for a block-sparse matrix
KR101740647B1 (en) 2016-11-04 2017-06-08 부경대학교 산학협력단 Apparatus for Processing High Dynamic Range Imaging
JP2017122950A (en) * 2016-01-04 2017-07-13 富士通株式会社 Matrix calculation program, matrix division method, and parallel processor

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8656244B1 (en) * 2010-10-29 2014-02-18 Massachusetts Institute Of Technology Rate adaptive nonbinary LDPC codes with low encoding complexity

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090248778A1 (en) 2008-03-28 2009-10-01 Magerlein Karen A Systems and methods for a combined matrix-vector and matrix transpose vector multiply for a block-sparse matrix
JP2017122950A (en) * 2016-01-04 2017-07-13 富士通株式会社 Matrix calculation program, matrix division method, and parallel processor
KR101740647B1 (en) 2016-11-04 2017-06-08 부경대학교 산학협력단 Apparatus for Processing High Dynamic Range Imaging

Also Published As

Publication number Publication date
KR20190067721A (en) 2019-06-17

Similar Documents

Publication Publication Date Title
Baharav et al. Straggler-proofing massive-scale distributed matrix multiplication with d-dimensional product codes
US20190130265A1 (en) Method and apparatus for performing operations in convolutional neural network
CN105453466B (en) Rate matching method and device for polarization code
JP2016212319A (en) Secret sharing method, secret sharing system, sharing device and program
KR20170097580A (en) Apparatus for polar coding
US9484959B2 (en) Error correction encoding method and error correction encoding device
CN111078460A (en) Fast erasure code calculation method
Data et al. Data encoding methods for byzantine-resilient distributed optimization
CN104244010B (en) Improve the method and digital signal converting method and device of digital signal conversion performance
CN108111252B (en) Sequence generation method, data decoding method and device
CN114138231B (en) Method, circuit and SOC for executing matrix multiplication operation
KR102192560B1 (en) Matrix Sparsificating Method and System in Distributed Computing System
Ardakani et al. On allocation of systematic blocks in coded distributed computing
CN112887509A (en) Fusion encryption method based on multiple chaotic systems
Frigård et al. Low-latency distributed inference at the network edge using rateless codes
RU2644507C1 (en) Resetting decoder with training mode
CN112612601A (en) Intelligent model training method and system for distributed image recognition
CN114070901B (en) Data transmitting and receiving method, device and equipment based on multi-data alignment
US10516418B2 (en) Hybrid type iterative decoding method and apparatus
US11257399B2 (en) Decoding apparatus, decoding method, and program
CN107220702B (en) Computer vision processing method and device of low-computing-capacity processing equipment
CN107534450B (en) Matrix application device, matrix application method, and storage medium
CN110990776B (en) Coding distributed computing method, device, computer equipment and storage medium
CN106302573B (en) Method, system and device for processing data by adopting erasure code
EP4016849A1 (en) Ldpc coding method and apparatus, and base station and readable storage medium

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right