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 PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1076—Parity data used in redundant arrays of independent storages, e.g. in RAID systems
- G06F11/1088—Reconstruction on already foreseen single or plurality of spare disks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/38—Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
- G06F7/48—Methods 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/52—Multiplying; Dividing
- G06F7/523—Multiplying only
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/29—Coding, 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/2906—Coding, 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/2927—Decoding 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
Description
본 발명은 군론(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.
본 발명의 일 과제는, 최소 개의 엣지 장치가 있어야 원래 원하는 행렬 연산을 복구할 수 있다고 까지만 알려져 있는 종래 기술과 비교 시에 개보다 더 적은 개수의 엣지 장치로 행렬 연산을 복구하는데 있다.One problem of the present invention is, at least 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, 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
중앙 장치(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
본 실시 예에서 사용자 단말기(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
네트워크(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)에서 두 행렬 와 를 곱하는 엣지 프로세싱 시스템을 고려할 수 있다. 본 실시 예에서는 중앙 장치(100)가 의 연산 결과를 목표하고, 이를 위해 행렬을 부분적으로 나눈 다음 이들을 부호화(encoding)하고 N개의 엣지 장치(200, 200_1,??,200_N)에게 나눠 연산을 하게 한 다음 연산 결과를 받아 복원하는 방식을 포함할 수 있다.Two matrices in the
구체적인 방식은 다음과 같다. 우선 중앙 장치(100)는 다음과 같이 곱 연산의 대상이 되는 제1 대상행렬 및 제2 대상행렬을 하기 수학식 1과 같이 제1 부분행렬() 및 제2 부분행렬()로 나눌 수 있다.The specific method is as follows. First, the
그 다음 중앙 장치(100)는 제1 부분행렬() 및 제2 부분행렬()을 부호화한 와 를 생성하고, 각 엣지 장치(200, 200_1,??,200_N)에 서로 다른 와 를 전송할 수 있다.Then the
각 엣지 장치(200, 200_1,??,200_N)는 수신한 와 를 연산할 수 있다.Each edge device (200, 200_1,??, 200_N) receives Wow can be calculated.
그러면 중앙 장치(100)는 각 엣지 장치(200, 200_1,??,200_N)의 연산 를 수신하여 다음 단계로 복원을 할 수 있다. 의 연결한 형태(concatenated version)의 행렬을 하기 수학식 2와 같이 로 표현할 수 있다.Then, the
또한 우리가 원하는 부분행렬 곱들인 꼴을 하기 수학식 3과 같은 열 벡터(column vector)로 정의할 수 있다.Also the submatrix products we want The shape may be defined as a column vector as in Equation 3 below.
중앙 장치(100)는 본인이 어떻게 부호화 했는지 알고 있기 때문에 와 사이의 관계식을 수학식 4와 같이 알 수 있다.Because the
따라서 중앙 장치(100)는 를 각 엣지 장치(200, 200_1,??,200_N)로부터 수신한 결과인 에 곱하고, 를 획득하여 원래 원하고자 한 를 구할 수 있다.Therefore, the
본 실시 예에서는 핵심 아이디어에 초점을 맞추기 위하여, 공지되어 있는 군론(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)을 정의하면, 주어진 그룹 에 대해 부분집합 의 오른 몫집합(right quotient set)을 로 표기한다. (즉, ). 만약 세 부분집합 이 각 원소 , , 가 하기 수학식 5와 같은 조건을 만족하면, 우리는 가 삼중 곱 법칙(triple product property)을 만족한다고 부를 수 있다.By defining the triple product property, a given group about a subset The right quotient set of marked with (In other words, ). If three subsets each of these elements , , If a satisfies the condition as in Equation 5 below, we get can be said to satisfy the triple product property.
여기서, 행렬 곱을 군 대수(group algebra)로 부호화하는 방법은, 삼중 곱 법칙(triple product property)을 만족하는 를 고려하는 것이다. 또한 두 개의 복소 행렬, 행렬 , 행렬 를 고려한다. 이를 통해 군 대수(group algebra) 부호화를 정의하면 하기 수학식 6과 같이 표현할 수 있다. Here, the method of encoding the matrix product as a group algebra is a method that satisfies the triple product property. will consider Also two complex matrices, procession , procession consider If the group algebra encoding is defined through this, it can be expressed as in Equation 6 below.
수학식 6을 획득하면, 의 군 원소(group element) 의 계수들로부터 행렬 곱의 값을 얻을 수 있다. 이 개념은 직관적으로 설명하면 DFT(discrete fourier transform)의 순환 컨벌루션(cyclic convolution) 개념을 임의의 군으로 일반화한 것으로 생각할 수 있다.If Equation 6 is obtained, group element of from the coefficients of 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.
이어서 이 서로소인 경우에, 여러 군 중 순환군(cyclic group)을 활용한 분산 행렬 곱 기법을 제안하고자 한다. 주어진 에 대해서, 순환군 를 고려할 수 있다. 여기서 하기 수학식 7과 같이 순환군 의 3개의 부분집합을 고려할 수 있다. next In this case, we propose a dispersion matrix multiplication technique using a cyclic group among several groups. given About the circulatory group can be considered. Here, as in Equation 7 below, the cyclic group We can consider three subsets of
그러면 는 삼중 곱 법칙(triple product property)을 만족함을 증명할 수 있다(증명은 관련 논문 [2]에 기재됨). 따라서 논문 [2]와 같이 순환군 를 활용하여 수학식 8과 같은 부호화를 고려할 수 있다.then 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 Encoding as in Equation 8 can be considered by using
여기서, 엣지 장치(200:200_1,??,200_N)가 연산하여 중앙 장치(100)가 획득하는 연산 결과 를 계산하면 수학식 9와 같이 표현할 수 있다.Here, the calculation result obtained by the
수학식 8에서 첫 번째 줄의 계수는 중앙 장치(100)가 원하는 행렬의 결과값들이 나오는 것을 확인할 수 있다. 실제로 이 연산들을 각 엣지 장치(200:200_1,??,200_N)에게 주고 연산시키기 위해서는 와 를 복소수값의 신호로 변환할 수 있어야 한다. 그룹과 벡터 공간 사이의 관계를 다루는 표현론(representation theory)을 활용하면 복소수 값으로 변환할 수 있다. 순환군에 대한 약분 불가능한 표현(기약 표현, irreducible representation)은 함수로 총 개 이며, 하기 수학식 10과 같이 표현할 수 있다.In Equation 8, the coefficient of the first line is the desired value of the
여기서, 이고, 이며, 은 순환군으로써 임의의 정수()를 으로 나눈 나머지의 집합()이다.here, ego, is, is an arbitrary integer ( )cast The set of remainders divided by ( )to be.
이제 실제로 어떻게 부호화를 하는지 설명하고자 한다. 앞서 말한 것처럼 단순히 서로 다른 기약 표현을 골라 와 에게 함수 를 씌운 다음에 각 엣지 장치(200:200_1,??,200_N)에게 전달하는 것으로는 나중에 중앙 장치(100)가 받았을 때 원 함수의 복원을 보장할 수 없다. Now I want to explain how to actually encode it. As mentioned earlier, simply choosing different promise expressions Wow function to By passing ? to each edge device (200:200_1,??,200_N) after covering , restoration of the original function cannot be guaranteed when the
따라서 분산 행렬 곱의 복원 조건을 다음과 같이 제시하고자 한다. 중앙 장치(100)는 각 번째 엣지 장치(200_)에게 두 개의 부분행렬 로 부호화하여 전송해주면, 개의 엣지 장치(200)의 개수만으로 신호를 복원할 수 있다. 여기서 는 군(group) 원소를 입력으로 받는 함수로 수학식 11과 같이 정의 된다.Therefore, we would like to present the restoration condition of the dispersion matrix product as follows. The
여기서, 이고, 이며, 은 순환군으로써 임의의 정수()를 으로 나눈 나머지의 집합()이고, 으로 나눈 나머지가 서로 달라야 한다. 즉, 이다. here, ego, is, is an arbitrary integer ( )cast The set of remainders divided by ( )ego, The remainder of dividing by must be different. in other words, 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
통신부(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
분할부(120)는 곱 연산의 대상이 되는 제1 대상행렬및 제2 대상행렬 각각을 기설정된 파티션 파라미터에 의해 분할하여 수학식 1과 같이 복수의 제1 부분행렬() 및 복수의 제2 부분행렬()을 생성할 수 있다.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 ( ) and a plurality of second submatrices ( ) can be created.
여기서 파티션 파라미터는 제1 파티션 파라미터 내지 제3 파티션 파라미터를 포함할 수 있다. 제1 파티션 파라미터()는 제1 대상행렬에서 행에 대한 파티션 파라미터를 포함할 수 있다. 제2 파티션 파라미터()는 제1 대상행렬에서 열에 대한 파티션 파라미터 및 제2 대상행렬에서 행에 대한 파티션 파라미터를 포함할 수 있다. 제3 파티션 파라미터()는 제2 대상행렬에서 열에 대한 파티션 파라미터를 포함할 수 있다.Here, the partition parameter may include a first partition parameter to a third partition parameter. the first partition parameter ( ) may include a partition parameter for a row in the first target matrix. second partition parameter ( ) 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 ( ) may include a partition parameter for a column in the second target matrix.
분할부(120)는 제1 대상행렬에 대하여 제1 파티션 파라미터() 및 제2 파티션 파라미터()를 이용하여 로 분할한 복수의 제1 부분행렬()을 생성할 수 있다.The partitioning unit 120 divides the first partition parameter ( ) and the second partition parameter ( ) using A plurality of first submatrices divided by ( ) can be created.
분할부(120)는 제2 대상행렬 대하여 제2 파티션 파라미터() 및 제3 파티션 파라미터()를 이용하여 로 분할한 복수의 제2 부분행렬()을 생성할 수 있다.The division unit 120 divides the second partition parameter ( ) and the third partition parameter ( ) using A plurality of second submatrices divided by ( ) can be created.
부호화부(130)는 제1 부분행렬() 및 제2 부분행렬()을 군론을 기반으로 부호화하여 수학식 8과 같은 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 생성할 수 있다. The encoder 130 is a first sub-matrix ( ) and the second submatrix ( ) is encoded based on the group theory, and the first encoded submatrix ( ) and the second encoded submatrix ( ) can be created.
수학식 8에서, 는 제1 부분행렬()에서 행의 인덱스일 수 있다. 는 제1 부분행렬()에서 열의 인덱스이고, 제2 부분행렬()에서 행의 인덱스일 수 있다. 는 제2 부분행렬()에서 열의 인덱스일 수 있다. 는 순환군을 결정하는 파라미터(parameter)로써, 자유롭게 설정할 수 있다. 는 순환군에서 하나의 원소일 수 있다. 여기서, 군(group)이라 함은, 결합 법칙과 항등원과 각 원소의 역원을 가지는 이항 연산을 갖춘 집합(대수구조)일 수 있다. 또한, 순환군이라 함은 하나의 원소에 의해 생성되는 군(예를 들어,: 으로 나눈 나머지의 집합)일 수 있다.In Equation 8, is the first submatrix ( ) can be the index of the row in is the first submatrix ( ) is the index of the column in the second submatrix ( ) can be the index of the row in is the second submatrix ( ) can be the index of the column. is a parameter that determines the circulation group, and can be freely set. 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, : is the set of remainders divided by ).
부호화부(130)는 엣지 장치(200:200_1,…,200_N)마다 서로 다른 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 생성할 수 있다.The encoder 130 encodes a different first encoded submatrix for each edge device 200:200_1, ..., 200_N. ) and the second encoded submatrix ( ) can be created.
부호화부(130)는 제1 파티션 파라미터(), 제2 파티션 파라미터() 및 제3 파티션 파라미터()에 대한 순환군을 이용하여 제1 부분행렬() 및 제2 부분행렬()을 각각 군 대수화(group algebra)하여 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 생성할 수 있다.The encoder 130 is a first partition parameter ( ), the second partition parameter ( ) and the third partition parameter ( ) using the recursive group for the first submatrix ( ) and the second submatrix ( ) by group algebra, the first encoded submatrix ( ) and the second encoded submatrix ( ) can be created.
부호화부(130)는 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬() 생성 시에, 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()에 순환군의 기약 표현을 적용하여 전압 또는 전류 형태의 복소수값으로 변환시킬 수 있다. 순환군의 기약 표현은, 각 엣지 장치(200:200_1,…,200_N)마다 상이한 표현으로 적용될 수 있다. The encoding unit 130 is a first encoded sub-matrix ( ) and the second encoded submatrix ( ) at the time of generation, the first encoded submatrix ( ) and the second encoded submatrix ( ) 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 부호화한 부분행렬() 및 제2 부호화한 부분행렬()은 복소수값(전류/전압 형태)가 아니므로, 엣지 장치(200:200_1,…,200_N)로 전송이 불가능하다. 따라서 부호화부(130)는 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()에 대하여, 전송할 엣지 장치(200:200_1,…,200_N) 마다 서로 다른 순환군의 기약 표현을 적용하여 복소수값으로 변환시킬 수 있다.Here, the first encoded submatrix ( ) and the second encoded submatrix ( ) 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 ( ) and the second encoded submatrix ( ), 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 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 수학식 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 ( ) and the second encoded submatrix ( ) can be expressed as in Equation 12.
여기서, 순환군의 기약 표현(irreducible representation)은 함수로, 순환군을 결정하는 파라미터()와, 제1 파티션 파라미터()와, 제2 파티션 파라미터()와, 제3 파티션 파라미터()를 곱한 개 일 수 있다.Here, the irreducible representation of the recursive group is a function, and the parameter that determines the recursive group ( ) and the first partition parameter ( ) and the second partition parameter ( ) and the third partition parameter ( ) multiplied by can be a dog
처리부(140)는 부호화부(130)가 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 엣지 장치(200:200_1,…,200_N)로 전송할 수 있다. 처리부(140)는 수학식 12에서의 및 를 번째 엣지 장치(200_)로 전송할 수 있다. The processing unit 140 converts the first encoded sub-matrix ( ) and the second encoded submatrix ( ) to the edge devices 200:200_1, ..., 200_N. The processing unit 140 in Equation 12 and cast second edge device (200_ ) can be transmitted.
엣지 장치(200:200_1,…,200_N)는 중앙 장치(100)로부터 및 를 수신하여 곱 연산을 수행하여 곱 연산 결과()를 생성하여 중앙 장치(100)로 전송하면, 중앙 장치(100)는 곱 연산 결과()를 획득할 수 있다. Edge devices 200: 200_1, ..., 200_N are sent from the
중앙 장치(100)가 엣지 장치(200:200_1,…,200_N)로부터 획득하는 곱 연산 결과()는 수학식 9를 이용하여 하기 수학식 13과 같이 표현할 수 있다.The product operation result ( ) that the
복원부(150)는 엣지 장치(200:200_1,…,200_N)로부터 수신한 곱 연산 결과()에 복원 조건을 적용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과()를 복원할 수 있다.The restoration unit 150 receives the product operation result (200:200_1, ..., 200_N) from the edge device ( ) by applying the restoration condition to the product operation result of the first target matrix and the second target matrix ( ) can be restored.
여기서 복원 조건은, 수학식 12와 같은 순환군의 기약 표현을 적용한 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을, 어느 한 엣지 장치(예를 들어, 엣지 장치(200_))로 전송하면, 제1 파티션 파라미터()와, 제2 파티션 파라미터()와, 제3 파티션 파라미터()를 곱한 개의 엣지 장치(200)를 이용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과를 복원 가능하다는 것을 포함할 수 있다. Here, the restoration condition is the first encoded submatrix ( ) and the second encoded submatrix ( ), any one edge device (eg, edge device 200_ )), the first partition parameter ( ) and the second partition parameter ( ) and the third partition parameter ( ) multiplied by 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
복원 조건은, 기약 표현에 순환군의 원소()를 대입하여 획득한 복소항()의 지수()를 소정의 값()으로 나눈 나머지가 각 엣지 장치(200)별로 상이한 조건을 포함할 수 있다. The restoration condition is an element of the cyclic group ( ) obtained by substituting the complex term ( ) of the exponent ( ) to a given value ( ) may include different conditions for each
복원부(150)는 복원 조건을 만족하면, 즉 각 엣지 장치(200:200_1,…,200_N)로부터 수신한 곱 연산 결과()에 대하여, 수학식 11에 기재된 을 만족하면, 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과()를 복원 가능하다고 판단할 수 있다. 이는 각 엣지 장치(200:200_1,…,200_N)에 어떤 기약 표현을 적용했는지 알고 있음에 기인한 것이며, 는 각 엣지 장치(200:200_1,…,200_N)마다 서로 다르다.The restoration unit 150 satisfies the restoration condition, that is, the product operation result ( ), as described in Equation 11 If is satisfied, the result of the product of the first target matrix and the second target matrix ( ) 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), is different for each edge device 200:200_1, ..., 200_N.
복원부(150)는 복원 조건을 만족하는 경우, 수학식 3을 이용하여, 각 엣지 장치(200:200_1,…,200_N)로부터 수신한 곱 연산 결과()에 대하여 열 벡터()를 생성할 수 있다.When the restoration condition is satisfied, the restoration unit 150 uses Equation 3 to obtain the product operation result ( ) with respect to the column vector( ) can be created.
복원부(150)는 중앙 장치(100)가 어떻게 부호화를 수행하였는지 알고 있기 때문에, 수학식 4와 같은 와 사이의 관계식을 이용하여, 각 엣지 장치(200, 200_1,??,200_N)로부터 수신한 곱 연산 결과인 및 부호화 과정을 행렬 로 표현하였을 때, 이에 대한 역행렬 에 기반하여, 를 획득하고 원래 원하고자 하는 곱 연산 결과()를 복원할 수 있다.Since the restoration unit 150 knows how the
저장 매체(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
제어부(170)는 일종의 중앙처리장치로서 중앙 장치(100) 전체의 동작을 제어할 수 있다. 제어부(170)는 목표로 하는 연산 결과()를 생성하기 위해, 행렬을 부분적으로 나눈 다음 이들을 부호화하고 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
본 실시 예에서 제어부(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
여기서 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
결과를 보면, 우선 본 실시 예에 따른 방법이 이론적으로나 실험적으로나 기존 방법보다 더 적은 개수의 엣지 장치(200)를 필요로 함을 알 수 있다. 또한 오차를 일정 수준 이하로 낮추기 위해서는 논문 [1]에서 이론적으로 구한 수치보다 실제로는 더 많은 수의 엣지 장치(200)가 필요함을 알 수 있으며, 그 차이는 행렬의 크기가 커질수록 늘어남을 알 수 있다. 그러나 본 실시 예에서 제안한 방법은 오차가 충분히 낮기 때문에 이론적으로 필요한 엣지 장치(200)의 개수와 큰 차이가 없음을 확인할 수 있다.From the results, it can be seen that the method according to the present embodiment requires a smaller number of
도 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 부분행렬() 및 복수의 제2 부분행렬()을 생성한다.Referring to FIG. 4 , in step S410 , the
여기서, 중앙 장치(100)는 제1 대상행렬에 대하여 제1 파티션 파라미터() 및 제2 파티션 파라미터()를 이용하여 로 분할한 제1 부분행렬()을 생성할 수 있다. 또한 중앙 장치(100)는 제2 대상행렬 대하여 제2 파티션 파라미터() 및 제3 파티션 파라미터()를 이용하여 로 분할한 제2 부분행렬()을 생성할 수 있다. Here, the
S420단계에서, 중앙 장치(100)는 제1 부분행렬() 및 제2 부분행렬()을 군론을 기반으로 부호화하여 수학식 8과 같이 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 생성한다.In step S420, the
중앙 장치(100)는 제1 파티션 파라미터(), 제2 파티션 파라미터() 및 제3 파티션 파라미터()에 대한 순환군을 이용하여 제1 부분행렬() 및 제2 부분행렬()을 각각 군 대수화(group algebra)하여 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 생성할 수 있다.The
중앙 장치(100)는 하나 이상의 엣지 장치(200)마다 서로 다른 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 생성할 수 있다. 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()은 복소수값(전류/전압 형태)가 아니므로, 엣지 장치(200)로 전송이 불가능하다. 따라서 중앙 장치(100)는 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()에 대하여, 전송할 엣지 장치(200) 마다 서로 다른 순환군의 기약 표현을 적용하여 복소수값으로 변환시킬 수 있다. 순환군의 기약 표현은, 각 엣지 장치(200:200_1,…,200_N)마다 상이한 표현으로 적용될 수 있다. 또한, 순환군의 기약 표현(irreducible representation)은 함수로, 순환군을 결정하는 파라미터()와, 제1 파티션 파라미터()와, 제2 파티션 파라미터()와, 제3 파티션 파라미터()를 곱한 개 일 수 있다.The
S430단계에서, 중앙 장치(100)는 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 엣지 장치(200)로 전송한다.In step S430, the
S440단계에서, 엣지 장치(200)는 중앙 장치(100)가 전송한 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을 수신한다.In step S440, the
S450단계에서, 엣지 장치(200)는 순환군의 기약 표현을 적용하여 복소수값으로 변환시킨 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()에 대한 곱 연산을 수행하여 생성한다.In step S450, the
S460단계에서, 엣지 장치(200)는 곱 연산 결과()를 중앙 장치(100)로 전송한다.In step S460, the
S470단계에서, 중앙 장치(100)는 엣지 장치(200)가 전송한 곱 연산 결과()를 수신한다.In step S470, the
S480단계에서, 중앙 장치(100)는 엣지 장치(200)로부터 수신한 곱 연산 결과()에 복원 조건을 적용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과()를 복원한다.In step S480, the
여기서, 복원 조건은, 수학식 12와 같은 순환군의 기약 표현을 적용한 제1 부호화한 부분행렬() 및 제2 부호화한 부분행렬()을, 어느 한 엣지 장치(예를 들어, 엣지 장치(200_))로 전송하면, 제1 파티션 파라미터()와, 제2 파티션 파라미터()와, 제3 파티션 파라미터()를 곱한 개의 엣지 장치(200)를 이용하여 제1 대상행렬 및 제2 대상행렬의 곱 연산 결과를 복원 가능하다는 것을 포함할 수 있다. 복원 조건은, 기약 표현에 순환군의 원소()를 대입하여 획득한 복소항()의 지수()를 소정의 값()으로 나눈 나머지가 각 엣지 장치(200)별로 상이한 조건을 포함할 수 있다. 중앙 장치(100)는 복원 조건을 만족하는 경우, 수학식 3을 이용하여, 각 엣지 장치(200)로부터 수신한 곱 연산 결과()에 대하여 열 벡터()를 생성할 수 있다. 중앙 장치(100)는 자신이 어떻게 부호화를 수행하였는지 알고 있기 때문에 수학식 4와 같은 와 사이의 관계식을 이용하여, 각 엣지 장치(200, 200_1,??,200_N)로부터 수신한 곱 연산 결과인 및 부호화 과정을 행렬 로 표현하였을 때, 이에 대한 역행렬 에 기반하여, 를 획득하고 원래 원하고자 하는 곱 연산 결과()를 복원할 수 있다.Here, the restoration condition is the first encoded submatrix ( ) and the second encoded submatrix ( ), any one edge device (eg, edge device 200_ )), the first partition parameter ( ) and the second partition parameter ( ) and the third partition parameter ( ) multiplied by 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
이상 설명된 본 발명에 따른 실시 예는 컴퓨터 상에서 다양한 구성요소를 통하여 실행될 수 있는 컴퓨터 프로그램의 형태로 구현될 수 있으며, 이와 같은 컴퓨터 프로그램은 컴퓨터로 판독 가능한 매체에 기록될 수 있다. 이때, 매체는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체, 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)
곱 연산의 대상이 되는 제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.
상기 제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 부호화한 부분행렬 및 제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.
상기 순환군의 기약 표현은, 각 엣지 장치마다 상이한 표현으로 적용되는,
군론 기반의 분산 행렬 연산 방법.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.
상기 순환군의 기약 표현은,
함수로 상기 제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.
상기 제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:
In the reduced expression, the elements of the cyclic group ( ) obtained by substituting the complex term ( ) of the exponent ( ) to a given value ( ) and the remainder includes different conditions for each edge device,
A method of calculating the variance matrix based on the group theory.
상기 제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 대상행렬 및 상기 제2 대상행렬의 곱 연산 결과를 복원하는 단계는,
상기 엣지 장치로부터 수신한 상기 곱 연산 결과 및 상기 부호화 과정을 행렬 로 표현하였을 때, 이에 대한 역행렬 에 기반하여 상기 곱 연산을 복원하는 단계를 포함하는,
군론 기반의 분산 행렬 연산 방법.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 When expressed as , the inverse matrix Comprising the step of restoring the product operation based on
A method of calculating the variance matrix based on the group theory.
상기 중앙 장치가,
곱 연산의 대상이 되는 제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.
상기 부호화부는,
상기 제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.
상기 부호화부는,
상기 제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.
상기 순환군의 기약 표현은, 각 엣지 장치마다 상이한 표현으로 적용되는,
군론 기반의 분산 행렬 연산 장치.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.
상기 순환군의 기약 표현은,
함수로 상기 제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.
상기 복원부에서,
상기 복원 조건은,
상기 기약 표현에 상기 순환군의 원소()를 대입하여 획득한 복소항()의 지수()를 소정의 값()으로 나눈 나머지가 각 엣지 장치별로 상이한 조건을 포함하는,
군론 기반의 분산 행렬 연산 장치.15. The method of claim 14,
In the restoration unit,
The restoration conditions are:
In the reduced expression, the elements of the cyclic group ( ) obtained by substituting the complex term ( ) of the exponent ( ) to a given value ( ) and the remainder includes different conditions for each edge device,
A group theory-based dispersion matrix calculator.
상기 복원부에서,
상기 복원 조건은,
상기 중앙 장치가, 상기 순환군의 기약 표현을 적용한 상기 제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.
상기 복원부는,
상기 엣지 장치로부터 수신한 상기 곱 연산 결과 및 상기 부호화 과정을 행렬 로 표현하였을 때, 이에 대한 역행렬 에 기반하여 상기 곱 연산을 복원하도록 구성되는,
군론 기반의 분산 행렬 연산 장치.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 When expressed as , the inverse matrix configured to restore the product operation based on
A group theory-based dispersion matrix calculator.
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881243A (en) * | 2014-05-27 | 2015-09-02 | 陈杰 | Array data protecting method and system |
-
2020
- 2020-08-19 KR KR1020200104198A patent/KR102361647B1/en active IP Right Grant
Patent Citations (1)
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)
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 |