KR20240014841A - 엣지 디바이스 간 워크로드 분산 방법 - Google Patents

엣지 디바이스 간 워크로드 분산 방법 Download PDF

Info

Publication number
KR20240014841A
KR20240014841A KR1020220092497A KR20220092497A KR20240014841A KR 20240014841 A KR20240014841 A KR 20240014841A KR 1020220092497 A KR1020220092497 A KR 1020220092497A KR 20220092497 A KR20220092497 A KR 20220092497A KR 20240014841 A KR20240014841 A KR 20240014841A
Authority
KR
South Korea
Prior art keywords
edge device
nodes
graph
type edge
page rank
Prior art date
Application number
KR1020220092497A
Other languages
English (en)
Inventor
공영호
박우혁
Original Assignee
광운대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 광운대학교 산학협력단 filed Critical 광운대학교 산학협력단
Priority to KR1020220092497A priority Critical patent/KR20240014841A/ko
Publication of KR20240014841A publication Critical patent/KR20240014841A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

본 실시예들은 두 단계의 개인화된 페이지 랭크 연산을 통해 그래프의 노드를 선별하고 노드 개수에 따라 작은 스케일의 워크로드 및 큰 스케일의 워크로드를 이기종 엣지 디바이스에 분산한 후 그래프 워크로드를 각각 동시에 처리하여 페이지 랭크의 성능과 전력 소비를 개선할 수 있는 그래프 워크로드 분산 방법 및 장치를 제공한다.

Description

엣지 디바이스 간 워크로드 분산 방법 {WORKLOAD PARTITIONING METHOD FOR EDGE DEVICES}
본 발명이 속하는 기술 분야는 서로 다른 엣지 디바이스 간에 그래프 워크로드를 분산시켜 처리하는 방법 및 장치에 관한 것이다.
이 부분에 기술된 내용은 단순히 본 실시예에 대한 배경 정보를 제공할 뿐 종래기술을 구성하는 것은 아니다.
중앙 서버가 아닌 데이터가 생성되는 위치 근처에서 처리하는 엣지 디바이스에서의 연산이 주목받고 있다. 기존의 방식대로 디바이스가 생성한 데이터를 원거리 중앙 데이터 센터 또는 클라우드로 전송하여 처리하게 되면 대역폭 비용과 네트워크 지연 등의 문제가 발생하게 된다. 민감한 개인정보의 보안 문제 역시 데이터 처리 방식을 선택하는데 고려 대상이 된다.
엣지 컴퓨팅은 데이터가 작성된 위치와 더 가까운 곳에서 데이터를 처리하고 분석하는 방식이다. 네트워크를 통해 원거리의 클라우드나 데이터 센터로 이동하지 않으므로 대기 시간을 줄일 수 있다.
엣지 시스템은 다양한 엣지 디바이스들로 구성되어 연구되고 있으나, 그래프 처리 최적화 방식은 단일 엣지 디바이스 또는 큰 서버를 대상으로 연구하고 있을 뿐 이기종 엣지 디바이스 환경을 효율적으로 활용하지 못하고 있는 실정이다.
한국공개특허공보 제10-2020-0070116호 (2020.06.17) 한국등록특허공보 제10-2325047호 (2021.11.05) 한국등록특허공보 제10-1620602호 (2016.05.03)
본 발명의 실시예들은 두 단계의 개인화된 페이지 랭크 연산을 통해 그래프의 노드를 선별하고 노드 개수에 따라 작은 스케일의 워크로드 및 큰 스케일의 워크로드를 이기종 엣지 디바이스에 분산한 후 그래프 워크로드를 각각 동시에 처리하여 페이지 랭크의 성능과 전력 소비를 개선하는데 주된 목적이 있다.
본 발명의 명시되지 않은 또 다른 목적들은 하기의 상세한 설명 및 그 효과로부터 용이하게 추론할 수 있는 범위 내에서 추가적으로 고려될 수 있다.
본 실시예의 일 측면에 의하면, 그래프 워크로드 분산 방법에 있어서, 그래프의 주요 노드에 선호도를 부여하고 다른 노드와의 관계에서 연관도를 산출하여 상위 K(상기 K는 자연수)개 노드를 출력하는 제1 개인화된 페이지 랭크 연산 단계; 상기 상위 K개 노드에 대해 노드 개수를 기준으로 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에 그래프 워크로드를 분산한 후 상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 워크로드 결과를 각각 산출하는 제2 개인화된 페이지 랭크 연산 단계; 및 상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 각각 산출한 워크로드 결과를 통합하는 단계를 포함하는 그래프 워크로드 분산 방법을 제공한다.
상기 제1 유형 엣지 디바이스는 전력소비 등급을 만족하는 고효율 전력소비 엣지 디바이스에 해당하고, 상기 제2 유형 엣지 디바이스는 처리 속도 기준을 만족하는 고성능 처리 엣지 디바이스에 해당할 수 있다.
상기 제2 개인화된 페이지 랭크 연산 단계는, 상기 상위 K개 노드에 대해 너비 우선 검색(Breadth First Search)을 수행할 수 있다.
상기 제2 개인화된 페이지 랭크 연산 단계는, 상기 너비 우선 검색의 결과로 도출된 노드 개수를 기준으로 상기 상위 K개 노드를 정렬할 수 있다.
상기 제2 개인화된 페이지 랭크 연산 단계는, 상기 그래프 워크로드의 일부를 제1-1 비율을 기준으로 상기 제1 유형 엣지 디바이스에 분배하고, 상기 그래프 워크로드의 다른 일부를 제2-1 비율을 기준으로 상기 제2 유형 엣지 디바이스에 분배할 수 있다.
상기 제2 개인화된 페이지 랭크 연산 단계는, 상기 제1 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제1-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제1 예비 엣지 디바이스에 분배할 수 있다.
상기 제2 개인화된 페이지 랭크 연산 단계는, 상기 제2 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제2-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제2 예비 엣지 디바이스에 분배할 수 있다.
본 실시예의 다른 측면에 의하면, 그래프 워크로드 분산 장치에 있어서, 그래프의 주요 노드에 선호도를 부여하고 다른 노드와의 관계에서 연관도를 산출하여 상위 K(상기 K는 자연수)개 노드를 출력하는 제1 개인화된 페이지 랭크 연산부; 상기 상위 K개 노드에 대해 노드 개수를 기준으로 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에 그래프 워크로드를 분산한 후 상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 워크로드 결과를 각각 산출하는 제2 개인화된 페이지 랭크 연산부; 및 상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 각각 산출한 워크로드 결과를 통합하는 결과 통합부를 포함하는 그래프 워크로드 분산 장치를 제공한다.
상기 제1 유형 엣지 디바이스는 전력소비 등급을 만족하는 고효율 전력소비 엣지 디바이스에 해당하고, 상기 제2 유형 엣지 디바이스는 처리 속도 기준을 만족하는 고성능 처리 엣지 디바이스에 해당할 수 있다.
상기 제2 개인화된 페이지 랭크 연산부는, 상기 상위 K개 노드에 대해 너비 우선 검색(Breadth First Search)을 수행할 수 있다.
상기 제2 개인화된 페이지 랭크 연산부는, 상기 너비 우선 검색의 결과로 도출된 노드 개수를 기준으로 상기 상위 K개 노드를 정렬할 수 있다.
상기 제2 개인화된 페이지 랭크 연산부는, 상기 그래프 워크로드의 일부를 제1-1 비율을 기준으로 상기 제1 유형 엣지 디바이스에 분배하고, 상기 그래프 워크로드의 다른 일부를 제2-1 비율을 기준으로 상기 제2 유형 엣지 디바이스에 분배할 수 있다.
상기 제2 개인화된 페이지 랭크 연산부는, 상기 제1 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제1-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제1 예비 엣지 디바이스에 분배할 수 있다.
상기 제2 개인화된 페이지 랭크 연산부는, 상기 제2 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제2-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제2 예비 엣지 디바이스에 분배할 수 있다.
이상에서 설명한 바와 같이 본 발명의 실시예들에 의하면, 두 단계의 개인화된 페이지 랭크 연산을 통해 그래프의 노드를 선별하고 노드 개수에 따라 작은 스케일의 워크로드 및 큰 스케일의 워크로드를 이기종 엣지 디바이스에 분산한 후 그래프 워크로드를 각각 동시에 처리하여 페이지 랭크의 성능과 전력 소비를 개선할 수 있는 효과가 있다.
여기에서 명시적으로 언급되지 않은 효과라 하더라도, 본 발명의 기술적 특징에 의해 기대되는 이하의 명세서에서 기재된 효과 및 그 잠정적인 효과는 본 발명의 명세서에 기재된 것과 같이 취급된다.
도 1은 본 발명의 일 실시예에 따른 그래프 워크로드 분산 장치를 예시한 도면이다.
도 2 및 도 3은 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법의 동작을 예시한 흐름도이다.
도 4는 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법이 처리하는 노드의 흐름을 예시한 도면이다.
도 5는 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법의 동작을 슈도 코드 알고리즘으로 예시한 도면이다.
도 6a, 도 6b, 도 6c, 도 6d, 및 도 6e는 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법이 워크로드를 분산하는 기준으로 사용하는 노드 개수 및 엣지 개수 간의 관계를 예시한 도면이다.
도 7a, 도 7b, 도 7c, 도 7d, 도 7e, 및 도 7f는 본 발명의 실시예들을 시뮬레이션한 결과에 따라 연산 성능을 예시한 도면이다.
도 8a, 도 8b, 도 8c, 도 8d, 도 8e, 및 도 8f는 본 발명의 실시예들을 시뮬레이션한 결과에 따라 에너지 소비를 예시한 도면이다.
도 9는 본 발명의 실시예들을 실시하는 컴퓨팅 디바이스를 예시한 블록도이다.
이하, 본 발명을 설명함에 있어서 관련된 공지기능에 대하여 이 분야의 기술자에게 자명한 사항으로서 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하고, 본 발명의 일부 실시예들을 예시적인 도면을 통해 상세하게 설명한다.
본 발명은 엣지 시스템에서 구성될 수 있는 에너지 효율(Energy Efficiency)/고성능(High Performance)을 갖는 이기종 엣지 디바이스 환경에서 각각의 이기종 엣지 디바이스의 특성을 이용하여 페이지 랭크(PageRank)의 워크로드 분산을 통해 성능과 전력 소비를 최적화한다. 이기종 엣지 디바이스는 고효율 에너지 소비 엣지 디바이스와 고성능 처리 엣지 디바이스로 구분되며 각각 작은 스케일의 워크로드와 큰 스케일의 워크로드를 처리하는데 유리한다.
도 1은 본 발명의 일 실시예에 따른 그래프 워크로드 분산 장치를 예시한 도면이다.
도 1을 참조하면, 그래프 워크로드 분산 장치(10)는 제1 개인화된 페이지 랭크 연산부(100), 제2 개인화된 페이지 랭크 연산부(200), 및 결과 통합부(300)를 포함한다. 제2 개인화된 페이지 랭크 연산부(200)는 제1 유형 엣지 디바이스(210) 및 제2 유형 엣지 디바이스(220)에 연결되고, 제2 개인화된 페이지 랭크 연산부(200)는 제1 예비 엣지 디바이스(215) 및 제2 예비 엣지 디바이스(225)에 연결된다. 제1 유형 엣지 디바이스(210)와 제1 예비 엣지 디바이스(215)는 상호 연결되고, 제2 유형 엣지 디바이스(220)와 제2 예비 엣지 디바이스(225)는 상호 연결된다. 도 1에서 예시적으로 도시한 다양한 구성요소들 중에서 일부 구성요소를 생략하거나 다른 구성요소를 추가로 포함할 수 있다.
제1 개인화된 페이지 랭크 연산부(100)는 그래프의 주요 노드에 선호도를 부여하고 다른 노드와의 관계에서 연관도를 산출하여 상위 K개 노드를 출력한다. 여기서 K는 자연수에 해당한다. 그래프의 주요 노드는 주변 노드를 고려하여 선별되거나 임의를 추출될 수 있다. 주요 노드에 부여되는 선호도는 수치적 범위 내에서 매칭된다.
제2 개인화된 페이지 랭크 연산부(200)는 상위 K개 노드에 대해 노드 개수를 기준으로 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에 그래프 워크로드를 분산한 후 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에서 워크로드 결과를 각각 산출한다.
결과 통합부(300)는 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에서 각각 산출한 워크로드 결과를 통합한다.
제1 유형 엣지 디바이스(210)는 전력소비 등급을 만족하는 고효율 전력소비 엣지 디바이스에 해당하고, 제2 유형 엣지 디바이스(220)는 처리 속도 기준을 만족하는 고성능 처리 엣지 디바이스에 해당할 수 있다. 제1 예비 엣지 디바이스(215)는 고효율 전력소비 엣지 디바이스(210)와 동종 또는 유사한 성능 범위를 가진 엣지 디바이스에 해당할 수 있다. 제2 예비 엣지 디바이스(225)는 고성능 처리 엣지 디바이스(220)와 동종 또는 유사한 성능 범위를 가진 엣지 디바이스에 해당할 수 있다.
제2 개인화된 페이지 랭크 연산부(200)는 상위 K개 노드에 대해 너비 우선 검색(Breadth First Search)을 수행할 수 있다. 너비 우선 검색은 트리 구조로 표현 가능한 데이터 구조를 검색하는 방식으로 특정 노드에서 조건 불일치가 발생하면 해당 노드와 동일한 레벨의 노드를 검색하여 레벨의 깊이를 점차적으로 변경해가는 검색 방식이다.
제2 개인화된 페이지 랭크 연산부(200)는 너비 우선 검색의 결과로 도출된 노드 개수를 기준으로 상위 K개 노드를 정렬할 수 있다.
제2 개인화된 페이지 랭크 연산부(200)는 그래프 워크로드의 일부를 제1-1 비율을 기준으로 제1 유형 엣지 디바이스에 분배하고, 그래프 워크로드의 다른 일부를 제2-1 비율을 기준으로 제2 유형 엣지 디바이스에 분배할 수 있다. 제1 유형 엣지 디바이스과 제2 유형 엣지 디바이스에 작은 스케일의 워크로드 및 큰 스케일의 워크로드를 각각 분산시키는 기본 분산 처리 모드에서는 제1-1 비율 및 제2-1 비율의 합을 1로 설정할 수 있다.
제2 개인화된 페이지 랭크 연산부(200)는 제1 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제1-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제1 예비 엣지 디바이스에 분배할 수 있다.
제2 개인화된 페이지 랭크 연산부(200)는 제2 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제2-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제2 예비 엣지 디바이스에 분배할 수 있다.
엣지 디바이스 활성화 정책은 시분할 관리 가능한 복수의 엣지 디바이스를 워크로드가 중복 배정되지 않도록 활성화 여부를 관리하고, 활성화된 엣지 디바이스에 워크로드를 배정하는 정책이다. 특정 엣지 디바이스에 워크로드가 배정되지 않는 시간대를 고려하여 엣지 디바이스를 활성화시켜 사용하는 방식을 통해 정해진 기간에서 전체 엣지 디바이스의 사용 효율을 향상시킬 수 있다.
제1 예비 엣지 디바이스 및 제2 예비 엣지 디바이스에 작은 스케일의 워크로드 및 큰 스케일의 워크로드를 분산시키는 확장 분산 처리 모드에서는 제1-1 비율, 제1-2 비율, 제2-1 비율, 및 제2-2 비율의 합을 1로 설정할 수 있다. 이러한 경우에 제1-2 비율 또는 제2-2 비율의 범위를 0.5 등으로 제한할 수도 있다.
제1 유형 엣지 디바이스(210)의 제1-1 비율 및 제1 예비 엣지 디바이스(215)의 제1-2 비율을 결정하기 위해 제1 유형 엣지 디바이스(210) 및 제1 예비 엣지 디바이스(215)는 상호 데이터 통신을 수행한다. 데이터 통신을 통해 제1-1 비율 및 제1-2 비율의 값을 변경해가며 비율 변경에 따른 예상 처리 시간 및 에너지 소비를 산출하여 적절한 비율을 도출할 수 있다.
제2 유형 엣지 디바이스(220)의 제2-1 비율 및 제2 예비 엣지 디바이스(225)의 제2-2 비율을 결정하기 위해 제2 유형 엣지 디바이스(220) 및 제2 예비 엣지 디바이스(225)는 상호 데이터 통신을 수행한다. 데이터 통신을 통해 제2-1 비율 및 제2-2 비율의 값을 변경해가며 비율 변경에 따른 예상 처리 시간 및 에너지 소비를 산출하여 적절한 비율을 도출할 수 있다.
결과 통합부(300)는 제2 개인화된 페이지 랭크 연산부(200)를 거쳐 수신한 제1 유형 엣지 디바이스(210)의 연산 결과, 제2 유형 엣지 디바이스(220)의 연산 결과, 제1 예비 엣지 디바이스(215)의 연산 결과, 제2 예비 엣지 디바이스(225)의 연산 결과를 전부 합칠 수 있다. 결과 통합부(300)는 합쳐진 결과를 이용하여 페이지 랭크 결과를 출력할 수 있다.
그래프 워크로드 분산 장치에 포함된 구성요소들이 도 1에서는 분리되어 도시되어 있으나, 복수의 구성요소들은 상호 결합되어 적어도 하나의 모듈로 구현될 수 있다. 구성요소들은 장치 내부의 소프트웨어적인 모듈 또는 하드웨어적인 모듈을 연결하는 통신 경로에 연결되어 상호 간에 유기적으로 동작한다. 이러한 구성요소들은 하나 이상의 통신 버스 또는 신호선을 이용하여 통신한다.
그래프 워크로드 분산 장치는 하드웨어, 펌웨어, 소프트웨어 또는 이들의 조합에 의해 로직회로 내에서 구현될 수 있고, 범용 또는 특정 목적 컴퓨터를 이용하여 구현될 수도 있다. 장치는 고정배선형(Hardwired) 기기, 필드 프로그램 가능한 게이트 어레이(Field Programmable Gate Array, FPGA), 주문형 반도체(Application Specific Integrated Circuit, ASIC) 등을 이용하여 구현될 수 있다. 또한, 장치는 하나 이상의 프로세서 및 컨트롤러를 포함한 시스템온칩(System on Chip, SoC)으로 구현될 수 있다.
그래프 워크로드 분산 장치는 하드웨어적 요소가 마련된 컴퓨팅 디바이스 또는 서버에 소프트웨어, 하드웨어, 또는 이들의 조합하는 형태로 탑재될 수 있다. 컴퓨팅 디바이스 또는 서버는 각종 기기 또는 유무선 통신망과 통신을 수행하기 위한 통신 모뎀 등의 통신장치, 프로그램을 실행하기 위한 데이터를 저장하는 메모리, 프로그램을 실행하여 연산 및 명령하기 위한 마이크로프로세서 등을 전부 또는 일부 포함한 다양한 장치를 의미할 수 있다.
도 2 및 도 3은 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법의 동작을 예시한 흐름도이다.
그래프 워크로드 분산 방법은 컴퓨팅 디바이스 또는 그래프 워크로드 분산 장치에 의해 수행될 수 있다.
도 2을 참조하면, 단계 S210에서 그래프의 주요 노드에 선호도를 부여하고 다른 노드와의 관계에서 연관도를 산출하여 상위 K(K는 자연수)개 노드를 출력하는 제1 개인화된 페이지 랭크 연산 단계를 수행할 수 있다.
단계 S220에서 상위 K개 노드에 대해 노드 개수를 기준으로 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에 그래프 워크로드를 분산한 후 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에서 워크로드 결과를 각각 산출하는 제2 개인화된 페이지 랭크 연산 단계를 수행할 수 있다.
단계 S230에서 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에서 각각 산출한 워크로드 결과를 통합하는 단계를 수행할 수 있다.
제1 유형 엣지 디바이스는 전력소비 등급을 만족하는 고효율 전력소비 엣지 디바이스에 해당하고, 제2 유형 엣지 디바이스는 처리 속도 기준을 만족하는 고성능 처리 엣지 디바이스에 해당할 수 있다.
제2 개인화된 페이지 랭크 연산 단계(S220)는 상위 K개 노드에 대해 너비 우선 검색(Breadth First Search)을 수행할 수 있다. 제2 개인화된 페이지 랭크 연산 단계(S220)는 너비 우선 검색의 결과로 도출된 노드 개수를 기준으로 상위 K개 노드를 정렬할 수 있다.
제2 개인화된 페이지 랭크 연산 단계(S220)는 그래프 워크로드의 일부를 제1-1 비율을 기준으로 제1 유형 엣지 디바이스에 분배하고, 그래프 워크로드의 다른 일부를 제2-1 비율을 기준으로 제2 유형 엣지 디바이스에 분배할 수 있다.
제2 개인화된 페이지 랭크 연산 단계(S220)는 제1 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제1-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제1 예비 엣지 디바이스에 분배할 수 있다.
제2 개인화된 페이지 랭크 연산 단계(S220)는 제2 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제2-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제2 예비 엣지 디바이스에 분배할 수 있다.
워크로드 결과를 통합하는 단계(S230)는 제1 유형 엣지 디바이스의 연산 결과, 제2 유형 엣지 디바이스의 연산 결과, 제1 예비 엣지 디바이스의 연산 결과, 제2 예비 엣지 디바이스의 연산 결과를 전부 합칠 수 있다.
도 3을 참조하면, 그래프 워크로드 분산 방법은 크게 두 단계의 개인화된 페이지 랭크 연산을 수행한다. 단계 S310에서 제1 개인화된 페이지 랭크 연산을 수행하고 단계 S320에서 제2 개인화된 페이지 랭크 연산을 수행한다.
단계 S321에서 너비 우선 탐색(BFS)을 수행하고, 단계 S322에서 너비 우선 탐색 결과에 따라 적은 노드로 판단된 서브 그래프에 대해 연산을 수행하고, 단계 S323에서 너비 우선 탐색 결과에 따라 많은 노드로 판단된 서브 그래프에 대해 연산을 수행한다. 단계 S324 및 단계 S325에서 각각 확산(diffusion) 연산을 수행한다. 단계 S326 및 단계 S327에서 전체 노드에 대해 연산을 완료했는지를 판단한다.
단계 S322, S324, S326 일련의 과정은 제1 유형 에지 디바이스(고효율 전력소비에 적합한 엣지 디바이스)에서 처리될 수 있고, 단계 S323, S325, S327 일련의 과정은 제2 유형 에지 디바이스(고성능 처리에 적합한 엣지 디바이스)에서 처리될 수 있다.
단계 S328에서 각각의 엣지 디바이스에서 분산되어 처리된 페이지 랭크 결과 점수를 통합할 수 있다.
도 4는 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법이 처리하는 노드의 흐름을 예시한 도면이고, 도 5는 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법의 동작을 슈도 코드 알고리즘으로 예시한 도면이다.
엣지 디바이스에 적합한 페이지 랭크 방식이 적용될 수 있으며, 예컨대, 최신 페이지 랭크 방식인 MeLoPPR(Memory efficiency Low latency Personalized Page Rank)를 활용할 수 있다. PPR(Personalized Page Rank)을 전체에서 수행하지 않고 First PPR 을 통해 중심으로부터 정해진 크기만큼 사전 PPR 수행 후 First PPR의 Top-k 노드에 대하여 다시 정해진 크기만큼 PPR을 수행해 성능 향상 및 메모리 사용을 최적화한다.
First PPR을 통해 Top-k 노드를 선별하고 Top-k 노드에 대해 BFS를 통해 Second PPR에서 연산될 Node의 개수를 사전에 판별해 고효율 에너지소비 엣지 디바이스와 고성능 처리 엣지 디바이스에 그래프 워크로드를 분산시킨다.
노드의 수를 기반으로 저성능/고효율 에너지 엣지 디바이스와 고성능/저효율 에너지 엣지 디바이스에 워크로드를 분산해 처리하여 페이지 랭크의 성능/전력 소비를 개선할 수 있다. 그래프의 워크로드에 비례하는 노드의 수를 기반으로 워크로드를 이기종 엣지 디바이스의 특성에 맞게 분산해 페이지 랭크 연산을 수행한다. 분산된 워크로드가 두 개의 다른 특성을 지닌 이기종 엣지 디바이스에서 동시에 연산된다. 이기종 엣지 디바이스를 보완하는 예비 엣지 디바이스를 통해 분산 처리가 가능하다.
도 6a, 도 6b, 도 6c, 도 6d, 및 도 6e는 본 발명의 다른 실시예에 따른 그래프 워크로드 분산 방법이 워크로드를 분산하는 기준으로 사용하는 노드 개수 및 엣지 개수 간의 관계를 예시한 도면이다.
도 6a, 도 6b, 도 6c, 도 6d, 및 도 6e를 참조하면 페이지 랭크의 워크로드는 모든 노드의 이웃 노드(Neighbor Node)와의 엣지를 계산하는 특성으로 인해 그래프의 엣지 개수와 비례한다. 엣지는 그래프에서 그래프가 가지고 있는 노드의 수와 비례하므로 노드의 수를 이용해 워크로드를 분산할 수 있다.
도 7a, 도 7b, 도 7c, 도 7d, 도 7e, 및 도 7f는 본 발명의 실시예들을 시뮬레이션한 결과에 따라 연산 성능을 예시한 도면이다.
도 7a, 도 7b, 도 7c, 도 7d, 도 7e, 및 도 7f를 참조하면 고성능 엣지 디바이스인 Jetson AGX Xavier에서 연산한 것에 비해 성능이 향상된 것을 확인할 수 있다.
도 8a, 도 8b, 도 8c, 도 8d, 도 8e, 및 도 8f는 본 발명의 실시예들을 시뮬레이션한 결과에 따라 에너지 소비를 예시한 도면이다.
도 8a, 도 8b, 도 8c, 도 8d, 도 8e, 및 도 8f를 참조하면 고효율 엣지 디바이스인 Jetson Nano에서 연산한 것에 비해 에너지 소비가 감소된 것을 확인할 수 있다.
본 실시예들에 의하면 다른 성능/전력 특성을 가지는 엣지 디바이스로 구성된 시스템에서 활용 가능하고, 오토 모바일 및 보안이 필요한 엣지 시스템에서도 활용 가능하다. 엣지 시스템에서 페이지 랭크 연산이 필요한 환경에서 활용 가능하다. GNN 등 그래프 처리를 응용한 엣지 시스템 기반의 머신러닝/인공지능 환경에서도 활용 가능하다.
도 9는 본 발명의 실시예들을 실시하는 컴퓨팅 디바이스를 예시한 블록도이다.
컴퓨팅 디바이스(1010)는 적어도 하나의 프로세서(1020), 컴퓨터 판독 가능한 저장매체(1030) 및 통신 버스(1070)를 포함한다.
프로세서(1020)는 컴퓨팅 디바이스(1010)를 동작하도록 제어할 수 있다. 예컨대, 프로세서(1020)는 컴퓨터 판독 가능한 저장 매체(1030)에 저장된 하나 이상의 프로그램들을 실행할 수 있다. 하나 이상의 프로그램들은 하나 이상의 컴퓨터 실행 가능 명령어를 포함할 수 있으며, 컴퓨터 실행 가능 명령어는 프로세서(1020)에 의해 실행되는 경우 컴퓨팅 디바이스(1010)로 하여금 예시적인 실시예에 따른 동작들을 수행하도록 구성될 수 있다.
컴퓨터 판독 가능한 저장 매체(1030)는 컴퓨터 실행 가능 명령어 내지 프로그램 코드, 프로그램 데이터 및/또는 다른 적합한 형태의 정보를 저장하도록 구성된다. 컴퓨터 판독 가능한 저장 매체(1030)에 저장된 프로그램(1040)은 프로세서(1020)에 의해 실행 가능한 명령어의 집합을 포함한다. 일 실시예에서, 컴퓨터 판독한 가능 저장 매체(1030)는 메모리(랜덤 액세스 메모리와 같은 휘발성 메모리, 비휘발성 메모리, 또는 이들의 적절한 조합), 하나 이상의 자기 디스크 저장 디바이스들, 광학 디스크 저장 디바이스들, 플래시 메모리 디바이스들, 그 밖에 컴퓨팅 디바이스(1010)에 의해 액세스되고 원하는 정보를 저장할 수 있는 다른 형태의 저장 매체, 또는 이들의 적합한 조합일 수 있다.
통신 버스(1070)는 프로세서(1020), 컴퓨터 판독 가능한 저장 매체(1040)를 포함하여 컴퓨팅 디바이스(1010)의 다른 다양한 컴포넌트들을 상호 연결한다.
컴퓨팅 디바이스(1010)는 또한 하나 이상의 입출력 장치를 위한 인터페이스를 제공하는 하나 이상의 입출력 인터페이스(1050) 및 하나 이상의 통신 인터페이스(1060)를 포함할 수 있다. 입출력 인터페이스(1050) 및 통신 인터페이스(1060)는 통신 버스(1070)에 연결된다. 입출력 장치(미도시)는 입출력 인터페이스(1050)를 통해 컴퓨팅 디바이스(1010)의 다른 컴포넌트들에 연결될 수 있다.
도 2 및 도 3에서는 각각의 과정을 순차적으로 실행하는 것으로 기재하고 있으나 이는 예시적으로 설명한 것에 불과하고, 이 분야의 기술자라면 본 발명의 실시예의 본질적인 특성에서 벗어나지 않는 범위에서 도 2 및 도 3에 기재된 순서를 변경하여 실행하거나 또는 하나 이상의 과정을 병렬적으로 실행하거나 다른 과정을 추가하는 것으로 다양하게 수정 및 변형하여 적용 가능할 것이다.
본 실시예들에 따른 동작은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능한 매체에 기록될 수 있다. 컴퓨터 판독 가능한 매체는 실행을 위해 프로세서에 명령어를 제공하는 데 참여한 임의의 매체를 나타낸다. 컴퓨터 판독 가능한 매체는 프로그램 명령, 데이터 파일, 데이터 구조 또는 이들의 조합을 포함할 수 있다. 예를 들면, 자기 매체, 광기록 매체, 메모리 등이 있을 수 있다. 컴퓨터 프로그램은 네트워크로 연결된 컴퓨터 시스템 상에 분산되어 분산 방식으로 컴퓨터가 읽을 수 있는 코드가 저장되고 실행될 수도 있다. 본 실시예를 구현하기 위한 기능적인(Functional) 프로그램, 코드, 및 코드 세그먼트들은 본 실시예가 속하는 기술분야의 프로그래머들에 의해 용이하게 추론될 수 있을 것이다.
본 실시예들은 본 실시예의 기술 사상을 설명하기 위한 것이고, 이러한 실시예에 의하여 본 실시예의 기술 사상의 범위가 한정되는 것은 아니다. 본 실시예의 보호 범위는 아래의 청구범위에 의하여 해석되어야 하며, 그와 동등한 범위 내에 있는 모든 기술 사상은 본 실시예의 권리범위에 포함되는 것으로 해석되어야 할 것이다.

Claims (14)

  1. 그래프 워크로드 분산 방법에 있어서,
    그래프의 주요 노드에 선호도를 부여하고 다른 노드와의 관계에서 연관도를 산출하여 상위 K(상기 K는 자연수)개 노드를 출력하는 제1 개인화된 페이지 랭크 연산 단계;
    상기 상위 K개 노드에 대해 노드 개수를 기준으로 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에 그래프 워크로드를 분산한 후 상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 워크로드 결과를 각각 산출하는 제2 개인화된 페이지 랭크 연산 단계; 및
    상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 각각 산출한 워크로드 결과를 통합하는 단계를 포함하는 그래프 워크로드 분산 방법.
  2. 제1항에 있어서,
    상기 제1 유형 엣지 디바이스는 전력소비 등급을 만족하는 고효율 전력소비 엣지 디바이스에 해당하고,
    상기 제2 유형 엣지 디바이스는 처리 속도 기준을 만족하는 고성능 처리 엣지 디바이스에 해당하는 것을 특징으로 하는 그래프 워크로드 분산 방법.
  3. 제1항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산 단계는,
    상기 상위 K개 노드에 대해 너비 우선 검색(Breadth First Search)을 수행하는 것을 특징으로 하는 그래프 워크로드 분산 방법.
  4. 제3항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산 단계는,
    상기 너비 우선 검색의 결과로 도출된 노드 개수를 기준으로 상기 상위 K개 노드를 정렬하는 것을 특징으로 하는 그래프 워크로드 분산 방법.
  5. 제4항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산 단계는,
    상기 그래프 워크로드의 일부를 제1-1 비율을 기준으로 상기 제1 유형 엣지 디바이스에 분배하고,
    상기 그래프 워크로드의 다른 일부를 제2-1 비율을 기준으로 상기 제2 유형 엣지 디바이스에 분배하는 것을 특징으로 하는 그래프 워크로드 분산 방법.
  6. 제5항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산 단계는,
    상기 제1 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제1-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제1 예비 엣지 디바이스에 분배하는 것을 특징으로 하는 그래프 워크로드 분산 방법.
  7. 제5항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산 단계는,
    상기 제2 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제2-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제2 예비 엣지 디바이스에 분배하는 것을 특징으로 하는 그래프 워크로드 분산 방법.
  8. 그래프 워크로드 분산 장치에 있어서,
    그래프의 주요 노드에 선호도를 부여하고 다른 노드와의 관계에서 연관도를 산출하여 상위 K(상기 K는 자연수)개 노드를 출력하는 제1 개인화된 페이지 랭크 연산부;
    상기 상위 K개 노드에 대해 노드 개수를 기준으로 제1 유형 엣지 디바이스 및 제2 유형 엣지 디바이스에 그래프 워크로드를 분산한 후 상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 워크로드 결과를 각각 산출하는 제2 개인화된 페이지 랭크 연산부; 및
    상기 제1 유형 엣지 디바이스 및 상기 제2 유형 엣지 디바이스에서 각각 산출한 워크로드 결과를 통합하는 결과 통합부를 포함하는 그래프 워크로드 분산 장치.
  9. 제8항에 있어서,
    상기 제1 유형 엣지 디바이스는 전력소비 등급을 만족하는 고효율 전력소비 엣지 디바이스에 해당하고,
    상기 제2 유형 엣지 디바이스는 처리 속도 기준을 만족하는 고성능 처리 엣지 디바이스에 해당하는 것을 특징으로 하는 그래프 워크로드 분산 장치.
  10. 제8항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산부는,
    상기 상위 K개 노드에 대해 너비 우선 검색(Breadth First Search)을 수행하는 것을 특징으로 하는 그래프 워크로드 분산 장치.
  11. 제10항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산부는,
    상기 너비 우선 검색의 결과로 도출된 노드 개수를 기준으로 상기 상위 K개 노드를 정렬하는 것을 특징으로 하는 그래프 워크로드 분산 장치.
  12. 제11항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산부는,
    상기 그래프 워크로드의 일부를 제1-1 비율을 기준으로 상기 제1 유형 엣지 디바이스에 분배하고,
    상기 그래프 워크로드의 다른 일부를 제2-1 비율을 기준으로 상기 제2 유형 엣지 디바이스에 분배하는 것을 특징으로 하는 그래프 워크로드 분산 장치.
  13. 제12항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산부는,
    상기 제1 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제1-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제1 예비 엣지 디바이스에 분배하는 것을 특징으로 하는 그래프 워크로드 분산 장치.
  14. 제8항에 있어서,
    상기 제2 개인화된 페이지 랭크 연산부는,
    상기 제2 유형 엣지 디바이스에 분배된 그래프 워크로드의 일부에 대해서 제2-2 비율을 기준으로 엣지 디바이스 활성화 정책에 따라 활성화된 제2 예비 엣지 디바이스에 분배하는 것을 특징으로 하는 그래프 워크로드 분산 장치.
KR1020220092497A 2022-07-26 2022-07-26 엣지 디바이스 간 워크로드 분산 방법 KR20240014841A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020220092497A KR20240014841A (ko) 2022-07-26 2022-07-26 엣지 디바이스 간 워크로드 분산 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220092497A KR20240014841A (ko) 2022-07-26 2022-07-26 엣지 디바이스 간 워크로드 분산 방법

Publications (1)

Publication Number Publication Date
KR20240014841A true KR20240014841A (ko) 2024-02-02

Family

ID=89900335

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220092497A KR20240014841A (ko) 2022-07-26 2022-07-26 엣지 디바이스 간 워크로드 분산 방법

Country Status (1)

Country Link
KR (1) KR20240014841A (ko)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101620602B1 (ko) 2014-10-29 2016-05-11 재단법인대구경북과학기술원 Gpu를 이용한 큰 규모 그래프 처리 시스템 및 방법
KR20200070116A (ko) 2018-12-07 2020-06-17 삼성전자주식회사 대형 그래프 처리를 위한 그래프 데이터 분할
KR102325047B1 (ko) 2019-06-10 2021-11-11 포항공과대학교 산학협력단 그래프 데이터 처리 방법 및 그래프 데이터 처리 장치

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101620602B1 (ko) 2014-10-29 2016-05-11 재단법인대구경북과학기술원 Gpu를 이용한 큰 규모 그래프 처리 시스템 및 방법
KR20200070116A (ko) 2018-12-07 2020-06-17 삼성전자주식회사 대형 그래프 처리를 위한 그래프 데이터 분할
KR102325047B1 (ko) 2019-06-10 2021-11-11 포항공과대학교 산학협력단 그래프 데이터 처리 방법 및 그래프 데이터 처리 장치

Similar Documents

Publication Publication Date Title
US9053067B2 (en) Distributed data scalable adaptive map-reduce framework
Hazarika et al. Performance comparision of Hadoop and spark engine
Kruskal et al. A complexity theory of efficient parallel algorithms
Breß et al. Efficient co-processor utilization in database query processing
Valiant A bridging model for multi-core computing
US20190034833A1 (en) Model Training Method and Apparatus
Zhang et al. FastSV: A distributed-memory connected component algorithm with fast convergence
KR102598173B1 (ko) 최적화된 딥 네트워크 처리를 위한 그래프 매칭
CN106611037A (zh) 用于分布式图计算的方法与设备
CN103793525A (zh) 基于局部迭代的MapReduce模型的图结点的权威值计算方法
JP2021072107A (ja) ストレージ周辺の階層的ソート加速のためのストレージシステム及び方法
Su et al. Towards optimal decomposition of Boolean networks
Chen et al. HiClus: Highly scalable density-based clustering with heterogeneous cloud
Allmaier et al. Parallel graph generation algorithms for shared and distributed memory machines
Kachris et al. A reconfigurable mapreduce accelerator for multi-core all-programmable socs
Chen et al. DBSCAN-PSM: an improvement method of DBSCAN algorithm on Spark
KR20240014841A (ko) 엣지 디바이스 간 워크로드 분산 방법
CN105302551B (zh) 一种大数据处理系统的正交分解构造与优化的方法及系统
Romero et al. Bolt: Fast inference for random forests
Nakano et al. The random address shift to reduce the memory access congestion on the discrete memory machine
Werner et al. Accelerated join evaluation in Semantic Web databases by using FPGAs
CN113326137B (zh) 深度学习计算方法、装置、芯片及介质
Ahmed et al. On the performance of MapReduce: A stochastic approach
Shao et al. Processing grid-format real-world graphs on DRAM-based FPGA accelerators with application-specific caching mechanisms
Yang et al. Understanding the performance of in-network computing: A case study

Legal Events

Date Code Title Description
E902 Notification of reason for refusal