KR102026970B1 - 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치 - Google Patents

네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치 Download PDF

Info

Publication number
KR102026970B1
KR102026970B1 KR1020180119652A KR20180119652A KR102026970B1 KR 102026970 B1 KR102026970 B1 KR 102026970B1 KR 1020180119652 A KR1020180119652 A KR 1020180119652A KR 20180119652 A KR20180119652 A KR 20180119652A KR 102026970 B1 KR102026970 B1 KR 102026970B1
Authority
KR
South Korea
Prior art keywords
routing algorithm
traffic
routing
usage time
algorithm
Prior art date
Application number
KR1020180119652A
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 KR1020180119652A priority Critical patent/KR102026970B1/ko
Application granted granted Critical
Publication of KR102026970B1 publication Critical patent/KR102026970B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/14Routing performance; Theoretical aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 일 실시예에 따른 네트워크 온 칩에서 라우팅 경로 설정 방법은, 네트워크 온 칩(Network-on-Chip, NoC)에서 코어간 발생하는 트래픽에 따른 라우팅 경로 설정 방법에 있어서, 제1 주기 동안에 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 기설정된 초기 사용 시간 비율로 각각 실행하여 단위 시간당 코어의 트래픽 부하를 측정하는 단계; 상기 단위시간당 코어의 트래픽 부하에 기초하여 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용시 트래픽 집중 코어들을 각각 추출하고, 상기 추출된 트래픽 집중 코어들에 근거하여 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘에 대한 트래픽 집중 패턴을 각각 설정하는 단계; 제2 주기 동안에 제1 사용시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행한 후 상기 제1 주기 동안의 트래픽 집중 패턴을 산출하는 단계; 및 상기 제1 주기 동안의 트래픽 집중 패턴에 적용된 라우팅 알고리즘의 사용 시간 비율을 제1 사용 시간 비율에서 기설정된 감소값 만큼 감소시켜 제2 사용 시간 비율로 조정하고, 제3 주기 동안에 상기 제2 사용 시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행하는 단계를 포함하되, 상기 제2 사용 시간 비율은 상기 트래픽 집중 코어에 대해 상기 제1 라우팅 알고리즘의 라우팅 패킷량과 제2 라우팅 알고리즘의 라우팅 패킷량이 동일한 수준이 되도록 상기 제1 사용 시간 비율에서 상기 제1 라우팅 알고리즘의 사용 시간과 제2 라우팅 알고리즘의 사용 시간을 서로 다르게 조정하는 것이다.있다.

Description

네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치{METHOD AND APPARATUS FOR MANAGING MOBILITY BY SERVICE USING MULTIPROPERTY LABEL SWITCHING IN SDN}
본 발명은 시간에 따라 서로 다른 라우팅 알고리즘을 분리 적용하여 라우터의 부하를 균일하게 하는 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치에 관한 것이다.
네트워크 온 칩(Network on Chip, NoC)의 설계는 코어간 발생하는 트래픽에 따라 최적화된 코어 맵핑과 라우팅 경로 설정으로 이루어진다. 최근, 네트워크 온 칩은 서로 통신량이 많은 코어들을 물리적, 구조적으로 가깝게 배치하는 토폴로지 생성 및 코어 매핑 기법에 대한 연구가 이루어지고 있다.
이러한 연구를 통해 패킷의 지연 시간과 코어의 전력 감소를 기대할 수 있지만, 특정 코어간 통신이 빈번하여 주고받는 패킷량이 증가하게 되면 칩 내 고온 상태가 유지되고, 결과적으로 칩의 노화를 가속화할 수 있는 핫스팟(Hotspot)현상이 나타난다.
XY 라우팅 알고리즘은 메시 구조의 네트워크에서 출발지(x0, y0)에서 목적지(xd, yd)까지의 패킷을 전송할 경우, 현재 위치(xc, yc)(x0≤ xc ≤xd)의 x좌표와 목적지의 x좌표를 먼저 일치시킨 후에 현재 위치의 y좌표와 목적지의 y좌표를 일치시키며 패킷을 전송하는 방식이다.
YX 라우팅 알고리즘은 메시 구조의 네트워크에서 출발지(x0, y0)에서 목적지(xd, yd)까지의 패킷을 전송할 경우, 현재 위치(xc, yc)(y0≤ yc ≤yd)의 y좌표와 목적지의 y좌표를 먼저 일치시킨 후에 현재 위치의 x좌표와 목적지의 x좌표를 일치시키며 패킷을 전송하는 방식이다.
도 1은 일반적인 XY 라우팅 알고리즘과 YX 라우팅 알고리즘의 패킷 전송 경로를 설명하는 도면이다.
도 1에 도시된 바와 같이, XY 라우팅 알고리즘을 단독으로 사용하거나, YX 라우팅 알고리즘을 단독으로 사용하여 패킷을 전송할 경우, 메시 구조의 네트워크 온 칩의 중심 영역에 있는 라우터에 패킷이 집중된다.
예를 들어, 'A'가 출발지이고, 목적지가 'B'와 'C'인 두 패킷이 라우팅 경로를 선택할 경우에, 코어에서 XY 라우팅 알고리즘을 사용하면 메시의 중심부로 두 패킷이 지나가는 것을 확인할 수 있지만, 동일한 출발지에 대해 YX 라우팅 알고리즘을 사용하면 두 패킷이 메시의 주변부로 경로 설정됨을 알 수 있다.
이러한 현상으로 인해 발생하는 핫스팟, HCI(Hot Carrier Injection), NBTI(Negative Bias Temperature Instability)의 발생을 늦추기 위해 XY 라우팅 알고리즘과 YX 라우팅 알고리즘을 지역에 따라 구분하여 다르게 사용하는 지역 기반 XY-YX(Location Based Aging XY-YX, LAXY) 라우팅 알고리즘이 제안되었다.
도 2는 일반적인 LAXY 라우팅 알고리즘의 지역에 따른 라우팅 설정 과정을 설명하는 도면이다.
도 2를 참조하면, LAXY 라우팅 알고리즘은 메시의 좌측과 우측의 검은색 지역에 YX 라우팅 알고리즘을 사용하고, 메시의 중심부의 회색 지역에 XY 라우팅 알고리즘을 사용한다.
LAXY 라우팅 알고리즘은 설정 값에 따라 다른 부하 분포를 보이는데, LAXY 라우팅 알고리즘의 (8, 6, 0, 0) 형태는 주로 메시의 좌우 양측인 주변부에 부하가 집중되는 것을 알 수 있다.
이와 같이, 종래의 XY 라우팅 알고리즘과 LAXY 라우팅 알고리즘은 특정 부분에 트래픽 부하가 집중되기 때문에 네트워크 온 칩 내에 발생한 열이 트래픽 부하가 집중되는 코어의 노화를 가속화시키고, 그로 인해 네트워크 온 칩의 전체적인 수명이 저하되는 문제점이 있다.
본 발명은 전술한 문제점을 해결하기 위하여, 본 발명의 일 실시예에 따라 네트워크 온 칩에서 단위 시간당 코어의 부하 정보에 기초하여 설정된 시간 비율에 따라 서로 다른 라우팅 알고리즘을 적용하여 네트워크 온 칩 내의 부하 불균형을 해결하도록 하는 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치를 제공한다.
다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상기한 기술적 과제를 달성하기 위한 기술적 수단으로서 본 발명의 일 실시예에 따른 네트워크 온 칩에서 라우팅 경로 설정 방법은, 네트워크 온 칩(Network-on-Chip, NoC)에서 코어간 발생하는 트래픽에 따른 라우팅 경로 설정 방법에 있어서, 제1 주기 동안에 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 기설정된 초기 사용 시간 비율로 각각 실행하여 단위 시간당 코어의 트래픽 부하를 측정하는 단계; 상기 단위시간당 코어의 트래픽 부하에 기초하여 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용시 트래픽 집중 코어들을 각각 추출하고, 상기 추출된 트래픽 집중 코어들에 근거하여 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘에 대한 트래픽 집중 패턴을 각각 설정하는 단계; 제2 주기 동안에 제1 사용시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행한 후 상기 제1 주기 동안의 트래픽 집중 패턴을 산출하는 단계; 및 상기 제1 주기 동안의 트래픽 집중 패턴에 적용된 라우팅 알고리즘의 사용 시간 비율을 제1 사용 시간 비율에서 기설정된 감소값 만큼 감소시켜 제2 사용 시간 비율로 조정하고, 제3 주기 동안에 상기 제2 사용 시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행하는 단계를 포함하되, 상기 제2 사용 시간 비율은 상기 트래픽 집중 코어에 대해 상기 제1 라우팅 알고리즘의 라우팅 패킷량과 제2 라우팅 알고리즘의 라우팅 패킷량이 동일한 수준이 되도록 상기 제1 사용 시간 비율에서 상기 제1 라우팅 알고리즘의 사용 시간과 제2 라우팅 알고리즘의 사용 시간을 서로 다르게 조정하는 것이다.
또한, 본 발명의 다른 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 장치는, 적어도 하나 이상의 코어들 간에 패킷 전송을 위해 소스와 목적지간에 경로를 제공하기 위한 라우터를 포함하는 네트워크 온 칩(Network-on-Chip, NoC)에 있어서, 상기 코어간 발생하는 트래픽에 따라 서로 다른 라우팅 알고리즘을 이용하여 상기 라우터의 라우팅 경로 설정 방법을 수행하기 위한 프로그램이 기록된 메모리; 및 상기 프로그램을 실행하기 위한 프로세서를 포함하며, 상기 프로세서는, 상기 프로그램의 실행에 의해, 제1 주기 동안 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 기설정된 초기 사용 시간 비율로 각각 실행하여 단위 시간당 코어의 트래픽 부하에 기초하여 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용시 트래픽 집중 코어들을 각각 추출하고, 상기 추출된 트래픽 집중 코어들에 근거하여 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘에 대한 트래픽 집중 패턴을 각각 설정하며, 제2 주기 동안에 제1 사용시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행한 후 상기 제1 주기 동안의 트래픽 집중 패턴을 산출하고, 상기 제1 주기 동안의 트래픽 집중 패턴에 적용된 라우팅 알고리즘의 사용 시간 비율을 제1 사용 시간 비율에서 기설정된 감소값 만큼 감소시켜 제2 사용 시간 비율로 조정하고, 제3 주기 동안에 상기 제2 사용 시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행하되, 상기 제2 사용 시간 비율은 상기 트래픽 집중 코어에 대해 상기 제1 라우팅 알고리즘의 라우팅 패킷량과 제2 라우팅 알고리즘의 라우팅 패킷량이 동일한 수준이 되도록 상기 제1 사용 시간 비율에서 상기 제1 라우팅 알고리즘의 사용 시간과 제2 라우팅 알고리즘의 사용 시간을 서로 다르게 조정하는 것이다.
전술한 본 발명의 과제 해결 수단에 의하면, 메시 기반의 네트워크 온 칩에서 각 라우터의 부하 균형을 고려하여 정해진 시간 비율에 따라 서로 다른 라우팅 알고리즘을 사용함으로써 통신량이 분산되어 라우터의 부하 불균형을 해소할 수 있다.
또한, 본 발명은 시간 비율에 따라 서로 다른 라우팅 알고리즘을 적용함으로써 트래픽 집중 코어에 부하가 집중되는 것을 방지할 수 있고, 그로 인해 칩 내 온도가 저하되어 네트워크 온 칩의 전체적인 수명이 향상될 수 있는 효과가 있다.
도 1은 일반적인 XY 라우팅 알고리즘과 YX 라우팅 알고리즘의 패킷 전송 경로를 설명하는 도면이다.
도 2는 일반적인 LAXY 라우팅 알고리즘의 지역에 따른 라우팅 설정 과정을 설명하는 도면이다.
도 3은 본 발명의 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 장치를 설명하는 도면이다.
도 4는 본 발명의 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 방법을 설명하는 순서도이고,
도 5는 도 4의 다중 라우팅 경로 설정 방법을 시뮬레이션한 결과를 설명하는 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
이하의 실시예는 본 발명의 이해를 돕기 위한 상세한 설명이며, 본 발명의 권리 범위를 제한하는 것이 아니다. 따라서 본 발명과 동일한 기능을 수행하는 동일 범위의 발명 역시 본 발명의 권리 범위에 속할 것이다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 3은 본 발명의 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 장치를 설명하는 도면이다.
도 3을 참조하면, 일반적으로 네트워크 온 칩(Network-on-Chip, NoC)은 적어도 하나 이상의 코어(110)들 간에 패킷을 전달하는 네트워크 인터페이스와 출발지에서 목적지까지 패킷을 전송하기 위한 경로를 제공하는 라우터(120)를 포함한다.
이때, 라우터(120)는 일종의 네트워크 스위치(network switch) 또는 스위칭 허브(switching hub)일 수 있다. 또한, 라우터(120)는 복수의 포트를 포함할 수 있다. 또한, 라우터(120)는 복수의 포트를 통하여 설정된 하나의 코어(110) 또는 하나 이상의 타 라우터(120)와 연결될 수 있다.
네트워크 온 칩은 정형의 타일(tile)(200)들로 모델링되는 정형 메시 구조일 수 있으며, 각각의 타일은 마이크로프로세서, DSP 또는 전용 하드웨어 블럭 등이 될 수 있다. 이러한 타일(200)은 코어(110)와 라우터(120)로 구성되어 있고, 타일들이 온-칩 네트워크 인터페이스에 의해 상호 연결되어 있다.
이와 같이, 네트워크 온 칩은 하나의 코어(110)마다 하나의 라우터(120)가 연결된 구조로서, 코어(110)는 패킷을 라우터를 통해 전송하기 위한 방법을 기술하는 라우팅 알고리즘, 패킷을 정해진 시간 동안 전송하기 위한 플로우 컨트롤 제어 등을 수행한다. 이러한 코어(110)는 각각의 연산을 수행하는 프로세서 코어(Processor Core) 또는 IP블록(IP block)이라 지칭되기도 한다.
정형 메시 구조의 네트워크 온 칩에서 타일(200)은 코어간 발생하는 트래픽에 따라 서로 다른 라우팅 알고리즘을 이용하여 라우터의 라우팅 경로 설정 방법을 수행하기 위한 프로그램이 기록된 메모리(210) 및 메모리(210)에 기록된 프로그램을 실행하기 위한 프로세서(220)를 포함한다. 이때, 프로세서(220)는 상기에서 설명한 바와 같이 라우팅 알고리즘 등을 수행하는 코어 또는 프로세서 코어일 수 있다.
메모리(210)는 프로세서(220)가 처리하는 데이터를 일시적 또는 영구적으로 저장하는 기능을 수행한다. 여기서, 메모리(210)는 휘발성 저장 매체(volatile storage media) 또는 비휘발성 저장 매체(non-volatile storage media)를 포함할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
프로세서(220)는 네트워크 온 칩에서 라우터의 부하를 균일하게 하기 위한 다중 라우팅 경로 설정 방법을 제공하는 전체 과정을 제어한다. 프로세서(220)가 수행하는 각 단계에 대해서는 도 4를 참조하여 후술하기로 한다.
여기서, 프로세서(220)는 프로세서(processor)와 같이 데이터를 처리할 수 있는 모든 종류의 장치를 포함할 수 있다. 여기서, '프로세서(processor)'는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.
도 4는 본 발명의 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 방법을 설명하는 순서도이고, 도 5는 도 4의 다중 라우팅 경로 설정 방법을 시뮬레이션한 결과를 설명하는 도면이다.
도 4를 참조하면, 네트워크 온 칩의 다중 라우팅 경로 설정 방법은 제1 라우팅 알고리즘과 제2 라우팅 알고리즘에 대한 초기 사용 시간 비율과 설정된 사용 시간 비율을 갱신하기 위한 갱신 주기를 설정한다(S11). 여기서, 제1 라우팅 알고리즘은 XY 라우팅 알고리즘이거나 YX 라우팅 알고리즘이고, 제2 라우팅 알고리즘은 LAXY 라우팅 알고리즘이다. 그러나, 제1 알고리즘과 제2 알고리즘은 XY 라우팅 알고리즘과 LAXY 라우팅 알고리즘 외에도 서로 다른 라우팅 기법을 적용할 수 있다.
프로세서는 기설정된 동일한 사용 시간 비율로 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 제1 주기 동안 각각 실행하여 단위 시간당 코어의 트래픽 부하를 측정한다(S12, S13).
프로세서는 단위시간당 코어의 트래픽 부하에 기초하여 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용시 트래픽 집중 코어들을 각각 추출한다(S14). 즉, 프로세서는 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용 시간에 단위 시간당 코어의 트래픽 부하가 기설정된 임계치 이상인 트래픽 집중 코어들을 검색한다. 그리고, 제1 라우팅 알고리즘의 사용 시간에 검색된 트래픽 집중 코어들을 제1 트래픽 집중 패턴으로 설정하고, 제2 라우팅 알고리즘의 사용 시간에 검색된 트래픽 집중 코어들을 제2 트래픽 집중 패턴으로 설정한다(S15, S16).
제1 라우팅 알고리즘은 XY 라우팅 알고리즘이 적용될 경우, 정형 메시 구조의 네트워크 온 칩에서 메시의 중심부에 트래픽 집중 코어들이 집중되는 제1 트래픽 집중 패턴을 형성하고, 제2 라우팅 알고리즘은 LAXY 라우팅 알고리즘이 적용될 경우, 메시의 주변에 트래픽 집중 코어들이 집중되는 제2 트래픽 집중 패턴을 형성한다.
프로세서는 제2 주기 동안에 제1 사용시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 분리하여 실행한 후 제2 주기 동안의 트래픽 집중 코어를 산출한다(S17, S18).
즉, 프로세서는 트래픽 집중 코어의 위치를 검출하고, 검출된 트래픽 집중 코어가 제1 트래픽 집중 패턴 내에 위치하면 제2 라우팅 알고리즘의 사용 시간 비율을 기설정된 증가값만큼 증가시킨다(S19, S20). 한편, 프로세서는 검출된 트래픽 집중 코어가 제2 트래픽 집중 패턴 내에 위치하면 제1 라우팅 알고리즘의 사용 시간 비율을 기설정된 증가값만큼 증가시킨다(S21, S22).
따라서, 제3 주기 동안에 제2 주기 동안의 트래픽 집중 코어의 위치에 따라 제1 사용 시간 비율이 조정된 제2사용 시간 비율로 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 각각 실행한다(S23). 여기서, 제2 사용 시간 비율은 트래픽 집중 코어에 대해 제1 라우팅 알고리즘의 라우팅 패킷량과 제2 라우팅 알고리즘의 라우팅 패킷량이 동일한 수준이 되도록 제1 라우팅 알고리즘의 사용 시간과 제2 라우팅 알고리즘의 사용 시간을 다르게 설정한 것이다. 예를 들어, 트래픽 집중 코어가 제1 트래픽 집중 패턴 내에 위치하면 제2 라우팅 알고리즘의 사용 시간 비율을 기설정된 증가값만큼 증가시키고, 그 증가값만큼 제1 라우팅 알고리즘의 사용 시간 비율이 감소된 제2 사용 시간 비율로 제1 라우팅 알고리즘과 제2 알고리즘을 제3 주기 동안에 각각 실행한다.
프로세서는 제3 주기 동안에 제2 사용시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행한 후 제3 주기 동안의 트래픽 집중 코어를 산출한다.
프로세서는 제4 주기에도 제3 주기 동안의 단위시간당 코어의 트래픽 부하에 기초하여 일정 시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 분리하여 사용하면서 각 라우팅 알고리즘의 사용시 트래픽 집중 코어를 번갈아 가며 사용할 수 있도록 한다.
본 발명의 일 실시예에 따른 네트워크 온 칩의 다중 라우팅 경로 설정 방법의 성능을 검증하기 위해, SystemC 기반의 Noxim 시뮬레이터에서 10X10 2D 메시 구조를 기반으로 다중 라우팅 경로 설정 방법을 적용하기 위한 환경을 구성하고, 정해진 시간 내에 가장 통신량이 많은 라우터를 기준으로 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 분리 적용하였다.
도 5에 도시된 바와 같이, XY 라우팅 알고리즘을 단독으로 네트워크 온 칩에 적용하면 가장 통신량이 많은 코어가 3740개의 플릿을 전송하지만, XY 라우팅 알고리즘과 LAXY 알고리즘을 일정한 시간 비율로 분리 적용하면 가장 통신량이 많은 코어가 3092개의 플릿을 전송하였다. 이와 같이, 최대 부하를 측정한 시뮬레이션 결과에 따라, XY 라우팅 알고리즘을 단독으로 사용한 경우에 비해 XY 라우팅 알고리즘과 LAXY 알고리즘을 일정한 시간 비율로 분리 적용한 경우가 라우터의 부하 불균형을 약 17% 해소시킬 수 있음을 확인할 수 있다.
이상에서 설명한 본 발명의 실시예에 따른 따른 네트워크 온 칩의 다중 라우팅 경로 설정 방법은, 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 이러한 기록 매체는 컴퓨터 판독 가능 매체를 포함하며, 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체를 포함하며, 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110: 코어 120 : 라우터
200 : 타일 210 : 메모리
220 : 프로세서

Claims (9)

  1. 네트워크 온 칩(Network-on-Chip, NoC)에서 코어간 발생하는 트래픽에 따른 라우팅 경로 설정 방법에 있어서,
    a) 제1 주기 동안에 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 기설정된 초기 사용 시간 비율로 각각 실행하여 단위 시간당 코어의 트래픽 부하를 측정하는 단계;
    b) 상기 단위시간당 코어의 트래픽 부하에 기초하여 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용시 트래픽 집중 코어들을 각각 추출하고, 상기 추출된 트래픽 집중 코어들에 근거하여 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘에 대한 트래픽 집중 패턴을 각각 설정하는 단계;
    c) 제2 주기 동안에 제1 사용시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행한 후 상기 제1 주기 동안의 트래픽 집중 패턴을 산출하고, 상기 제1 주기 동안의 트래픽 집중 패턴에 적용된 라우팅 알고리즘의 사용 시간 비율을 제1 사용 시간 비율에서 기설정된 감소값 만큼 감소시켜 제2 사용 시간 비율로 조정하는 단계;
    d) 제3 주기 동안에 상기 제2 사용 시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행하는 단계를 포함하되,
    상기 제2 사용 시간 비율은 상기 트래픽 집중 코어에 대해 상기 제1 라우팅 알고리즘의 라우팅 패킷량과 제2 라우팅 알고리즘의 라우팅 패킷량이 동일한 수준이 되도록 상기 제1 사용 시간 비율에서 상기 제1 라우팅 알고리즘의 사용 시간과 제2 라우팅 알고리즘의 사용 시간을 서로 다르게 조정하는 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 방법.
  2. 제 1 항에 있어서,
    상기 b) 단계는,
    b-1) 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용 시간에 단위 시간당 코어의 트래픽 부하가 기설정된 임계치 이상인 트래픽 집중 코어들을 검색하는 단계; 및
    b-2) 상기 제1 라우팅 알고리즘의 사용 시간에 검색된 트래픽 집중 코어들을 제1 트래픽 집중 패턴으로 설정하고, 상기 제2 라우팅 알고리즘의 사용 시간에 검색된 트래픽 집중 코어들을 제2 트래픽 집중 패턴으로 설정하는 단계를 포함하는 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 방법.
  3. 제 2 항에 있어서,
    상기 c) 단계는,
    상기 트래픽 집중 코어의 위치를 검출 한 후 상기 트래픽 집중 코어가 제1 트래픽 집중 패턴 내에 위치하면 상기 제2 라우팅 알고리즘의 사용 시간 비율을 기설정된 증가값만큼 증가시키고, 상기 제1 라우팅 알고리즘의 사용 시간 비율을 기설정된 감소값만큼 감소시켜 제2 사용 시간 비율을 설정하는 것인, 네트워크 온칩에서 다중 라우팅 경로 설정 방법.
  4. 제 2 항에 있어서,
    상기 c) 단계는,
    상기 트래픽 집중 코어의 위치를 검출 한 후 상기 트래픽 집중 코어가 제2 트래픽 집중 패턴 내에 위치하면 상기 제1 라우팅 알고리즘의 사용 시간 비율을 기설정된 증가값만큼 증가시키고, 상기 제2 라우팅 알고리즘의 사용 시간 비율을 기설정된 감소값만큼 감소시켜 제2 사용 시간 비율을 설정하는 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 방법.
  5. 제 1 항에 있어서,
    상기 제1 라우팅 알고리즘은 XY 라우팅 알고리즘 또는 YX 라우팅 알고리즘을 사용하고,
    제2 라우팅 알고리즘은 지역 기반 XY-YX(Location Based Aging XY-YX, LAXY) 라우팅 알고리즘을 사용한 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 방법.
  6. 제 5 항에 있어서,
    상기 제1 라우팅 알고리즘의 사용시간에 검색된 트래픽 집중 코어들은 정형 메시 구조의 네트워크 온 칩에서 메시의 중심부에 집중되는 제1 트래픽 집중 패턴을 형성하고,
    상기 제2 라우팅 알고리즘의 사용 시간에 검색된 트래픽 집중 코어들은 정형 메시 구조의 네트워크 온 칩에서 메시의 주변에 집중되는 제2 트래픽 집중 패턴을 형성하는 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 방법.
  7. 적어도 하나 이상의 코어들 간에 패킷 전송을 위해 소스와 목적지간에 경로를 제공하기 위한 라우터를 포함하는 네트워크 온 칩(Network-on-Chip, NoC)의 다중 라우팅 경로 설정 장치에 있어서,
    상기 코어간 발생하는 트래픽에 따라 서로 다른 라우팅 알고리즘을 이용하여 상기 라우터의 라우팅 경로 설정 방법을 수행하기 위한 프로그램이 기록된 메모리; 및
    상기 프로그램을 실행하기 위한 프로세서를 포함하며,
    상기 프로세서는, 상기 프로그램의 실행에 의해,
    제1 주기 동안 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 기설정된 초기 사용 시간 비율로 각각 실행하여 단위 시간당 코어의 트래픽 부하에 기초하여 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용시 트래픽 집중 코어들을 각각 추출하고, 상기 추출된 트래픽 집중 코어들에 근거하여 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘에 대한 트래픽 집중 패턴을 각각 설정하며,
    제2 주기 동안에 제1 사용시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행한 후 상기 제1 주기 동안의 트래픽 집중 패턴을 산출하고, 상기 제1 주기 동안의 트래픽 집중 패턴에 적용된 라우팅 알고리즘의 사용 시간 비율을 제1 사용 시간 비율에서 기설정된 감소값 만큼 감소시켜 제2 사용 시간 비율로 조정하고,
    제3 주기 동안에 상기 제2 사용 시간 비율에 따라 제1 라우팅 알고리즘과 제2 라우팅 알고리즘을 실행하되,
    상기 제2 사용 시간 비율은 상기 트래픽 집중 코어에 대해 상기 제1 라우팅 알고리즘의 라우팅 패킷량과 제2 라우팅 알고리즘의 라우팅 패킷량이 동일한 수준이 되도록 상기 제1 사용 시간 비율에서 상기 제1 라우팅 알고리즘의 사용 시간과 제2 라우팅 알고리즘의 사용 시간을 서로 다르게 조정하는 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 장치.
  8. 제 7 항에 있어서,
    상기 프로세서는, 상기 제1 라우팅 알고리즘과 제2 라우팅 알고리즘의 사용 시간에 단위 시간당 코어의 트래픽 부하가 기설정된 임계치 이상인 트래픽 집중 코어들을 검색하고,
    상기 제1 라우팅 알고리즘의 사용 시간에 검색된 트래픽 집중 코어들을 제1 트래픽 집중 패턴으로 설정하고, 상기 제2 라우팅 알고리즘의 사용 시간에 검색된 트래픽 집중 코어들을 제2 트래픽 집중 패턴으로 설정하는 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 장치.
  9. 제 8 항에 있어서,
    상기 프로세서는,
    상기 트래픽 집중 코어가 제1 트래픽 집중 패턴 내에 위치하면 상기 제2 라우팅 알고리즘의 사용 시간 비율을 기설정된 증가값만큼 증가시키고, 상기 제1 라우팅 알고리즘의 사용 시간 비율을 기설정된 감소값만큼 감소시켜 제2 사용 시간 비율을 설정하고,
    상기 트래픽 집중 코어가 제2 트래픽 집중 패턴 내에 위치하면 상기 제1 라우팅 알고리즘의 사용 시간 비율을 기설정된 증가값만큼 증가시키고, 상기 제2 라우팅 알고리즘의 사용 시간 비율을 기설정된 감소값만큼 감소시켜 제2 사용 시간 비율을 설정하는 것인, 네트워크 온 칩의 다중 라우팅 경로 설정 장치.
KR1020180119652A 2018-10-08 2018-10-08 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치 KR102026970B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020180119652A KR102026970B1 (ko) 2018-10-08 2018-10-08 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180119652A KR102026970B1 (ko) 2018-10-08 2018-10-08 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치

Publications (1)

Publication Number Publication Date
KR102026970B1 true KR102026970B1 (ko) 2019-09-30

Family

ID=68098422

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180119652A KR102026970B1 (ko) 2018-10-08 2018-10-08 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치

Country Status (1)

Country Link
KR (1) KR102026970B1 (ko)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101297533B1 (ko) * 2013-02-05 2013-08-16 서울과학기술대학교 산학협력단 네트워크 온 칩 성능 향상을 위한 xy-yx 라우팅 장치 및 방법
KR20160007606A (ko) * 2013-05-14 2016-01-20 후아웨이 테크놀러지 컴퍼니 리미티드 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101297533B1 (ko) * 2013-02-05 2013-08-16 서울과학기술대학교 산학협력단 네트워크 온 칩 성능 향상을 위한 xy-yx 라우팅 장치 및 방법
KR20160007606A (ko) * 2013-05-14 2016-01-20 후아웨이 테크놀러지 컴퍼니 리미티드 작업 할당 방법, 작업 할당 장치, 및 네트워크 온 칩

Similar Documents

Publication Publication Date Title
JP6781266B2 (ja) 輻輳を考慮したロードバランシングのための仮想トンネルエンドポイント
US10375121B2 (en) Micro-segmentation in virtualized computing environments
US10454830B2 (en) System and method for load balancing in a data network
Vissicchio et al. Central control over distributed routing
KR101917062B1 (ko) 소프트웨어 정의 네트워크에서 링크 플러딩 공격을 완화하기 위한 허니넷 방법, 시스템 및 컴퓨터 프로그램
JP5654142B2 (ja) ネットワーク・スイッチを構成するための方法
EP2817928B1 (en) Controller placement for fast failover in the split architecture
Ma et al. SDN-based traffic aware placement of NFV middleboxes
US10129181B2 (en) Controlling the reactive caching of wildcard rules for packet processing, such as flow processing in software-defined networks
US20140089506A1 (en) Securing software defined networks via flow deflection
US20130064079A1 (en) Network-Wide Flow Monitoring in Split Architecture Networks
US20190140937A1 (en) Weighted multipath routing configuration in software-defined network (sdn) environments
Zheng et al. Sentinel: Failure recovery in centralized traffic engineering
US20180309635A1 (en) Communications network node
Shang et al. Online service function chain placement for cost-effectiveness and network congestion control
Li et al. Amtcp: an adaptive multi-path transmission control protocol
Lin et al. Optimal placement of network security monitoring functions in NFV-enabled data centers
EP3706378A1 (en) Selection of member ports in a link aggregation group
KR102026970B1 (ko) 네트워크 온 칩의 다중 라우팅 경로 설정 방법 및 장치
US11070472B1 (en) Dynamically mapping hash indices to member interfaces
Chang et al. Using sdn technology to mitigate congestion in the openstack data center network
Huang et al. An enhanced scheduling framework for elephant flows in SDN-based data center networks
AlShammari et al. BL‐Hybrid: A graph‐theoretic approach to improving software‐defined networking‐based data center network performance
Shaghaghi et al. Gwardar: Towards protecting a software-defined network from malicious network operating systems
Khan et al. A convergence time optimization paradigm for OSPF based networks through SDN SPF protocol computer communications and networks (CCN)/delay tolerant networks

Legal Events

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