KR102361647B1 - Distributed matrix computing apparatus based on group algebra and method of same - Google Patents

Distributed matrix computing apparatus based on group algebra and method of same Download PDF

Info

Publication number
KR102361647B1
KR102361647B1 KR1020200104198A KR20200104198A KR102361647B1 KR 102361647 B1 KR102361647 B1 KR 102361647B1 KR 1020200104198 A KR1020200104198 A KR 1020200104198A KR 20200104198 A KR20200104198 A KR 20200104198A KR 102361647 B1 KR102361647 B1 KR 102361647B1
Authority
KR
South Korea
Prior art keywords
matrix
submatrix
partition parameter
group
sub
Prior art date
Application number
KR1020200104198A
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 KR1020200104198A priority Critical patent/KR102361647B1/en
Application granted granted Critical
Publication of KR102361647B1 publication Critical patent/KR102361647B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1088Reconstruction on already foreseen single or plurality of spare disks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/48Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using non-contact-making devices, e.g. tube, solid state device; using unspecified devices
    • G06F7/52Multiplying; Dividing
    • G06F7/523Multiplying only
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/29Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2927Decoding strategies

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Complex Calculations (AREA)

Abstract

The present invention relates to group algebra based distributed matrix computing apparatus for efficiently processing distributed information based on a mathematical principle of group algebra, and a method thereof. The group algebra based distributed matrix computing method for performing group algebra based distributed matrix computing by a central device in a distributed computing environment including the central device and at least one edge device comprises: generating a plurality of first partial matrixes and a plurality of second partial matrixes by dividing a first target matrix and a second target matrix as product operation targets by a preset partition parameter; encoding the first partial matrixes and the second partial matrixes based on a group algebra to generate a first encoded partial matrix and a second encoded partial matrix; transmitting the first encoded partial matrix and the second encoded partial matrix to the at least one edge device to acquire a product operation result with respect to the first encoded partial matrix and the second encoded partial matrix from the at least one edge device; and applying a restoring condition to a received product operation result from the edge device to restore a product operation result of the first target matrix and the second target matrix.

Description

군론 기반 분산 행렬 연산 장치 및 방법{DISTRIBUTED MATRIX COMPUTING APPARATUS BASED ON GROUP ALGEBRA AND METHOD OF SAME}Apparatus and method for group theory-based dispersion matrix operation

본 발명은 군론(group algebra)이라는 수학적 원리를 바탕으로 분산 정보 처리를 효율적으로 수행하는 군론 기반 분산 행렬 연산 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for calculating a distribution matrix based on group theory for efficiently performing distributed information processing based on a mathematical principle called group algebra.

빅데이터 분석, 증강 현실, 촉감 통신 등 고 지능이라 불리는 어플리케이션이 실생활에서 가능하게 하기 위해서는 고차원의 행렬 연산이 필수적이다. 이러한 큰 부하의 연산을 단일 장치에서 수행하기는 시간이 오래 걸리기 때문에, 이를 분산해서 여러 개의 엣지 장치에 나눠서 분산 처리하는 형태로 성능을 개선하는 연구가 활발하다. 분산 컴퓨팅이라고도 불리는 이 기술은 6G의 대표 키워드 중 하나로 제시되고 있고, 네트워크 또는 사물인터넷의 지능화를 가속화시킬 기술 중 하나로 대두되고 있다.High-dimensional matrix operations are essential to enable applications called high intelligence, such as big data analysis, augmented reality, and tactile communication, in real life. Since it takes a long time to perform such a high-load operation in a single device, research on improving performance in the form of distributing and distributing it to several edge devices is active. This technology, also called distributed computing, is being presented as one of the representative keywords of 6G, and is emerging as one of the technologies that will accelerate the intelligence of networks or the Internet of Things.

이러한 환경 변화와 더불어 분산 컴퓨팅은 다양한 연산에 대해 연구되고 있다. 그 중에서 사칙 연산보다 구조가 복잡하여 고차원의 연산에 기본이 되는 분산 행렬 곱의 경우, 전체 시스템의 연산 속도, 정확도, 부하량은 각 엣지 장치에 쪼갠 행렬들을 어떻게 부호화 하느냐에 따라 성능이 달라지게 된다. 곱하고자 하는 두 행렬을 각각 m by n 부분행렬, p by n 부분행렬로 분할하는 경우, 논문 [1]에 개시된 바와 같이, 현재 학계에서 진행된 연구로는 최소 pmn+p-1개의 엣지 장치가 있어야 원래 원하는 행렬 연산을 복구할 수 있다고 까지만 알려져 있다. 또한, 분산 컴퓨팅에서는 단일 장치의 연산 방식을 그대로 가져올 경우 원 연산의 복원이 불가능할 수 있다.In addition to these environmental changes, distributed computing is being studied for various calculations. Among them, in the case of dispersion matrix multiplication, which has a more complex structure than four rule calculations, which is the basis for high-dimensional calculations, the operation speed, accuracy, and load of the entire system vary depending on how the divided matrices are encoded in each edge device. In the case of dividing the two matrices to be multiplied into m by n sub-matrices and p by n sub-matrices, respectively, as disclosed in the paper [1], current research in academia requires at least pmn+p-1 edge devices. It is only known that the original desired matrix operation can be recovered. In addition, in distributed computing, if the operation method of a single device is brought as it is, it may not be possible to restore the original operation.

전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.The above-mentioned background art is technical information that the inventor possessed for the derivation of the present invention or acquired in the process of derivation of the present invention, and cannot necessarily be said to be a known technique disclosed to the general public prior to the filing of the present invention.

논문 [1] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr, “Straggler mitigation in distributed matrix multiplication: Fundamental limits and optimal coding,” IEEE Transactions on Information Theory, vol. 66, no. 3, pp. 1920-1933, 2020.Paper [1] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr, “Straggler mitigation in distributed matrix multiplication: Fundamental limits and optimal coding,” IEEE Transactions on Information Theory, vol. 66, no. 3, pp. 1920-1933, 2020. 논문 [2] H. Cohn and C. Umans, “A group-theoretic approach to fast matrix multiplication,” in Proc. 44th Annual IEEE Symp. Foundations of Computer Science, pp. 438-449, 2003.Paper [2] H. Cohn and C. Umans, “A group-theoretic approach to fast matrix multiplication,” in Proc. 44th Annual IEEE Symp. Foundations of Computer Science, pp. 438-449, 2003.

본 발명의 일 과제는, 최소

Figure 112020087233009-pat00001
개의 엣지 장치가 있어야 원래 원하는 행렬 연산을 복구할 수 있다고 까지만 알려져 있는 종래 기술과 비교 시에
Figure 112020087233009-pat00002
개보다 더 적은 개수의 엣지 장치로 행렬 연산을 복구하는데 있다.One problem of the present invention is, at least
Figure 112020087233009-pat00001
In comparison with the prior art, which is known only to be able to recover the original desired matrix operation only when there are edge devices,
Figure 112020087233009-pat00002
It consists in recovering matrix operations with fewer edge devices than one.

본 발명의 일 과제는 단일 장치의 연산 방식을 그대로 가져올 경우 원 연산의 복원이 불가능할 수 있는 종래 기술의 문제점을 해결하기 위해, 엣지 장치로부터 받은 연산 결과에 대하여 복원 조건을 적용하여 원 연산 결과를 복원하는데 있다.One object of the present invention is to restore the original operation result by applying a restoration condition to the operation result received from the edge device in order to solve the problem of the prior art in which restoration of the original operation may be impossible when the operation method of a single device is brought as it is. is doing

본 발명이 해결하고자 하는 과제는 이상에서 언급한 과제에 한정되지 않으며, 언급되지 않은 본 발명의 다른 과제 및 장점들은 하기의 설명에 의해서 이해될 수 있고, 본 발명의 실시 예에 의해보다 분명하게 이해될 것이다. 또한, 본 발명이 해결하고자 하는 과제 및 장점들은 특허 청구 범위에 나타낸 수단 및 그 조합에 의해 실현될 수 있음을 알 수 있을 것이다.The problem to be solved by the present invention is not limited to the above-mentioned problems, and other problems and advantages of the present invention not mentioned can be understood by the following description, and more clearly understood by the embodiments of the present invention will be In addition, it will be understood that the problems and advantages to be solved by the present invention can be realized by means and combinations thereof indicated in the claims.

본 발명의 일 실시 예에 따른 군론 기반 분산 행렬 연산 방법은, 중앙 장치 및 하나 이상의 엣지 장치를 포함하는 분산 컴퓨팅 환경에서 중앙 장치에 의한 군론(group algebra) 기반의 분산 행렬 연산을 수행하는 방법으로서, 곱 연산의 대상이 되는 제1 대상행렬 및 제2 대상행렬 각각을 기설정된 파티션 파라미터에 의해 분할하여 복수의 제1 부분행렬 및 복수의 제2 부분행렬을 생성하는 단계와, 제1 부분행렬 및 제2 부분행렬을 군론을 기반으로 부호화하여 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 생성하는 단계와, 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 하나 이상의 엣지 장치로 전송하고, 하나 이상의 엣지 장치로부터 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬에 대한 곱 연산 결과를 획득하는 단계와, 엣지 장치로부터 수신한 곱 연산 결과에 복원 조건을 적용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과를 복원하는 단계를 포함할 수 있다.A group theory-based distribution matrix calculation method according to an embodiment of the present invention is a method of performing a group algebra-based distribution matrix operation by a central device in a distributed computing environment including a central device and one or more edge devices, Generating a plurality of first submatrices and a plurality of second submatrices by dividing each of the first and second target matrices to be multiplied by a predetermined partition parameter; 2 Encoding the submatrices based on the group theory to generate a first encoded submatrix and a second encoded submatrix, and transmitting the first encoded submatrix and the second encoded submatrix to one or more edge devices, , obtaining a product operation result for the first encoded submatrix and the second encoded submatrix from one or more edge devices, and applying a restoration condition to the product operation result received from the edge device to obtain the first target matrix and the second It may include the step of restoring the product operation result of the two target matrices.

본 발명의 일 실시 예에 따른 군론 기반 분산 행렬 연산 장치는, 중앙 장치 및 하나 이상의 엣지 장치를 포함하는 분산 컴퓨팅 환경에서 군론(group algebra) 기반의 분산 행렬 연산을 수행하는 장치로서, 중앙 장치가, 곱 연산의 대상이 되는 제1 대상행렬 및 제2 대상행렬 각각을 기설정된 파티션 파라미터에 의해 분할하여 복수의 제1 부분행렬 및 복수의 제2 부분행렬을 생성하는 분할부와, 제1 부분행렬 및 제2 부분행렬을 군론을 기반으로 부호화하여 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 생성하는 부호화부와, 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 하나 이상의 엣지 장치로 전송하고, 하나 이상의 엣지 장치로부터 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬에 대한 곱 연산 결과를 획득하는 처리부와, 엣지 장치로부터 수신한 곱 연산 결과에 복원 조건을 적용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과를 복원하는 복원부를 포함할 수 있다.A group theory-based distribution matrix operation device according to an embodiment of the present invention is a device for performing group theory-based distribution matrix operation in a distributed computing environment including a central device and one or more edge devices, wherein the central device includes: A division unit for generating a plurality of first sub-matrices and a plurality of second sub-matrices by dividing each of the first and second target matrices to be multiplied by a predetermined partition parameter, the first sub-matrices and An encoder that encodes the second submatrix based on the group theory to generate a first encoded submatrix and a second encoded submatrix, and the first encoded submatrix and the second encoded submatrix to one or more edge devices A processing unit for transmitting and obtaining a product operation result for the first encoded submatrix and the second encoded submatrix from one or more edge devices, and a first target matrix by applying a restoration condition to the product operation result received from the edge device and a restoration unit that restores a result of a multiplication operation of the second target matrix.

이 외에도, 본 발명을 구현하기 위한 다른 방법, 다른 시스템 및 상기 방법을 실행하기 위한 컴퓨터 프로그램이 저장된 컴퓨터로 판독 가능한 기록매체가 더 제공될 수 있다.In addition to this, another method for implementing the present invention, another system, and a computer-readable recording medium storing a computer program for executing the method may be further provided.

전술한 것 외의 다른 측면, 특징, 이점이 이하의 도면, 특허청구범위 및 발명의 상세한 설명으로부터 명확해질 것이다.Other aspects, features and advantages other than those described above will become apparent from the following drawings, claims, and detailed description of the invention.

본 발명에 의하면, 군론(group algebra) 기반의 분산 행렬 곱 연산을 수행함으로써, 종래 기술과 비교 시에 pmn+p-1개보다 더 적은 pmn개의 엣지 장치로 분산 행렬 연산을 복구함으로써 행렬 연산의 복잡도를 낮출 수 있다.According to the present invention, by performing a group algebra-based dispersion matrix multiplication operation, the complexity of matrix operation is restored by restoring the dispersion matrix operation with pmn edge devices less than pmn+p-1 compared to the prior art. can lower

또한 엣지 장치로부터 받은 연산 결과에 대하여 복원 조건을 적용하여 원 연산 결과를 복원함으로써, 단일 장치의 연산 방식을 그대로 가져올 경우 원 연산의 복원이 불가능할 수 있는 종래 기술의 문제점을 해결할 수 있다.In addition, by applying a restoration condition to the operation result received from the edge device to restore the original operation result, it is possible to solve the problem of the prior art in which restoration of the original operation may not be possible when the operation method of a single device is brought as it is.

본 발명의 효과는 이상에서 언급된 것들에 한정되지 않으며, 언급되지 아니한 다른 효과들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.Effects of the present invention are not limited to those mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the following description.

도 1은 본 실시 예에 따른 중앙 장치, 엣지 장치, 사용자 단말기 및 이들을 서로 연결하는 네트워크를 포함하는 분산 컴퓨팅 환경의 예시도이다.
도 2는 본 실시 예에 따른 군론 기반 분산 행렬 연산 장치를 포함하는 중앙 장치의 구성을 개략적으로 설명하기 위하여 도시한 블록도이다.
도 3은 도 2로부터 도출된 행렬 크기에 따라 필요한 엣지 장치의 수를 나타내는 그래프이다.
도 4는 본 실시 예에 따른 군론 기반 분산 행렬 연산 방법을 설명하기 위한 흐름도이다.
1 is an exemplary diagram of a distributed computing environment including a central device, an edge device, a user terminal, and a network connecting them according to the present embodiment.
FIG. 2 is a block diagram schematically illustrating a configuration of a central device including a group theory-based dispersion matrix computing device according to an embodiment of the present invention.
3 is a graph showing the number of edge devices required according to the matrix size derived from FIG. 2 .
4 is a flowchart illustrating a method for calculating a group theory-based dispersion matrix according to the present embodiment.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 설명되는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 발명은 아래에서 제시되는 실시 예들로 한정되는 것이 아니라, 서로 다른 다양한 형태로 구현될 수 있고, 본 발명의 사상 및 기술 범위에 포함되는 모든 변환, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 아래에 제시되는 실시 예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 본 발명을 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.Advantages and features of the present invention, and a method for achieving them will become apparent with reference to the detailed description in conjunction with the accompanying drawings. However, the present invention is not limited to the embodiments presented below, it can be implemented in a variety of different forms, and should be understood to include all transformations, equivalents, and substitutes included in the spirit and scope of the present invention. . The embodiments presented below are provided so that the disclosure of the present invention is complete, and to completely inform those of ordinary skill in the art to which the present invention pertains to the scope of the invention. In describing the present invention, if it is determined that a detailed description of a related known technology may obscure the gist of the present invention, the detailed description thereof will be omitted.

본 출원에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 제1, 제2 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다.The terms used in the present application are only used to describe specific embodiments, and are not intended to limit the present invention. The singular expression includes the plural expression unless the context clearly dictates otherwise. In the present application, terms such as “comprise” or “have” are intended to designate that a feature, number, step, operation, component, part, or combination thereof described in the specification exists, but one or more other features It should be understood that this does not preclude the existence or addition of numbers, steps, operations, components, parts, or combinations thereof. Terms such as first, second, etc. may be used to describe various elements, but the elements should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another.

이하, 본 발명에 따른 실시 예들을 첨부된 도면을 참조하여 상세히 설명하기로 하며, 첨부 도면을 참조하여 설명함에 있어, 동일하거나 대응하는 구성 요소는 동일한 도면번호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다.Hereinafter, embodiments according to the present invention will be described in detail with reference to the accompanying drawings. decide to do

도 1은 본 실시 예에 따른 중앙 장치, 엣지 장치, 사용자 단말기 및 이들을 서로 연결하는 네트워크를 포함하는 분산 컴퓨팅 환경의 예시도이다. 도 1을 참조하면, 분산 컴퓨팅 환경(1)은 단일의 중앙 장치(100), 하나 이상의 엣지 장치(200:200_1,??,200_N), 하나 이상의 사용자 단말기(300:300_1,??,300_N) 및 네트워크(400)를 포함할 수 있다.1 is an exemplary diagram of a distributed computing environment including a central device, an edge device, a user terminal, and a network connecting them according to the present embodiment. Referring to FIG. 1 , the distributed computing environment 1 includes a single central device 100 , one or more edge devices 200:200_1,??,200_N, and one or more user terminals 300:300_1,??,300_N. and a network 400 .

중앙 장치(100)는 사용자 단말기(300:300_1,??,300_N)로부터 작업 처리 요청 신호를 수신할 수 있다. 중앙 장치(100)는 사용자 단말기(300:300_1,??,300_N)로부터 수신한 작업에 대해 하나 이상의 엣지 장치(200:200_1,??,200_N)에 분산 처리 요청할 수 있다. 중앙 장치(100)는 하나 이상의 엣지 장치(200:200_1,??,200_N)로부터 분산 처리 결과를 취합하여 작업 처리 결과 신호를 생성하여 사용자 단말기(300:300_1,??,300_N)로 전송할 수 있다.The central device 100 may receive a job processing request signal from the user terminals 300:300_1,??,300_N. The central device 100 may request distributed processing to one or more edge devices 200:200_1,??,200_N for a job received from the user terminal 300:300_1,??,300_N. The central device 100 may collect distributed processing results from one or more edge devices 200:200_1,??,200_N, generate a job processing result signal, and transmit it to the user terminals 300:300_1,??,300_N. .

본 실시 예에서 사용자 단말기(300)는 컴퓨팅 장치(미도시)의 기능을 수행할 수 있는 통신 단말기를 포함할 수 있으며, 사용자가 조작하는 데스크 탑 컴퓨터, 스마트폰, 태블릿 PC, 노트북, 스마트 TV, 휴대폰, PDA(personal digital assistant), 랩톱, 미디어 플레이어, 마이크로 서버, GPS(global positioning system) 장치, 전자책 단말기, 디지털방송용 단말기, 네비게이션, 키오스크, MP3 플레이어, 디지털 카메라, 가전기기 및 기타 모바일 또는 비모바일 컴퓨팅 장치일 수 있으나, 이에 제한되지 않는다. 또한, 사용자 단말기(300)는 통신 기능 및 데이터 프로세싱 기능을 구비한 시계, 안경, 헤어 밴드 및 반지 등의 웨어러블 단말기 일 수 있다. 이러한 사용자 단말기(300)는 상술한 내용에 제한되지 아니하며, 웹 브라우징이 가능한 단말기는 제한 없이 차용될 수 있다.In this embodiment, the user terminal 300 may include a communication terminal capable of performing a function of a computing device (not shown), and includes a desktop computer, a smartphone, a tablet PC, a notebook computer, a smart TV, and a user-operated computer. Cell phones, personal digital assistants (PDAs), laptops, media players, micro servers, global positioning system (GPS) devices, e-book terminals, digital broadcast terminals, navigation devices, kiosks, MP3 players, digital cameras, home appliances and other mobile or non-mobile or non-electronic devices. It may be, but is not limited to, a mobile computing device. Also, the user terminal 300 may be a wearable terminal such as a watch, glasses, a hair band, and a ring having a communication function and a data processing function. The user terminal 300 is not limited to the above content, and a terminal capable of web browsing may be borrowed without limitation.

네트워크(400)는 중앙 장치(100), 엣지 장치(200) 및/또는 사용자 단말기(300)를 연결하는 역할을 수행할 수 있다. 이러한 네트워크(400)는 예컨대, 무선 LANs, CDMA, 블루투스, 위성 통신 등의 무선 네트워크를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. 또한 네트워크(400)는 근거리 통신 및/또는 원거리 통신을 이용하여 정보를 송수신할 수 있다. 여기서 근거리 통신은 블루투스(bluetooth), RFID(radio frequency identification), 적외선 통신(IrDA, infrared data association), UWB(ultra-wideband), ZigBee, Wi-Fi (wireless fidelity) 기술을 포함할 수 있고, 원거리 통신은 CDMA(code division multiple access), FDMA(frequency division multiple access), TDMA(time division multiple access), OFDMA(orthogonal frequency division multiple access), SC-FDMA(single carrier frequency division multiple access) 기술을 포함할 수 있다.The network 400 may serve to connect the central device 100 , the edge device 200 , and/or the user terminal 300 . The network 400 may include, for example, wireless networks such as wireless LANs, CDMA, Bluetooth, and satellite communication, but the scope of the present invention is not limited thereto. Also, the network 400 may transmit/receive information using short-distance communication and/or long-distance communication. Here, the short-distance communication may include Bluetooth, radio frequency identification (RFID), infrared data association (IrDA), ultra-wideband (UWB), ZigBee, and wireless fidelity (Wi-Fi) technologies. Communication may include code division multiple access (CDMA), frequency division multiple access (FDMA), time division multiple access (TDMA), orthogonal frequency division multiple access (OFDMA), single carrier frequency division multiple access (SC-FDMA) technology. can

네트워크(400)는 허브, 브리지, 라우터, 스위치 및 게이트웨이와 같은 네트워크 요소들의 연결을 포함할 수 있다. 네트워크(400)는 인터넷과 같은 공용 네트워크 및 안전한 기업 사설 네트워크와 같은 사설 네트워크를 비롯한 하나 이상의 연결된 네트워크들, 예컨대 다중 네트워크 환경을 포함할 수 있다. 네트워크(400)에의 액세스는 하나 이상의 유선 또는 무선 액세스 네트워크들을 통해 제공될 수 있다. 더 나아가 네트워크(400)는 사물 등 분산된 구성 요소들 간에 정보를 주고 받아 처리하는 IoT(Internet of Things, 사물인터넷) 망 및/또는 5G 통신을 지원할 수 있다.Network 400 may include connections of network elements such as hubs, bridges, routers, switches, and gateways. Network 400 may include one or more connected networks, eg, multiple network environments, including public networks such as the Internet and private networks such as secure enterprise private networks. Access to network 400 may be provided via one or more wired or wireless access networks. Furthermore, the network 400 may support an Internet of Things (IoT) network and/or 5G communication that exchanges and processes information between distributed components such as things.

본 실시 예에서 중앙 장치(100)에서 두 행렬

Figure 112020087233009-pat00003
Figure 112020087233009-pat00004
를 곱하는 엣지 프로세싱 시스템을 고려할 수 있다. 본 실시 예에서는 중앙 장치(100)가
Figure 112020087233009-pat00005
의 연산 결과를 목표하고, 이를 위해 행렬을 부분적으로 나눈 다음 이들을 부호화(encoding)하고 N개의 엣지 장치(200, 200_1,??,200_N)에게 나눠 연산을 하게 한 다음 연산 결과를 받아 복원하는 방식을 포함할 수 있다.Two matrices in the central device 100 in this embodiment
Figure 112020087233009-pat00003
Wow
Figure 112020087233009-pat00004
An edge processing system that multiplies by can be considered. In this embodiment, the central device 100
Figure 112020087233009-pat00005
To achieve the operation result of may include

구체적인 방식은 다음과 같다. 우선 중앙 장치(100)는 다음과 같이 곱 연산의 대상이 되는 제1 대상행렬 및 제2 대상행렬을 하기 수학식 1과 같이 제1 부분행렬(

Figure 112020087233009-pat00006
) 및 제2 부분행렬(
Figure 112020087233009-pat00007
)로 나눌 수 있다.The specific method is as follows. First, the central device 100 converts the first target matrix and the second target matrix to be the target of the multiplication operation as follows to the first sub-matrix (
Figure 112020087233009-pat00006
) and the second submatrix (
Figure 112020087233009-pat00007
) can be divided into

Figure 112020087233009-pat00008
Figure 112020087233009-pat00008

그 다음 중앙 장치(100)는 제1 부분행렬(

Figure 112020087233009-pat00009
) 및 제2 부분행렬(
Figure 112020087233009-pat00010
)을 부호화한
Figure 112020087233009-pat00011
Figure 112020087233009-pat00012
를 생성하고, 각 엣지 장치(200, 200_1,??,200_N)에 서로 다른
Figure 112020087233009-pat00013
Figure 112020087233009-pat00014
를 전송할 수 있다.Then the central device 100 is a first sub-matrix (
Figure 112020087233009-pat00009
) and the second submatrix (
Figure 112020087233009-pat00010
) encoded
Figure 112020087233009-pat00011
Wow
Figure 112020087233009-pat00012
, and each edge device (200, 200_1,??, 200_N) has a different
Figure 112020087233009-pat00013
Wow
Figure 112020087233009-pat00014
can be transmitted.

각 엣지 장치(200, 200_1,??,200_N)는 수신한

Figure 112020087233009-pat00015
Figure 112020087233009-pat00016
를 연산할 수 있다.Each edge device (200, 200_1,??, 200_N) receives
Figure 112020087233009-pat00015
Wow
Figure 112020087233009-pat00016
can be calculated.

그러면 중앙 장치(100)는 각 엣지 장치(200, 200_1,??,200_N)의 연산

Figure 112020087233009-pat00017
를 수신하여 다음 단계로 복원을 할 수 있다.
Figure 112020087233009-pat00018
의 연결한 형태(concatenated version)의 행렬을 하기 수학식 2와 같이
Figure 112020087233009-pat00019
로 표현할 수 있다.Then, the central device 100 calculates each edge device 200, 200_1,??, 200_N.
Figure 112020087233009-pat00017
can be restored to the next step by receiving
Figure 112020087233009-pat00018
A matrix of a concatenated version of
Figure 112020087233009-pat00019
can be expressed as

Figure 112020087233009-pat00020
Figure 112020087233009-pat00020

또한 우리가 원하는 부분행렬 곱들인

Figure 112020087233009-pat00021
꼴을 하기 수학식 3과 같은 열 벡터(column vector)로 정의할 수 있다.Also the submatrix products we want
Figure 112020087233009-pat00021
The shape may be defined as a column vector as in Equation 3 below.

Figure 112020087233009-pat00022
Figure 112020087233009-pat00022

중앙 장치(100)는 본인이 어떻게 부호화 했는지 알고 있기 때문에

Figure 112020087233009-pat00023
Figure 112020087233009-pat00024
사이의 관계식을 수학식 4와 같이 알 수 있다.Because the central unit 100 knows how it has been coded,
Figure 112020087233009-pat00023
Wow
Figure 112020087233009-pat00024
The relation between the two can be found as in Equation (4).

Figure 112020087233009-pat00025
Figure 112020087233009-pat00025

따라서 중앙 장치(100)는

Figure 112020087233009-pat00026
를 각 엣지 장치(200, 200_1,??,200_N)로부터 수신한 결과인
Figure 112020087233009-pat00027
에 곱하고,
Figure 112020087233009-pat00028
를 획득하여 원래 원하고자 한
Figure 112020087233009-pat00029
를 구할 수 있다.Therefore, the central device 100 is
Figure 112020087233009-pat00026
is the result of receiving from each edge device (200, 200_1,??, 200_N)
Figure 112020087233009-pat00027
multiplied by ,
Figure 112020087233009-pat00028
by obtaining the original desired
Figure 112020087233009-pat00029
can be obtained

본 실시 예에서는 핵심 아이디어에 초점을 맞추기 위하여, 공지되어 있는 군론(group theory) 및 표현론(representation theory)과 관련된 개념은 생략하였으며, 먼저 삼중 곱 법칙(triple product property)을 정의하고, 논문 [2]에서 제안한 embedding matrix multiplication into group algebra 방식만 소개한다.In this embodiment, in order to focus on the core idea, well-known concepts related to group theory and representation theory are omitted. First, the triple product property is defined, and the thesis [2] We introduce only the embedding matrix multiplication into group algebra method proposed in .

삼중 곱 법칙(triple product property)을 정의하면, 주어진 그룹

Figure 112020087233009-pat00030
에 대해 부분집합
Figure 112020087233009-pat00031
의 오른 몫집합(right quotient set)을
Figure 112020087233009-pat00032
로 표기한다. (즉,
Figure 112020087233009-pat00033
). 만약 세 부분집합
Figure 112020087233009-pat00034
이 각 원소
Figure 112020087233009-pat00035
,
Figure 112020087233009-pat00036
,
Figure 112020087233009-pat00037
가 하기 수학식 5와 같은 조건을 만족하면, 우리는
Figure 112020087233009-pat00038
가 삼중 곱 법칙(triple product property)을 만족한다고 부를 수 있다.By defining the triple product property, a given group
Figure 112020087233009-pat00030
about a subset
Figure 112020087233009-pat00031
The right quotient set of
Figure 112020087233009-pat00032
marked with (In other words,
Figure 112020087233009-pat00033
). If three subsets
Figure 112020087233009-pat00034
each of these elements
Figure 112020087233009-pat00035
,
Figure 112020087233009-pat00036
,
Figure 112020087233009-pat00037
If a satisfies the condition as in Equation 5 below, we get
Figure 112020087233009-pat00038
can be said to satisfy the triple product property.

Figure 112020087233009-pat00039
Figure 112020087233009-pat00039

여기서, 행렬 곱을 군 대수(group algebra)로 부호화하는 방법은, 삼중 곱 법칙(triple product property)을 만족하는

Figure 112020087233009-pat00040
를 고려하는 것이다. 또한 두 개의 복소 행렬,
Figure 112020087233009-pat00041
행렬
Figure 112020087233009-pat00042
,
Figure 112020087233009-pat00043
행렬
Figure 112020087233009-pat00044
를 고려한다. 이를 통해 군 대수(group algebra) 부호화를 정의하면 하기 수학식 6과 같이 표현할 수 있다. Here, the method of encoding the matrix product as a group algebra is a method that satisfies the triple product property.
Figure 112020087233009-pat00040
will consider Also two complex matrices,
Figure 112020087233009-pat00041
procession
Figure 112020087233009-pat00042
,
Figure 112020087233009-pat00043
procession
Figure 112020087233009-pat00044
consider If the group algebra encoding is defined through this, it can be expressed as in Equation 6 below.

Figure 112020087233009-pat00045
Figure 112020087233009-pat00045

수학식 6을 획득하면,

Figure 112020087233009-pat00046
의 군 원소(group element)
Figure 112020087233009-pat00047
의 계수들로부터
Figure 112020087233009-pat00048
행렬 곱의 값을 얻을 수 있다. 이 개념은 직관적으로 설명하면 DFT(discrete fourier transform)의 순환 컨벌루션(cyclic convolution) 개념을 임의의 군으로 일반화한 것으로 생각할 수 있다.If Equation 6 is obtained,
Figure 112020087233009-pat00046
group element of
Figure 112020087233009-pat00047
from the coefficients of
Figure 112020087233009-pat00048
You can get the value of matrix multiplication. Intuitively, this concept can be thought of as a generalization of the cyclic convolution concept of a discrete fourier transform (DFT) to an arbitrary group.

이어서

Figure 112020087233009-pat00049
이 서로소인 경우에, 여러 군 중 순환군(cyclic group)을 활용한 분산 행렬 곱 기법을 제안하고자 한다. 주어진
Figure 112020087233009-pat00050
에 대해서, 순환군
Figure 112020087233009-pat00051
를 고려할 수 있다. 여기서 하기 수학식 7과 같이 순환군
Figure 112020087233009-pat00052
의 3개의 부분집합을 고려할 수 있다. next
Figure 112020087233009-pat00049
In this case, we propose a dispersion matrix multiplication technique using a cyclic group among several groups. given
Figure 112020087233009-pat00050
About the circulatory group
Figure 112020087233009-pat00051
can be considered. Here, as in Equation 7 below, the cyclic group
Figure 112020087233009-pat00052
We can consider three subsets of

Figure 112020087233009-pat00053
Figure 112020087233009-pat00053

Figure 112020087233009-pat00054
Figure 112020087233009-pat00054

Figure 112020087233009-pat00055
Figure 112020087233009-pat00055

그러면

Figure 112020087233009-pat00056
는 삼중 곱 법칙(triple product property)을 만족함을 증명할 수 있다(증명은 관련 논문 [2]에 기재됨). 따라서 논문 [2]와 같이 순환군
Figure 112020087233009-pat00057
를 활용하여 수학식 8과 같은 부호화를 고려할 수 있다.then
Figure 112020087233009-pat00056
can prove that the triple product property is satisfied (the proof is described in the related paper [2]). Therefore, as in the paper [2], the cyclic group
Figure 112020087233009-pat00057
Encoding as in Equation 8 can be considered by using

Figure 112020087233009-pat00058
Figure 112020087233009-pat00058

Figure 112020087233009-pat00059
Figure 112020087233009-pat00059

Figure 112020087233009-pat00060
Figure 112020087233009-pat00060

Figure 112020087233009-pat00061
Figure 112020087233009-pat00061

여기서, 엣지 장치(200:200_1,??,200_N)가 연산하여 중앙 장치(100)가 획득하는 연산 결과

Figure 112020087233009-pat00062
를 계산하면 수학식 9와 같이 표현할 수 있다.Here, the calculation result obtained by the central device 100 by the edge devices 200:200_1,??,200_N
Figure 112020087233009-pat00062
can be expressed as in Equation 9.

Figure 112020087233009-pat00063
Figure 112020087233009-pat00063

Figure 112020087233009-pat00064
Figure 112020087233009-pat00064

수학식 8에서 첫 번째 줄의 계수는 중앙 장치(100)가 원하는

Figure 112020087233009-pat00065
행렬의 결과값들이 나오는 것을 확인할 수 있다. 실제로 이 연산들을 각 엣지 장치(200:200_1,??,200_N)에게 주고 연산시키기 위해서는
Figure 112020087233009-pat00066
Figure 112020087233009-pat00067
를 복소수값의 신호로 변환할 수 있어야 한다. 그룹과 벡터 공간 사이의 관계를 다루는 표현론(representation theory)을 활용하면 복소수 값으로 변환할 수 있다. 순환군에 대한 약분 불가능한 표현(기약 표현, irreducible representation)은 함수로 총
Figure 112020087233009-pat00068
개 이며, 하기 수학식 10과 같이 표현할 수 있다.In Equation 8, the coefficient of the first line is the desired value of the central device 100
Figure 112020087233009-pat00065
You can see that the result values of the matrix are coming out. In order to actually give these operations to each edge device (200:200_1,??,200_N)
Figure 112020087233009-pat00066
Wow
Figure 112020087233009-pat00067
should be able to convert to a complex-valued signal. Representation theory, which deals with the relationship between groups and vector spaces, can be used to convert them to complex values. An irreducible representation of a recursive group is
Figure 112020087233009-pat00068
, and can be expressed as in Equation 10 below.

Figure 112020087233009-pat00069
Figure 112020087233009-pat00069

여기서,

Figure 112020087233009-pat00070
이고,
Figure 112020087233009-pat00071
이며,
Figure 112020087233009-pat00072
은 순환군으로써 임의의 정수(
Figure 112020087233009-pat00073
)를
Figure 112020087233009-pat00074
으로 나눈 나머지의 집합(
Figure 112020087233009-pat00075
)이다.here,
Figure 112020087233009-pat00070
ego,
Figure 112020087233009-pat00071
is,
Figure 112020087233009-pat00072
is an arbitrary integer (
Figure 112020087233009-pat00073
)cast
Figure 112020087233009-pat00074
The set of remainders divided by (
Figure 112020087233009-pat00075
)to be.

이제 실제로 어떻게 부호화를 하는지 설명하고자 한다. 앞서 말한 것처럼 단순히 서로 다른 기약 표현을 골라

Figure 112020087233009-pat00076
Figure 112020087233009-pat00077
에게 함수
Figure 112020087233009-pat00078
를 씌운 다음에 각 엣지 장치(200:200_1,??,200_N)에게 전달하는 것으로는 나중에 중앙 장치(100)가 받았을 때 원 함수의 복원을 보장할 수 없다. Now I want to explain how to actually encode it. As mentioned earlier, simply choosing different promise expressions
Figure 112020087233009-pat00076
Wow
Figure 112020087233009-pat00077
function to
Figure 112020087233009-pat00078
By passing ? to each edge device (200:200_1,??,200_N) after covering , restoration of the original function cannot be guaranteed when the central device 100 receives it later.

따라서 분산 행렬 곱의 복원 조건을 다음과 같이 제시하고자 한다. 중앙 장치(100)는 각

Figure 112020087233009-pat00079
번째 엣지 장치(200_
Figure 112020087233009-pat00080
)에게 두 개의 부분행렬
Figure 112020087233009-pat00081
로 부호화하여 전송해주면,
Figure 112020087233009-pat00082
개의 엣지 장치(200)의 개수만으로 신호를 복원할 수 있다. 여기서
Figure 112020087233009-pat00083
는 군(group) 원소를 입력으로 받는 함수로 수학식 11과 같이 정의 된다.Therefore, we would like to present the restoration condition of the dispersion matrix product as follows. The central unit 100 is each
Figure 112020087233009-pat00079
second edge device (200_
Figure 112020087233009-pat00080
) to two submatrices
Figure 112020087233009-pat00081
If it is encoded and transmitted as
Figure 112020087233009-pat00082
A signal can be restored with only the number of edge devices 200 . here
Figure 112020087233009-pat00083
is a function that receives a group element as an input, and is defined as in Equation 11.

Figure 112020087233009-pat00084
Figure 112020087233009-pat00084

여기서,

Figure 112020087233009-pat00085
이고,
Figure 112020087233009-pat00086
이며,
Figure 112020087233009-pat00087
은 순환군으로써 임의의 정수(
Figure 112020087233009-pat00088
)를
Figure 112020087233009-pat00089
으로 나눈 나머지의 집합(
Figure 112020087233009-pat00090
)이고,
Figure 112020087233009-pat00091
으로 나눈 나머지가 서로 달라야 한다. 즉,
Figure 112020087233009-pat00092
이다. here,
Figure 112020087233009-pat00085
ego,
Figure 112020087233009-pat00086
is,
Figure 112020087233009-pat00087
is an arbitrary integer (
Figure 112020087233009-pat00088
)cast
Figure 112020087233009-pat00089
The set of remainders divided by (
Figure 112020087233009-pat00090
)ego,
Figure 112020087233009-pat00091
The remainder of dividing by must be different. in other words,
Figure 112020087233009-pat00092
to be.

도 2는 본 실시 예에 따른 군론 기반 분산 행렬 연산 장치를 포함하는 중앙 장치의 구성을 개략적으로 설명하기 위하여 도시한 블록도이다. 이하의 설명에서 도 1에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다. 도 2를 참조하면, 중앙 장치(100)는 통신부(110), 분할부(120), 부호화부(130), 처리부(140), 복원부(150), 저장 매체(160) 및 제어부(170)를 포함할 수 있다.FIG. 2 is a block diagram schematically illustrating a configuration of a central device including a group theory-based dispersion matrix computing device according to an embodiment of the present invention. In the following description, the part overlapping with the description of FIG. 1 will be omitted. Referring to FIG. 2 , the central device 100 includes a communication unit 110 , a division unit 120 , an encoding unit 130 , a processing unit 140 , a restoration unit 150 , a storage medium 160 , and a control unit 170 . may include

통신부(110)는 네트워크(400)와 연동하여 중앙 장치(100)와 엣지 장치(200) 간의 송수신 신호를 패킷 데이터 형태로 제공하는 데 필요한 통신 인터페이스를 제공할 수 있다. 나아가, 통신부(110)는 중앙 장치(100)가 처리한 정보를 엣지 장치(200)로 전송하는 역할을 수행하거나 엣지 장치(200)가 처리한 정보를 중앙 장치(100)가 수신하도록 하는 역할을 수행할 수 있다. 여기서 통신망이라 함은, 중앙 장치(100)와 엣지 장치(200)를 연결하는 역할을 수행하는 매개체로써, 중앙 장치(100)가 엣지 장치(200)에 접속한 후 정보를 송수신할 수 있도록 접속 경로를 제공하는 경로를 포함할 수 있다. 또한 통신부(110)는 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.The communication unit 110 may provide a communication interface required to provide a transmission/reception signal between the central device 100 and the edge device 200 in the form of packet data in cooperation with the network 400 . Furthermore, the communication unit 110 serves to transmit information processed by the central device 100 to the edge device 200 or to allow the central device 100 to receive information processed by the edge device 200 can be done Here, the communication network is a medium that connects the central device 100 and the edge device 200 , and an access path so that the central device 100 can transmit and receive information after accessing the edge device 200 . It may include a path that provides In addition, the communication unit 110 may be a device including hardware and software necessary for transmitting and receiving signals such as control signals or data signals through wired/wireless connection with other network devices.

분할부(120)는 곱 연산의 대상이 되는 제1 대상행렬및 제2 대상행렬 각각을 기설정된 파티션 파라미터에 의해 분할하여 수학식 1과 같이 복수의 제1 부분행렬(

Figure 112020087233009-pat00093
) 및 복수의 제2 부분행렬(
Figure 112020087233009-pat00094
)을 생성할 수 있다.The division unit 120 divides each of the first target matrix and the second target matrix, which are the target of the multiplication operation, according to a preset partition parameter, and divides each of the plurality of first submatrices (
Figure 112020087233009-pat00093
) and a plurality of second submatrices (
Figure 112020087233009-pat00094
) can be created.

여기서 파티션 파라미터는 제1 파티션 파라미터 내지 제3 파티션 파라미터를 포함할 수 있다. 제1 파티션 파라미터(

Figure 112020087233009-pat00095
)는 제1 대상행렬에서 행에 대한 파티션 파라미터를 포함할 수 있다. 제2 파티션 파라미터(
Figure 112020087233009-pat00096
)는 제1 대상행렬에서 열에 대한 파티션 파라미터 및 제2 대상행렬에서 행에 대한 파티션 파라미터를 포함할 수 있다. 제3 파티션 파라미터(
Figure 112020087233009-pat00097
)는 제2 대상행렬에서 열에 대한 파티션 파라미터를 포함할 수 있다.Here, the partition parameter may include a first partition parameter to a third partition parameter. the first partition parameter (
Figure 112020087233009-pat00095
) may include a partition parameter for a row in the first target matrix. second partition parameter (
Figure 112020087233009-pat00096
) may include a partition parameter for a column in the first target matrix and a partition parameter for a row in the second target matrix. the third partition parameter (
Figure 112020087233009-pat00097
) may include a partition parameter for a column in the second target matrix.

분할부(120)는 제1 대상행렬에 대하여 제1 파티션 파라미터(

Figure 112020087233009-pat00098
) 및 제2 파티션 파라미터(
Figure 112020087233009-pat00099
)를 이용하여
Figure 112020087233009-pat00100
로 분할한 복수의 제1 부분행렬(
Figure 112020087233009-pat00101
)을 생성할 수 있다.The partitioning unit 120 divides the first partition parameter (
Figure 112020087233009-pat00098
) and the second partition parameter (
Figure 112020087233009-pat00099
) using
Figure 112020087233009-pat00100
A plurality of first submatrices divided by (
Figure 112020087233009-pat00101
) can be created.

분할부(120)는 제2 대상행렬 대하여 제2 파티션 파라미터(

Figure 112020087233009-pat00102
) 및 제3 파티션 파라미터(
Figure 112020087233009-pat00103
)를 이용하여
Figure 112020087233009-pat00104
로 분할한 복수의 제2 부분행렬(
Figure 112020087233009-pat00105
)을 생성할 수 있다.The division unit 120 divides the second partition parameter (
Figure 112020087233009-pat00102
) and the third partition parameter (
Figure 112020087233009-pat00103
) using
Figure 112020087233009-pat00104
A plurality of second submatrices divided by (
Figure 112020087233009-pat00105
) can be created.

부호화부(130)는 제1 부분행렬(

Figure 112020087233009-pat00106
) 및 제2 부분행렬(
Figure 112020087233009-pat00107
)을 군론을 기반으로 부호화하여 수학식 8과 같은 제1 부호화한 부분행렬(
Figure 112020087233009-pat00108
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00109
)을 생성할 수 있다. The encoder 130 is a first sub-matrix (
Figure 112020087233009-pat00106
) and the second submatrix (
Figure 112020087233009-pat00107
) is encoded based on the group theory, and the first encoded submatrix (
Figure 112020087233009-pat00108
) and the second encoded submatrix (
Figure 112020087233009-pat00109
) can be created.

수학식 8에서,

Figure 112020087233009-pat00110
는 제1 부분행렬(
Figure 112020087233009-pat00111
)에서 행의 인덱스일 수 있다.
Figure 112020087233009-pat00112
는 제1 부분행렬(
Figure 112020087233009-pat00113
)에서 열의 인덱스이고, 제2 부분행렬(
Figure 112020087233009-pat00114
)에서 행의 인덱스일 수 있다.
Figure 112020087233009-pat00115
는 제2 부분행렬(
Figure 112020087233009-pat00116
)에서 열의 인덱스일 수 있다.
Figure 112020087233009-pat00117
는 순환군을 결정하는 파라미터(parameter)로써, 자유롭게 설정할 수 있다.
Figure 112020087233009-pat00118
는 순환군에서 하나의 원소일 수 있다. 여기서, 군(group)이라 함은, 결합 법칙과 항등원과 각 원소의 역원을 가지는 이항 연산을 갖춘 집합(대수구조)일 수 있다. 또한, 순환군이라 함은 하나의 원소에 의해 생성되는 군(예를 들어,
Figure 112020087233009-pat00119
:
Figure 112020087233009-pat00120
으로 나눈 나머지의 집합)일 수 있다.In Equation 8,
Figure 112020087233009-pat00110
is the first submatrix (
Figure 112020087233009-pat00111
) can be the index of the row in
Figure 112020087233009-pat00112
is the first submatrix (
Figure 112020087233009-pat00113
) is the index of the column in the second submatrix (
Figure 112020087233009-pat00114
) can be the index of the row in
Figure 112020087233009-pat00115
is the second submatrix (
Figure 112020087233009-pat00116
) can be the index of the column.
Figure 112020087233009-pat00117
is a parameter that determines the circulation group, and can be freely set.
Figure 112020087233009-pat00118
may be one element in the cyclic group. Here, a group may be a set (algebraic structure) having an associative law, an identity circle, and a binary operation having an inverse of each element. In addition, the cyclic group refers to a group produced by one element (eg,
Figure 112020087233009-pat00119
:
Figure 112020087233009-pat00120
is the set of remainders divided by ).

부호화부(130)는 엣지 장치(200:200_1,…,200_N)마다 서로 다른 제1 부호화한 부분행렬(

Figure 112020087233009-pat00121
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00122
)을 생성할 수 있다.The encoder 130 encodes a different first encoded submatrix for each edge device 200:200_1, ..., 200_N.
Figure 112020087233009-pat00121
) and the second encoded submatrix (
Figure 112020087233009-pat00122
) can be created.

부호화부(130)는 제1 파티션 파라미터(

Figure 112020087233009-pat00123
), 제2 파티션 파라미터(
Figure 112020087233009-pat00124
) 및 제3 파티션 파라미터(
Figure 112020087233009-pat00125
)에 대한 순환군을 이용하여 제1 부분행렬(
Figure 112020087233009-pat00126
) 및 제2 부분행렬(
Figure 112020087233009-pat00127
)을 각각 군 대수화(group algebra)하여 제1 부호화한 부분행렬(
Figure 112020087233009-pat00128
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00129
)을 생성할 수 있다.The encoder 130 is a first partition parameter (
Figure 112020087233009-pat00123
), the second partition parameter (
Figure 112020087233009-pat00124
) and the third partition parameter (
Figure 112020087233009-pat00125
) using the recursive group for the first submatrix (
Figure 112020087233009-pat00126
) and the second submatrix (
Figure 112020087233009-pat00127
) by group algebra, the first encoded submatrix (
Figure 112020087233009-pat00128
) and the second encoded submatrix (
Figure 112020087233009-pat00129
) can be created.

부호화부(130)는 제1 부호화한 부분행렬(

Figure 112020087233009-pat00130
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00131
) 생성 시에, 제1 부호화한 부분행렬(
Figure 112020087233009-pat00132
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00133
)에 순환군의 기약 표현을 적용하여 전압 또는 전류 형태의 복소수값으로 변환시킬 수 있다. 순환군의 기약 표현은, 각 엣지 장치(200:200_1,…,200_N)마다 상이한 표현으로 적용될 수 있다. The encoding unit 130 is a first encoded sub-matrix (
Figure 112020087233009-pat00130
) and the second encoded submatrix (
Figure 112020087233009-pat00131
) at the time of generation, the first encoded submatrix (
Figure 112020087233009-pat00132
) and the second encoded submatrix (
Figure 112020087233009-pat00133
) can be converted into a complex value in the form of voltage or current by applying the reduced expression of the cyclic group. The reduced expression of the cyclic group may be applied as a different expression for each edge device 200:200_1, ..., 200_N.

여기서, 제1 부호화한 부분행렬(

Figure 112020087233009-pat00134
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00135
)은 복소수값(전류/전압 형태)가 아니므로, 엣지 장치(200:200_1,…,200_N)로 전송이 불가능하다. 따라서 부호화부(130)는 제1 부호화한 부분행렬(
Figure 112020087233009-pat00136
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00137
)에 대하여, 전송할 엣지 장치(200:200_1,…,200_N) 마다 서로 다른 순환군의 기약 표현을 적용하여 복소수값으로 변환시킬 수 있다.Here, the first encoded submatrix (
Figure 112020087233009-pat00134
) and the second encoded submatrix (
Figure 112020087233009-pat00135
) is not a complex value (current/voltage form), so it is impossible to transmit to the edge devices 200:200_1, ..., 200_N. Accordingly, the encoder 130 performs the first encoded sub-matrix (
Figure 112020087233009-pat00136
) and the second encoded submatrix (
Figure 112020087233009-pat00137
), it can be converted into a complex value by applying a different reduced representation of a cyclic group for each edge device 200:200_1, ..., 200_N to be transmitted.

부호화부(130)는 수학식 8과 수학식 10을 이용하여, 순환군의 기약 표현을 적용하여 복소수값으로 변환한 제1 부호화한 부분행렬(

Figure 112020087233009-pat00138
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00139
)을 수학식 12와 같이 표현할 수 있다.The encoder 130 uses Equations (8) and (10) to apply the reduced expression of the cyclic group to convert the first encoded sub-matrix (
Figure 112020087233009-pat00138
) and the second encoded submatrix (
Figure 112020087233009-pat00139
) can be expressed as in Equation 12.

Figure 112020087233009-pat00140
Figure 112020087233009-pat00140

Figure 112020087233009-pat00141
Figure 112020087233009-pat00141

여기서, 순환군의 기약 표현(irreducible representation)은 함수로, 순환군을 결정하는 파라미터(

Figure 112020087233009-pat00142
)와, 제1 파티션 파라미터(
Figure 112020087233009-pat00143
)와, 제2 파티션 파라미터(
Figure 112020087233009-pat00144
)와, 제3 파티션 파라미터(
Figure 112020087233009-pat00145
)를 곱한
Figure 112020087233009-pat00146
개 일 수 있다.Here, the irreducible representation of the recursive group is a function, and the parameter that determines the recursive group (
Figure 112020087233009-pat00142
) and the first partition parameter (
Figure 112020087233009-pat00143
) and the second partition parameter (
Figure 112020087233009-pat00144
) and the third partition parameter (
Figure 112020087233009-pat00145
) multiplied by
Figure 112020087233009-pat00146
can be a dog

처리부(140)는 부호화부(130)가 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬(

Figure 112020087233009-pat00147
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00148
)을 엣지 장치(200:200_1,…,200_N)로 전송할 수 있다. 처리부(140)는 수학식 12에서의
Figure 112020087233009-pat00149
Figure 112020087233009-pat00150
Figure 112020087233009-pat00151
번째 엣지 장치(200_
Figure 112020087233009-pat00152
)로 전송할 수 있다. The processing unit 140 converts the first encoded sub-matrix (
Figure 112020087233009-pat00147
) and the second encoded submatrix (
Figure 112020087233009-pat00148
) to the edge devices 200:200_1, ..., 200_N. The processing unit 140 in Equation 12
Figure 112020087233009-pat00149
and
Figure 112020087233009-pat00150
cast
Figure 112020087233009-pat00151
second edge device (200_
Figure 112020087233009-pat00152
) can be transmitted.

엣지 장치(200:200_1,…,200_N)는 중앙 장치(100)로부터

Figure 112020087233009-pat00153
Figure 112020087233009-pat00154
를 수신하여 곱 연산을 수행하여 곱 연산 결과(
Figure 112020087233009-pat00155
)를 생성하여 중앙 장치(100)로 전송하면, 중앙 장치(100)는 곱 연산 결과(
Figure 112020087233009-pat00156
)를 획득할 수 있다. Edge devices 200: 200_1, ..., 200_N are sent from the central device 100
Figure 112020087233009-pat00153
and
Figure 112020087233009-pat00154
Receive and perform a multiplication operation to obtain the product operation result (
Figure 112020087233009-pat00155
) is generated and transmitted to the central device 100, the central device 100 generates a multiplication result (
Figure 112020087233009-pat00156
) can be obtained.

중앙 장치(100)가 엣지 장치(200:200_1,…,200_N)로부터 획득하는 곱 연산 결과(

Figure 112020087233009-pat00157
)는 수학식 9를 이용하여 하기 수학식 13과 같이 표현할 수 있다.The product operation result ( ) that the central device 100 obtains from the edge devices 200:
Figure 112020087233009-pat00157
) can be expressed as in Equation 13 below using Equation 9.

Figure 112020087233009-pat00158
Figure 112020087233009-pat00158

Figure 112020087233009-pat00159
Figure 112020087233009-pat00159

복원부(150)는 엣지 장치(200:200_1,…,200_N)로부터 수신한 곱 연산 결과(

Figure 112020087233009-pat00160
)에 복원 조건을 적용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과(
Figure 112020087233009-pat00161
)를 복원할 수 있다.The restoration unit 150 receives the product operation result (200:200_1, ..., 200_N) from the edge device (
Figure 112020087233009-pat00160
) by applying the restoration condition to the product operation result of the first target matrix and the second target matrix (
Figure 112020087233009-pat00161
) can be restored.

여기서 복원 조건은, 수학식 12와 같은 순환군의 기약 표현을 적용한 제1 부호화한 부분행렬(

Figure 112020087233009-pat00162
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00163
)을, 어느 한 엣지 장치(예를 들어, 엣지 장치(200_
Figure 112020087233009-pat00164
))로 전송하면, 제1 파티션 파라미터(
Figure 112020087233009-pat00165
)와, 제2 파티션 파라미터(
Figure 112020087233009-pat00166
)와, 제3 파티션 파라미터(
Figure 112020087233009-pat00167
)를 곱한
Figure 112020087233009-pat00168
개의 엣지 장치(200)를 이용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과를 복원 가능하다는 것을 포함할 수 있다. Here, the restoration condition is the first encoded submatrix (
Figure 112020087233009-pat00162
) and the second encoded submatrix (
Figure 112020087233009-pat00163
), any one edge device (eg, edge device 200_
Figure 112020087233009-pat00164
)), the first partition parameter (
Figure 112020087233009-pat00165
) and the second partition parameter (
Figure 112020087233009-pat00166
) and the third partition parameter (
Figure 112020087233009-pat00167
) multiplied by
Figure 112020087233009-pat00168
It may include that it is possible to restore a product operation result of the first target matrix and the second target matrix using the edge device 200 .

복원 조건은, 기약 표현에 순환군의 원소(

Figure 112020087233009-pat00169
)를 대입하여 획득한 복소항(
Figure 112020087233009-pat00170
)의 지수(
Figure 112020087233009-pat00171
)를 소정의 값(
Figure 112020087233009-pat00172
)으로 나눈 나머지가 각 엣지 장치(200)별로 상이한 조건을 포함할 수 있다. The restoration condition is an element of the cyclic group (
Figure 112020087233009-pat00169
) obtained by substituting the complex term (
Figure 112020087233009-pat00170
) of the exponent (
Figure 112020087233009-pat00171
) to a given value (
Figure 112020087233009-pat00172
) may include different conditions for each edge device 200 .

복원부(150)는 복원 조건을 만족하면, 즉 각 엣지 장치(200:200_1,…,200_N)로부터 수신한 곱 연산 결과(

Figure 112020087233009-pat00173
)에 대하여, 수학식 11에 기재된
Figure 112020087233009-pat00174
을 만족하면, 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과(
Figure 112020087233009-pat00175
)를 복원 가능하다고 판단할 수 있다. 이는 각 엣지 장치(200:200_1,…,200_N)에 어떤 기약 표현을 적용했는지 알고 있음에 기인한 것이며,
Figure 112020087233009-pat00176
는 각 엣지 장치(200:200_1,…,200_N)마다 서로 다르다.The restoration unit 150 satisfies the restoration condition, that is, the product operation result (
Figure 112020087233009-pat00173
), as described in Equation 11
Figure 112020087233009-pat00174
If is satisfied, the result of the product of the first target matrix and the second target matrix (
Figure 112020087233009-pat00175
) can be determined to be recoverable. This is due to knowing which contract expression is applied to each edge device (200:200_1, ..., 200_N),
Figure 112020087233009-pat00176
is different for each edge device 200:200_1, ..., 200_N.

복원부(150)는 복원 조건을 만족하는 경우, 수학식 3을 이용하여, 각 엣지 장치(200:200_1,…,200_N)로부터 수신한 곱 연산 결과(

Figure 112020087233009-pat00177
)에 대하여 열 벡터(
Figure 112020087233009-pat00178
)를 생성할 수 있다.When the restoration condition is satisfied, the restoration unit 150 uses Equation 3 to obtain the product operation result (
Figure 112020087233009-pat00177
) with respect to the column vector(
Figure 112020087233009-pat00178
) can be created.

복원부(150)는 중앙 장치(100)가 어떻게 부호화를 수행하였는지 알고 있기 때문에, 수학식 4와 같은

Figure 112020087233009-pat00179
Figure 112020087233009-pat00180
사이의 관계식을 이용하여, 각 엣지 장치(200, 200_1,??,200_N)로부터 수신한 곱 연산 결과인
Figure 112020087233009-pat00181
및 부호화 과정을 행렬
Figure 112020087233009-pat00182
로 표현하였을 때, 이에 대한 역행렬
Figure 112020087233009-pat00183
에 기반하여,
Figure 112020087233009-pat00184
를 획득하고 원래 원하고자 하는 곱 연산 결과(
Figure 112020087233009-pat00185
)를 복원할 수 있다.Since the restoration unit 150 knows how the central device 100 encodes, the same as in Equation 4
Figure 112020087233009-pat00179
Wow
Figure 112020087233009-pat00180
Using the relational expression between
Figure 112020087233009-pat00181
and matrix encoding process
Figure 112020087233009-pat00182
When expressed as , the inverse matrix
Figure 112020087233009-pat00183
based on,
Figure 112020087233009-pat00184
to obtain the desired multiplication result (
Figure 112020087233009-pat00185
) can be restored.

저장 매체(160)는 중앙 장치(100) 가 처리하는 데이터를 일시적 또는 영구적으로 저장하거나 엣지 장치(200:200_1,??,200_N)로부터 수신한 연산 결과를 일시적 또는 영구적으로 저장할 수 있다. 여기서, 저장 매체(160)는 자기 저장 매체(magnetic storage media) 또는 플래시 저장 매체(flash storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다. The storage medium 160 may temporarily or permanently store data processed by the central device 100 or temporarily or permanently store an operation result received from the edge devices 200:200_1,??,200_N. Here, the storage medium 160 may include a magnetic storage medium or a flash storage medium, but the scope of the present invention is not limited thereto.

제어부(170)는 일종의 중앙처리장치로서 중앙 장치(100) 전체의 동작을 제어할 수 있다. 제어부(170)는 목표로 하는 연산 결과(

Figure 112020087233009-pat00186
)를 생성하기 위해, 행렬을 부분적으로 나눈 다음 이들을 부호화하고 N개의 엣지 장치(200, 200_1,??,200_N)에게 나눠 연산을 하게 한 다음 연산 결과를 받아 복원하도록 전체의 동작을 제어할 수 있다.The control unit 170 is a kind of central processing unit and may control the operation of the entire central unit 100 . The control unit 170 is a target operation result (
Figure 112020087233009-pat00186
), the matrix is partially divided and then encoded, and the N edge devices 200, 200_1,?? .

본 실시 예에서 제어부(170)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.In this embodiment, the control unit 170 may include all kinds of devices capable of processing data, such as a processor. Here, the 'processor' may refer to, for example, a data processing device embedded in hardware having a physically structured circuit to perform a function expressed as a code or command included in a program. As an example of the data processing apparatus embedded in the hardware as described above, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, an application-specific integrated (ASIC) circuit) and a processing device such as a field programmable gate array (FPGA), but the scope of the present invention is not limited thereto.

도 3은 도 2로부터 도출된 행렬 크기에 따라 필요한 엣지 장치의 수를 나타내는 그래프이다. 이하의 설명에서 도 1 및 도 2에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.3 is a graph showing the number of edge devices required according to the matrix size derived from FIG. 2 . In the following description, descriptions of parts overlapping with those of FIGS. 1 and 2 will be omitted.

도 3을 참조하면, 본 실시 예의 성능은 복원된 행렬의 정규화된 오차(normalized error)가 일정 기준(threshold)보다 작게 보장하는 최소 개수의 엣지 장치(200)로 측정하였다. 즉 수학식 14를 만족하는 엣지 장치(200)의 개수이다.Referring to FIG. 3 , the performance of the present embodiment was measured with the minimum number of edge devices 200 that ensure that the normalized error of the reconstructed matrix is smaller than a predetermined threshold. That is, the number of edge devices 200 satisfying Equation 14.

Figure 112020087233009-pat00187
Figure 112020087233009-pat00187

여기서 F는 Frobenius Norm 연산을 의미할 수 있다. 상술한 이론적 수치 및 논문 [1]이 이론적 수치들도 함께 비교하였다.Here, F may mean a Frobenius Norm operation. The above-mentioned theoretical values and this paper [1] were also compared with the theoretical values.

시뮬레이션 환경은 다음과 같다. 오차 기준값은 10-10이며, 계산하고자 하는 원 행렬은 임의의 값을 가진 50p×50m 행렬 A와 50p×50n 행렬 B이며, 이들을 상술한 바와 같이 pm개와 pn개의 50×50 크기의 부분행렬로 쪼개어, 각 엣지 장치(200)에 동일한 컴퓨팅 능력을 사용하도록, 모든 시뮬레이션에서 동일한 크기의 행렬을 곱하도록 하였다.The simulation environment is as follows. The error reference value is 10 -10 , and the original matrix to be calculated is a 50p×50m matrix A and a 50p×50n matrix B with arbitrary values. , in order to use the same computing power for each edge device 200, all simulations were multiplied by matrices of the same size.

결과를 보면, 우선 본 실시 예에 따른 방법이 이론적으로나 실험적으로나 기존 방법보다 더 적은 개수의 엣지 장치(200)를 필요로 함을 알 수 있다. 또한 오차를 일정 수준 이하로 낮추기 위해서는 논문 [1]에서 이론적으로 구한 수치보다 실제로는 더 많은 수의 엣지 장치(200)가 필요함을 알 수 있으며, 그 차이는 행렬의 크기가 커질수록 늘어남을 알 수 있다. 그러나 본 실시 예에서 제안한 방법은 오차가 충분히 낮기 때문에 이론적으로 필요한 엣지 장치(200)의 개수와 큰 차이가 없음을 확인할 수 있다.From the results, it can be seen that the method according to the present embodiment requires a smaller number of edge devices 200 than the conventional method both theoretically and experimentally. In addition, it can be seen that in order to lower the error below a certain level, a larger number of edge devices 200 are actually required than the theoretically obtained value in the thesis [1], and it can be seen that the difference increases as the size of the matrix increases. have. However, since the error is sufficiently low in the method proposed in this embodiment, it can be confirmed that there is no significant difference from the theoretically required number of edge devices 200 .

도 4는 본 실시 예에 따른 군론 기반 분산 행렬 연산 방법을 설명하기 위한 흐름도이다. 이하의 설명에서 도 1 내지 도 3에 대한 설명과 중복되는 부분은 그 설명을 생략하기로 한다.4 is a flowchart illustrating a method for calculating a group theory-based dispersion matrix according to the present embodiment. In the following description, descriptions of parts overlapping with those of FIGS. 1 to 3 will be omitted.

도 4를 참조하면, S410단계에서, 중앙 장치(100)는 곱 연산의 대상이 되는 제1 대상행렬및 제2 대상행렬 각각을 기설정된 파티션 파라미터에 의해 분할하여 수학식 1과 같이 복수의 제1 부분행렬(

Figure 112020087233009-pat00188
) 및 복수의 제2 부분행렬(
Figure 112020087233009-pat00189
)을 생성한다.Referring to FIG. 4 , in step S410 , the central device 100 divides each of a first target matrix and a second target matrix, which are objects of the product operation, by a preset partition parameter, and divides each of the plurality of first target matrices as in Equation 1 submatrix (
Figure 112020087233009-pat00188
) and a plurality of second submatrices (
Figure 112020087233009-pat00189
) is created.

여기서, 중앙 장치(100)는 제1 대상행렬에 대하여 제1 파티션 파라미터(

Figure 112020087233009-pat00190
) 및 제2 파티션 파라미터(
Figure 112020087233009-pat00191
)를 이용하여
Figure 112020087233009-pat00192
로 분할한 제1 부분행렬(
Figure 112020087233009-pat00193
)을 생성할 수 있다. 또한 중앙 장치(100)는 제2 대상행렬 대하여 제2 파티션 파라미터(
Figure 112020087233009-pat00194
) 및 제3 파티션 파라미터(
Figure 112020087233009-pat00195
)를 이용하여
Figure 112020087233009-pat00196
로 분할한 제2 부분행렬(
Figure 112020087233009-pat00197
)을 생성할 수 있다. Here, the central device 100 determines the first partition parameter (
Figure 112020087233009-pat00190
) and the second partition parameter (
Figure 112020087233009-pat00191
) using
Figure 112020087233009-pat00192
The first submatrix divided by (
Figure 112020087233009-pat00193
) can be created. In addition, the central device 100 provides a second partition parameter (
Figure 112020087233009-pat00194
) and the third partition parameter (
Figure 112020087233009-pat00195
) using
Figure 112020087233009-pat00196
The second submatrix divided by (
Figure 112020087233009-pat00197
) can be created.

S420단계에서, 중앙 장치(100)는 제1 부분행렬(

Figure 112020087233009-pat00198
) 및 제2 부분행렬(
Figure 112020087233009-pat00199
)을 군론을 기반으로 부호화하여 수학식 8과 같이 제1 부호화한 부분행렬(
Figure 112020087233009-pat00200
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00201
)을 생성한다.In step S420, the central device 100 is a first sub-matrix (
Figure 112020087233009-pat00198
) and the second submatrix (
Figure 112020087233009-pat00199
) is encoded based on the group theory, and the first encoded submatrix (
Figure 112020087233009-pat00200
) and the second encoded submatrix (
Figure 112020087233009-pat00201
) is created.

중앙 장치(100)는 제1 파티션 파라미터(

Figure 112020087233009-pat00202
), 제2 파티션 파라미터(
Figure 112020087233009-pat00203
) 및 제3 파티션 파라미터(
Figure 112020087233009-pat00204
)에 대한 순환군을 이용하여 제1 부분행렬(
Figure 112020087233009-pat00205
) 및 제2 부분행렬(
Figure 112020087233009-pat00206
)을 각각 군 대수화(group algebra)하여 제1 부호화한 부분행렬(
Figure 112020087233009-pat00207
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00208
)을 생성할 수 있다.The central device 100 determines the first partition parameter (
Figure 112020087233009-pat00202
), the second partition parameter (
Figure 112020087233009-pat00203
) and the third partition parameter (
Figure 112020087233009-pat00204
) using the recursive group for the first submatrix (
Figure 112020087233009-pat00205
) and the second submatrix (
Figure 112020087233009-pat00206
) by group algebra, the first encoded submatrix (
Figure 112020087233009-pat00207
) and the second encoded submatrix (
Figure 112020087233009-pat00208
) can be created.

중앙 장치(100)는 하나 이상의 엣지 장치(200)마다 서로 다른 제1 부호화한 부분행렬(

Figure 112020087233009-pat00209
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00210
)을 생성할 수 있다. 제1 부호화한 부분행렬(
Figure 112020087233009-pat00211
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00212
)은 복소수값(전류/전압 형태)가 아니므로, 엣지 장치(200)로 전송이 불가능하다. 따라서 중앙 장치(100)는 제1 부호화한 부분행렬(
Figure 112020087233009-pat00213
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00214
)에 대하여, 전송할 엣지 장치(200) 마다 서로 다른 순환군의 기약 표현을 적용하여 복소수값으로 변환시킬 수 있다. 순환군의 기약 표현은, 각 엣지 장치(200:200_1,…,200_N)마다 상이한 표현으로 적용될 수 있다. 또한, 순환군의 기약 표현(irreducible representation)은 함수로, 순환군을 결정하는 파라미터(
Figure 112020087233009-pat00215
)와, 제1 파티션 파라미터(
Figure 112020087233009-pat00216
)와, 제2 파티션 파라미터(
Figure 112020087233009-pat00217
)와, 제3 파티션 파라미터(
Figure 112020087233009-pat00218
)를 곱한
Figure 112020087233009-pat00219
개 일 수 있다.The central device 100 is a first encoded sub-matrix (
Figure 112020087233009-pat00209
) and the second encoded submatrix (
Figure 112020087233009-pat00210
) can be created. The first encoded submatrix (
Figure 112020087233009-pat00211
) and the second encoded submatrix (
Figure 112020087233009-pat00212
) is not a complex value (current/voltage form), so it is impossible to transmit to the edge device 200 . Therefore, the central device 100 is the first encoded sub-matrix (
Figure 112020087233009-pat00213
) and the second encoded submatrix (
Figure 112020087233009-pat00214
), it can be converted into a complex value by applying a reduced representation of a different cyclic group for each edge device 200 to be transmitted. The reduced expression of the cyclic group may be applied as a different expression for each edge device 200:200_1, ..., 200_N. In addition, the irreducible representation of a recursive group is a function, a parameter that determines the recursive group (
Figure 112020087233009-pat00215
) and the first partition parameter (
Figure 112020087233009-pat00216
) and the second partition parameter (
Figure 112020087233009-pat00217
) and the third partition parameter (
Figure 112020087233009-pat00218
) multiplied by
Figure 112020087233009-pat00219
can be a dog

S430단계에서, 중앙 장치(100)는 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬(

Figure 112020087233009-pat00220
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00221
)을 엣지 장치(200)로 전송한다.In step S430, the central device 100 applies the reduced representation of the recursive group to convert the first encoded sub-matrix (
Figure 112020087233009-pat00220
) and the second encoded submatrix (
Figure 112020087233009-pat00221
) to the edge device 200 .

S440단계에서, 엣지 장치(200)는 중앙 장치(100)가 전송한 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬(

Figure 112020087233009-pat00222
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00223
)을 수신한다.In step S440, the edge device 200 converts the first encoded sub-matrix (
Figure 112020087233009-pat00222
) and the second encoded submatrix (
Figure 112020087233009-pat00223
) is received.

S450단계에서, 엣지 장치(200)는 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬(

Figure 112020087233009-pat00224
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00225
)에 대한 곱 연산을 수행하여 생성한다.In step S450, the edge device 200 applies the reduced representation of the recursive group to convert the first encoded sub-matrix (
Figure 112020087233009-pat00224
) and the second encoded submatrix (
Figure 112020087233009-pat00225
) by performing a multiplication operation on

S460단계에서, 엣지 장치(200)는 곱 연산 결과(

Figure 112020087233009-pat00226
)를 중앙 장치(100)로 전송한다.In step S460, the edge device 200 performs a multiplication operation result (
Figure 112020087233009-pat00226
) to the central device 100 .

S470단계에서, 중앙 장치(100)는 엣지 장치(200)가 전송한 곱 연산 결과(

Figure 112020087233009-pat00227
)를 수신한다.In step S470, the central device 100 transmits the product operation result (
Figure 112020087233009-pat00227
) is received.

S480단계에서, 중앙 장치(100)는 엣지 장치(200)로부터 수신한 곱 연산 결과(

Figure 112020087233009-pat00228
)에 복원 조건을 적용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과(
Figure 112020087233009-pat00229
)를 복원한다.In step S480, the central device 100 receives the product operation result (
Figure 112020087233009-pat00228
) by applying the restoration condition to the product operation result of the first target matrix and the second target matrix (
Figure 112020087233009-pat00229
) is restored.

여기서, 복원 조건은, 수학식 12와 같은 순환군의 기약 표현을 적용한 제1 부호화한 부분행렬(

Figure 112020087233009-pat00230
) 및 제2 부호화한 부분행렬(
Figure 112020087233009-pat00231
)을, 어느 한 엣지 장치(예를 들어, 엣지 장치(200_
Figure 112020087233009-pat00232
))로 전송하면, 제1 파티션 파라미터(
Figure 112020087233009-pat00233
)와, 제2 파티션 파라미터(
Figure 112020087233009-pat00234
)와, 제3 파티션 파라미터(
Figure 112020087233009-pat00235
)를 곱한
Figure 112020087233009-pat00236
개의 엣지 장치(200)를 이용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과를 복원 가능하다는 것을 포함할 수 있다. 복원 조건은, 기약 표현에 순환군의 원소(
Figure 112020087233009-pat00237
)를 대입하여 획득한 복소항(
Figure 112020087233009-pat00238
)의 지수(
Figure 112020087233009-pat00239
)를 소정의 값(
Figure 112020087233009-pat00240
)으로 나눈 나머지가 각 엣지 장치(200)별로 상이한 조건을 포함할 수 있다. 중앙 장치(100)는 복원 조건을 만족하는 경우, 수학식 3을 이용하여, 각 엣지 장치(200)로부터 수신한 곱 연산 결과(
Figure 112020087233009-pat00241
)에 대하여 열 벡터(
Figure 112020087233009-pat00242
)를 생성할 수 있다. 중앙 장치(100)는 자신이 어떻게 부호화를 수행하였는지 알고 있기 때문에 수학식 4와 같은
Figure 112020087233009-pat00243
Figure 112020087233009-pat00244
사이의 관계식을 이용하여, 각 엣지 장치(200, 200_1,??,200_N)로부터 수신한 곱 연산 결과인
Figure 112020087233009-pat00245
및 부호화 과정을 행렬
Figure 112020087233009-pat00246
로 표현하였을 때, 이에 대한 역행렬
Figure 112020087233009-pat00247
에 기반하여,
Figure 112020087233009-pat00248
를 획득하고 원래 원하고자 하는 곱 연산 결과(
Figure 112020087233009-pat00249
)를 복원할 수 있다.Here, the restoration condition is the first encoded submatrix (
Figure 112020087233009-pat00230
) and the second encoded submatrix (
Figure 112020087233009-pat00231
), any one edge device (eg, edge device 200_
Figure 112020087233009-pat00232
)), the first partition parameter (
Figure 112020087233009-pat00233
) and the second partition parameter (
Figure 112020087233009-pat00234
) and the third partition parameter (
Figure 112020087233009-pat00235
) multiplied by
Figure 112020087233009-pat00236
It may include that it is possible to restore a product operation result of the first target matrix and the second target matrix using the edge device 200 . The restoration condition is an element of the cyclic group (
Figure 112020087233009-pat00237
) obtained by substituting the complex term (
Figure 112020087233009-pat00238
) of the exponent (
Figure 112020087233009-pat00239
) to a given value (
Figure 112020087233009-pat00240
) may include different conditions for each edge device 200 . When the restoration condition is satisfied, the central device 100 uses Equation 3 to obtain the product operation result (
Figure 112020087233009-pat00241
) with respect to the column vector(
Figure 112020087233009-pat00242
) can be created. Since the central device 100 knows how it has performed encoding, the same as in Equation 4
Figure 112020087233009-pat00243
Wow
Figure 112020087233009-pat00244
Using the relational expression between
Figure 112020087233009-pat00245
and matrix encoding process
Figure 112020087233009-pat00246
When expressed as , the inverse matrix
Figure 112020087233009-pat00247
based on,
Figure 112020087233009-pat00248
to obtain the desired multiplication result (
Figure 112020087233009-pat00249
) can be restored.

이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, CD-ROM 및 DVD와 같은 광기록 매체, 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical medium), 및 ROM, RAM, 플래시 메모리 등과 같은, 프로그램 명령어를 저장하고 실행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다.The above-described embodiment according to the present invention may be implemented in the form of a computer program that can be executed through various components on a computer, and such a computer program may be recorded in a computer-readable medium. In this case, the medium includes a hard disk, a magnetic medium such as a floppy disk and a magnetic tape, an optical recording medium such as CD-ROM and DVD, a magneto-optical medium such as a floppy disk, and a ROM. , RAM, flash memory, and the like, and hardware devices specially configured to store and execute program instructions.

한편, 상기 컴퓨터 프로그램은 본 발명을 위하여 특별히 설계되고 구성된 것이거나 컴퓨터 소프트웨어 분야의 당업자에게 공지되어 사용 가능한 것일 수 있다. 컴퓨터 프로그램의 예에는, 컴파일러에 의하여 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용하여 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드도 포함될 수 있다.Meanwhile, the computer program may be specially designed and configured for the present invention, or may be known and used by those skilled in the computer software field. Examples of the computer program may include not only machine code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter or the like.

본 발명의 명세서(특히 특허청구범위에서)에서 "상기"의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 본 발명에서 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 적용한 발명을 포함하는 것으로서(이에 반하는 기재가 없다면), 발명의 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. In the specification of the present invention (especially in the claims), the use of the term "above" and similar referential terms may be used in both the singular and the plural. In addition, when a range is described in the present invention, each individual value constituting the range is described in the detailed description of the invention as including the invention to which individual values belonging to the range are applied (unless there is a description to the contrary). same as

본 발명에 따른 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 따라 본 발명이 한정되는 것은 아니다. 본 발명에서 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 본 발명을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 본 발명의 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.The steps constituting the method according to the present invention may be performed in an appropriate order unless the order is explicitly stated or there is no description to the contrary. The present invention is not necessarily limited to the order in which the steps are described. The use of all examples or exemplary terms (eg, etc.) in the present invention is merely for the purpose of describing the present invention in detail, and the scope of the present invention is limited by the examples or exemplary terms unless limited by the claims. it is not going to be In addition, those skilled in the art will appreciate that various modifications, combinations, and changes may be made in accordance with design conditions and factors within the scope of the appended claims or their equivalents.

따라서, 본 발명의 사상은 상기 설명된 실시 예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 또는 이로부터 등가적으로 변경된 모든 범위는 본 발명의 사상의 범주에 속한다고 할 것이다.Therefore, the spirit of the present invention should not be limited to the above-described embodiments, and the scope of the spirit of the present invention is not limited to the scope of the scope of the present invention. will be said to belong to

100: 중앙 장치
200: 엣지 장치
300: 사용자 단말기
400: 네트워크
100: central unit
200: edge device
300: user terminal
400: network

Claims (19)

중앙 장치 및 하나 이상의 엣지 장치를 포함하는 분산 컴퓨팅 환경에서 상기 중앙 장치에 의한 군론(group algebra) 기반의 분산 행렬 연산을 수행하는 방법으로서,
곱 연산의 대상이 되는 제1 대상행렬 및 제2 대상행렬 각각을 기설정된 파티션 파라미터에 의해 분할하여 복수의 제1 부분행렬 및 복수의 제2 부분행렬을 생성하는 단계;
상기 제1 부분행렬 및 상기 제2 부분행렬을 군론을 기반으로 부호화하여 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 생성하는 단계;
상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬을 상기 하나 이상의 엣지 장치로 전송하고, 상기 하나 이상의 엣지 장치로부터 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬에 대한 곱 연산 결과를 획득하는 단계; 및
상기 엣지 장치로부터 수신한 상기 곱 연산 결과에 복원 조건을 적용하여 상기 제1 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원하는 단계를 포함하고,
상기 복수의 제1 부분행렬 및 복수의 제2 부분행렬을 생성하는 단계는,
상기 제1 대상행렬을 상기 기설정된 파티션 파라미터 중 제1 파티션 파라미터 및 제2 파티션 파라미터에 의해 분할하여 상기 제1 부분행렬을 생성하는 단계; 및
상기 제2 대상행렬을 상기 기설정된 파티션 파라미터 중 상기 제2 파티션 파라미터 및 제3 파티션 파라미터에 의해 분할하여 상기 제2 부분행렬을 생성하는 단계를 포함하고,
상기 제1 파티션 파라미터는 상기 제1 대상행렬에서 행에 대한 파티션 파라미터를 포함하고, 상기 제2 파티션 파라미터는 상기 제1 대상행렬에서 열에 대한 파티션 파라미터 및 상기 제2 대상행렬에서 행에 대한 파티션 파라미터를 포함하며, 상기 제3 파티션 파라미터는 상기 제2 대상행렬에서 열에 대한 파티션 파라미터를 포함하는,
군론 기반의 분산 행렬 연산 방법.
A method of performing a group algebra-based distributed matrix operation by the central device in a distributed computing environment including a central device and one or more edge devices, the method comprising:
generating a plurality of first submatrices and a plurality of second submatrices by dividing each of the first target matrix and the second target matrix to be multiplied by a predetermined partition parameter;
generating a first encoded submatrix and a second encoded submatrix by encoding the first submatrix and the second submatrix based on group theory;
Transmitting the first coded submatrix and the second coded submatrix to the one or more edge devices, and multiplying the first coded submatrix and the second coded submatrix from the one or more edge devices obtaining a result; and
Restoring the product operation result of the first target matrix and the second target matrix by applying a restoration condition to the product operation result received from the edge device,
The generating of the plurality of first sub-matrices and the plurality of second sub-matrices comprises:
generating the first sub-matrix by dividing the first target matrix according to a first partition parameter and a second partition parameter among the preset partition parameters; and
generating the second sub-matrix by dividing the second target matrix according to the second partition parameter and the third partition parameter among the preset partition parameters;
The first partition parameter includes a partition parameter for a row in the first target matrix, and the second partition parameter includes a partition parameter for a column in the first target matrix and a partition parameter for a row in the second target matrix Including, wherein the third partition parameter includes a partition parameter for a column in the second target matrix,
A method of calculating the variance matrix based on the group theory.
삭제delete 제 1 항에 있어서,
상기 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 생성하는 단계는,
상기 제1 파티션 파라미터, 상기 제2 파티션 파라미터 및 상기 제3 파티션 파라미터에 대한 순환군을 이용하여 상기 제1 부분행렬 및 상기 제2 부분행렬을 각각 군 대수화(group algebra)하여 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬을 생성하는 단계를 포함하는,
군론 기반의 분산 행렬 연산 방법.
The method of claim 1,
The generating of the first coded sub-matrix and the second coded sub-matrix comprises:
The first encoding is performed by group algebraing the first sub-matrix and the second sub-matrix using a recursive group for the first partition parameter, the second partition parameter, and the third partition parameter, respectively. generating a sub-matrix and the second encoded sub-matrix,
A method of calculating the variance matrix based on the group theory.
제 1 항에 있어서,
상기 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 생성하는 단계는,
상기 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬 생성 시에, 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬에 순환군의 기약 표현(irreducible representation)을 적용하여 복소수값의 신호로 변환시키는 단계를 포함하는,
군론 기반의 분산 행렬 연산 방법.
The method of claim 1,
The generating of the first coded sub-matrix and the second coded sub-matrix comprises:
When generating the first coded submatrix and the second coded submatrix, an irreducible representation of a recursive group is applied to the first coded submatrix and the second coded submatrix to obtain a complex-valued signal. comprising the step of converting to
A method of calculating the variance matrix based on the group theory.
제 4 항에 있어서,
상기 순환군의 기약 표현은, 각 엣지 장치마다 상이한 표현으로 적용되는,
군론 기반의 분산 행렬 연산 방법.
5. The method of claim 4,
The reduced expression of the cyclic group is applied as a different expression for each edge device,
A method of calculating the variance matrix based on the group theory.
제 4 항에 있어서,
상기 순환군의 기약 표현은,
함수로 상기 제1 파티션 파라미터와, 상기 제2 파티션 파라미터와, 상기 제3 파티션 파라미터를 곱한 개수에 대응되는,
군론 기반의 분산 행렬 연산 방법.
5. The method of claim 4,
The reduced expression of the circulatory group is,
Corresponding to the number obtained by multiplying the first partition parameter, the second partition parameter, and the third partition parameter by a function,
A method of calculating the variance matrix based on the group theory.
제 4 항에 있어서,
상기 제1 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원하는 단계에서,
상기 복원 조건은,
상기 기약 표현에 상기 순환군의 원소(
Figure 112020087233009-pat00250
)를 대입하여 획득한 복소항(
Figure 112020087233009-pat00251
)의 지수(
Figure 112020087233009-pat00252
)를 소정의 값(
Figure 112020087233009-pat00253
)으로 나눈 나머지가 각 엣지 장치별로 상이한 조건을 포함하는,
군론 기반의 분산 행렬 연산 방법.
5. The method of claim 4,
In the step of restoring a product operation result of the first target matrix and the second target matrix,
The restoration conditions are:
In the reduced expression, the elements of the cyclic group (
Figure 112020087233009-pat00250
) obtained by substituting the complex term (
Figure 112020087233009-pat00251
) of the exponent (
Figure 112020087233009-pat00252
) to a given value (
Figure 112020087233009-pat00253
) and the remainder includes different conditions for each edge device,
A method of calculating the variance matrix based on the group theory.
제 4 항에 있어서,
상기 제1 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원하는 단계에서,
상기 복원 조건은,
상기 중앙 장치가, 상기 순환군의 기약 표현을 적용한 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬을 어느 한 상기 엣지 장치로 전송하면, 상기 제1 파티션 파라미터와, 상기 제2 파티션 파라미터와, 상기 제3 파티션 파라미터를 곱한 개수의 엣지 장치를 이용하여 상기 제1 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원 가능하다는 것을 포함하는,
군론 기반의 분산 행렬 연산 방법.
5. The method of claim 4,
In the step of restoring a product operation result of the first target matrix and the second target matrix,
The restoration conditions are:
When the central device transmits the first encoded submatrix and the second encoded submatrix to which the reduced representation of the cyclic group is applied to any one of the edge devices, the first partition parameter and the second partition parameter And, by using the number of edge devices multiplied by the third partition parameter, it is possible to restore the product operation result of the first target matrix and the second target matrix,
A method of calculating the variance matrix based on the group theory.
제 1 항에 있어서,
상기 제1 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원하는 단계는,
상기 엣지 장치로부터 수신한 상기 곱 연산 결과 및 상기 부호화 과정을 행렬
Figure 112020087233009-pat00254
로 표현하였을 때, 이에 대한 역행렬
Figure 112020087233009-pat00255
에 기반하여 상기 곱 연산을 복원하는 단계를 포함하는,
군론 기반의 분산 행렬 연산 방법.
The method of claim 1,
Restoring the product operation result of the first target matrix and the second target matrix comprises:
The result of the multiplication operation received from the edge device and the encoding process are displayed in a matrix
Figure 112020087233009-pat00254
When expressed as , the inverse matrix
Figure 112020087233009-pat00255
Comprising the step of restoring the product operation based on
A method of calculating the variance matrix based on the group theory.
컴퓨터를 이용하여 제 1 항 및 제 3 항 내지 제 9 항의 방법 중 어느 한 항의 방법을 실행시키기 위한 컴퓨터 프로그램이 저장된 컴퓨터 판독 가능한 기록 매체.A computer-readable recording medium storing a computer program for executing the method of any one of claims 1 and 3 to 9 using a computer. 중앙 장치 및 하나 이상의 엣지 장치를 포함하는 분산 컴퓨팅 환경에서 군론(group algebra) 기반의 분산 행렬 연산을 수행하는 장치로서,
상기 중앙 장치가,
곱 연산의 대상이 되는 제1 대상행렬 및 제2 대상행렬 각각을 기설정된 파티션 파라미터에 의해 분할하여 복수의 제1 부분행렬 및 복수의 제2 부분행렬을 생성하는 분할부;
상기 제1 부분행렬 및 상기 제2 부분행렬을 군론을 기반으로 부호화하여 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬을 생성하는 부호화부;
상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬을 상기 하나 이상의 엣지 장치로 전송하고, 상기 하나 이상의 엣지 장치로부터 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬에 대한 곱 연산 결과를 획득하는 처리부; 및
상기 엣지 장치로부터 수신한 상기 곱 연산 결과에 복원 조건을 적용하여 상기 제1 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원하는 복원부를 포함하고,
상기 분할부는,
상기 제1 대상행렬을 상기 기설정된 파티션 파라미터 중 제1 파티션 파라미터 및 제2 파티션 파라미터에 의해 분할하여 상기 제1 부분행렬을 생성하고,
상기 제2 대상행렬을 상기 기설정된 파티션 파라미터 중 상기 제2 파티션 파라미터 및 제3 파티션 파라미터에 의해 분할하여 상기 제2 부분행렬을 생성하도록 구성되고,
상기 제1 파티션 파라미터는 상기 제1 대상행렬에서 행에 대한 파티션 파라미터를 포함하고, 상기 제2 파티션 파라미터는 상기 제1 대상행렬에서 열에 대한 파티션 파라미터 및 상기 제2 대상행렬에서 행에 대한 파티션 파라미터를 포함하며, 상기 제3 파티션 파라미터는 상기 제2 대상행렬에서 열에 대한 파티션 파라미터를 포함하는,
군론 기반의 분산 행렬 연산 장치.
A device for performing a group algebra-based distributed matrix operation in a distributed computing environment including a central device and one or more edge devices,
the central device,
a division unit generating a plurality of first sub-matrices and a plurality of second sub-matrices by dividing each of the first and second target matrices to be multiplied by a predetermined partition parameter;
an encoder for encoding the first submatrix and the second submatrix based on group theory to generate a first encoded submatrix and a second encoded submatrix;
Transmitting the first coded submatrix and the second coded submatrix to the one or more edge devices, and multiplying the first coded submatrix and the second coded submatrix from the one or more edge devices a processing unit for obtaining a result; and
and a restoration unit configured to restore a product operation result of the first target matrix and the second target matrix by applying a restoration condition to the product operation result received from the edge device,
The division part,
generating the first sub-matrix by dividing the first target matrix according to a first partition parameter and a second partition parameter among the preset partition parameters;
and generate the second sub-matrix by dividing the second target matrix according to the second partition parameter and the third partition parameter among the preset partition parameters;
The first partition parameter includes a partition parameter for a row in the first target matrix, and the second partition parameter includes a partition parameter for a column in the first target matrix and a partition parameter for a row in the second target matrix Including, wherein the third partition parameter includes a partition parameter for a column in the second target matrix,
A group theory-based dispersion matrix calculator.
삭제delete 제 11 항에 있어서,
상기 부호화부는,
상기 제1 파티션 파라미터, 상기 제2 파티션 파라미터 및 상기 제3 파티션 파라미터에 대한 순환군을 이용하여 상기 제1 부분행렬 및 상기 제2 부분행렬을 각각 군 대수화(group algebra)하여 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬을 생성하도록 구성되는,
군론 기반의 분산 행렬 연산 장치.
12. The method of claim 11,
The encoding unit,
The first encoding is performed by group algebraing the first sub-matrix and the second sub-matrix using a recursive group for the first partition parameter, the second partition parameter, and the third partition parameter, respectively. configured to generate a sub-matrix and the second coded sub-matrix,
A group theory-based dispersion matrix calculator.
제 11 항에 있어서,
상기 부호화부는,
상기 제1 부호화한 부분행렬 및 제2 부호화한 부분행렬 생성 시에, 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬에 순환군의 기약 표현(irreducible representation)을 적용하여 복소수값의 신호로 변환시키도록 구성되는,
군론 기반의 분산 행렬 연산 장치.
12. The method of claim 11,
The encoding unit,
When generating the first coded submatrix and the second coded submatrix, an irreducible representation of a recursive group is applied to the first coded submatrix and the second coded submatrix to obtain a complex-valued signal. configured to convert to
A group theory-based dispersion matrix calculator.
제 14 항에 있어서,
상기 순환군의 기약 표현은, 각 엣지 장치마다 상이한 표현으로 적용되는,
군론 기반의 분산 행렬 연산 장치.
15. The method of claim 14,
The reduced expression of the cyclic group is applied as a different expression for each edge device,
A group theory-based dispersion matrix calculator.
제 14 항에 있어서,
상기 순환군의 기약 표현은,
함수로 상기 제1 파티션 파라미터와, 상기 제2 파티션 파라미터와, 상기 제3 파티션 파라미터를 곱한 개수에 대응되는,
군론 기반의 분산 행렬 연산 장치.
15. The method of claim 14,
The reduced expression of the circulatory group is,
Corresponding to the number obtained by multiplying the first partition parameter, the second partition parameter, and the third partition parameter by a function,
A group theory-based dispersion matrix calculator.
제 14 항에 있어서,
상기 복원부에서,
상기 복원 조건은,
상기 기약 표현에 상기 순환군의 원소(
Figure 112020087233009-pat00256
)를 대입하여 획득한 복소항(
Figure 112020087233009-pat00257
)의 지수(
Figure 112020087233009-pat00258
)를 소정의 값(
Figure 112020087233009-pat00259
)으로 나눈 나머지가 각 엣지 장치별로 상이한 조건을 포함하는,
군론 기반의 분산 행렬 연산 장치.
15. The method of claim 14,
In the restoration unit,
The restoration conditions are:
In the reduced expression, the elements of the cyclic group (
Figure 112020087233009-pat00256
) obtained by substituting the complex term (
Figure 112020087233009-pat00257
) of the exponent (
Figure 112020087233009-pat00258
) to a given value (
Figure 112020087233009-pat00259
) and the remainder includes different conditions for each edge device,
A group theory-based dispersion matrix calculator.
제 14 항에 있어서,
상기 복원부에서,
상기 복원 조건은,
상기 중앙 장치가, 상기 순환군의 기약 표현을 적용한 상기 제1 부호화한 부분행렬 및 상기 제2 부호화한 부분행렬을 어느 한 상기 엣지 장치로 전송하면, 상기 제1 파티션 파라미터와, 상기 제2 파티션 파라미터와, 상기 제3 파티션 파라미터를 곱한 개수의 엣지 장치를 이용하여 상기 제1 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원 가능하다는 것을 포함하는,
군론 기반의 분산 행렬 연산 장치.
15. The method of claim 14,
In the restoration unit,
The restoration conditions are:
When the central device transmits the first encoded submatrix and the second encoded submatrix to which the reduced representation of the cyclic group is applied to any one of the edge devices, the first partition parameter and the second partition parameter And, by using the number of edge devices multiplied by the third partition parameter, it is possible to restore the product operation result of the first target matrix and the second target matrix,
A group theory-based dispersion matrix calculator.
제 11 항에 있어서,
상기 복원부는,
상기 엣지 장치로부터 수신한 상기 곱 연산 결과 및 상기 부호화 과정을 행렬
Figure 112020087233009-pat00260
로 표현하였을 때, 이에 대한 역행렬
Figure 112020087233009-pat00261
에 기반하여 상기 곱 연산을 복원하도록 구성되는,
군론 기반의 분산 행렬 연산 장치.
12. The method of claim 11,
The restoration unit,
The result of the multiplication operation received from the edge device and the encoding process are displayed in a matrix
Figure 112020087233009-pat00260
When expressed as , the inverse matrix
Figure 112020087233009-pat00261
configured to restore the product operation based on
A group theory-based dispersion matrix calculator.
KR1020200104198A 2020-08-19 2020-08-19 Distributed matrix computing apparatus based on group algebra and method of same KR102361647B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200104198A KR102361647B1 (en) 2020-08-19 2020-08-19 Distributed matrix computing apparatus based on group algebra and method of same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200104198A KR102361647B1 (en) 2020-08-19 2020-08-19 Distributed matrix computing apparatus based on group algebra and method of same

Publications (1)

Publication Number Publication Date
KR102361647B1 true KR102361647B1 (en) 2022-02-11

Family

ID=80266260

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200104198A KR102361647B1 (en) 2020-08-19 2020-08-19 Distributed matrix computing apparatus based on group algebra and method of same

Country Status (1)

Country Link
KR (1) KR102361647B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881243A (en) * 2014-05-27 2015-09-02 陈杰 Array data protecting method and system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104881243A (en) * 2014-05-27 2015-09-02 陈杰 Array data protecting method and system

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
논문 [1] Q. Yu, M. A. Maddah-Ali, and A. S. Avestimehr, "Straggler mitigation in distributed matrix multiplication: Fundamental limits and optimal coding," IEEE Transactions on Information Theory, vol. 66, no. 3, pp. 1920-1933, 2020.
논문 [2] H. Cohn and C. Umans, "A group-theoretic approach to fast matrix multiplication," in Proc. 44th Annual IEEE Symp. Foundations of Computer Science, pp. 438-449, 2003.
논문1* *
논문2* *

Similar Documents

Publication Publication Date Title
Yu et al. Polynomial codes: an optimal design for high-dimensional coded matrix multiplication
Yu et al. Coded fourier transform
Aghababa A Lyapunov-based control scheme for robust stabilization of fractional chaotic systems
US11580441B2 (en) Model training method and apparatus
US20180322219A1 (en) Simplification of large networks and graphs
WO2014007311A1 (en) Secret sharing system, data distribution device, distributed data conversion device, secret sharing method, and program
CN110262773B (en) Computer data processing method and device
KR102111871B1 (en) Method and apparatus for generating random string
WO2020074989A1 (en) Data representation for dynamic precision in neural network cores
Ilyas Ahmad et al. Krylov subspace methods for model reduction of quadratic‐bilinear systems
Sikander et al. New technique for system simplification using Cuckoo search and ESA
Ebihara et al. Steady‐state analysis of delay interconnected positive systems and its application to formation control
Rodgers et al. Adaptive integration of nonlinear evolution equations on tensor manifolds
JP2016173532A (en) Sharing value conversion system, sharing value conversion device, sharing value conversion method, and program
Marzban et al. Solution of linear optimal control problems with time delay using a composite Chebyshev finite difference method
CN109974716B (en) Geographic position matching method and device, storage medium and server
CN116127164B (en) Training method of codebook quantization model, search data quantization method and device thereof
KR102361647B1 (en) Distributed matrix computing apparatus based on group algebra and method of same
Pranić et al. A rational Arnoldi process with applications
CN114968182A (en) Operator splitting method, control method and device for storage and computation integrated chip
Lu et al. One more efficient parallel initialization algorithm of k-means with mapreduce
Stamenković et al. Lowpass filters with almost‐maximally flat passband and Chebyshev stopband attenuation
KR102621139B1 (en) Method and apparatus for distributed matrix multiplication baed on frame quantization
KR102307111B1 (en) Method for integer comparison using ternary vector encoding
CN113300811B (en) Quasi-cyclic code construction method, encoding method, system, electronic device, and medium

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant