Claims (4)
소정의 통신비용을 갖는 적어도 하나 이상의 통신경로로 연결되는 2n개의 타스크 모듈들로 구성되고, 이들의 구조를 가중치를 갖는 엣지들과 노드들에 의한 그래프 G로 표현할 수 있는 병렬 프로그램을, 하이퍼 큐브 형태로 연결되어 n비트의 바이너리번호로 구별되는 2n개의 프로세서들에 상기 통신비용의 총합을 최소로 하는 대응(mapping)에 따라 할당하는 하이퍼큐브 멀티컴퓨터의 타스크 할당방법에 있어서, 상기 타스크 그래프 G를 변환규칙에 따라 그래프 G* k로 변환하는 제1과정; 상기 제1과정에서 변환된 그래프 G* k를 이분할하는 맥스멈 캇셋을 산출하는 제2과정; 상기 제2과정에서 산출된 맥스멈 캇셋에 따라 상기 타스크 그래프 G의 부분집합을 형성하는 제3과정; 상기 제3과정에서 형성된 부분집합에 따라 상기 바이너리번호의 k번째 비트를 순차적으로 할당하여 상기 타스크 모듈을 상기 프로세서에 일대일 대응시키는 매핑 X를 산출하는 제4과정을 구비하여 상기 그래프 변환에 의해 상기 매핑 X을 찾는 수행시간을 단축하고, 상기 매핑 X에 따라 상기 타스크 모듈들을 상기 프로세서들에 각각 할당하는 것을 특징으로 하는 하이퍼큐브 멀티컴퓨터의 타스크 할당방법.A hypercube form a parallel program that is composed of 2n task modules connected to at least one communication path having a predetermined communication cost, and whose structure can be represented as a graph G by edges and nodes having weights. In the task allocation method of a hypercube multicomputer which allocates to 2n processors connected by a binary number separated by n-bit binary numbers according to a mapping that minimizes the sum of the communication costs, the task graph G is transformed. A first step of converting the graph G * k according to a rule; Calculating a maximum cassette for dividing the graph G * k converted in the first process; A third step of forming a subset of the task graph G according to the maximum cassette set calculated in the second step; And a fourth process of sequentially allocating a k-th bit of the binary number according to the subset formed in the third process to calculate a mapping X for one-to-one correspondence of the task module to the processor. Shortening the execution time of finding X, and assigning the task modules to the processors according to the mapping X, respectively.
제1항에 있어서, 상기 변환규칙은 상기 타스크 그래프 G에 포함되는 임의의 두 타스크 모듈을 ma, mb라 하고, 상기 두 타스크 모듈사이의 변환전 통신비용을 Wa,b라 하고, 변환을 위한 소정값의 독립변수를 R이라 할 때, 상기 두 타스크 모듈이 동일한 부분집합에 속하면 상기 두 모듈 사이의 통신비용을 R-Wa,b로 변환하고, 두 타스크 모듈 사이에 통신비용이 없다면 통신비용을 R로 하여 새로 형성하는 변환 제1규칙과, 상기 두 타스크 모듈이 서로 다른 부분집합에 속하면 상기 두 타스크 모듈사이의 통신비용을 -Wa,b로 변환하는 변환 제2규칙인 것을 특징으로 하는 하이퍼큐브 멀티컴퓨터의 타스크 할당방법.The conversion rule of claim 1, wherein any two task modules included in the task graph G are m a , m b , and a communication cost before conversion between the two task modules is W a , b , and the conversion. When the independent variable of a predetermined value for R is R, if the two task modules belong to the same subset, the communication cost between the two modules is converted into RW a , b , and if there is no communication cost between the two task modules, A first conversion rule for forming a cost as R and a second rule for converting the communication cost between the two task modules to -W a and b if the two task modules belong to different subsets. Task allocation method for hypercube multicomputer.
제1항에 있어서, 상기 제2과정은 상기 변환된 타스크 그래프 G*의 초기분할 P를 형성하는 제1단계; 상기 초기분할 P에서 각 모듈들의 이득을 계산하여 후보 모듈을 선택하고, 이를 일회-이동하는 제2단계; 상기 후보 모듈의 일회-이동 후에 사용되지 않은 모듈들의 이득을 다시 계산하여 상기 제2단계로 돌아가 모든 모듈을 일회-이동하는 제3단계; 상기 제2 및 제3단계의 수행결과로서 상기 초기분할 P내에서 가중치의 합이 최대인 맥스컴 캇셋을 구하고, 이에 따라 새로운 분할 P'를 구하는 제4단계; 상기 제2, 제3, 제4단계를 반복하여 일회-이동으로 더 이상의 이득의 증가가 없으면, 상기 새로운 분할 P'에 따라 상기 그래프 G* k의 이분할 Ak, Bk를 출력하는 제5단계를 구비한 것을 특징으로 하는 하이퍼큐브 멀티컴퓨터의 타스크 할당방법.The method of claim 1, wherein the second process comprises: a first step of forming an initial division P of the transformed task graph G * ; A second step of selecting a candidate module by calculating the gain of each module in the initial division P, and moving it once; A third step of re-calculating the gains of unused modules after the one-move of the candidate module to return to the second step and one-move all the modules; A fourth step of obtaining a Maxcom cassette set having a maximum sum of weights in the initial division P as a result of performing the second and third steps, and obtaining a new division P ′ accordingly; A fifth step of outputting a bipartition A k , B k of the graph G * k according to the new division P ′ if there is no increase in gain by one-shift by repeating the second, third, and fourth steps. Task assignment method of a hypercube multi-computer characterized in that it comprises a step.
소정의 통신비용을 갖는 적어도 하나 이상의 통신경로로 연결되는 2H개의 타스크 모듈들로 구성되며 이들의 구조를 그래프 G로 표현할 수 있는 병렬 프로그램을, 하이퍼 큐브 형태로 연결되어 n비트의 바이너리번호로 구별되는 2H개의 프로세서들에 상기 통신비용의 총합을 최소로 하는 대응(mapping)X에 따라 할당하는 하이퍼큐브 멀티컴퓨터의 타스크 할당장치에 있어서, 상기 타스크 그래프 G를 입력한 후 타스크 모듈들을 비교하여 타스크 모듈이 동일한 부분집합에 속하면 상기 타스크 모듈들 사이의 통신비용을 소정값으로 변환하거나 소정의 통신비용으로 새로 형성하고, 상기 타스크 모듈이 서로 다른 부분집합에 속하면 상기 타스크 모듈들 사이의 통신비용의 부호를 반전하여 새로운 그래프 G* k를 출력하는 그래프 변환수단; 상기 변환된 그래프 G* k를 입력하여 이를 이분할하는 맥스멈 캇셋 CMAX을 산출하는 맥스멈 캇셋 산출수단; 상기 산출된 맥스멈 캇셋 CMAX에 따라 상기 타스크 그래프 G의 부분집합을 형성하는 부분집합 형성수단; 상기 형성된 부분집합에 따라 상기 바이너리번호의 k번째 비트를 순차적으로 할당하여 저장하고, k=n이 되면 상기 2n개의 타스크 모듈을 상기 2n개의 프로세서에 할당하는 매핑 X를 출력하는 바이너리신호 할당수단을 구비하여 상기 매핑 X에 따라 상기 타스크 모듈들을 상기 프로세서들에 각각 할당하는 것을 특징으로 하는 하이퍼큐브 멀티컴퓨터의 타스크 할당장치.A parallel program that consists of 2 H task modules connected to at least one communication path having a predetermined communication cost and expresses their structure as a graph G is distinguished by an n-bit binary number connected in the form of a hypercube. A task allocation apparatus for a hypercube multicomputer that allocates 2 H processors according to mapping X to minimize the total sum of communication costs, wherein the task graph is inputted and the task modules are compared. If the modules belong to the same subset, the communication costs between the task modules are converted into a predetermined value or newly formed with a predetermined communication cost. If the task modules belong to different subsets, the communication costs between the task modules are different. Graph converting means for inverting the sign of and outputting a new graph G * k ; A maximum cutset calculating means for inputting the converted graph G * k to calculate a maximum cutset C MAX for dividing it; Subset forming means for forming a subset of the task graph G according to the calculated maximum cassette C MAX ; A binary signal allocation means for sequentially allocating and storing the k-th bit of the binary number according to the formed subset, and outputting a mapping X for allocating the 2n task modules to the 2n processors when k = n. And assigning the task modules to the processors according to the mapping X, respectively.
※ 참고사항 : 최초출원 내용에 의하여 공개하는 것임.※ Note: The disclosure is based on the initial application.