KR101784499B1 - Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same - Google Patents

Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same Download PDF

Info

Publication number
KR101784499B1
KR101784499B1 KR1020160112090A KR20160112090A KR101784499B1 KR 101784499 B1 KR101784499 B1 KR 101784499B1 KR 1020160112090 A KR1020160112090 A KR 1020160112090A KR 20160112090 A KR20160112090 A KR 20160112090A KR 101784499 B1 KR101784499 B1 KR 101784499B1
Authority
KR
South Korea
Prior art keywords
path
routers
vfi
router
noc
Prior art date
Application number
KR1020160112090A
Other languages
Korean (ko)
Inventor
한태희
윤성재
이창림
이재성
Original Assignee
성균관대학교산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 성균관대학교산학협력단 filed Critical 성균관대학교산학협력단
Priority to KR1020160112090A priority Critical patent/KR101784499B1/en
Application granted granted Critical
Publication of KR101784499B1 publication Critical patent/KR101784499B1/en

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/28Routing or path finding of packets in data switching networks using route fault recovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/22Alternate routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • 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

Landscapes

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

Abstract

전압-주파수-구역(voltage-frequency-island, VFI) 네트워크 온 칩(Network-on-Chip, NoC)의 라우팅 설계 시, VFI NoC는 복수의 코어, 상기 코어 별로 매칭된 복수의 라우터 및 라우터 간에 경로를 형성하는 링크들이 구성되며, 복수의 코어 및 라우터들이 각각 상이한 전압 및 주파수를 사용하는 둘 이상의 구역으로 구역화된 것이되, 임의의 어플리케이션의 트래픽 특성에 따른 데이터들의 패킷 별 비트 당 소모 에너지 값 및 상이한 구역 간의 통신에 의한 추가 소모 에너지 값에 기초하여 최소 에너지 소모 값을 갖는 최적 경로를 계산하고, 최적 경로가 경유하는 링크 별로 고장 발생을 가정하여 라우터 별로 적어도 하나의 우회 경로를 계산하며, 최적 경로 및 적어도 하나의 우회 경로를 라우터의 라우팅 테이블에 저장한다.In a routing design of a voltage-frequency-island (VFI) network-on-chip (NoC), VFI NoC provides a path between a plurality of cores, a plurality of routers matched by the cores, , Wherein a plurality of cores and routers are zoned into two or more zones each using a different voltage and frequency, and the consumed energy value per bit per packet of data according to the traffic characteristic of any application and a different Calculating an optimal path having a minimum energy consumption value based on the additional energy consumption by the communication between the zones, calculating at least one bypass path for each router assuming a failure for each link passing through the optimal path, And stores at least one bypass route in the routing table of the router.

Description

전압-주파수-구역 방식의 네트워크 온 칩의 고장 감내 라우팅 설계 장치 및 방법과 이를 적용한 전압-주파수-구역 방식의 네트워크 온 칩{APPARATUS AND METHOD FOR FAULT TOLERLANT ROUTING IN VOLTAGE-FREQUENCY-ISLAND NETWORKS-ON-CHIP, VOLTAGE-FREQUENCY-ISLAND NETWORKS-ON-CHIP USING THE SAME}TECHNICAL FIELD The present invention relates to an apparatus and method for designing a fault-tolerant routing of a network-on-chip in a voltage-frequency-zone system, and a network-on-chip in a voltage-frequency-zone system using the same. BACKGROUND OF THE INVENTION 1. Field of the Invention , VOLTAGE-FREQUENCY-ISLAND NETWORKS-ON-CHIP USING THE SAME}

본 발명은 전압-주파수-구역(voltage-frequency-island, VFI) 설계 기법이 적용된 네트워크-온-칩(Network-on-Chip, NoC)에서의 고장 감내(fault tolerant)를 위한 라우팅 설계 장치 및 방법과 이를 적용한 VFI NoC에 관한 것이다.The present invention relates to an apparatus and a method for designing a routing for fault tolerant in a network-on-chip (NoC) to which a voltage-frequency-island (VFI) And VFI NoC to which this is applied.

매니코어(many-core) 프로세서가 보편화되면서 코어 간의 통신 성능이 전체 칩 성능과 전력소모에 지배적인 요소로 대두되고 있다. 이에 따라 확장성을 고려한 패킷 스위칭 통신 기반의 네트워크-온-칩 (Network-on-Chip, NoC)이 제안되었다. 또한, NoC 보편화 추세와 인터커넥트에 의한 전력소모 비중이 증가함에 따라 타일(tile) 단위로 특정 전압-주파수를 구역화하는 VFI(voltage-frequency-island) 저전력 설계 기법이 적용되고 있다.As many-core processors become popular, communication performance between cores is becoming a dominant factor in overall chip performance and power consumption. Accordingly, a network-on-chip (NoC) based packet switching communication considering scalability has been proposed. In addition, a voltage-frequency-island (VFI) low-power design technique is being applied to segment a specific voltage-frequency in units of tiles as the NoC general trend and the proportion of power consumption by the interconnect increase.

한편, 최첨단 반도체 칩의 경우 내부 금속 배선 길이의 총합이 수 킬로미터(km) 수준으로 증가하고 있으며, 또한 공정 미세화로 인해 선폭과 동작 전압이 감소하면서 에이징(aging)과 공정 변이에 의한 결함 발생 확률이 기하급수적으로 증가하고 있다. 이러한 배경에는 EUV(Extreme Ultra-Violet) 노광 장비 개발의 지연으로 인해 다중 패터닝과 광학 근접 보정(Optical Proximity Correction, OPC)에 의한 칩 제조가 이루어지는 것도 주요 요인으로 작용하고 있다. 이로 인해, NoC 구조의 최첨단 시스템-온-칩(System-on-Chip, SoC)에서 배선 고장을 감내할 수 있는 기술의 필요하게 되었으며, NoC를 구성하는 링크에서 영구 고장 (permanent fault)이 발생하여 통신이 불가능한 경우 우회 경로를 이용하여 목적지까지 패킷을 전송할 수 있도록 하는 다양한 고장 감내 라우팅 기법(fault tolerant routing method)이 연구되고 있다.On the other hand, in the case of the most advanced semiconductor chip, the total length of the internal metal wiring is increased to several kilometers (km), and since the line width and the operating voltage are reduced due to the process refinement, the probability of occurrence of defects due to aging and process variation It is increasing exponentially. This is due to the delay in the development of EUV (Extreme Ultra-Violet) exposure equipment and the fact that chip fabrication by optical pattern proximity correction (OPC) is also a major factor. This has led to the need for a technology that can tolerate wiring failures in a state-of-the-art system-on-chip (SoC) of a NoC structure, and a permanent fault A variety of fault tolerant routing methods have been researched to enable the transmission of packets to a destination using a bypass route when communication is not possible.

기존의 고장 감내 라우팅 기법은 우회 경로를 찾기 위해 사용하는 고장 정보의 범위에 따라 크게 두 가지로 나눌 수 있다.The existing fault - tolerant routing technique can be roughly classified into two types according to the range of fault information used to find the bypass path.

첫 번째는 NoC를 구성하는 모든 링크의 상태를 탐색하여 우회 경로를 선택하는 기법이다. 이러한 경우, 목적지까지 경로가 존재하는 경우 정상적으로 통신이 가능하다는 장점이 있다. 하지만 전체 NoC 고장 정보를 받아 경로를 새로 갱신하기 때문에 구현 복잡도가 증가하며, 새로운 경로를 계산하고 라우팅 테이블을 재구성하는 동안에는 통신이 불가능한 단점이 있다.The first is a technique for selecting the bypass path by searching the state of all the links constituting NoC. In this case, there is an advantage that communication can be normally performed when a path exists to a destination. However, since the entire NoC fault information is received and the path is newly updated, the implementation complexity increases, and there is a disadvantage that communication is not possible while calculating a new path and reconfiguring the routing table.

두 번째는 인접한 라우터의 링크 상태만 활용하여 우회 경로를 선택하는 기법이다. 이러한 경우, 실제 칩에서는 고장난 링크의 개수가 증가하면 성능이 현저히 감소하기 때문에 적정 개수의 고장(fault)를 감내하는 것을 목적으로 한다. 이에 따라, 최근에는 앞서 설명한 첫 번째 기법에서 제안한 기법의 오버헤드를 완화하기 위해 인접한 라우터의 상태만을 고려해, 고장 커버리지(fault coverage)는 조금 감소되나 구현이 간단하고 실시간으로 우회 경로를 계산할 수 있는 방법이 제안되고 있다.The second is a technique for selecting a bypass route by utilizing only the link state of the adjacent router. In this case, since the performance is significantly reduced when the number of broken links increases in an actual chip, it is intended to tolerate a proper number of faults. Recently, in order to mitigate the overhead of the scheme proposed in the first scheme described above, fault coverage is slightly reduced considering only the state of adjacent routers, but a simple implementation and a method of calculating the bypass path in real time Has been proposed.

하지만 종래의 고장 감내 기법은 두 가지 모두 VFI 특징을 고려하고 있지 않기 때문에, VFI NoC에서 에너지 소모가 증가하며, 라우팅 테이블을 갱신하는 동안 칩이 정상적으로 동작하지 않는 단점이 있다. 즉, 에너지 소모 최적화를 위한 VFI 기술이 적용된 NoC에 대해서는 이러한 고장 감내 기법 연구가 부족한 상황이다.However, since both of the conventional fault tolerance techniques do not consider the VFI feature, energy consumption is increased in the VFI NoC, and the chip does not operate normally while updating the routing table. In other words, there is a lack of research on this fault tolerance technique for NoC with VFI technology for energy consumption optimization.

VFI NoC는 특정 어플리케이션에 최적화된 구조로서, 설계시에 실행 태스크(task) 특성에 따라 인접한 라우터와 프로세싱 코어들을 VFI 구역(즉, 타일)으로 묶고, 각 VFI 구역마다 서로 다른 전압과 주파수를 할당한다.The VFI NoC is a structure optimized for a specific application. At the design stage, adjacent routers and processing cores are grouped into VFI regions (i.e., tiles) according to task characteristics, and different voltages and frequencies are assigned to each VFI region .

이와 관련하여, 대한민국 등록 특허 제 10-1053903 호(발명의 명칭: 네트워크온칩에서 전압 및 주파수 제어 장치 및 방법)에서는, 프로세싱 요소(PE: Processing Element)들을 연결하는 적어도 하나의 링크에 대한 상태 정보, PE들 사이의 경로를 구성하는 링크 구성 정보, 대역폭에 따른 링크의 전압과 클럭 정보를 포함하는 저장부, 상기 저장부에서 링크 구성 정보를 확인하여 데이터를 전송하기 위한 PE들 사이의 경로를 구성하고, PE들이 데이터를 전송하기 위해 필요한 대역폭에 따라 상기 구성한 경로에 포함되는 링크들의 전압과 클럭을 결정하여 상기 링크들의 전압 및 클럭을 제어하는 제어 장치를 포함하여 구성되며, 상기 제어 장치는 제어를 통해 변경한 링크들의 전압, 클럭 및 대역폭 정보를 이용하여 저장부의 링크에 대한 상태 정보를 갱신하는, 네트워크온칩(NoC: Network On Chip)에서 전력 제어 장치를 개시하고 있다.In this regard, Korean Patent Registration No. 10-1053903 entitled " Device and method for controlling voltage and frequency in network-on-chip ") discloses a method and apparatus for controlling the state of at least one link connecting processing elements (PEs) A storage unit including link configuration information constituting a path between PEs, a voltage and a clock information of a link according to a bandwidth, and a path between PEs for confirming link configuration information and transmitting data in the storage unit And a control device for controlling the voltages and the clocks of the links by determining the voltages and clocks of the links included in the path according to the bandwidth required for the PEs to transmit data, And updates the status information on the link of the storage unit using the voltage, clock, and bandwidth information of the changed links, It discloses a power control apparatus in: (Network On Chip NoC) on-chip.

이러한 VFI 구역 간 통신을 위해 각 라우터에 VLC(voltage level converter)와 mcFIFO(mixed clock FIFO)가 필요하며, 패킷이 이를 경유할 때 추가적인 에너지 소모와 지연 시간이 발생한다.In order to communicate between these VFI zones, a voltage level converter (VLC) and a mixed clock FIFO (mcFIFO) are required for each router, and additional energy consumption and delay time occur when the packet passes through it.

따라서, VFI NoC에서는 어플리케이션의 트래픽 패턴과 추가 로직을 고려하여 라우팅 경로를 계산한다. 그런데 기존의 고장 감내 라우팅 기법의 경우 VFI NoC 환경 특성에 따른 요소들을 고려하지 않고 우회 경로를 계산하여 목적지까지 패킷을 전송하는 것에만 목적이 있다. 이에 따라 기존의 고장 감내 라우팅 기법을 VFI NoC에 적용하면 고장 난 링크를 우회하여 통신은 가능하지만 추가 로직을 경유하는 횟수와 패킷이 한 곳에 집중 될 가능성이 증가하여 에너지 소모가 증가하는 문제점이 발생한다.Therefore, VFI NoC calculates the routing path considering the application traffic pattern and additional logic. However, in the case of the existing fault-tolerant routing technique, it is only aimed at calculating the bypass route without considering the factors according to the VFI NoC environment characteristic and transmitting the packet to the destination. Therefore, if the existing fault-tolerant routing technique is applied to VFI NoC, it is possible to bypass the failed link, but it is possible to communicate. However, there is a problem that the number of packets passing through the additional logic and the probability that packets are concentrated in one place increase and energy consumption increases .

따라서, 이러한 VFI NoC 환경에서 고장 발생 시 에너지 소모를 최소화하여 효율적으로 우회 경로를 설정할 수 있는 방법이 필요하다.Therefore, there is a need for a method that can efficiently set the bypass path by minimizing energy consumption in the event of a fault in the VFI NoC environment.

전술한 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 VFI NoC에서 고장 감내를 위한 경로를 설정하는 라우팅 설계 장치 및 방법과 이를 적용한 VFI NoC를 제공하고자 한다.In order to solve the problems of the prior art described above, an embodiment of the present invention provides a routing design apparatus and method for setting a path for failure tolerance in a VFI NoC, and a VFI NoC using the same.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.It should be understood, however, that the technical scope of the present invention is not limited to the above-described technical problems, and other technical problems may exist.

상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른, 전압-주파수-구역(voltage-frequency-island, VFI) 네트워크 온 칩(Network-on-Chip, NoC)의 라우팅 설계 장치는, 상기 VFI NoC는 복수의 코어, 상기 코어 별로 매칭된 복수의 라우터 및 상기 라우터 간에 경로를 형성하는 링크들이 구성되며, 상기 복수의 코어 및 라우터들이 각각 상이한 전압 및 주파수를 사용하는 둘 이상의 구역으로 구역화된 것이되, 상기 VFI NoC에 대한 최상 경로 및 우회 경로를 설정하는 경로 설정 프로그램이 저장된 메모리; 및 상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며, 상기 프로세서는 상기 경로 설정 프로그램의 실행에 따라, 임의의 어플리케이션의 트래픽 특성에 따른 데이터들의 패킷 별 비트 당 소모 에너지 값 및 상이한 구역 간의 통신에 의한 추가 소모 에너지 값에 기초하여 최소 에너지 소모 값을 갖는 최적 경로를 계산하고, 상기 최적 경로가 경유하는 링크 별로 고장 발생을 가정하여 라우터 별로 적어도 하나의 우회 경로를 계산하며, 상기 최적 경로 및 적어도 하나의 우회 경로를 상기 라우터의 라우팅 테이블에 저장한다.According to an aspect of the present invention, there is provided a routing design apparatus for a voltage-frequency-island (VFI) network-on-chip (NoC) VFI NoC consists of a plurality of cores, a plurality of routers matched per core, and links forming paths between the routers, wherein the plurality of cores and routers are zoned into two or more zones each using a different voltage and frequency A memory storing a path setting program for setting a best path and a bypass path for the VFI NoC; And a processor for executing a program stored in the memory, the processor being configured to, according to the execution of the routing program, calculate a consumption energy value per bit per packet of data according to a traffic characteristic of an application, Calculating an optimal path having a minimum energy consumption value based on the additional energy consumption value, calculating at least one bypass path for each router on the assumption of failure occurrence for each link passing through the optimal path, And stores the bypass route in the routing table of the router.

그리고, 본 발명의 다른 측면에 따른, 전압-주파수-구역(voltage-frequency-island, VFI) 네트워크 온 칩(Network-on-Chip, NoC)의 라우팅 설계 장치를 통한 라우팅 설계 방법은, 상기 VFI NoC는 복수의 코어, 상기 코어 별로 매칭된 복수의 라우터 및 상기 라우터 간에 경로를 형성하는 링크들이 구성되며, 상기 복수의 코어 및 라우터들이 각각 상이한 전압 및 주파수를 사용하는 둘 이상의 구역으로 구역화된 것이되, 임의의 어플리케이션의 트래픽 특성에 따른 데이터들의 패킷 별 비트 당 소모 에너지 값 및 상이한 구역 간의 통신에 의한 추가 소모 에너지 값에 기초하여 최소 에너지 소모 값을 갖는 최적 경로를 계산하는 단계; 상기 최적 경로를 상기 최적 경로가 경유하는 라우터들의 라우터 테이블에 각각 저장하는 단계; 상기 최적 경로가 경유하는 라우터 간의 링크에 고장이 발생된 경우들을 가정하여 적어도 하나의 우회 경로를 계산하는 단계; 및 상기 계산된 우회 경로를 상기 라우터 별로 라우터 테이블에 갱신 저장하는 단계를 포함한다.According to another aspect of the present invention, a routing design method through a routing design apparatus of a voltage-frequency-island (VFI) network-on-chip (NoC) Is configured such that a plurality of cores, a plurality of routers matched per core, and links forming a path between the routers are configured, the plurality of cores and routers being zoned into two or more zones each using a different voltage and frequency, Calculating an optimal path having a minimum energy consumption value based on a consumption energy value per bit per packet of data according to a traffic characteristic of an arbitrary application and an additional consumption energy value by communication between different zones; Storing the optimal path in a router table of routers passing through the optimal path, respectively; Calculating at least one bypass path on the assumption that a failure occurs in a link between routers passing through the optimal path; And updating and storing the calculated bypass route in the router table for each router.

또한, 본 발명의 다른 측면에 따른, 전압-주파수-구역(voltage-frequency-island, VFI) 네트워크 온 칩(Network-on-Chip, NoC)은, 어플리케이션의 트래픽을 처리하는 복수의 코어, 상기 코어 별로 매칭된 복수의 라우터, 및 상기 라우터 간에 경로를 형성하는 링크를 포함하고, 상기 복수의 코어 및 라우터들은 서로 상이한 전압 및 주파수를 사용하도록 설정된 둘 이상의 전압-주파수 구역으로 구역화되며, 각각 상기 둘 이상의 구역 간의 통신을 처리하되, 상기 둘 이상의 구역의 경계에 있는 라우터 별로 연결되는 클럭, VLC(voltage level converter) 및 mcFIFO(mixed clock FIFO)을 더 포함하되, 상기 복수의 라우터는, 각각 상기 트래픽의 특성에 따라 계산된 최적 경로 및 적어도 하나의 우회 경로가 저장되어 있는 라우팅 테이블을 포함하고, 최적 경로에 따른 경로 상의 링크 고장 감지 시 상기 라우팅 테이블의 우회 경로 중 하나에 기초하여 경로를 재설정한다.In addition, a voltage-frequency-island (VFI) network-on-chip (NoC) according to another aspect of the present invention includes a plurality of cores for processing application traffic, Wherein the plurality of cores and routers are segmented into two or more voltage-frequency zones that are set to use different voltages and frequencies, and each of the plurality of cores and routers is segmented into two or more voltage- Further comprising a clock, a voltage level converter (VLC), and a mixed clock FIFO (mcFIFO) for processing communications between the zones, the routers being connected to each other at a boundary of the two or more zones, And a routing table in which at least one bypass route is stored, The path is reset based on one of the detour paths of the routing table.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, VFI NoC에서의 고장 감내와 더불어 에너지 소모를 최적화할 수 있는 라우팅 설계가 가능하다. 즉, VFI NoC와 어플리케이션의 특징을 전역적으로 고려하여 에너지 소모를 고려한 최적 경로와 고장 감내를 위한 우회 경로를 계산할 수 있다.According to any one of the above-mentioned objects of the present invention, it is possible to design a routing capable of optimizing energy consumption in addition to failure tolerance in the VFI NoC. In other words, by considering VFI NoC and application characteristics globally, it is possible to calculate the optimal path considering energy consumption and the bypass path for failure tolerance.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 기존의 고장 감내용 라우팅 테이블의 단점인 갱신 속도를 최소화하기 위하여, VFI NoC에서 최적 경로와 우회 경로를 라우팅 테이블에 동시에 미리 저장해둠으로써 VFI NoC의 실제 동작 시 링크 고장이 발생되어도 경로를 재설정하는데 실시간성을 보완할 수 있다.In addition, in order to minimize the updating speed, which is a disadvantage of the conventional fault tolerant routing table, the VFI NoC simultaneously stores the optimum route and the bypass route in the routing table, It is possible to compensate the real time performance in resetting the path even if a link failure occurs.

도 1은 본 발명의 일 실시예에 따른 VFI NoC 및 라우팅 설계 장치의 구조를 간략화하여 나타낸 도면이다.
도 2는 본 발명의 일 실시예에 따른 고장 감내 라우팅 방식을 설명하기 위한 도면이다.
도 3은 본 발명의 일 실시예에 따른 라우팅 설계 장치의 구성을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 VFI NoC에서 라우터 역할에 따른 라우팅 테이블의 구조를 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 라우팅 경로를 계산하는 고장 감내 라우팅 알고리즘의 일례를 나타내었다.
도 6은 본 발명의 일 실시예에 따른 고장 감내를 위한 우회 경로 선택 과정을 설명하기 위한 도면이다.
도 7은 본 발명의 일 실시예에 따른 VFI NoC의 고장 감내 라우팅 설계 방법을 설명하기 위한 순서도이다.
FIG. 1 is a simplified view illustrating a structure of a VFI NoC and a routing designing apparatus according to an embodiment of the present invention. Referring to FIG.
FIG. 2 is a diagram for explaining a fault tolerant routing scheme according to an embodiment of the present invention. Referring to FIG.
3 is a diagram illustrating a configuration of a routing design apparatus according to an embodiment of the present invention.
4 is a diagram for explaining the structure of a routing table according to a router role in the VFI NoC according to an embodiment of the present invention.
FIG. 5 shows an example of a fault tolerant routing algorithm for calculating a routing path according to an embodiment of the present invention.
6 is a diagram for explaining a bypass path selection process for failure tolerance according to an embodiment of the present invention.
FIG. 7 is a flowchart illustrating a method for designing a fault-tolerant routing of a VFI NoC according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings, which will be readily apparent to those skilled in the art. The present invention may, however, be embodied in many different forms and should not be construed as limited to the embodiments set forth herein. In order to clearly illustrate the present invention, parts not related to the description are omitted, and similar parts are denoted by like reference characters throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.Throughout the specification, when a part is referred to as being "connected" to another part, it includes not only "directly connected" but also "electrically connected" with another part in between . Also, when an element is referred to as "comprising ", it means that it can include other elements as well, without departing from the other elements unless specifically stated otherwise.

본 명세서에 있어서 '부(部)' 또는 ‘모듈’이란, 하드웨어 또는 소프트웨어에 의해 실현되는 유닛(unit), 하드웨어 및 소프트웨어 둘다를 이용하여 실현되는 유닛을 포함하며, 하나의 유닛이 둘 이상의 하드웨어를 이용하여 실현되어도 되고, 둘 이상의 유닛이 하나의 하드웨어에 의해 실현되어도 된다.Refers to a unit realized by hardware or software, a unit realized by using both hardware and software, and a unit includes two or more hardware Or two or more units may be realized by one hardware.

도 1은 본 발명의 일 실시예에 따른 VFI NoC 및 라우팅 설계 장치의 구조를 간략화하여 나타낸 도면이다.FIG. 1 is a simplified view illustrating a structure of a VFI NoC and a routing designing apparatus according to an embodiment of the present invention. Referring to FIG.

이하에서는, 본 발명의 일 실시예에 따른 전압-주파수-구역(VFI) 기법이 적용된 네트워크 온 칩(NoC)(이하, "VFI NoC"라고 지칭함)(10)에 메시 토폴로지가 적용된 것을 예로서 설명하도록 한다. 다만, VFI NoC(10)의 토폴로지 형태는 한정되지 않는다.Hereinafter, an example in which a mesh topology is applied to a network-on-a-chip (NoC) (hereinafter referred to as "VFI NoC") 10 to which a voltage-frequency-division (VFI) technique according to an embodiment of the present invention is applied . However, the topology type of the VFI NoC (10) is not limited.

도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 VFI NoC(10)는 어플리케이션의 태스크(task)들을 처리하는 복수의 프로세싱 코어(11), 각 코어(11) 별로 연결되어 코어(11) 간 송수신되는 데이터(즉, 패킷)의 경로를 제어하는 라우터(12), 각 라우터(12) 간에 연결되어 각종 제어 신호 및 데이터의 전송 경로를 형성하는 링크(13), 주파수 변경 버퍼(14), 주파수 변경 클럭(미도시) 및 전압 변경 모듈(미도시)를 포함한다. 이때, 도 1에서는 주파수 변경 버퍼(14)로서 mc FIFO(mixed clock FIFO)가 포함되는 것을 나타냈으며, 도시되지는 않았으나 전압 변경 모듈로서 VLC(voltage level converter)가 포함된다. 그리고 도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 VFI NoC(10)의 라우팅 설계 장치(100)는 각 라우터(12)들에 연결된다.1, a VFI NoC 10 according to an embodiment of the present invention includes a plurality of processing cores 11 for processing tasks of an application, A link 13 that forms a transmission path for various control signals and data, a frequency change buffer 14, and a link 13 that are connected between the routers 12, A frequency change clock (not shown), and a voltage change module (not shown). In FIG. 1, mc FIFO (mixed clock FIFO) is included as the frequency change buffer 14. Although not shown, a voltage level converter (VLC) is included as a voltage change module. 1, the routing design apparatus 100 of the VFI NoC 10 according to an embodiment of the present invention is connected to each of the routers 12.

구체적으로, VFI NoC(10)는 특정 어플리케이션에 최적화된 구조로 설계될 수 있으며, 해당 어플리케이션에서 실행되는 태스크(task) 특성에 따라 인접한 둘 이상의 라우터(12)와 프로세싱 코어(11)들을 타일(이하, "VFI 구역"으로 지칭함)로 묶고, 각 VFI 구역마다 서로 다른 전압과 주파수를 할당한다. 이처럼 서로 다른 전압 및 주파수를 사용하는 VFI 구역 간의 통신을 위하여, 도 1에 도시한 바와 같이 VFI NoC(10)는 다른 VFI 구역의 라우터(12)와의 사이에 mcFIFO(14), 클럭(미도시) 및 VLC(미도시)가 구성된다. 즉, 다른 VFI 구역과의 경계에 위치한 라우터(12)들 별로 mcFIFO(14), 클럭(미도시) 및 VLC(미도시)가 연결된다. 이때, mcFIFO(14), 클럭(미도시) 및 VLC(미도시)는 경계에 위치한 라우터(12)들 간의 링크에 연결될 수 있다.Specifically, the VFI NoC 10 may be designed to have a structure optimized for a specific application, and may be configured to tile two or more adjacent routers 12 and processing cores 11 according to a task characteristic executed in the application, , "VFI zone"), and assigns different voltages and frequencies to each VFI zone. 1, the VFI NoC 10 includes an mcFIFO 14 and a clock (not shown) between the VFI NoC 10 and the router 12 in the other VFI area, for communication between the VFI zones using different voltages and frequencies. And a VLC (not shown). That is, the mcFIFO 14, the clock (not shown), and the VLC (not shown) are connected to the routers 12 located at the boundary with other VFI zones. At this time, the mcFIFO 14, the clock (not shown) and the VLC (not shown) can be connected to the links between the routers 12 located at the boundary.

도 1에서는 9개의 코어(C1~C9)와 9개의 라우터(R1~R9)로 이루어진 VFI NoC(10)를 나타냈으며, 이러한 리소스(resource)를 2개의 전압-주파수 구역(즉, VFI 구역)으로 묶어 제 1 VFI 구역(VFI(V1, F1))과 제 2 VFI 구역(VFI(Vz, Fz))으로 나눈 것을 나타냈다.1 shows a VFI NoC 10 made up of nine cores C1 to C9 and nine routers R1 to R9 and shows these resources in two voltage-frequency zones (i.e., VFI zones) (V 1 , F 1 ) and the second VFI zone (VFI (V z , F z )).

예를 들어, 도 1에서는, 경로 A(Path A: C1->R1->R4->R7->C7)를 통해 패킷을 전송하고자 할 경우 R1과 R4를 연결하는 링크에서 고장이 발생해 목적지까지 패킷을 전송하지 못하는 경우를 나타냈다. 이를 해결하기 위해서는, 고장난 링크를 우회하는 새로운 경로 B(Path B: C1->R1->R2->R5->R4->R7->C7)를 통해 목적지까지 패킷을 전송할 수 있다. 참고로, 원래의 경로 A는 제 1 VFI 구역(VFI(V1, F1)) 내에서 통신이 이루어지는 것이나, 새로운 경로 B는 제 1 VFI 구역(VFI(V1, F1))과 제 2 VFI 구역(VFI(Vz, Fz))을 둘 다 경유하게 된다.For example, in FIG. 1, when a packet is transmitted through path A (C1->R1->R4->R7-> C7), a failure occurs in a link connecting R1 and R4, Packets are not transmitted. To solve this problem, a packet can be transmitted to a destination through a new path B (Path B: C1->R1->R2->R5->R4->R7-> C7) that bypasses the failed link. For reference, the original path A is the 1 VFI zone (VFI (V 1, F 1 )) would made to communicate in the new path B of claim 1 VFI zone (VFI (V 1, F 1 )) and the second VFI zone (VFI (V z , F z )).

이를 위해, 본 발명의 일 실시예에 따른 VFI NoC(10)의 라우터(12)들에는 각각 정상적인 링크 상태에서의 최적 경로와 링크 고장 발생 시의 우회 경로를 제공할 수 있는 라우팅 테이블이 구성된다. 이때, 라우팅 설계 장치(100)는 VFI NoC(10)에서의 에너지 소모가 최소화되도록하는 고장 감내 라우팅 알고리즘에 따라 각 라우터 별 최적 및 우회 경로를 계산하고, 계산한 최적 경로 및 하나 이상의 우회 경로를 각 라우팅 테이블에 저장한다. 이때, 라우팅 설계 장치(100)는 우회 경로를 모든 라우팅 테이블에 저장하는 경우 구현 복잡도가 증가하므로, 최소한의 라우팅 테이블에 경로를 저장할 수 있다.To this end, routers 12 of the VFI NoC 10 according to an embodiment of the present invention are configured with routing tables capable of providing an optimal path in a normal link state and a detour path in a link failure occurrence, respectively. At this time, the routing design apparatus 100 calculates optimal and bypass routes for each router according to a failure-in-progress routing algorithm that minimizes the energy consumption in the VFI NoC 10, and calculates the calculated optimal route and one or more bypass routes And stores it in the routing table. At this time, when the routing design apparatus 100 stores the bypass route in all the routing tables, the complexity of implementation increases, so that the route can be stored in the minimum routing table.

한편, VFI NoC(10)에서는 동일한 라우터를 경유한다 하더라도 VFI 구역마다 전압 및 주파수가 다르게 인가되므로 각각 소모하는 에너지가 다르다. 또한, 다른 VFI 구역으로 통신하는 과정에서 mcFIFO와 VLC를 경유하기 때문에 추가적인 에너지 소모가 발생한다.On the other hand, in the VFI NoC 10, since the voltage and the frequency are differently applied to the VFI region even though the same router is used, the consumed energy differs. In addition, additional energy is consumed because it communicates with other VFI zones via the mcFIFO and VLC.

이하에서는 VFI NoC(10)의 라우팅 설계 장치(100)가 에너지 소모 측면에서 최적 경로 및 우회 경로를 계산하되, 각 링크의 대역폭 제한 조건을 같이 고려하여 경로를 계산하는 고장 감내 라우팅 설계를 처리하는 방식에 대해서 상세히 설명하도록 한다.Hereinafter, the routing design apparatus 100 of the VFI NoC 10 calculates an optimal path and a bypass path in terms of energy consumption, and a method of processing a fault-tolerant routing design in which a path is calculated by considering the bandwidth limitation condition of each link Will be described in detail.

본 발명의 일 실시예에 따른 VFI NoC(10)의 라우팅 설계 장치 및 그 방법을 설명하기에 앞서, 도 2를 참조하여 VFI NoC(10)에 일반적인 고장 감내 기법을 적용하여 라우팅하는 방식과, 본 발명의 일 실시예에 따른 고장 감내 기법에 따라 라우팅하는 방식 간의 차이에 대해서 간략히 설명하도록 한다.Before describing the routing designing apparatus and method of the VFI NoC 10 according to an embodiment of the present invention, a method of routing by applying a general failure tolerance technique to the VFI NoC 10 with reference to FIG. 2, A brief description will now be given of the difference between the routing methods according to the failure tolerance technique according to an embodiment of the invention.

도 2는 본 발명의 일 실시예에 따른 고장 감내 라우팅 방식을 설명하기 위한 도면이다.FIG. 2 is a diagram for explaining a fault tolerant routing scheme according to an embodiment of the present invention. Referring to FIG.

도 2는, VFI 구역을 3개로 나눈 5x5 VFI NoC의 일례에서, 에너지 소모를 최적화하는 최적 경로(Best path)와 고장난 링크를 우회하기 위한 우회 경로(Detour path)를 나타내었다. 도 2에서 'Src'와 'Dst'는 각각 출발지와 목적지 라우터를 의미한다.FIG. 2 shows an optimal path for optimizing energy consumption and a detour path for bypassing a failed link in an example of a 5x5 VFI NoC in which the VFI region is divided into three regions. In FIG. 2, 'Src' and 'Dst' indicate the source and destination routers, respectively.

먼저, 도 2의 (a)는 VFI NoC에 기존의 고장 감내 라우팅 기법의 일례를 적용한 것을 나타내고, 도 2의 (b)는본 발명의 일 실시예에 따른 VFI NoC 특징을 고려한 고장 감내 라우팅을 적용한 것을 나타냈다.2 (a) shows an example of applying the existing fault tolerance routing technique to VFI NoC, and FIG. 2 (b) shows a case in which the fault tolerance routing considering the VFI NoC characteristic according to an embodiment of the present invention is applied .

도 2의 (a) 및 (b)에 나타낸 두 가지 방식은 둘 다 고장난 링크를 우회하여 목적지 라우터까지 패킷을 전송할 수 있다. 그러나 도2의 (a)에서와 같은 일반적인 고장 감내 기법은, 다른 VFI 구역으로 통신하는 횟수가 많으며, VFI 구역(즉, VFIn(Vi, Fj)) 중 VFI3(V3, F3)가 VFI2(V2, F2)보다 작다고 가정하면, 우회 경로에서 소모하는 에너지가 도2의 (b)에서와 같은 본 발명의 일 실시예에 따른 고장 감내 라우팅에서보다 더 크다. 따라서 VFI NoC의 링크에서 고장이 발생하여 우회 경로를 계산하는 경우, 에너지 소모를 최적화하기 위해서는 목적지까지 갈 수 있는 경로 탐색 이외에도 mcFIFO와 VLC를 경유하는 횟수를 최소화하는 경로 탐색 및 각 VFI 구역의 에너지 소모까지도 고려한 경로 탐색을 해야한다.Both schemes shown in Figures 2 (a) and 2 (b) can both forward packets to the destination router by bypassing the failed link. However, the general fault tolerant techniques such as in (a) of Figure 2, often a number of communicating with other VFI zone, VFI 3 of the VFI zone (that is, VFI n (V i, F j)) (V 3, F 3 Is less than VFI 2 (V 2 , F 2 ), the energy consumed in the bypass path is greater than in in-failure routing according to one embodiment of the present invention as in FIG. 2 (b). Therefore, in order to optimize the energy consumption when a failure occurs in the link of the VFI NoC, it is necessary to search for a path that minimizes the number of times via the mcFIFO and the VLC in addition to the route search to the destination, The path search should also be considered.

도 3은 본 발명의 일 실시예에 따른 라우팅 설계 장치의 구성을 나타낸 도면이다.3 is a diagram illustrating a configuration of a routing design apparatus according to an embodiment of the present invention.

도 3에 도시한 바와 같이 라우팅 설계 장치(100)는 메모리(110) 및 프로세서(120)를 포함한다.As shown in FIG. 3, the routing design apparatus 100 includes a memory 110 and a processor 120.

메모리(110)는 VFI NoC(10)에 대한 최상 경로 및 우회 경로를 설정하는 경로 설정 프로그램이 저장되어 있다. 이러한 경로 설정 프로그램은 아래에서 설명할 고장 감내 라우팅 알고리즘을 포함한다.The memory 110 stores a path setting program for setting a best path and a bypass path for the VFI NoC 10. This routing program includes a fault tolerant routing algorithm as described below.

프로세서(120)는 메모리(110)에 저장된 프로그램을 실행하여 그에 따른 절차 및 동작을 처리한다.The processor 120 executes programs stored in the memory 110 and processes the procedures and operations accordingly.

이때, 프로세서(120)는 경로 설정 프로그램의 실행에 대응하여, 기설정된 고장 감내 라우팅 알고리즘을 통해 계산된 VFI NoC(10)의 라우터(12) 별 최적 경로 및 적어도 하나의 우회 경로를 각 라우팅 테이블에 저장한다.At this time, in response to the execution of the routing program, the processor 120 transmits an optimal route and at least one bypass route for each of the routers 12 of the VFI NoC 10 calculated through the predetermined failure tolerance routing algorithm to each routing table .

이처럼, 프로세서(120)가 경로 설정 프로그램의 실행에 따라 수행하는 절차 및 동작은 아래 도 4 내지 도 6을 참조하여 상세히 설명하도록 한다.As such, the procedure and operation performed by the processor 120 according to the execution of the routing program will be described in detail with reference to FIGS. 4 to 6 below.

먼저, 본 발명의 일 실시예에 따른 프로세서(120)가 에너지 소모를 최소화하는 고장 감내 라우팅 설계를 하는데 있어서의 문제 정의 과정을 상세히 설명하도록 한다.First, the processor 120 according to an exemplary embodiment of the present invention provides a detailed description of the problem definition process in a fault-tolerant routing design that minimizes energy consumption.

VFI NoC에서 라우팅 경로를 효율적으로 할당하기 위해서는 매핑되어 있는 각 코어의 전압-주파수 특성과 코어 간의 통신 패턴을 고려해야 한다. 이러한 코어 간의 통신을 VFI NoC 토폴로지 그래프 N(C, R, S, E)로 정의할 수 있다. 여기에서

Figure 112016085102131-pat00001
는 매핑되어있는 코어를 의미하고,
Figure 112016085102131-pat00002
은 각 코어와 연결된 라우터를 나타낸다. 또한
Figure 112016085102131-pat00003
는 각 코어와 라우터가 어느 VFI 구역에 할당이 되어 있는지를 나타낸다. 또한
Figure 112016085102131-pat00004
는 ci와 cj의 통신 관계를 나타내며,
Figure 112016085102131-pat00005
는 ci에서 cj로 전송되는 데이터의 크기를 나타낸다.In order to efficiently allocate the routing path in VFI NoC, the voltage-frequency characteristics of each mapped core and the communication pattern between cores should be considered. Communication between these cores can be defined by the VFI NoC topology graph N (C, R, S, E). From here
Figure 112016085102131-pat00001
Quot; refers to the mapped core,
Figure 112016085102131-pat00002
Represents a router connected to each core. Also
Figure 112016085102131-pat00003
Indicates which VFI zone each core and router is assigned to. Also
Figure 112016085102131-pat00004
Represents the communication relationship between c i and c j ,
Figure 112016085102131-pat00005
Represents the size of data transmitted from c i to c j .

VFI NoC에서 다른 VFI 구역으로 패킷을 전송하는 경우 발생하는 추가적인 에너지 소모를 다음의 수학식 1과 같이 표현할 수 있다.The additional energy consumption that occurs when a packet is transmitted from the VFI NoC to another VFI zone can be expressed as Equation 1 below.

<수학식 1>&Quot; (1) &quot;

Figure 112016085102131-pat00006
Figure 112016085102131-pat00006

위의 수학식 1에서 ECLK, EVLC, EMCFIFO는 각각 VFI NoC(10)에 포함된 클럭, VLC, mcFIFO에 의해 소모되는 에너지를 의미한다.In Equation (1), E CLK , E VLC , and E MCFIFO denote the energy consumed by the clock, VLC, and mcFIFO included in the VFI NoC (10), respectively.

또한, ci에서 cj로 전송되는 패킷의 비트 당 에너지(Ebit)를 다음의 수학식 2에서와 같이 표현할 수 있다.In addition, energy per bit (E bit ) of a packet transmitted from c i to c j can be expressed as shown in Equation (2).

<수학식 2>&Quot; (2) &quot;

Figure 112016085102131-pat00007
Figure 112016085102131-pat00007

상기 수학식 2에서 EL.bit, EB .bit, ES .bit는 각각 VFI NoC에 포함된 링크, 버퍼, 스위치에서 소모되는 에너지를 의미하며,

Figure 112016085102131-pat00008
Figure 112016085102131-pat00009
는 경유하는 링크와 라우터가 속하는 VFI 구역을 의미한다.In Equation (2), E L.bit , E B .bit , and E S .bit denote the energy consumed in the link, buffer, and switch included in the VFI NoC,
Figure 112016085102131-pat00008
Wow
Figure 112016085102131-pat00009
Means the VFI zone to which the router belongs and the link through.

이처럼 본 발명의 일 실시예에 따른 VFI NoC의 에너지 소모 모델링의 결과와 다른 VFI 구역으로 통신하는데 소모되는 추가 소모 에너지를 고려하여, 에너지 소모를 최적화하는 경로를 계산하는 목적 함수를 하기 수학식 3과 같이 정의할 수 있다. 이때, VFI NoC의 mcFIFO와 VLC 뿐 아니라 대역폭을 함께 고려하여 에너지 소모를 최적화할 수 있는 목적 함수를 정의할 수 있다.In this way, considering the energy consumption modeling result of the VFI NoC according to the embodiment of the present invention and the additional consumption energy consumed in communication with the other VFI zone, the objective function for calculating the route for optimizing the energy consumption is expressed by the following equation Can be defined together. At this time, it is possible to define an objective function capable of optimizing energy consumption by taking into account the bandwidth as well as the mcFIFO and VLC of VFI NoC.

<수학식 3>&Quot; (3) &quot;

Figure 112016085102131-pat00010
Figure 112016085102131-pat00010

상기 수학식 3에서 m은 목적지까지 패킷을 전송하는데 경유하는 VFI 구역의 개수를 의미하며, 이러한 m은 아래 수학식 4와 같은 대역폭 제한 조건을 만족하도록 설정된다.In Equation (3), m denotes the number of VFI zones through which a packet is transmitted to a destination, and m is set to satisfy the bandwidth limiting condition as shown in Equation (4) below.

<수학식 4>&Quot; (4) &quot;

Figure 112016085102131-pat00011
Figure 112016085102131-pat00011

상기 수학식 4의

Figure 112016085102131-pat00012
는 rl과 rm을 연결하는 링크의 실질적으로 사용 가능한 최대 대역폭을 의미한다. 이처럼, 대역폭 제한 조건을 적용함으로써 VFI NoC에서 패킷 간 병목 현상을 최소화할 수 있다.In Equation (4)
Figure 112016085102131-pat00012
Means the substantially usable maximum bandwidth of the link connecting rl and rm . Thus, by applying bandwidth constraints, bottlenecks between packets can be minimized in VFI NoC.

다음으로, 도 4를 참조하여 본 발명의 일 실시예에 따른 고장 감내 라우팅 방식에 대해서 좀 더 상세히 설명하도록 한다.Next, referring to FIG. 4, a failure-tolerant routing scheme according to an exemplary embodiment of the present invention will be described in more detail.

도 4는 본 발명의 일 실시예에 따른 VFI NoC에서 라우터 역할에 따른 라우팅 테이블의 구조를 설명하기 위한 도면이다.4 is a diagram for explaining the structure of a routing table according to a router role in the VFI NoC according to an embodiment of the present invention.

본 발명의 일 실시예에 따른 VFI NoC(10)에서는 링크에서 발생하는 고장을 감내하기 위해 계산된 최적 경로와 우회 경로가 라우팅 테이블(P10)에 저장되어 있다. 이때, 라우팅 테이블(P10)은 VFI NoC의 각 라우터(12)마다 연결되어 있는 구조이다. 이러한 라우팅 테이블(P10)은 라우터(12)의 입력 포트로 들어온 패킷의 출력 포트를 결정하는 라우팅 계산 과정에서 사용된다.In the VFI NoC 10 according to the embodiment of the present invention, the calculated optimal path and detour path are stored in the routing table P10 in order to tolerate the failure occurring in the link. At this time, the routing table P10 is connected to each router 12 of the VFI NoC. This routing table P10 is used in the routing calculation process to determine the output port of the packet entering the input port of the router 12. [

이처럼, 라우팅 테이블(P10)을 사용함으로써 각 라우터(12)가 직접 라우팅 계산을 처리하는 과정이 생략될 수 있으며, 라우팅 테이블(P10)에 미리 저장된 최적 경로를 통해 패킷을 전송하지 못할 경우 우회 경로를 통해서 목적지까지 패킷을 전송할 수 있다. 참고로, 본 발명의 일 실시예에 따른 VFI NoC(10)에서 고장을 감지하는 방식은, 각 라우터에서 실시간으로 출력 포트의 고장을 감지하는 것으로 가정할 수 있다.In this way, by using the routing table P10, it is possible to omit the process of directly processing the routing calculation by each router 12, and when the packet can not be transmitted through the optimal route pre-stored in the routing table P10, To the destination. For reference, it can be assumed that the method of detecting a failure in the VFI NoC 10 according to an embodiment of the present invention detects the failure of the output port in real time in each router.

도 4에서는, 기설정된 고장 감내 라우팅 알고리즘을 적용해 라우팅 테이블이 초기화되어 있는 상태를 나타내었다. 이때, 도 4에서 'Src'는 데이터를 전송하는 시작 라우터를 의미하며, 'Dst'는 데이터를 수신하는 목적지 라우터를 의미한다. 도 4에서는, VFI NoC(10)에서 링크 고장이 발생하지 않은 경우, 각 라우터의 포트 1에 저장되어 있는 경로를 통해서 다음 라우터로 패킷을 전송하고, 링크에 고장이 발생하면 전송 중인 패킷은 포트 2에 저장되어 있는 경로를 사용해서 목적지까지 전송하는 것을 나타냈다. 도 4에서 N, E, W, S는 각각 북쪽, 동쪽, 서쪽, 남쪽 방향을 의미하며, 상측, 우측, 좌측, 하측을 의미할 수도 있다.FIG. 4 shows a state in which the routing table is initialized by applying a predetermined failure tolerance routing algorithm. In FIG. 4, 'Src' denotes a start router for transmitting data, and 'Dst' denotes a destination router for receiving data. In FIG. 4, if a link failure occurs in the VFI NoC 10, a packet is transmitted to the next router through a path stored in port 1 of each router. If a failure occurs in the link, To the destination using the route stored in the destination. In FIG. 4, N, E, W, and S indicate north, east, west, and south directions, respectively, and may mean upper, right, left, and lower sides.

예를 들어 r1에서 r16으로 가는 최적 경로가 경유하는 rA는 포트 1과 2에 각각의 방향이 저장되어 있고, 우회 경로가 경유하는 rB의 경우는 포트 2에만 방향이 저장되어 있다. 하지만 rC의 경우는 라우팅 경로가 경유하지 않기 때문에 r1과 r16에 대한 경로 정보가 저장되어 있지 않다.For example, r A through the optimal path from r 1 to r 16 is stored in ports 1 and 2, respectively, and in case of r B via bypass path, direction is stored only in port 2. However, in the case of r C , the routing information for r 1 and r 16 is not stored because the routing path is not passed.

이에 따라, VFI NoC(10)의 동작 시 임의의 링크 고장이 발생된 경우 우회 경로를 계산하는 과정과 라우팅 테이블을 갱신하는 과정이 생략되며, 미리 저장되어 있는 최적 경로와 우회 경로를 통하여 고장을 감내한다.Accordingly, when an arbitrary link failure occurs in the operation of the VFI NoC 10, the process of calculating the bypass path and the updating of the routing table are omitted, and the failure is managed through the optimum path and the bypass path stored in advance do.

도 5는 본 발명의 일 실시예에 따른 라우팅 경로를 계산하는 고장 감내 라우팅 알고리즘의 일례를 나타내었다.FIG. 5 shows an example of a fault tolerant routing algorithm for calculating a routing path according to an embodiment of the present invention.

즉, 도 5에서는 본 발명의 일 실시예에 따른 프로세서(120)가 처리하는 고장 감내 라우팅 설계를 위한 라우팅 알고리즘을 나타내었다.That is, FIG. 5 illustrates a routing algorithm for a fault tolerant routing design process performed by the processor 120 according to an embodiment of the present invention.

이때, 본 발명의 일 실시예에 따른 VFI NoC의 고장 감내 라우팅 기법에서는 대역폭 제한 조건을 만족해야하므로, 도 5의 알고리즘의 첫 번째 라인(line 1)에서와 같이 함수

Figure 112016085102131-pat00013
을 이용하여 통신 관계가 존재하는 모든 코어 간 전송되는 데이터를 크기에 기준하여 내림차순 정렬한다.In this case, since the bandwidth limitation condition must be satisfied in the fault tolerance routing technique of the VFI NoC according to the embodiment of the present invention, as in the first line (line 1) of the algorithm of FIG. 5,
Figure 112016085102131-pat00013
The data transmitted between all the cores in which the communication relation exists is sorted in descending order based on the size.

최적 경로는 링크에 고장이 발생하지 않은 상황에서 에너지 소모를 최소화하면서 네트워크의 통신성능 요구를 만족시킬 수 있는 경로를 의미한다. VFI 기법이 적용되지 않은 NoC에서는, 트래픽을 무시하는 경우 홉 수가 동일한 라우팅 경로는 어떠한 경로로 패킷을 전송해도 전체적인 에너지 소모나 데이터 처리량에 차이가 없다. 하지만 VFI NoC는 다른 VFI 구역으로 통신하는 경우 VLC와 mcFIFO에서 추가적인 에너지 소모가 발생하기 때문에 최단 경로뿐만 아니라 통신이 가능한 모든 경로를 비교해서 최적의 라우팅 경로를 계산해야 한다.The optimal path means a path that satisfies the communication performance requirement of the network while minimizing the energy consumption in a situation where the link is not broken down. In the case of NoC that does not use VFI scheme, routing paths with the same number of hops in the case of ignoring the traffic have no difference in energy consumption or data throughput even if the packets are transmitted through any path. However, since VFI NoC generates additional energy consumption in VLC and mcFIFO when communicating to other VFI zones, it is necessary to calculate the optimal routing path by comparing all the possible paths as well as the shortest path.

이에 따라, 도 5의 알고리즘에서는 위의 수학식 3의 목적 함수를 최적화하는 해(solution)을 찾아 최적 경로 또는 우회 경로로 계산한다. 이처럼, 본 발명의 일 실시예에 따른 VFI NoC(10)는 설계 시점에 라우팅 경로를 계산하여 라우팅 테이블에 저장해둠으로써, 실제 VFI NoC(10) 동작 중 고장 발생 시 경로 재탐색 과정이 필요하지 않다.Accordingly, in the algorithm shown in FIG. 5, a solution for optimizing the objective function of Equation (3) is searched to find the optimum path or the bypass path. As described above, the VFI NoC 10 according to the embodiment of the present invention calculates the routing path at the design time and stores the routing path in the routing table, so that the route re-searching process is not required when the failure occurs during the operation of the VFI NoC 10 .

본 발명의 일 실시예에 따른 고장 감내 라우팅 알고리즘은, 최단 경로 알고리즘으로서 구현이 간단한 다익스트라 알고리즘(Dijkstra algorithm)을 적용할 수 있다. 최단 경로 알고리즘 구현 시, 정점(vertex)은 라우터와 코어 쌍(pair)을 의미하며, 패킷 전송 과정에서 발생하는 에너지 소모를 가중치로 사용한다.A fault tolerant routing algorithm according to an embodiment of the present invention can apply a Dijkstra algorithm that is simple to implement as a shortest path algorithm. In the implementation of the shortest path algorithm, the vertex means a pair of router and core, and the energy consumption generated in the packet transmission process is used as a weight.

도 5의 알고리즘의 두 번째 라인(line 2)에서와 같이, ri와 rj를 연결하는 링크에 상기 수학식 2에서의 Ebit(ri)를 할당하되, 다른 VFI 구역을 연결하는 링크일 경우 상기 수학식 1의 EVFI를 추가적으로 할당한다.As in the second line (line 2) of the algorithm of Fig. 5, E bit (r i ) in Equation (2) is assigned to the link connecting r i and r j , The E VFI of Equation (1) is additionally allocated.

또한, 도 5의 알고리즘의 여섯 번째 라인(line 6)에서와 같이, VFI NoC의 데이터 처리량과 알고리즘 속도 향상을 위하여, 상기 수학식 4의 대역폭 제한 조건을 만족하지 못하면 해당 링크를 알고리즘 과정에서 제거한다. 그 후, 도 5의 7번째 내지 9번째 라인(line 7-9)에서와 같이, 함수

Figure 112016085102131-pat00014
를 이용하여 최적 경로를 계산하고, 선택된 경로가 경유하는 라우터의 라우팅 테이블과 링크의 대역폭을 갱신한다.In order to improve the data throughput and the algorithm speed of the VFI NoC as in the sixth line (line 6) of the algorithm of FIG. 5, if the bandwidth limitation condition of Equation (4) is not satisfied, the link is removed in the algorithm process . Thereafter, as in the seventh to ninth line (line 7-9) of Fig. 5,
Figure 112016085102131-pat00014
, And updates the bandwidth of the link and the routing table of the router passing through the selected route.

도 6은 본 발명의 일 실시예에 따른 고장 감내를 위한 우회 경로 선택 과정을 설명하기 위한 도면이다.6 is a diagram for explaining a bypass path selection process for failure tolerance according to an embodiment of the present invention.

도 6에서는 VFI NoC(10)에서 최적 경로가 각 라우터에 할당되어 있는 상태에서 우회 경로를 계산하는 알고리즘의 각 단계를 나타내었다.FIG. 6 shows each step of the algorithm for calculating the bypass route in the state where the optimal route is allocated to each router in the VFI NoC (10).

먼저, 도 6의 (a)에서와 같이 링크 제거 및 후보 우회 경로를 선정한다. 즉, 도 5의 알고리즘의 11번째 라인(line 11)에서와 같이, 우회 경로를 위한 라우팅 테이블의 개수를 최소화하기 위하여 최종 목적지 라우터와 가장 인접한 링크부터 역순으로 제거한다.First, as shown in FIG. 6A, a link removal and a candidate detour path are selected. That is, as in the 11th line (line 11) of the algorithm of FIG. 5, in order to minimize the number of routing tables for the bypass route, the link closest to the final destination router is removed in reverse order.

따라서, 도 6의 (a)에서는 최적 경로 상에서 최종 목적지 라우터인 rB에 인접한 라우터인 rA와의 링크가 없음(즉, 고장)을 먼저 가정하였다. 이때, 도 5의 알고리즘의 12 번째 라인(line 12)에서와 같이 함수

Figure 112016085102131-pat00015
를 이용해 rA와 rB를 연결하는 경로를 탐색한다. 이에 따라, 도 6의 (a)에서와 같이 제 1 우회 경로(Path 1)과 제 2 우회 경로(Path 2)가 선정될 수 있다.Therefore, in FIG. 6A, it is assumed that there is no link (i.e., failure) with the router r A adjacent to the final destination router r B on the optimal route. At this time, as in the twelfth line (line 12) of the algorithm of FIG. 5,
Figure 112016085102131-pat00015
To find routes connecting r A and r B. Accordingly, the first bypass path (Path 1) and the second bypass path (Path 2) can be selected as shown in FIG. 6 (a).

한편, 도 6의 (b)와 같이 중복되는 우회 경로가 존재하는 경우, 도 5의 알고리즘의 13 번째 및 14번째 라인(line 13-14)에서와 같이 우회 경로의 개수를 최소화하기 위하여

Figure 112016085102131-pat00016
를 우회 경로로 선택한다.6 (b), in order to minimize the number of bypass paths as in the 13th and 14th lines (lines 13-14) of the algorithm of FIG. 5
Figure 112016085102131-pat00016
As a bypass route.

또한, 두 개 이상의 후보 우회 경로가 선택되면, 도 5의 알고리즘의 16번째 라인(line 16)과 같이, 함수

Figure 112016085102131-pat00017
로 에너지 소모가 적은 우회 경로를 선택한다.Also, if more than two candidate bypass paths are selected, as in the 16th line (line 16) of the algorithm of Figure 5,
Figure 112016085102131-pat00017
Select a bypass path with low energy consumption.

또한, 우회 경로가 경유하는 라우터들이 선택되면 해당 라우터의 라우팅 테이블 갱신 여부를 판단한다. 도 6의 (c)에서와 같이 후보 우회 경로가

Figure 112016085102131-pat00018
순으로 선택될 경우 rC처럼 동일한 목적지에 해당하는 우회 경로가 미리 존재하거나, 도 6의 (d)와 같이 경유하는 라우터의 목적지가 최종 목적지와 동일한 경우, 도 5의 알고리즘의 18번째 내지 21번째 라인(line 18-21)에서와 같이 해당 라우팅 테이블을 갱신하지 않는다.Also, if routers passing through the bypass route are selected, it is determined whether the routing table of the corresponding router is updated. As shown in FIG. 6 (c), the candidate bypass path
Figure 112016085102131-pat00018
If the order selected by r C a bypass path for the same destination pre-existing like or, in the case where the router destination via as in (d) of Figure 6 is equal to the final destination, and 18 of the algorithm of Figure 5 first to 21st The corresponding routing table is not updated as in the line (line 18-21).

이하, 도 7을 참조하여 본 발명의 일 실시예에 따른 VFI NoC의 라우팅 설계 장치(100)를 통한 고장 감내 라우팅 설계 방법을 상세히 설명하도록 한다.Hereinafter, referring to FIG. 7, a method for designing a fault-tolerant routing through the routing design apparatus 100 of the VFI NoC according to an embodiment of the present invention will be described in detail.

도 7은 본 발명의 일 실시예에 따른 VFI NoC의 고장 감내 라우팅 설계 방법을 설명하기 위한 순서도이다.FIG. 7 is a flowchart illustrating a method for designing a fault-tolerant routing of a VFI NoC according to an embodiment of the present invention.

먼저, 복수의 코어 및 라우터가 어플리케이션의 트래픽 특성에 따라 복수의 구역으로 구분되어 각 구역 별로 상이한 전압 및 주파수로 동작하는 VFI NoC에 있어서, 트래픽에 따른 최적 경로들을 계산한다(S710).First, a plurality of cores and routers are divided into a plurality of zones according to a traffic characteristic of an application, and the VFI NoC operating with different voltages and frequencies for each zone is calculated (S710).

이때, 트래픽에 의한 데이터 별 최적 경로는 다익스트라 최단 경로 알고리즘을 사용하여 계산할 수 있다.At this time, the optimal path for each data by the traffic can be calculated using the multi-extreme shortest path algorithm.

또한, 최적 경로 계산 시 시작 코어로부터 목적지 코어까지 전송되는 패킷 당 에너지(즉, 수학식 2의 Ebit(ri))를 해당 경로 내 두 라우터 ri 및 rj를 연결하는 링크에 할당한다. 이때, 두 라우터가 서로 다른 VFI 구역에 포함된 경우 이를 연결하는 링크에는 추가 소모 에너지인 수학식 1의 EVFI를 할당한다.In addition, energy per packet (i.e., E bit (r i ) in Equation (2)) transmitted from the starting core to the destination core is allocated to a link connecting two routers r i and r j in the path. At this time, when two routers are included in different VFI zones, the links connecting them are assigned the E VFI of Equation 1, which is an additional consumption energy.

상기 단계 (S710)에서는, 데이터 처리량 및 고장 감내 라우팅 알고리즘 속도 향상을 위하여, 수학식 4의 대역폭 제한 조건을 만족하지 못하는 링크를 최적 경로 계산 시 제외시킬 수 있다.In step S710, a link that does not satisfy the bandwidth limitation condition of Equation (4) may be excluded in the calculation of the optimal path for improving the data throughput and the failure-in-progress routing algorithm.

다음으로, 계산된 최적 경로를 최적 경로가 경유하는 해당하는 라우터들의 라우터 테이블에 저장하고, 링크 별 대역폭을 갱신한다(S720).Next, the calculated optimal path is stored in the router table of the corresponding routers passing through the optimal path, and the bandwidth per link is updated (S720).

그런 다음, 최적 경로가 각 라우터에 할당되어 있는 상태에서, 최적 경로가 경유하는 라우터 간의 링크에 고장이 발생된 경우들을 가정하여 적어도 하나의 우회 경로를 계산한다(S730).Then, in a state where an optimal path is allocated to each router, at least one bypass path is calculated assuming that a failure occurs in a link between routers passing through the optimal path (S730).

이때, 라우팅 테이블의 개수를 최소화하기 위하여 최종 목적지 라우터와 인접한 링크부터 역순으로 순차적으로 고장 발생을 가정한다. 또한, 우회 경로의 개수를 최소화하기 위하여 중복된 우회 경로가 있는 라우터를 경유하도록 우회 경로를 결정한다.In this case, in order to minimize the number of routing tables, it is assumed that failure occurs sequentially from the link adjacent to the final destination router in the reverse order. Also, to minimize the number of bypass routes, the bypass route is determined to pass through routers with redundant bypass routes.

둘 이상의 후보 우회 경로가 선택되면 에너지 소모 및 추가 에너지 소모가 적은 경로를 선택한다.If more than one candidate bypass path is selected, choose a path that consumes less energy and consumes less energy.

그리고, 라우터 별로 계산된 우회 경로를 라우터 테이블에 저장한다(S740).Then, the bypass route calculated for each router is stored in the router table (S740).

이때, 우회 경로가 계산된 순서에 따라 순차적으로 라우터 테이블에 저장한다. 그리고 동일한 목적지에 해당하는 우회 경로가 미리 존재하는 라우터 또는 경유하는 라우터의 목적지가 최종 목적지와 동일할 경우 해당하는 라우터의 라우팅 테이블은 갱신하지 않을 수 있다.At this time, the bypass route is sequentially stored in the router table according to the calculated order. If the destination of the router or router passing through the same destination is the same as the final destination, the routing table of the corresponding router may not be updated.

이상에서와 같은 과정을 통해 어플리케이션을 구동하는데 필요한 모든 통신에 대하여 최적 경로와 우회 경로를 각 라우터에 할당할 수 있다.Through the procedure described above, the optimum path and the bypass path can be allocated to each router for all the communication necessary for driving the application.

이와 같이, VFI NoC의 설계 과정에서 어플리케이션의 특성을 고려한 에너지 소모를 최소화시킨 최적 경로 및 우회 경로를 각 라우터 별 라우터 테이블에 저장해둠으로써, VFI NoC 실제 동작 시 임의의 링크에서 고장이 발생되더라도 경로 재탐색 및 재설정없이도 거의 실시간으로 트래픽 처리가 가능하다.In this way, by storing the optimal route and bypass route minimizing the energy consumption considering the characteristics of the application in the design process of the VFI NoC in the router table for each router, even if a failure occurs in any link in the actual operation of VFI NoC, It is possible to process the traffic almost in real time without searching and resetting.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 라우팅 설계 장치 및 방법은 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.An embodiment of the present invention may be implemented in the form of a recording medium including instructions executable by a computer, such as a program module, for routing design apparatus and methods executed by a computer. Computer readable media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer-readable medium may include both computer storage media and communication media. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Communication media typically includes any information delivery media, including computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave, or other transport mechanism.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.It will be understood by those skilled in the art that the foregoing description of the present invention is for illustrative purposes only and that those of ordinary skill in the art can readily understand that various changes and modifications may be made without departing from the spirit or essential characteristics of the present invention. will be. It is therefore to be understood that the above-described embodiments are illustrative in all aspects and not restrictive. For example, each component described as a single entity may be distributed and implemented, and components described as being distributed may also be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is defined by the appended claims rather than the detailed description and all changes or modifications derived from the meaning and scope of the claims and their equivalents are to be construed as being included within the scope of the present invention do.

10: 전압-주파수-구역 네트워크 온 칩
100: 전압-주파수-구역 네트워크 온 칩의 라우팅 설계 장치
110: 메모리
120: 프로세서
10: Voltage-Frequency-Zone Network-on-Chip
100: Voltage-frequency-routing network-on-chip routing design device
110: Memory
120: Processor

Claims (14)

전압-주파수-구역(voltage-frequency-island, VFI) 네트워크 온 칩(Network-on-Chip, NoC)의 라우팅 설계 장치에 있어서,
상기 VFI NoC는 복수의 코어, 상기 코어 별로 매칭된 복수의 라우터 및 상기 라우터 간에 경로를 형성하는 링크들이 구성되며, 상기 복수의 코어 및 라우터들이 각각 상이한 전압 및 주파수를 사용하는 둘 이상의 구역으로 구역화된 것이되,
상기 VFI NoC에 대한 최상 경로 및 우회 경로를 설정하는 경로 설정 프로그램이 저장된 메모리; 및
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며,
상기 프로세서는 상기 경로 설정 프로그램의 실행에 따라, 임의의 어플리케이션의 트래픽 특성에 따른 데이터들의 패킷 별 비트 당 소모 에너지 값 및 상이한 구역 간의 통신에 의한 추가 소모 에너지 값에 기초하여 최소 에너지 소모 값을 갖는 최적 경로를 계산하고, 상기 최적 경로가 경유하는 링크 별로 고장 발생을 가정하여 라우터 별로 적어도 하나의 우회 경로를 계산하며, 상기 최적 경로 및 적어도 하나의 우회 경로를 상기 라우터의 라우팅 테이블에 저장하는 VFI NoC의 라우팅 설계 장치.
A routing design apparatus for a voltage-frequency-island (VFI) network-on-chip (NoC)
The VFI NoC comprises a plurality of cores, a plurality of routers matched by the cores, and links forming paths between the routers, wherein the plurality of cores and routers are divided into two or more zones each using a different voltage and frequency That is,
A memory storing a path setting program for setting a best path and a bypass path for the VFI NoC; And
And a processor for executing a program stored in the memory,
Wherein the processor is configured to determine, based on execution of the routing program, an optimum energy consumption value based on a consumption energy value per bit per packet of data according to a traffic characteristic of an application and an additional consumption energy value by communication between different zones, Calculating at least one bypass path for each router on the assumption that a failure occurs on a link-by-link basis via the optimal path, and calculating a bypass path for each route based on the VFI NoC of the optimum path and the at least one bypass path in the routing table of the router Routing design device.
제 1 항에 있어서,
상기 프로세서는,
각각 상기 상이한 구역의 경계에 위치한 라우터 별로 연결되어, 상기 상이한 구역 간의 통신을 처리하는 클럭, VLC(voltage level converter) 및 mcFIFO(mixed clock FIFO)의 각각의 소모 에너지 값의 합에 기초하여 상기 추가 소모 에너지 값을 산출하는 VFI NoC의 라우팅 설계 장치.
The method according to claim 1,
The processor comprising:
Each of the routers being located at a boundary of the different zones, wherein the additional consumable energy based on a sum of each consumed energy value of a clock, a voltage level converter (VLC) and a mixed clock FIFO (mcFIFO) VFI NoC routing design device for calculating energy values.
제 1 항에 있어서,
상기 프로세서는,
시작 라우터부터 목적지 라우터까지의 사이에 패킷을 전송하는데 경유하는 구역의 개수에 기초한 상기 추가 소모 에너지 값과, 상기 코어 간에 전송되는 데이터 크기와 패킷 비트 당 에너지의 곱에 기초한 상기 소모 에너지 값을 합한 전체 소모 에너지 값이 최소가 되는 경로를 상기 최적 경로로서 계산하되,
상기 코어 간에 전송되는 데이터 크기는 기설정된 대역폭 제한 값 이하의 값으로 설정되는 VFI NoC의 라우팅 설계 장치.
The method according to claim 1,
The processor comprising:
The total consumed energy value based on the number of zones via which packets are transmitted between the starting router and the destination router and the consumed energy value based on the product of the data size transmitted between the core and the energy per packet bit, Calculating a path that minimizes the energy consumption value as the optimum path,
And the size of data transmitted between the cores is set to a value equal to or less than a preset bandwidth limit value.
제 1 항에 있어서,
상기 프로세서는,
상기 최적 경로가 경유하는 링크 중 최종 목적지 라우터에 가장 인접한 링크부터 역순으로 고장 발생을 가정하여 상기 우회 경로를 설정하는 VFI NoC의 라우팅 설계 장치.
The method according to claim 1,
The processor comprising:
And the bypass route is set assuming that a failure occurs in a reverse order from a link closest to the final destination router among the links passing through the optimal route.
제 1 항에 있어서,
상기 프로세서는,
상기 최적 경로가 경유하는 라우터 중 목적지가 최종 목적지와 동일한 라우터 또는 둘 이상의 후보 우회 경로 상의 라우터 중 동일한 목적지에 대한 우회 경로가 미리 설정된 라우터의 라우팅 테이블은 변경하지 않고 유지하는 VFI NoC의 라우팅 설계 장치.
The method according to claim 1,
The processor comprising:
Wherein the bypass route to the same destination among the routers whose destinations are the same as the final destination or the routers on the two or more candidate bypass routes among the routers passing through the optimal route is maintained without changing the routing table of the predetermined router.
전압-주파수-구역(voltage-frequency-island, VFI) 네트워크 온 칩(Network-on-Chip, NoC)의 라우팅 설계 장치를 통한 라우팅 설계 방법에 있어서,
상기 VFI NoC는 복수의 코어, 상기 코어 별로 매칭된 복수의 라우터 및 상기 라우터 간에 경로를 형성하는 링크들이 구성되며, 상기 복수의 코어 및 라우터들이 각각 상이한 전압 및 주파수를 사용하는 둘 이상의 구역으로 구역화된 것이되,
임의의 어플리케이션의 트래픽 특성에 따른 데이터들의 패킷 별 비트 당 소모 에너지 값 및 상이한 구역 간의 통신에 의한 추가 소모 에너지 값에 기초하여 최소 에너지 소모 값을 갖는 최적 경로를 계산하는 단계;
상기 최적 경로를 상기 최적 경로가 경유하는 라우터들의 라우터 테이블에 각각 저장하는 단계;
상기 최적 경로가 경유하는 라우터 간의 링크에 고장이 발생된 경우들을 가정하여 적어도 하나의 우회 경로를 계산하는 단계; 및
상기 계산된 우회 경로를 상기 라우터 별로 라우터 테이블에 갱신 저장하는 단계를 포함하는 VFI NoC의 라우팅 설계 방법.
A routing design method through a routing design apparatus of a voltage-frequency-island (VFI) network-on-chip (NoC)
The VFI NoC comprises a plurality of cores, a plurality of routers matched by the cores, and links forming paths between the routers, wherein the plurality of cores and routers are divided into two or more zones each using a different voltage and frequency That is,
Calculating an optimal path having a minimum energy consumption value based on a consumption energy value per bit per packet of data according to a traffic characteristic of an arbitrary application and an additional consumption energy value by communication between different zones;
Storing the optimal path in a router table of routers passing through the optimal path, respectively;
Calculating at least one bypass path on the assumption that a failure occurs in a link between routers passing through the optimal path; And
And updating and storing the calculated bypass route in the router table for each of the routers.
제 6 항에 있어서,
상기 최적 경로를 계산하는 단계는,
각각 상기 상이한 구역의 경계에 위치한 라우터 별로 연결되어, 상기 상이한 구역 간의 통신을 처리하는 클럭, VLC(voltage level converter) 및 mcFIFO(mixed clock FIFO)의 각각의 소모 에너지 값의 합에 기초하여 상기 추가 소모 에너지 값을 산출하는 단계를 포함하는 VFI NoC의 라우팅 설계 방법.
The method according to claim 6,
Wherein calculating the optimal path comprises:
Each of the routers being located at a boundary of the different zones, wherein the additional consumable energy based on a sum of each consumed energy value of a clock, a voltage level converter (VLC) and a mixed clock FIFO (mcFIFO) And calculating an energy value of the VFI NoC.
제 6 항에 있어서,
상기 최적 경로를 계산하는 단계는,
시작 라우터부터 목적지 라우터까지의 사이에 패킷을 전송하는데 경유하는 구역의 개수에 기초한 상기 추가 소모 에너지 값과, 상기 코어 간에 전송되는 데이터 크기와 패킷 비트 당 에너지의 곱에 기초한 상기 소모 에너지 값을 합한 전체 소모 에너지 값이 최소가 되는 경로를 상기 최적 경로로서 계산하되,
상기 코어 간에 전송되는 데이터 크기는 기설정된 대역폭 제한 값 이하의 값으로 설정되는 VFI NoC의 라우팅 설계 방법.
The method according to claim 6,
Wherein calculating the optimal path comprises:
The total consumed energy value based on the number of zones via which packets are transmitted between the starting router and the destination router and the consumed energy value based on the product of the data size transmitted between the core and the energy per packet bit, Calculating a path that minimizes the energy consumption value as the optimum path,
Wherein the size of the data transmitted between the cores is set to a value less than a preset bandwidth limit value.
제 6 항에 있어서,
상기 적어도 하나의 우회 경로를 계산하는단계는,
상기 최적 경로가 경유하는 링크 중 최종 목적지 라우터에 가장 인접한 링크부터 역순으로 고장 발생을 가정하여 상기 우회 경로를 설정하는 VFI NoC의 라우팅 설계 방법.
The method according to claim 6,
Wherein the calculating the at least one bypass path comprises:
And setting the bypass path based on a failure occurring in a reverse order from a link closest to the final destination router among the links passing through the optimal route.
제 6 항에 있어서,
상기 계산된 우회 경로를 상기 라우터 별로 라우터 테이블에 갱신 저장하는 단계는,
상기 최적 경로가 경유하는 라우터 중 목적지가 최종 목적지와 동일한 라우터 또는 둘 이상의 후보 우회 경로 상의 라우터 중 동일한 목적지에 대한 우회 경로가 미리 설정된 라우터의 라우팅 테이블은 변경하지 않고 유지하는 VFI NoC의 라우팅 설계 방법.
The method according to claim 6,
And updating and storing the calculated bypass route in the router table for each router,
Wherein the bypass route for the same destination among the routers whose destinations are the same as the final destination or the routers on the two or more candidate bypass routes among the routers passing through the optimal route is maintained without changing the routing table of the predetermined router.
전압-주파수-구역(voltage-frequency-island, VFI) 네트워크 온 칩(Network-on-Chip, NoC)에 있어서,
어플리케이션의 트래픽을 처리하는 복수의 코어,
상기 코어 별로 매칭된 복수의 라우터, 및
상기 라우터 간에 경로를 형성하는 링크를 포함하고,
상기 복수의 코어 및 라우터들은 서로 상이한 전압 및 주파수를 사용하도록 설정된 둘 이상의 전압-주파수 구역으로 구역화되며,
각각 상기 둘 이상의 구역 간의 통신을 처리하되, 상기 둘 이상의 구역의 경계에 있는 라우터 별로 연결되는 클럭, VLC(voltage level converter) 및 mcFIFO(mixed clock FIFO)을 더 포함하되,
상기 복수의 라우터는,
각각 상기 트래픽의 특성에 따라 계산된 최적 경로 및 적어도 하나의 우회 경로가 저장되어 있는 라우팅 테이블을 포함하고,
최적 경로에 따른 경로 상의 링크 고장 감지 시 상기 라우팅 테이블의 우회 경로 중 하나에 기초하여 경로를 재설정하는 전압-주파수-구역 네트워크 온 칩.
In a voltage-frequency-island (VFI) network-on-chip (NoC)
A plurality of cores processing traffic of an application,
A plurality of routers matched per core, and
And a link forming a path between the routers,
Wherein the plurality of cores and routers are zoned into two or more voltage-frequency zones configured to use different voltages and frequencies,
Further comprising a clock, a voltage level converter (VLC), and a mixed clock FIFO (mcFIFO) for processing communications between the two or more zones, each of the routers connected to the two or more zones,
The plurality of routers include:
And a routing table in which an optimal path calculated according to the characteristics of the traffic and at least one bypass path are stored,
A network-on-chip voltage-frequency-area network that reestablishes a path based on one of the bypass paths in the routing table upon detecting a link failure on the path along the optimal path.
제 11 항에 있어서,
상기 라우팅 테이블 별로, 어플리케이션의 트래픽 특성에 따른 데이터들의 패킷 별 비트 당 소모 에너지 값 및 상이한 구역 간의 통신에 의한 추가 소모 에너지 값에 기초하여 산출된 최소 에너지 소모 값을 갖는 상기 최적 경로가 저장된 것인 전압-주파수-구역 네트워크 온 칩.
12. The method of claim 11,
Wherein the optimal path having a minimum energy consumption value calculated based on a consumed energy value per bit per packet of data according to an application traffic characteristic and an additional consumption energy value by communication between different zones is stored for each routing table, - Frequency-Zone network-on-chip.
제 12 항에 있어서,
상기 추가 소모 에너지 값은 상기 클럭, VLC 및 mcFIFO 각각의 소모 에너지 값의 합에 기초하여 산출된 것인 전압-주파수-구역 네트워크 온 칩.
13. The method of claim 12,
Wherein the additional consumption energy value is calculated based on a sum of the consumed energy values of the clock, VLC and mcFIFO, respectively.
제 12 항에 있어서,
상기 라우팅 테이블 별로, 시작 라우터부터 목적지 라우터까지의 사이에 패킷을 전송하는데 경유하는 구역의 개수에 기초한 상기 추가 소모 에너지 값과, 상기 코어 간에 전송되는 데이터 크기와 패킷 비트 당 에너지의 곱에 기초한 상기 소모 에너지 값을 합한 전체 소모 에너지 값이 최소가 되는 상기 최적 경로가 저장된 것인 전압-주파수-구역 네트워크 온 칩.
13. The method of claim 12,
Based on the number of zones over which a packet is transmitted between the starting router and the destination router, for each of the routing tables, and the consumed energy value based on the product of the data size transmitted between the cores and the energy per packet bit, Wherein the optimal path is stored such that the total energy consumption value combined with energy values is minimized.
KR1020160112090A 2016-08-31 2016-08-31 Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same KR101784499B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160112090A KR101784499B1 (en) 2016-08-31 2016-08-31 Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160112090A KR101784499B1 (en) 2016-08-31 2016-08-31 Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same

Publications (1)

Publication Number Publication Date
KR101784499B1 true KR101784499B1 (en) 2017-10-11

Family

ID=60139228

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160112090A KR101784499B1 (en) 2016-08-31 2016-08-31 Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same

Country Status (1)

Country Link
KR (1) KR101784499B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108282707A (en) * 2017-12-22 2018-07-13 西安电子科技大学 Network on mating plate path calculation method under optical circuit give-and-take conditions
KR102059548B1 (en) * 2019-02-13 2019-12-27 성균관대학교산학협력단 Inter Routing Method for VFI Network-on-Chip, Intra Routing Method for VFI Network-on-Chip, Intra and Inter Routing Method for VFI Network-on-Chip and Computer Readable Recording Medium on which program therefor is recorded
JP7473755B2 (en) 2020-03-11 2024-04-24 株式会社デンソー Processor and data path reconfiguration method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108282707A (en) * 2017-12-22 2018-07-13 西安电子科技大学 Network on mating plate path calculation method under optical circuit give-and-take conditions
KR102059548B1 (en) * 2019-02-13 2019-12-27 성균관대학교산학협력단 Inter Routing Method for VFI Network-on-Chip, Intra Routing Method for VFI Network-on-Chip, Intra and Inter Routing Method for VFI Network-on-Chip and Computer Readable Recording Medium on which program therefor is recorded
JP7473755B2 (en) 2020-03-11 2024-04-24 株式会社デンソー Processor and data path reconfiguration method

Similar Documents

Publication Publication Date Title
US8601423B1 (en) Asymmetric mesh NoC topologies
US9529400B1 (en) Automatic power domain and voltage domain assignment to system-on-chip agents and network-on-chip elements
JP6060316B2 (en) Method and system for configuring NoC and computer-readable storage medium
US8139492B1 (en) Local forwarding bias in a multi-chassis router
JP5651756B2 (en) Method and communication system for mapping network topology requirements to physical networks
US9075747B2 (en) Bus controller and control unit that outputs instruction to the bus controller
US8270316B1 (en) On-chip radio frequency (RF) interconnects for network-on-chip designs
BR112016005438B1 (en) METHOD FOR INSTALLING SERVICES ON A SERVICE PROVIDER NETWORK, NETWORK CONTROLLER NODE AND RELATED NON-TRANSIOUS COMPUTER READABLE MEDIA
US9705750B2 (en) Executing data stream processing applications in dynamic network environments
KR101784499B1 (en) Apparatus and method for fault tolerlant routing in voltage-frequency-island networks-on-chip, voltage-frequency-island networks-on-chip using the same
Li et al. BOND: Flexible failure recovery in software defined networks
US11706146B1 (en) Directing network traffic using local routing decisions with a global overview
Wang et al. CFR: A cooperative link failure recovery scheme in software‐defined networks
CN114697256B (en) Dynamic network bandwidth allocation and management based on centralized controllers
US20180183672A1 (en) System and method for grouping of network on chip (noc) elements
JP5534444B2 (en) Integrated circuit and data transfer method
Kaleem et al. A survey on network on chip routing algorithms criteria
JP4894013B2 (en) System and method for searching a path between nodes included in a network
US20190266308A1 (en) Integrated circuit design
Xie et al. Distributed power saving for large-scale software-defined data center networks
US9864728B2 (en) Automatic generation of physically aware aggregation/distribution networks
KR102059548B1 (en) Inter Routing Method for VFI Network-on-Chip, Intra Routing Method for VFI Network-on-Chip, Intra and Inter Routing Method for VFI Network-on-Chip and Computer Readable Recording Medium on which program therefor is recorded
Han et al. Low-cost congestion detection mechanism for networks-on-chip
Behrouz et al. Fault-tolerant routing algorithms in networks on-chip
Bastam et al. Design and performance evaluation of a new traffic engineering technique for software-defined network datacenters

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant