KR101465498B1 - Apparatus and method for adaptive routing of hybrid optical networks on chip and hybrid optical networks on chip system using the same - Google Patents

Apparatus and method for adaptive routing of hybrid optical networks on chip and hybrid optical networks on chip system using the same Download PDF

Info

Publication number
KR101465498B1
KR101465498B1 KR1020130093004A KR20130093004A KR101465498B1 KR 101465498 B1 KR101465498 B1 KR 101465498B1 KR 1020130093004 A KR1020130093004 A KR 1020130093004A KR 20130093004 A KR20130093004 A KR 20130093004A KR 101465498 B1 KR101465498 B1 KR 101465498B1
Authority
KR
South Korea
Prior art keywords
routing
packet
path
routing device
destination
Prior art date
Application number
KR1020130093004A
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 KR1020130093004A priority Critical patent/KR101465498B1/en
Application granted granted Critical
Publication of KR101465498B1 publication Critical patent/KR101465498B1/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
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip

Abstract

A method for adaptive routing through routing devices, which are individually connected to each of multiple processing elements (PE), in a hybrid optical network-on-chip (HONoC) comprises: a step of receiving a control packet from a first routing device through an electrical link; a step of determining the type of the control packet; a step of determining a second routing device towards a predetermined destination among routing devices adjacent to the first routing device based on a path-setting packet if the control packet is determined to be the path-setting packet by the type determination; a step of checking the usage state of the second routing device and determining whether to roll back the path-setting packet based on the usage state; and a step of rolling back the path-setting packet to the first routing device if the path-setting packet is determined to be rolled back. The rolled-back path-setting packet is transmitted to a third routing device on a detour path, which is re-determined by the first routing device.

Description

하이브리드 광학 네트워크 온 칩의 적응적 라우팅 장치 및 방법, 이를 이용한 하이브리드 광학 네트워크 온 칩 시스템{APPARATUS AND METHOD FOR ADAPTIVE ROUTING OF HYBRID OPTICAL NETWORKS ON CHIP AND HYBRID OPTICAL NETWORKS ON CHIP SYSTEM USING THE SAME}TECHNICAL FIELD The present invention relates to an adaptive routing apparatus and method for a hybrid optical network on chip and a hybrid optical network-

본 발명은 하이브리드 광학 네트워크-온-칩(Hybrid Optical Networks-On-Chip, HONoC) 환경에서 각 라우팅 장치의 상태에 따라 라우팅을 진행하는 적응적 라우팅 장치 및 방법과, 이를 이용한 HONoC시스템에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to an adaptive routing apparatus and method for performing routing according to the state of each routing apparatus in a hybrid optical network-on-chip (HONOC) environment, and a HONoC system using the same.

싱글 코어 프로세서의 전력 효율 대비 성능의 한계로 인해 다중 코어를 이용한 다중 프로세서 시스템-온-칩(Multi-Processor System-on-Chip, MPSoC)이 개발되었다. 이러한 다중 프로세서 시스템-온-칩에서는 기존의 버스(bus) 구조를 적용할 경우 병목의 문제가 발생되어 전체 시스템 성능 향상이 저하될 수 있다. 이로 인해, 수백개 이상의 코어와 IP(Intellectual Property)가 집적된 첨단 SoC 구조에 온-칩 네트워크(On-chip Network, OCN) 개념을 적용한 네트워크-온-칩(Network-on-Chip, NoC)이 등장하였다.Multi-Processor System-on-Chip (MPSoC) with multiple cores has been developed due to the limitations of power efficiency versus performance of single-core processors. In such a multiprocessor system-on-chip, when a conventional bus structure is applied, a problem of a bottleneck may occur and the performance of the entire system may be degraded. As a result, Network-on-Chip (NoC), which applies on-chip network (OCN) concepts to advanced SoC structures with integrated core and IP (Intellectual Property) .

NoC는 토폴로지와 프로토콜 관점의 구조적 변화이므로, 기존 반도체 공정/소자 기술의 한계에 대응하기 위해서는 추가적으로 물리적 연결 매체(Interconnection medium)까지 고려한 접근 방식이 요구된다. 이에 따라, 기존 NoC에서의 전기적 상호 연결(Electrical Interconnect, EI)에 의한 전력 소모 및 지연 시간 문제를 광학적 상호 연결(Optical Interconnect, OI)을 통해 해결하는 하이브리드 광학적 네트워크-온-칩(Hybrid Optical NoC, HONoC)이 등장하였다.Since NoC is a structural change in terms of topology and protocol, an approach considering an additional interconnection medium is required to meet the limitations of existing semiconductor process / device technology. Accordingly, a hybrid optical network-on-chip (hereinafter, referred to as " hybrid optical < RTI ID = 0.0 > NoC ") & HONoC).

예를 들어, 메시 토폴로지에서 OI를 통해 대용량 패이로드(payload) 데이터를 전송하고, EI를 통해 컨트롤 패킷 및 경로 설정 패킷을 전송하도록 하는 방법 등이 제안되었다. 이러한, HONoC에서는 광 신호를 패킷 스위칭(Packet Switching) 방식으로 라우팅하게 되면 각 라우터에서 광신호의 전기 신호로의 변환과 이를 통한 목적지 판별 과정을 거쳐야 하므로, 지연 시간(latency)이 오히려 EI기반 NoC보다 증가하기 때문에 EI를 통해 OI의 경로를 설정하게 하는 서킷 스위칭(Circuit Switching) 네트워크로 구성한다.For example, a method has been proposed in which the mesh topology transmits large payload data via the OI, and control packets and routing packets are transmitted through the EI. In the HONoC, when the optical signal is routed through the packet switching method, each router must convert the optical signal into an electrical signal and determine the destination through the routing process. Therefore, the latency is rather higher than that of the EI based NoC The circuit switching network is configured to set the path of the OI through the EI.

한편, 광학적 라우팅의 중요성으로 인하여 라우터를 최적화하려는 연구들이 많이 진행되고 있다. 그런데, 기존의 HONoC의 라우터에 관한 연구에서는 X-Y 라우팅등과 같은 단순한 라우팅 방식을 적용함으로써, 서로 다른 데이터가 동일한 경로를 사용하려 할 때 경로를 점령하지 못한 데이터는 다른 데이터가 전송이 종료될 때까지 기다려야 하는 블로킹(blocking) 문제가 발생한다. 이에 따라 HONoC 상의 라우터들에 대해 레이튼시(latency)가 공평하게 보장되지 못하는 문제가 발생하게 된다. 이에 따라, HONoC의 구조적인 특성에 적합하게 설계되어 효율적인 경로 설정을 수행할 수 있는 장치 및 방법이 필요하다.On the other hand, due to the importance of optical routing, many studies have been made to optimize routers. However, in the study on existing HONoC routers, by applying simple routing method such as XY routing, when different data are trying to use the same path, data that can not occupy the path is transmitted until other data is transmitted There is a blocking problem to wait. Accordingly, the latency of the routers on the HONoC can not be fairly guaranteed. Accordingly, there is a need for an apparatus and a method capable of performing efficient routing according to the structural characteristics of HONoC.

이와 관련하여, 대한민국등록특허 제714073호(발명의 명칭: 통신 자원의 충돌이 없는 온칩 네트워크 자동 생성 방법)에서는, SoC 설계에 있어서, 온칩 네트워크를 구성하는 모듈들간의 통신량에 대한 트래픽 그래프 및 통신 스케줄을 분석하여 각 통신 요구들 간의 경합이 없는 최적의 온칩 네트워크를 자동으로 생성하는 방법을 개시하고 있다.In this regard, Korean Patent Registration No. 714073 (entitled "On-chip Network Automatic Generation Method Without Contention of Communication Resources"), in the SoC design, a traffic graph and a communication schedule for the traffic volume between the modules constituting the on- And automatically generates an optimal on-chip network without contention between communication requests.

하지만 이러한 기존의 연구들은 광학적 상호 연결(OI)의 적용을 통해 서킷 스위칭을 사용해야 하는HONoC 구조의 환경을 제대로 반영하지 못하여, HONoC 구조에서의 경로 충돌 제어에는 한계가 있었다.However, these existing researches have not been able to reflect the environment of HONoC structure which should use circuit switching through application of optical interconnection (OI), and there is a limitation in path collision control in HONoC structure.

전술한 종래 기술의 문제점을 해결하기 위해, 본 발명의 일 실시예는 HONoC 환경에서 라우팅 장치의 경로 설정 상태에 기초하여 효율적으로 우회 경로 설정을 처리하는 적응적 라우팅 장치 및 방법과 그에 따른 HONoC 시스템을 제공하고자 한다.According to an aspect of the present invention, there is provided an adaptive routing apparatus and method for efficiently processing a bypass route setting based on a routing state of a routing apparatus in a HONoC environment, and a HONoC system .

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.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.

상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른, 하이브리드 광학 네트워크 온 칩(Hybrid Optical Network-on-Chip, HONoC)에서 복수의 처리 소자(Processing Element, PE) 별로 연결된 라우팅 장치는, 전기적 링크를 통해 경로 설정을 위한 컨트롤 패킷을 수신하고, 상기 컨트롤 패킷을 기설정된 유형에 따라 분배하여 출력하는 패킷 분배 모듈; 상기 패킷 분배 모듈로부터 출력된 상기 컨트롤 패킷 중 경로 설정 패킷을 수신하면, 기설정된 목적지를 향한 방향으로 인접한 다음 라우팅 장치를 결정하고, 상기 다음 라우팅 장치의 사용 상태에 따라 상기 경로 설정 패킷에 대한 롤백(rollback) 처리 여부를 결정하는 경로 설정 처리 모듈; 및 상기 경로 설정 처리 모듈에 의해 상기 경로 설정 패킷에 대한 롤백 처리가 결정되면, 상기 경로 설정 패킷이 입력된 이전 라우팅 장치로 상기 경로 설정 패킷을 롤백시키는 롤백 처리 모듈을 포함하되, 상기 이전 라우팅 장치로 롤백시킨 상기 경로 설정 패킷은, 상기 이전 라우팅 장치가 재결정한 우회 경로 상의 다른 라우팅 장치로 전송된다.According to an aspect of the present invention, there is provided a routing apparatus connected to a plurality of processing elements (PEs) in a hybrid optical network-on-chip (HONOC) A packet distribution module for receiving a control packet for routing through an electrical link, distributing the control packet according to a predetermined type, and outputting the control packet; And a control unit configured to determine a next routing apparatus adjacent to the predetermined destination in the direction of a predetermined destination when receiving the routing packet among the control packets output from the packet distribution module, a rollback process; And a rollback processing module that rolls back the routing packet to a previous routing device to which the routing packet is input if the rollback process for the routing packet is determined by the routing module, The path setting packet that has been rolled back is transmitted to another routing apparatus on the bypass path that has been redetermined by the previous routing apparatus.

그리고, 본 발명의 다른 측면에 따른, 하이브리드 광학 네트워크 온 칩(Hybrid Optical Network-on-Chip, HONoC)에서 복수의 처리 소자(Processing Element, PE) 별로 연결된 라우팅 장치를 통한 적응적 라우팅 방법은, (a) 전기적 링크를 통해 제 1 라우팅 장치로부터 컨트롤 패킷을 수신하는 단계; (b) 상기 컨트롤 패킷의 유형을 판단하는 단계; (c) 상기 유형을 판단한 결과 경로 설정 패킷인 경우, 상기 경로 설정 패킷에 기초하여 상기 제 1 라우팅 장치와 인접한 라우팅 장치 중 기설정된 목적지를 향한 방향의 제 2 라우팅 장치를 결정하는 단계; (d) 상기 제 2 라우팅 장치의 사용 상태를 확인하여, 상기 사용 상태에 따라 상기 경로 설정 패킷에 대한 롤백(rollback) 처리 여부를 결정하는 단계; 및 (e) 상기 경로 설정 패킷에 대한 롤백 처리가 결정되면, 상기 제 1 라우팅 장치로 상기 경로 설정 패킷을 롤백 시키는 단계를 포함하되, 상기 롤백시킨 경로 설정 패킷은 상기 제 1 라우팅 장치에서 재결정된 우회 경로 상의 제 3 라우팅 장치로 전송된다.According to another aspect of the present invention, an adaptive routing method through a routing device connected to a plurality of processing elements (PEs) in a hybrid optical network-on-chip (HONOC) a) receiving a control packet from a first routing device over an electrical link; (b) determining the type of the control packet; (c) determining a second routing device in a direction toward a predetermined destination among the routing devices adjacent to the first routing device based on the routing packet, when the determination result is the type of the routing device; (d) checking the use state of the second routing apparatus and determining whether to perform a rollback process on the route setting packet according to the use state; And (e) rolling back the routing packet to the first routing device when a rollback process for the routing packet is determined, wherein the rolled back routing packet is a round trip Path to the third routing device on the path.

또한, 본 발명의 또 다른 측면에 따른, 하이브리드 광학 네트워크 온 칩(Hybrid Optical Networks-on-Chip) 시스템은, 복수의 처리 소자(Processing Element, PE); 및 상기 PE 별로 매칭되며, 광학적 링크를 통해 상기 PE 간 데이터의 전송을 위한 서킷 스위칭을 처리하고, 전기적 링크를 통해 상기 PE 간 경로 설정을 위한 패킷 스위칭을 처리하는 복수의 라우팅 장치를 포함하되, 상기 라우팅 장치는, 상기 전기적 링크를 통해 경로 설정을 위한 컨트롤 패킷을 수신하여 기설정된 유형에 따라 분배하여 출력하고, 상기 컨트롤 패킷 중 경로 설정 패킷을 수신하면 기설정된 목적지를 향한 방향으로 인접한 다음 라우팅 장치를 결정하고, 상기 다음 라우팅 장치가 사용 불가능한 상태이면 상기 경로 설정 패킷이 입력된 이전 라우팅 장치로 상기 경로 설정 패킷을 롤백(rollback) 처리하되, 상기 이전 라우팅 장치로 롤백 처리된 상기 경로 설정 패킷은, 상기 이전 라우팅 장치가 재결정한 우회 경로 상의 다른 라우팅 장치로 전송된다.According to another aspect of the present invention, a hybrid optical network-on-chip system includes a plurality of processing elements (PEs); And a plurality of routing devices matching the PEs, processing circuit switching for transmission of data between the PEs via an optical link, and processing packet switching for routing the PEs through an electrical link, The routing device receives the control packet for route setting through the electrical link and distributes it according to a predetermined type and outputs the control packet. When receiving the routing packet among the control packets, the routing device transmits the control packet to the next routing device adjacent to the predetermined destination And if the next routing device is unavailable, rolls back the routing packet to a previous routing device to which the routing packet is input, wherein the routing packet, which has been rolled back to the previous routing device, If the previous routing device has been redirected to another routing device on the bypass path, It is.

전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, HONoC 상에서 데이터 송수신을 위한 경로 설정 시, 경로 진행 방향이 블로킹된 경우 블로킹 이전의 라우팅 장치로 되돌아가 경로를 재탐색함으로써 신속하게 경로를 우회시킬 수 있다. 이에 따라, 동일 경로를 사용하고자하는 데이터 통신들에 대해서 각각 적합한 우회 경로를 제공함으로써, 통신 속도를 높일 수 있는 효과가 있다.According to any one of the above-mentioned means for solving the problems of the present invention, when setting the path for data transmission / reception on the HONoC, if the path traveling direction is blocked, the path is returned to the routing apparatus before the blocking, . Thus, it is possible to increase the communication speed by providing a suitable detour path for each data communication to use the same path.

그리고, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 출발지로부터 목적지까지의 최단 거리 경로 내에서 우회 경로를 설정함으로써, 경로 우회 시에도 최적의 경로 설정을 제공할 수 있는 효과가 있다. Further, according to any one of the tasks of the present invention, it is possible to provide an optimum route setting even when the route is bypassed by setting the bypass route in the shortest distance route from the origin to the destination.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 둘 이상의 통신에 의해 동일 방향으로의 경로 설정 시도가 동시에 발생된 경우, 각 통신의 경로 설정 재시도에 대해 차등적인 지연 시간을 적용함으로써 동시 발생된 통신들에 대한 안정적인 병렬 통신이 가능한 효과가 있다.Further, according to any one of the tasks of the present invention, when a route setting attempt in the same direction occurs at the same time by two or more communications, a differential delay time is applied to a route setting retry of each communication, It is possible to perform stable parallel communication with the communicated communications.

또한, 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 경로 설정 완료 후 광학적 네트워크를 통한 데이터 전송과 동시에(또는 빠른 시간 내에) 전기적 네트워크를 통한 경로 해제를 수행함으로써, 신속하게 설정된 경로를 해제시킬 수 있어 통신 효율을 높일 수 있다.Further, according to any one of the tasks of the present invention, it is possible to quickly release the set route by performing the route disconnection through the electrical network simultaneously with (or in a short time) the data transmission through the optical network after completing the route setting So that the communication efficiency can be improved.

도 1은 본 발명의 일 실시예에 따른 하이브리드 광학 네트워크 온 칩 시스템의 구성을 나타내는 도면이다.
도 2는 본 발명의 일 실시예에 따른 라우팅 장치의 구성을 나타낸 블록도이다.
도 3은 본 발명의 일 실시예에 따른 컨트롤 패킷의 유형 별 구조를 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 적응적 라우팅 방식에서 라우팅 진행 방향을 결정하는 절차를 설명하기 위한 순서도이다.
도 5는 본 발명의 일 실시예에 따른 적응적 라우팅 방식에서 다음 라우팅 장치에 대한 경로 설정 예측 처리 절차를 설명하기 위한 순서도이다.
도 6은 본 발명의 일 실시예에 따른 적응적 라우팅 수행 결과의 일례를 나타낸 도면이다.
도 7은 본 발명의 일 실시예에서 발생될 수 있는 중복 경로 탐색 과정의 일례를 나타낸 도면이다.
도 8은 본 발명의 일 실시예에 따른 적응적 라우팅 방식에서 중복 경로를 제외하는 절차를 설명하기 위한 순서도이다.
도 9는 본 발명의 일 실시예에 따른 경로 설정 지연 방식을 설명하기 위한 경로 설정 동시 발생 상태의 일례를 나타낸 도면이다.
도 10은 본 발명의 일 실시예에 따른 경로 설정 재시도에 적용될 지연 시간의 산출 방식을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 적응적 라우팅 방법을 설명하기 위한 순서도이다.
1 is a diagram illustrating a configuration of a hybrid optical network on chip system according to an embodiment of the present invention.
2 is a block diagram illustrating a configuration of a routing apparatus according to an embodiment of the present invention.
3 is a view for explaining a structure of control packets according to an embodiment of the present invention.
FIG. 4 is a flowchart illustrating a procedure for determining a routing progress direction in an adaptive routing scheme according to an exemplary embodiment of the present invention. Referring to FIG.
FIG. 5 is a flowchart illustrating a route setting prediction processing procedure for a next routing apparatus in an adaptive routing scheme according to an embodiment of the present invention. Referring to FIG.
6 is a diagram illustrating an example of the results of performing adaptive routing according to an embodiment of the present invention.
7 is a diagram illustrating an example of a redundant path search process that may be generated in an embodiment of the present invention.
8 is a flowchart illustrating a procedure for excluding a redundant path in the adaptive routing scheme according to an embodiment of the present invention.
FIG. 9 is a view illustrating an example of a route setting simultaneous occurrence state for explaining a route setting delay method according to an embodiment of the present invention.
10 is a diagram for explaining a method of calculating a delay time to be applied to a route setting retry according to an embodiment of the present invention.
11 is a flowchart illustrating an adaptive routing method 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.

도 1은 본 발명의 일 실시예에 따른 하이브리드 광학 네트워크 온 칩 시스템의 구성을 나타내는 도면이다.1 is a diagram illustrating a configuration of a hybrid optical network on chip system according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 본 발명의 일 실시예에 따른 하이브리 광학 네트워크 온 칩(Hybrid Optical NoC, HONoC) 시스템(10)은 복수의 처리 소자(Processing Element, PE)(100), 각 PE(100)와 매칭되어 연결된 복수의 라우터(200), 및 각 라우터(200) 간에 광학적 경로를 형성하는 광학적 링크(300), 각 라우터(200) 간에 전기적 경로를 형성하는 전기적 링크(400)를 포함하여 구성된다.1, a Hybrid Optical NoC (HONOC) system 10 according to an embodiment of the present invention includes a plurality of processing elements (PE) 100, A plurality of routers 200 matched and connected to the router 200 and an optical link 300 forming an optical path between each router 200 and an electrical link 400 forming an electrical path between the routers 200 .

참고로, 도 1에서는 본 발명의 일 실시예에 따른 HONoC 시스템(10)이 메시 네트워크 토폴로지 형태의 HONoC로 구성된 것을 나타내었으며, 본 발명의 실시예에 따른HONoC의 형태는 다양한 종류의 네트워크 토폴로지 형태로 설정될 수 있다.1, the HONoC system 10 according to an exemplary embodiment of the present invention is configured as a mesh network topology type HONoC, and the HONoC type according to an exemplary embodiment of the present invention may include various types of network topologies Can be set.

처리 소자(PE)(100)는 HONoC 상에서 데이터를 처리하는 소자이다. 예를 들어, PE(100)는 애플리케이션과 같은 프로그램에 의한 태스크(task)가 매핑되어, 해당 태스크에 따른 데이터를 처리할 수 있다.The processing element (PE) 100 is an element that processes data on HONoC. For example, the PE 100 can map a task by a program such as an application, and process data corresponding to the task.

라우터(200)는 PE(100)에서의 데이터 처리를 위해, HONoC 상의 PE(100) 간에 경로를 설정(즉, 라우팅)하여 데이터가 송수신되도록 한다. 이때, 출발지 라우터(200)는 자신과 연결된 PE(100)로부터 발생된 데이터를 전달받아 목적지 라우터(200) 측으로 전송하고, 목적지 라우터(200)는수신된 데이터(즉, 출발지 라우터가 전송한 데이터)를 자신과 연결된 PE(100)로 전달한다.The router 200 establishes a route (i.e., routes) between the PEs 100 on the HONoC for data processing in the PE 100, thereby allowing data to be transmitted and received. At this time, the source router 200 receives the data generated from the PE 100 connected to the source router 200 and transmits the data to the destination router 200, and the destination router 200 transmits the received data (i.e., data transmitted by the source router) To the PE 100 connected thereto.

특히, 본 발명의 일 실시예에 따른 HONoC 시스템(10)에서는 각 라우터(200)가 기설정된 라우팅 절차를 수행하여 출발지로부터 목적지까지의 경로를 설정한다. 이때, 각 라우터(200)가 수행하는 기설정된 라우팅 방식은 HONoC 상에서 다른 라우터들의 현재 상태에 따라 경로를 설정할 다음 라우터를 결정하는 방식(이하, '적응적 라우팅'이라고함)이다.In particular, in the HONoC system 10 according to the embodiment of the present invention, each router 200 performs a predetermined routing procedure to set a route from a source to a destination. At this time, the predetermined routing method performed by each router 200 is a method of determining the next router to set a path according to the current status of other routers on the HONOC (hereinafter referred to as 'adaptive routing').

구체적으로, 적응적 라우팅에 따르면, 출발지로부터 목적지까지의 경로 상에 위치한 라우터(200)들의 경로 설정 상태를 실시간으로 판단한다. 이때, 적응적 라우팅에서는, 상기 경로 상에 경로 설정이 불가능한 상태인 라우터가 존재하는 경우, 현재 라우터의 위치에 인접하며 경로 설정이 가능한 상태의 다른 라우터로 경로를 우회시킨다.Specifically, according to the adaptive routing, the routing state of the routers 200 located on the route from the source to the destination is determined in real time. At this time, in the adaptive routing, if there is a router which can not set a route on the route, the route is bypassed to another router which is adjacent to the current location of the router and can set the route.

본 발명의 일 실시예에 따른 라우터(200)의 적응적 라우팅 동작에 대해서는 하기 도 2 내지 도 8을 참조하여 상세히 설명하도록 한다.The adaptive routing operation of the router 200 according to an embodiment of the present invention will be described in detail with reference to FIGS. 2 to 8 below.

한편, 본 발명의 일 실시예에 따른 라우터(200)는 광학 라우터 및 전기 라우터의 동작을 함께 수행하는 혼합형(hybrid) 라우터로서, HONoC 상에는 라우터(200)들의 광학적/전기적 연결을 통해 광학적 네트워크와 전기적 네트워크가 형성된다. 이때, 라우터(200)는 서킷 스위칭을 통해 광학적 네트워크를 제어하고, 패킷 스위칭을 통해 전기적 네트워크를 제어한다.Meanwhile, the router 200 according to an exemplary embodiment of the present invention is a hybrid router that performs the operations of both an optical router and an electric router together. The HONoC is connected to the optical network through an optical / electrical connection of the routers 200, A network is formed. At this time, the router 200 controls the optical network through circuit switching and controls the electrical network through packet switching.

구체적으로, 광학적 네트워크는 라우터(200) 내 광학적 라우터와 광학적 링크(예를 들어, 도파관(waveguide))(300)로 구성된다. 광학적 링크(300)는 광학적 상호 연결(Optical Interconnect, OI)로서, 'PE(100)와 라우터(200)' 또는 '라우터(200)와 라우터(200)' 사이를 광학적으로 연결한다. 예를 들어, 출발지 라우터(source router)와 목적지 라우터(destination router) 간에 경로가 설정되면, 설정된 경로 상에 위치한 라우터(200)들은 각각 광학적 링크(300)를 통해 데이터(즉, 페이로드(payload))를 광신호로 송수신한다. 이때, 광학적 라우터는 마이크로공진기(micro-resonator)를 포함하여 구성될 수 있으며, 마이크로공진기의 온/오프(on/off)에 따라 광학적 링크의 사용 여부를 선택할 수 있다. 그리고, 광학적 라우터는 사용되도록 선택된 광학적 링크를 통해 광신호(즉, 데이터)를 목적지(destination) 측으로 전송하고, 목적지의 광학적 라우터는 사용하도록 선택된 광학적 링크를 통해 광신호를 수신한다.Specifically, the optical network consists of an optical router and optical link (e. G., Waveguide) 300 in the router 200. Optical link 300 is an optical interconnect (OI) that optically connects between 'PE 100 and router 200' or between 'router 200 and router 200'. For example, when a path is established between a source router and a destination router, the routers 200 located on the established path respectively transmit data (i.e., payload) through the optical link 300, ) As an optical signal. At this time, the optical router may include a micro-resonator, and may select whether to use the optical link according to on / off of the micro resonator. The optical router then transmits the optical signal (i.e., data) to the destination side through the optical link selected to be used, and the destination optical router receives the optical signal through the optical link selected for use.

전기적 네트워크는 라우터(200) 내 전기적 라우터와 전기적 링크(400)로 구성된다. 전기적 링크(400)는 전기적 상호 연결(Electrical Interconnect, EI)로서, 라우터(200)와 라우터(200) 사이를 전기적으로 연결하여 라우터(200) 간에 전기 신호를 통신할 수 있도록 한다. 예를 들어, 전기적 라우터는 출발지 라우터와 목적지 라우터 간에 경로를 설정하기 위한 패킷(이하, '컨트롤 패킷'이라고 함)을 전기적 링크(400)를 통해 전기 신호로 통신하도록 한다. 그리고, 전기적 라우터는 라우터(200) 내 광학적 라우터를 제어하여 광신호(즉, 데이터)가 송수신되도록 한다. 이때, 전기적 라우터는 광학적 라우터와 통신하여 광학적 네트워크를 통해 광원(즉, 데이터)이 송수신되도록 마이크로공진기를 제어할 수 있다. 또한, 전기적 라우터는 라우터(200) 내 전기적/광학적 경로의 사용 여부에 대한 정보를 다른 라우터로 제공할 수 있다.The electrical network consists of an electrical link (400) with an electrical router in the router (200). The electrical link 400 is an electrical interconnection (EI) that electrically connects the router 200 and the router 200 to enable communication of electrical signals between the routers 200. For example, an electrical router allows packets (hereinafter, referred to as 'control packets') for establishing a path between a source router and a destination router to communicate in an electrical signal over an electrical link 400. Then, the electric router controls the optical router in the router 200 so that the optical signal (i.e., data) is transmitted and received. At this time, the electrical router communicates with the optical router and can control the micro resonator to transmit / receive the light source (i.e., data) through the optical network. In addition, the electrical router may provide information to other routers about the use of the electrical / optical path within the router 200. [

이하, 도 2 내지 도 8을 참조하여 본 발명의 일 실시예에 따른 라우터(이하, '라우팅 장치'라고 함)(200)에 대해서 상세히 설명하도록 한다.Hereinafter, a router (hereinafter, referred to as 'routing device') 200 according to an embodiment of the present invention will be described in detail with reference to FIG. 2 to FIG.

우선, 본 발명의 일 실시예에 따른 HONoC 시스템(10) 상에서 복수의 라우팅 장치(200)를 통해 PE(100) 간에 데이터를 송수신하는 과정을 설명하도록 한다.First, a process of transmitting and receiving data between PEs 100 through a plurality of routing devices 200 on the HONoC system 10 according to an embodiment of the present invention will be described.

먼저, 출발지 PE에서 전송할 데이터가 발생되면, 출발지 라우팅 장치는 전기적 링크를 통해 목적지 라우팅 장치 측으로 경로 설정을 위한 컨트롤 패킷을 전송한다.First, when data to be transmitted from the source PE is generated, the source routing apparatus transmits a control packet for routing to the destination routing apparatus via an electrical link.

그러면, 출발지 라우팅 장치로부터 목적지 라우팅 장치까지의 경로 상에 위치한 라우팅 장치는 기설정된 적응적 라우팅 알고리즘에 따른 처리를 수행하여 컨트롤 패킷을 전달할 다른 라우팅 장치를 결정한다.Then, the routing apparatus located on the route from the source routing apparatus to the destination routing apparatus performs processing according to a predetermined adaptive routing algorithm to determine another routing apparatus to which the control packet is to be transmitted.

구체적으로, 적응적 라우팅 알고리즘에 따르면, 경로 설정 패킷을 수신한 라우팅 장치(이하, '현재 라우팅 장치'라고 지칭함)는 목적지 라우팅 장치를 향한 일방향으로 인접한 다른 라우팅 장치(이하, '다음 라우팅 장치'라고 함)의 경로 설정 상태를 확인한다. 그리고, 현재 라우팅 장치는 다음 라우팅 장치의 경로 설정 상태가 사용 가능한 상태이면 컨트롤 패킷을 전달하고, 다음 라우팅 장치의 경로 설정 상태가 사용 중인 상태이면 현재 라우팅 장치로 경로 설정 패킷을 전송하였던 라우팅 장치(이하, '이전 라우팅 장치'라고 지칭함)로 컨트롤 패킷을 복귀(즉, 롤백(rollback))시킨다. 그러면, 복귀된 컨트롤 패킷을 수신한 라우팅 장치는 목적지 라우팅 장치를 향한 진행 방향 중 상기 일방향과는 다른 방향으로 인접한 또 다른 라우팅 장치로 컨트롤 패킷을 재전송하여 경로를 우회시킨다. 이상에서와 같은 경로 설정 절차의 수행에 따라 HONoC 상의 라우팅 장치 중 복수의 라우팅 장치들은 순차적으로 컨트롤 패킷을 수신하며, 컨트롤 패킷을 성공적으로 수신한 라우팅 장치들을 통해 출발지로부터 목적지까지의 경로가 설정된다.Specifically, according to the adaptive routing algorithm, a routing device (hereinafter referred to as a 'current routing device') that receives a routing packet is referred to as another routing device adjacent to the destination routing device in one direction Check the path setting status of When the routing state of the next routing apparatus is available, the routing apparatus delivers the control packet. If the routing apparatus is currently in use, the routing apparatus transmits the routing packet to the routing apparatus (I. E., Rollback) the control packet with a " previous routing device " Then, the routing device, which has received the returned control packet, retransmits the control packet to another routing device adjacent to the one direction in the traveling direction toward the destination routing device, thereby bypassing the route. According to the execution of the routing procedure as described above, a plurality of routing devices among the routing devices on the HONoC sequentially receive the control packets, and a path from the source to the destination is established through the routing devices that successfully received the control packet.

이처럼, 목적지 라우팅 장치까지 경로 설정용 컨트롤 패킷이 성공적으로 전송되면, 목적지 라우팅 장치는 경로 설정의 성공을 알리는 응답 컨트롤 패킷을 출발지 라우팅 장치로 전송하여 경로 설정을 완료한다.As described above, when the control packet for routing is successfully transmitted to the destination routing apparatus, the destination routing apparatus transmits the response control packet indicating the success of the routing to the source routing apparatus to complete the routing.

그런 다음, 응답 컨트롤 패킷을 수신한 출발지 라우팅 장치는 목적지 라우팅 장치(결과적으로, 목적지 PE)까지 설정된 경로의 광학적 링크(300)를 통해 목적된 데이터 패킷(즉, 페이로드)을 전송한다.The originating routing device that has received the response control packet then transmits the desired data packet (i.e., payload) over the optical link 300 of the path set up to the destination routing device (and hence the destination PE).

마지막으로, 출발지 라우팅 장치로부터 광학적 링크(300)를 통해 데이터 패킷이 전송되면, 출발지 라우팅 장치는 경로 해제를 위한 컨트롤 패킷을 전기적 링크(400)를 통해 전송하여, 목적지 라우팅 장치까지 설정되어 있던 경로를 해제시킨다.Finally, when a data packet is transmitted from the source routing apparatus through the optical link 300, the source routing apparatus transmits the control packet for routing through the electrical link 400 to the destination routing apparatus, Release.

이하, 위에서 설명한 적응적 라우팅을 통해 데이터 송수신 처리를 수행하는 라우팅 장치(200)의 구성 및 동작에 대해 상세히 설명하도록 한다.Hereinafter, the configuration and operation of the routing device 200 that performs data transmission / reception processing through the adaptive routing described above will be described in detail.

도 2는 본 발명의 일 실시예에 따른 라우팅 장치의 구성을 나타낸 블록도이다. 그리고, 도 3은 본 발명의 일 실시예에 따른 컨트롤 패킷의 유형 별 구조를 설명하기 위한 도면이다.2 is a block diagram illustrating a configuration of a routing apparatus according to an embodiment of the present invention. 3 is a view for explaining the structure of each control packet according to an embodiment of the present invention.

도 2에 도시한 바와 같이, 라우팅 장치(200)는 라우팅 처리부(210), 데이터 전송부(220), 데이터 수신부(230) 및 경로 해제 처리부(240)를 포함하여 구성된다.2, the routing apparatus 200 includes a routing processing unit 210, a data transmission unit 220, a data receiving unit 230, and a path removal processing unit 240.

이때, 도 2에서와 같이, 라우팅 처리부(210)는 패킷 분배 모듈(211), 경로 설정 처리 모듈(212), 롤백 처리 모듈(213), 캔슬 처리 모듈(214) 및 패킷 전송 처리 모듈(215)을 포함한다.2, the routing processing unit 210 includes a packet distribution module 211, a path setting processing module 212, a rollback processing module 213, a cancel processing module 214, and a packet transmission processing module 215, .

패킷 분배 모듈(211)은 전기적 링크(400)를 통해 다른 라우팅 장치(200)로부터 컨트롤 패킷을 수신하고, 수신된 컨트롤 패킷을 유형(type)에 따라 분류한다.The packet distribution module 211 receives the control packet from the other routing device 200 via the electrical link 400 and classifies the received control packet according to the type.

참고로, 컨트롤 패킷은 경로 설정을 위해 라우팅 장치(200) 간에 송수신되는 패킷으로서, 유형(type)에 따라 경로 설정 패킷(path setting packet), 롤백 패킷(rollback packet), 캔슬 패킷(cancel packet), 경로 응답 패킷(path ack packet) 및 경로 해제 패킷(path release packet)으로 구분할 수 있다.For reference, a control packet is a packet transmitted and received between the routing apparatuses 200 for routing, and may include a path setting packet, a rollback packet, a cancel packet, A path ack packet, and a path release packet.

구체적으로, 경로 설정 패킷은, 출발지 라우팅 장치부터 목적지 라우팅 장치까지의 복수의 경로 중 적어도 일경로 상에 위치한 라우팅 장치(200)에 경로 설정을 요청하는 패킷이다. 그리고, 롤백 패킷은, 경로 설정 패킷의 전송 시 목적지 라우팅 장치까지의 경로 상에서 다음 라우팅 장치로의 진행이 블로킹(blocking)된 경우, 경로 설정 패킷이 전송된 이전 라우팅 장치로 복귀(rollback)되는 패킷이다. 예를 들어, 컨트롤 패킷의 전송이 블로킹되는 경우는, 컨트롤 패킷을 전달하고자하는 라우팅 장치가 다른 경로 설정에 의해 사용되고 있거나, 컨트롤 패킷을 전달하고자 하는 라우팅 장치의 PE(100)가 사용되고 있는 경우일 수 있다. 그리고, 캔슬 패킷은, 경로 설정 시 목적지 라우팅 장치가 사용 중인 경우, 해당 경로에 대한 라우팅 동작이 취소되어(cancelling) 출발지 라우팅 장치로 복귀되는 패킷이다. 그리고, 경로 응답 패킷은, 출발지와 목적지 간에 경로 설정이 성공적으로 완료된 경우, 경로 설정이 완료되었음을 알리기 위해 목적지 라우팅 장치로부터 출발지 라우팅 장치로 전송되는 패킷이다. 또한, 경로 해제 패킷은 출발지 라우팅 장치로부터 목적지 라우팅 장치까지 데이터가 전송된 후 해당 경로를 해제시켜 다른 경로 설정이 가능하도록 하기 위한 패킷이다. 이때, 경로 해제 패킷은 경로 해제 시간 정보를 포함할 수 있으며, 출발지 라우팅 장치로부터 광학적 링크를 통한 데이터 전송 시작과 동시에 또는 데이터의 전송 직후에 순차적으로 전기적 링크를 통해 전송될 수 있다.Specifically, the routing packet is a packet for requesting routing to the routing device 200 located on at least one of the plurality of routes from the source routing device to the destination routing device. The rollback packet is a packet that is rolled back to the previous routing apparatus in which the routing packet is transmitted when the routing to the next routing apparatus is blocked on the route to the destination routing apparatus when the routing packet is transmitted . For example, if the transmission of a control packet is blocked, the routing device to which the control packet is to be forwarded is being used by another routing configuration, or the PE (100) of the routing device to which the control packet is to be forwarded is being used have. The cancel packet is a packet whose routing operation for the route is canceled and returned to the source router when the destination router is using the route. The path response packet is a packet transmitted from the destination routing device to the source routing device to indicate that the routing is completed when the routing is successfully completed between the source and destination. In addition, the path release packet is a packet for releasing the path after data is transmitted from the source routing apparatus to the destination routing apparatus to enable another path establishment. At this time, the deassignment packet may include the deassignment time information, and may be transmitted sequentially from the source routing apparatus at the start of the data transmission through the optical link or immediately after the data transmission.

도 3의 (a)에는 경로 설정(path setting) 패킷 및 경로 응답(path ack) 패킷의 구조를 나타내었고, 도 3의 (b)에는 롤백(rollback) 패킷 및 캔슬(cancel) 패킷의 구조를 나타내었다. 또한, 도 3의 (c)에는 경로 해제(path release) 패킷의 구조를 나타내었다.3 (a) shows a structure of a path setting packet and a path ack packet, and FIG. 3 (b) shows a structure of a rollback packet and a cancel packet . 3 (c) shows the structure of a path release packet.

도 3의 (a)에서와 같이, 경로 설정(path setting) 패킷 및 경로 응답(path ack) 패킷은, 제 1 필드(P11)에 패킷 유형 정보(Packet type)가 저장되고, 제 2 필드(P12)에 출발지 정보(Source)가 저장되고, 제 3 필드(P13)에 목적지 정보(Destination)가 저장되고, 제 4 필드(P14)에는 롤백된 적이 있는 경로 설정 패킷에 대한 롤백 위치 정보(도 2에서는, 'Y-value'로 표시함)가 저장되어 있다. 이때, 롤백 위치 정보는 경로 설정 패킷이 롤백을 시작한 라우팅 장치의 위치 정보로서, 가장 최신의 정보가 저장된다.As shown in FIG. 3A, the packet setting information (Packet type) is stored in the first field P11 and the packet type information is stored in the second field P12 The source information is stored in the third field P13 and the destination information Destination is stored in the third field P13 and the rollback position information of the route setting packet that has been rolled back in the fourth field P14 , &Quot; Y-value ") are stored. At this time, the rollback location information is the location information of the routing apparatus where the route setting packet has started the rollback, and the latest information is stored.

그리고, 도 3의 (b)에서와 같이, 롤백(rollback) 패킷 및 캔슬(cancel) 패킷은 각각, 제 1 필드(P21)에 패킷 유형 정보(Packet type)가 저장된다.As shown in FIG. 3 (b), the packet type information is stored in the first field P21 in the rollback packet and the cancel packet, respectively.

또한, 도 3의 (c)에서와 같이, 경로 해제(path release) 패킷은 제 1 필드(P31)에 패킷 유형 정보(Packet type)가 저장되고, 제 2 필드(P32)에 경로 해제 시간 정보가 저장된다. 참고로, 도 3의 (c)에서는 제 2 필드(P32)가 TTL(Time To Live) 필드인 것을 나타내었다.3 (c), the packet release type packet is stored in the first field P31 and the path release time information is stored in the second field P32 . 3C, the second field P32 is a TTL (Time To Live) field.

다시 도 2로 돌아가서, 패킷 분배 모듈(211)은 수신된 컨트롤 패킷의 제 1 필드(P11, P21, P31)를 확인하여 컨트롤 패킷의 유형을 확인하고, 확인된 유형에 매칭되어 기설정된 처리 모듈(즉, 경로 설정 처리 모듈(212), 롤백 처리 모듈(213), 캔슬 처리 모듈(214) 및 패킷 전송 처리 모듈(215) 중 어느 하나)로 해당 컨트롤 패킷을 전달한다.2, the packet distribution module 211 checks the first field P11, P21, P31 of the received control packet to check the type of the control packet, The rollback processing module 213, the cancellation processing module 214, and the packet transmission processing module 215) of the control packet.

구체적으로, 패킷 분배 모듈(211)은 수신된 컨트롤 패킷이 경로 설정 패킷인 경우 경로 설정 처리 모듈(212)로 전달한다. 그리고, 패킷 분배 모듈(211)은 수신된 컨트롤 패킷이 경로 응답 패킷 또는 경로 해제 패킷인 경우 패킷 전송 처리 모듈(215)로 전달하여, 기설정된 경로 상에서 현재 라우팅 장치(200)에 인접하여 위치한 이전 또는 다음 라우팅 장치로 전송되도록 한다. 또한, 패킷 분배 모듈(211)은 수신된 컨트롤 패킷이 롤백 패킷인 경우, 해당 롤백 패킷이 현재 라우팅 장치에 입력된 방향에 따라 롤백 처리 모듈(213) 또는 경로 설정 처리 모듈(212)로 전달한다. 이때, 패킷 분배 모듈(211)은 수신된 롤백 패킷이 현재 라우팅 장치에 입력된 방향이 기설정된 일방향과 일치하는 경우, 롤백 패킷을 경로 설정 패킷으로 변경하여 경로 설정 처리 모듈(212)로 전달한다. 그리고, 패킷 분배 모듈(211)은 수신된 롤백 패킷의 입력 방향이 상기 기설정된 일방향과 상이한 다른 방향인 경우, 롤백 패킷을 롤백 처리 모듈(213)로 그대로 전달한다. 또한, 패킷 분배 모듈(211)은 수신된 컨트롤 패킷이 캔슬 패킷인 경우 캔슬 처리 모듈(214)로 전달한다.Specifically, the packet distribution module 211 transmits the received control packet to the routing processing module 212 when the received control packet is a routing packet. When the received control packet is a path response packet or a path release packet, the packet distribution module 211 transmits the control packet to the packet transmission processing module 215, To the next routing device. If the received control packet is a rollback packet, the packet distribution module 211 transfers the rollback packet to the rollback processing module 213 or the routing processing module 212 according to the direction in which the corresponding rollback packet is input to the current routing device. At this time, if the direction in which the received rollback packet is input to the current routing device matches the preset one direction, the packet distribution module 211 changes the rollback packet to a routing packet and transmits the routing packet to the routing module 212. If the input direction of the received rollback packet is different from the predetermined direction, the packet distribution module 211 transfers the rollback packet to the rollback processing module 213 as it is. The packet distribution module 211 transfers the received control packet to the cancel processing module 214 when the received control packet is a cancel packet.

경로 설정 처리 모듈(212)은 패킷 분배 모듈(211)을 통해, 다른 라우팅 장치로부터 롤백되어 입력된 경로 설정 패킷(이하, '롤백 경로 설정 패킷'이라고 지칭함)과, 다른 라우팅 장치로부터 롤백되지 않고 출발지 라우팅 장치의 방향에서 입력된 경로 설정 패킷(이하, '노멀(nomal) 경로 설정 패킷'이라고 지칭함)을 수신한다. 참고로, 롤백 경로 설정 패킷은, 해당 경로 설정을 시도하는 과정에서 현재 라우팅 장치를 경유하였던 패킷이며, 노멀 경로 설정 패킷은 현재 라우팅 장치를 경유한적 없는 패킷이다.The path setting processing module 212 receives the path setting packet (hereinafter referred to as a 'rollback path setting packet') that is rolled back from another routing device through the packet distribution module 211, (Hereinafter referred to as a " normal path setting packet ") inputted in the direction of the routing apparatus. For reference, the rollback path setting packet is a packet that has passed through the current routing device in the course of attempting the path setting, and the normal path setting packet is a packet that has not passed through the current routing device.

이때, 경로 설정 처리 모듈(212)로 입력된 롤백 경로 설정 패킷은, 기설정된 일방향에서 현재 라우팅 장치로 입력된 경우에 패킷 분배 모듈(211)로부터 전달된 패킷이다.At this time, the rollback path setting packet input to the path setting processing module 212 is a packet transmitted from the packet distribution module 211 when the current one is input to the current routing device.

그리고, 경로 설정 처리 모듈(212)은 기설정된 적응적 라우팅 절차를 수행하여 경로 설정 패킷을 전달할 다음 라우팅 장치를 결정한 후, 전기적 링크(400)를 통해 상기 결정된 다음 라우팅 장치로 경로 설정 패킷을 전송한다. 또한, 경로 설정 처리 모듈(212)은 적응적 라우팅 절차를 수행한 결과, 라우팅을 진행할 다음 라우팅 장치가 블로킹된 것으로 판단된 경우, 경로 설정 패킷을 롤백 처리 모듈(213)로 전달하여 이전 라우팅 장치로 롤백되도록 한다.Then, the path setting module 212 determines a next routing apparatus to which the routing packet is to be transmitted by performing a predetermined adaptive routing procedure, and then transmits the routing packet to the determined next routing apparatus via the electrical link 400 . If it is determined that the next routing device to be routed is determined to be blocked as a result of performing the adaptive routing procedure, the path setting processing module 212 transmits the routing packet to the rollback processing module 213, To be rolled back.

한편, 경로 설정 처리 모듈(212)은 하기 도 4 내지 도 8을 참조하여 설명할 적응적 라우팅 알고리즘을 수행하여, 경로 설정 패킷을 다음 라우팅 장치로 전송하거나 이전 라우팅 장치로 롤백 처리할 수 있다.Meanwhile, the path setting processing module 212 may perform the adaptive routing algorithm to be described with reference to FIGS. 4 to 8 to transmit the path setting packet to the next routing apparatus or rollback processing to the previous routing apparatus.

하기 도 4 내지 도 8에서는, HONoC가 메시 네트워크 토폴로지 형태이며, X-Y 라우팅 방식에 기반한 적응적 라우팅 알고리즘을 적용하여 컨트롤 패킷의 경로를 설정하는 것을 나타내었다. 또한, 이하에서는 HONoC 상의 각 라우팅 장치의 위치를 X축 및 Y축의 좌표 값으로 표현하도록 한다.In FIGS. 4 to 8, it is shown that HONoC is a mesh network topology, and a control packet path is set by applying an adaptive routing algorithm based on the X-Y routing scheme. In the following description, the position of each routing device on the HONoC is represented by coordinate values of the X axis and the Y axis.

구체적으로, X-Y 라우팅 방식은, HONoC상에서 X축(즉, 도 1에 도시한 'X축')방향으로 우선적으로 라우팅을 진행하되, X축 방향으로 인접한 라우팅 장치로의 경로 설정이 불가능한 경우 Y축(즉, 도 1에 도시한 'Y축')방향으로 라우팅을 진행하는 방식이다. 이때, 메시 네트워크 토폴로지에서는 각 라우팅 장치가 상/하/좌/우 방향으로 다른 라우팅 장치와 인접하며, 좌/우 방향으로 인접한 라우팅 장치는 X축 방향으로 인접한 것이고, 상/하 방향으로 인접한 라우팅 장치는 Y축 방향으로 인접한 것이다.Specifically, in the XY routing scheme, if routing is preferentially performed on the X axis (that is, the 'X axis' shown in FIG. 1) on the HONoC, but the routing to the adjacent routing apparatus in the X axis direction is impossible, (I.e., the 'Y axis' shown in FIG. 1). In this case, in the mesh network topology, each routing device is adjacent to another routing device in the up / down / left / right direction, the routing devices adjacent in the left / right direction are adjacent in the direction of the X axis, Are adjacent to each other in the Y-axis direction.

참고로, 본 발명의 일 실시예에서는 라우팅 장치의 경로 설정 시 X축 방향을 Y축 방향보다 우선적으로 선택하는 방식을 설명하였으나, 본 발명의 다른 실시예에서는 반대로 Y축 방향을 X축 방향보다 우선적으로 라우팅 진행 방향으로 선택하는 것도 가능하다. 또한, 본 발명의 일 실시예에서는 메시 네트워크 토폴로지 형태의 HONoC를 설명하였으나, 상이한 형태의 네트워크 토폴로지에도 우선적인 라우팅 진행 방향을 설정하여 적응적 라우팅을 적용할 수 있다. 즉, HONoC에 적용될 수 있는 다양한 네트워크 토폴로지는 각각 라우팅 장치 간의 연결 형태가 상이하며, 네트워크 토폴로지의 라우팅 장치 간의 연결을 복수의 축(axis)으로 대응시킬 경우, 각 축에 대해 라우팅 우선 순위를 설정할 수 있다.In the embodiment of the present invention, the X axis direction is preferentially selected in the route setting of the routing device rather than the Y axis direction. However, in another embodiment of the present invention, It is also possible to select the direction of the routing. Also, although HONoC in the form of a mesh network topology has been described in the embodiment of the present invention, it is possible to apply adaptive routing by setting preferential routing progress directions in different types of network topologies. That is, various types of network topologies that can be applied to HONoC have different connection types between routing devices. When a connection between routing devices of a network topology is corresponded to a plurality of axes, a routing priority can be set for each axis have.

한편, 본 발명의 일 실시예에 따른 경로 설정 처리 모듈(212)은 적응적 라우팅 절차 수행 시, '경로 설정 진행 방향 결정 처리', '경로 설정 가능 예측 처리', 및 '증복 경로 제외 처리'를 수행할 수 있다.Meanwhile, the path setting processing module 212 according to an embodiment of the present invention performs a path setting progress direction determination process, a path settable prediction process, and an increase path exclusion process at the time of performing the adaptive routing procedure Can be performed.

구체적으로, '경로 설정 진행 방향 결정 처리'는 컨트롤 패킷을 수신한 현재 라우팅 장치가 경로 설정 패킷을 전송할 진행 방향을 결정하는 처리이다. 그리고, '경로 설정 가능 예측 처리'는 상기 결정된 진행 방향으로 인접한 다음 라우팅 장치의 경로 설정 상태를 확인하여, 다음 진행 방향의 사용 가능 여부에 따라 실제 경로 설정 패킷을 전송하는 처리이다. 또한, '중복 경로 제외 처리'는 경로 설정 패킷에 저장된 롤백 위치 정보를 이용하여 경로 설정 패킷이 롤백시 경유하였던 라우팅 장치를 제외하고 우회 경로를 탐색하는 처리이다.Specifically, the 'path setting progress direction determination process' is a process for determining the direction in which the current routing apparatus that received the control packet transmits the path setting packet. The 'path settable prediction processing' is a processing for confirming the path setting state of the next adjacent routing apparatus in the determined direction, and transmitting the actual path setting packet according to the availability of the next direction of travel. In addition, the 'duplicate route exclusion process' is a process of searching for a bypass route except for the routing device that the route setting packet passed through during rollback using the rollback location information stored in the route setting packet.

먼저, 도 4를 참조하여 본 발명의 일 실시예에서 경로 설정 처리 모듈(212)의 '경로 설정 진행 방향 결정 처리' 절차를 상세히 설명하도록 한다.Referring to FIG. 4, a 'path setting direction determination process' process of the path setting module 212 will be described in detail in an embodiment of the present invention.

도 4는 본 발명의 일 실시예에 따른 적응적 라우팅 방식에서 라우팅 진행 방향을 결정하는 절차를 설명하기 위한 순서도이다.FIG. 4 is a flowchart illustrating a procedure for determining a routing progress direction in an adaptive routing scheme according to an exemplary embodiment of the present invention. Referring to FIG.

도 4에서와 같이, 경로 설정 처리 모듈(212)은 패킷 분배 모듈(211)로부터 경로 설정 패킷을 수신하면(S410), 수신된 경로 설정 패킷이 롤백된 패킷(즉, '롤백 경로 설정 패킷')인지 여부를 판단한다(S420).4, when the path setting processing module 212 receives the path setting packet from the packet distribution module 211 (S410), it determines that the received path setting packet is a rollback packet (i.e., a 'rollback path setting packet' (S420).

참고로, 경로 설정 처리 모듈(212)로 입력될 수 있는 롤백 경로 설정 패킷은, 현재 라우팅 장치가 컨트롤 패킷을 입력받을 수 있는 복수의 방향 중 기설정된 일방향에서 롤백된 것이다. 상기 기설정된 일방향은 적응적 라우팅에서 우선적으로 경로를 설정하는 방향(즉, 본 발명의 일 실시예에서는 'X축' 방향)이다. 설명의 편의상, 이하에서는 '우선 경로 방향'이라고 지칭하도록 한다.For reference, the rollback path setting packet that can be input to the path setting processing module 212 is rolled back in a predetermined direction among a plurality of directions in which the current routing device can receive the control packet. The predetermined one direction is a direction in which the path is preferentially set in the adaptive routing (i.e., the 'X axis' direction in one embodiment of the present invention). For convenience of explanation, it will be referred to as " priority route direction " hereinafter.

참고로, 다른 라우팅 장치로부터 입력된 롤백 패킷이 상기 기설정된 일방향과 상이한 다른 방향(즉, 본 발명의 일 실시예에서는 'Y축' 방향)에서 롤백되어 입력된 경우, 패킷 분배 모듈(211)은 수신된 롤백 패킷을 롤백 처리 모듈(213)로 곧바로 전달한다. 이는, X-Y 라우팅 방식에 따르면, 우선 경로 방향(즉, X축 방향)이 아닌 방향(즉, Y축 방향)으로부터 컨트롤 패킷이 롤백된 경우는, 우선 경로 방향(즉, X축 방향)으로 더 이상 진행할 경로가 없는 경우를 의미하기 때문이다. 이와 같은 경우, 패킷 분배 모듈(211)은 Y축 방향에서 롤백된 롤백 패킷을 롤백 처리 모듈(123)로 곧바로 전달한다.For reference, when the rollback packet input from another routing device is rolled back and input in another direction different from the predetermined one direction (i.e., in the direction of 'Y axis' in one embodiment of the present invention), the packet distribution module 211 And delivers the received rollback packet to the rollback processing module 213 immediately. This is because, according to the XY routing method, when the control packet is rolled back from the direction other than the path direction (i.e., the X axis direction) (i.e., the Y axis direction) This means that there is no path to proceed. In this case, the packet distribution module 211 directly forwards the rollback packet rolled back in the Y-axis direction to the rollback processing module 123.

상기 단계 (S420)의 판단 결과, 수신된 경로 설정 패킷이 롤백 경로 설정 패킷이 아닌 노멀 경로 설정 패킷인 경우, 현재 라우팅 장치와 목적지 라우팅 장치의 X축 좌표 값을 비교하여 동일한지 여부를 판단한다(S430).If it is determined in step S420 that the received route setting packet is not a rollback route setting packet but a normal route setting packet, it is determined whether the current routing device is the same as the X axis coordinate value of the destination routing device S430).

이때, 경로 설정 처리 모듈(212)은 노멀 경로 설정 패킷의 제 3 필드(P13)에 저장된 목적지 정보로부터 목적지 라우팅 장치의 X 축 좌표 값을 확인할 수 있다.At this time, the path setting processing module 212 can check the X-axis coordinate value of the destination routing apparatus from the destination information stored in the third field P13 of the normal path setting packet.

그런 후, 현재 라우팅 장치와 목적지 라우팅 장치의 X축 좌표 값이 동일한 경우, 하기에서 설명할 단계 (S440)로 진행하여 현재 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값을 비교한다.If the X axis coordinate values of the current routing device and the destination routing device are the same, the flow advances to step S440 to compare the Y axis coordinate values of the current routing device and the destination routing device.

반면, 현재 라우팅 장치와 목적지 라우팅 장치의 X축 좌표 값이 상이한 경우, 경로 설정 패킷을 전달할 X축 상의 진행 방향을 결정한다(S431).On the other hand, if the X-axis coordinate values of the current routing apparatus and the destination routing apparatus are different, a traveling direction on the X-axis to which the routing packet is to be transmitted is determined (S431).

이때, 단계 (S431)에서는, 현재 라우팅 장치의 X축 좌표 값이 목적지 라우팅 장치의 X축 좌표 값보다 작은 경우, X축 방향 중 우측 방향(도 4에서는, 'east'로 표현함)을 경로 설정 패킷을 전송할 진행 방향으로 결정한다. 또한, 현재 라우팅 장치의 X축 좌표 값이 목적지 라우팅 장치의 X축 좌표 값보다 큰 경우, X축 방향 중 좌측 방향(도 4에서는, 'west'로 표현함)을 진행 방향으로 결정한다.At this time, if the X-axis coordinate value of the current routing apparatus is smaller than the X-axis coordinate value of the destination routing apparatus, the rightward direction (expressed as 'east' in FIG. 4) To be transmitted. When the X axis coordinate value of the current routing device is larger than the X axis coordinate value of the destination routing device, the leftward direction (expressed as 'west' in FIG. 4) of the X axis direction is determined as the traveling direction.

즉, 현재 라우팅 장치가 목적지 라우팅 장치 보다 X축 좌표의 값이 큰 경우, 현재 라우팅 장치의 X축 좌표의 값이 작아지는 방향으로 진행 방향을 결정한다. 반면, 현재 라우팅 장치가 목적지 라우팅 장치보다 X축 좌표의 값이 작은 경우, 현재 라우팅 장치의 X축 좌표의 값이 커지는 방향으로 진행 방향을 결정한다. 이와 같이 라우팅 진행 방향을 목적지 라우팅 장치를 향한 방향으로만 설정되도록 함으로써, 불필요한 경로를 탐색할 필요없이 목적지까지의 최단 거리 경로 내에서 라우팅 방향을 결정할 수 있다. 참고로, HONoC 상에서 어느 하나의 라우터 장치(200)와 인접한 라우터 장치(200) 간의 거리를 홉(hop)이라할 경우, 최단 거리 경로는 출발지 라우팅 장치로부터 목적지 라우팅 장치까지 최소의 홉을 갖는 경로를 의미한다.That is, when the current routing device has a larger value of the X-axis coordinate than the destination routing device, the direction of the current X-axis coordinate of the current routing device is decreased. On the other hand, when the current routing apparatus has a smaller value of the X-axis coordinate than the destination routing apparatus, the traveling direction is determined in a direction in which the X-axis coordinate value of the current routing apparatus becomes larger. By thus setting the routing progress direction only in the direction toward the destination routing device, the routing direction can be determined within the shortest path to the destination without having to search for unnecessary paths. For reference, when a distance between any one router 200 and adjacent router 200 on the HONoC is referred to as a hop, the shortest path is a path having a minimum hop from the source router to the destination router it means.

그런 후, 현재 라우팅 장치의 상기 단계(S431)에서 결정된 X축 상의 진행 방향에 대한 경로 설정 상태를 확인하여 경로 설정이 가능한지 여부를 판단한다(S432).Then, the path setting state of the current direction of the X-axis on the X-axis determined in the step S431 of the current routing apparatus is checked to determine whether path setting is possible (S432).

참고로, 본 발명의 일 실시예에 따른 라우팅 장치(200)에는 상/하/좌/우 방향으로 컨트롤 패킷을 출력할 수 있는 복수의 출력 포트가 구성되어 있으며, 경로 설정 처리 모듈(212)은 상기 결정된 진행 방향에 대응된 출력 포트의 상태를 확인하여 경로 설정 가능 여부를 판단할 수 있다.For reference, the routing device 200 according to an embodiment of the present invention includes a plurality of output ports capable of outputting control packets in the up / down / left / right directions, It is possible to determine whether the path can be set by checking the state of the output port corresponding to the determined traveling direction.

상기 단계 (S432)의 확인 결과, 현재 라우팅 장치의 상태가 상기 결정된 진행 방향으로의 경로 설정이 가능한 상태인 경우, 경로 설정 패킷을 전송할 대상인 다음 라우팅 장치(next router)에 대한 경로 설정 가능 여부를 예측하는 처리(즉, 상기 '경로 설정 가능 예측 처리')의 초기 단계로 접근한다(S480).As a result of the checking in step S432, if it is determined that the route of the current routing apparatus can be set in the determined direction, it is possible to predict whether or not the next router, (I.e., the 'path settable prediction process') (S480).

참고로, 상기 다음 라우팅 장치는 현재 라우팅 장치로부터 상기 결정된 진행 방향으로 인접한 라우팅 장치로서, 다음 라우팅 장치에 대한 경로 설정 가능 예측 처리는 다음 라우팅 장치의 경로 설정 상태에 따라 실제로 경로 설정 패킷을 전송할지 여부를 판단하기 위한 것이다.For reference, the next routing device is a routing device that is adjacent to the current routing device in the determined direction of progress, and the path settable prediction process for the next routing device determines whether to actually transmit the routing packet according to the routing state of the next routing device .

반면, 상기 단계 (S432)의 확인 결과, 현재 라우팅 장치의 상태가 상기 결정된 진행 방향으로의 경로 설정이 불가능한 상태인 경우, 하기에서 설명할 단계 (S440)으로 진행하여 현재 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값을 비교한다.On the other hand, if it is determined in step S432 that the state of the current routing apparatus is in a state in which it is impossible to set the path to the determined forward direction, the current routing apparatus and the destination routing apparatus Y axis coordinate value.

한편, 상기 단계(S420)의 판단 결과, 수신된 경로 설정 패킷이 롤백 경로 설정 패킷인 경우, 현재 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값을 비교하여 동일한지 여부를 판단한다(S440).If it is determined in step S420 that the received route setting packet is a rollback route setting packet, it is determined whether the current routing device is the same as the Y-axis coordinate value of the destination routing device in step S440.

즉, Y축 방향에서 입력된 롤백 패킷에 기초한 롤백 경로 설정 패킷에 대해 X축에 대한 판별(즉, 단계 S430, S431 및 S432)은 생략함으로써, 불필요한 단계의 수행을 방지할 수 있어 효율적이다.That is, it is possible to prevent unnecessary steps from being performed by omitting the determination of the X-axis (i.e., steps S430, S431, and S432) for the rollback path setting packet based on the rollback packet input in the Y-axis direction.

그런 다음, 상기 단계 (S440)의 판단 결과, 현재 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값이 상이한 경우, 라우팅을 진행할 Y축 상의 진행 방향을 결정한다(S441).If it is determined in step S440 that the Y-axis coordinate values of the current routing apparatus and the destination routing apparatus are different from each other, a traveling direction on the Y-axis to be routed is determined (S441).

이때, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치의 Y축 좌표 값보다 작은 경우, Y축의 상측 방향(도 4에서는 'north' 방향으로 표현함)을 진행 방향으로 결정한다. 또한, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치의 Y축 좌표 값 보다 큰 경우 Y축의 하측 방향(도 4에서는 'south' 방향으로 표현함)을 진행 방향으로 결정한다. 이 또한, 라우팅 진행 방향을 목적지 라우팅 장치를 향한 방향으로만 설정되도록 함으로써, 목적지까지의 최단 거리 경로 내에서 라우팅 방향을 결정할 수 있다.At this time, when the Y axis coordinate value of the current routing device is smaller than the Y axis coordinate value of the destination routing device, the upward direction of the Y axis (indicated as 'north' direction in FIG. In addition, when the Y axis coordinate value of the current routing apparatus is larger than the Y axis coordinate value of the destination routing apparatus, the downward direction of the Y axis (indicated as 'south' direction in FIG. It is also possible to determine the routing direction within the shortest path to the destination by having the routing direction set only in the direction towards the destination routing device.

그런 후, 현재 라우팅 장치의 상기 단계(S441)에서 결정된 Y축 상의 진행 방향에 대한 경로 설정 상태를 확인하여 경로 설정이 가능한지 여부를 판단한다(S442).Then, the path setting state of the current routing device with respect to the traveling direction on the Y-axis determined in the above step S441 is checked to determine whether path setting is possible (S442).

상기 단계 (S442)의 판단 결과, 현재 라우팅 장치가 상기 결정된 진행 방향으로의 경로 설정이 가능한 상태인 경우, 상기 단계(S480)을 수행하여 다음 라우팅 장치에 대한 경로 설정 가능 여부를 예측한다.If it is determined in step S442 that the current routing apparatus is capable of routing in the determined forward direction, step S480 is performed to predict whether routing to the next routing apparatus is possible.

반면, 상기 단계 (S442)의 판단 결과, 현재 라우팅 장치가 상기 결정된 진행 방향으로의 경로 설정이 불가능한 상태인 경우, 경로 설정 패킷을 롤백 처리 모듈(213)로 전달한다(S451).On the other hand, if it is determined in step S442 that the current routing apparatus is unable to set the path in the determined direction, the path setting packet is transmitted to the rollback processing module 213 (S451).

한편, 상기 단계 (S440)의 판단 결과, 현재 라우팅 장치의 Y축 좌표 값과 목적지 라우팅 장치의 Y축 좌표 값이 동일한 값이면, 현재 라우팅 장치와 목적지 라우팅 장치의 주소가 동일한지 여부를 판단한다(S450).If the Y axis coordinate value of the current routing device and the Y axis coordinate value of the destination routing device are equal to each other, it is determined whether the current routing device and the destination routing device have the same address (S440) S450).

참고로, 현재 라우팅 장치의 X축 좌표 및 Y축 좌표와 목적지 라우팅 장치의 X축 좌표 및 Y축 좌표가 각각 동일한 경우, 현재 라우팅 장치와 목적지 라우팅 장치의 주소가 같다고 판단한다.If the X-axis coordinate and the Y-axis coordinate of the current routing device are the same as the X-axis coordinate and the Y-axis coordinate of the destination routing device, it is determined that the addresses of the current routing device and the destination routing device are the same.

상기 단계 (S450)의 판단 결과, 현재 라우팅 장치와 목적지 라우팅 장치의 주소가 상이한 경우, 상기 단계(S451)를 수행하여 경로 설정 패킷을 롤백 처리 모듈(213)로 전달한다.If it is determined in step S450 that the address of the current routing apparatus is different from the address of the destination routing apparatus, the step S451 is performed to transmit the routing packet to the rollback processing module 213. [

반면, 상기 단계 (S450)의 판단 결과, 현재 라우팅 장치와 목적지 라우팅 장치의 주소가 동일한 경우, 현재 라우팅 장치가 목적지 라우팅 장치인 것으로 판단하고 현재 라우팅 장치에 매칭된 PE(100)의 사용 가능 여부를 판단한다(S460).On the other hand, if it is determined in step S450 that the current routing device is the destination routing device and the current use of the PE 100 matched to the current routing device (S460).

그런 후, 상기 단계 (S460)의 판단 결과, 현재 라우팅 장치에 매칭된 PE(100)의 상태가 사용 불가능한 상태인 경우, 경로 설정 패킷을 캔슬 처리 모듈(214)로 전달한다(S461).If the state of the PE 100 matched with the current routing apparatus is unavailable as a result of the determination in step S460, the route setting packet is transmitted to the cancel processing module 214 in step S461.

반면, 상기 단계 (S460)의 판단 결과, 현재 라우팅 장치와 매칭된 PE(100)의 상태가 사용 가능한 상태인 경우, 해당 PE(100)로 경로 설정 패킷을 전달하여 광학적 경로를 설정한다(S470).If it is determined in step S460 that the current state of the PE 100 matched with the current routing device is available, the path setting packet is transmitted to the corresponding PE 100 to set the optical path in step S470. .

다음으로, 도 5를 참조하여 본 발명의 일 실시예에서 경로 설정 처리 모듈(212)의 '경로 설정 가능 예측 처리'의 절차를 상세히 설명하도록 한다.Next, with reference to FIG. 5, the procedure of the 'path settable prediction processing' of the path setting processing module 212 will be described in detail in an embodiment of the present invention.

도 5는 본 발명의 일 실시예에 따른 적응적 라우팅 방식에서 다음 라우팅 장치에 대한 경로 설정 예측 처리 절차를 설명하기 위한 순서도이다.FIG. 5 is a flowchart illustrating a route setting prediction processing procedure for a next routing apparatus in an adaptive routing scheme according to an embodiment of the present invention. Referring to FIG.

도 5에서와 같이, 경로 설정 처리 모듈(212)은, 상기 도 4의 단계 (S432) 및 (S442)의 다음 단계로서, 다음 라우팅 장치의 X축 좌표와 목적지 라우팅 장치의 X축 좌표를 비교하여 동일한지 여부를 판단한다(S510).5, the route setting processing module 212 compares the X-axis coordinate of the next routing device with the X-axis coordinate of the destination routing device as the next step of steps S432 and S442 of FIG. 4 And determines whether they are the same (S510).

그런 다음, 상기 단계(S510)의 판단 결과, 다음 라우팅 장치와 목적지 라우팅 장치의 X축 좌표 값이 상이한 경우, 다음 라우팅 장치로부터 라우팅을 진행할 X축 상의 진행 방향(이하, '다음 진행 방향'이라고 지칭함)을 결정한다(S511).If it is determined in step S510 that the X-axis coordinate values of the next routing device and the destination routing device are different from each other, the process proceeds from the next routing device to the forward direction on the X-axis (S511).

이때, 단계 (S511)에서는, 다음 라우팅 장치의 X축 좌표 값이 목적지 라우팅 장치의 X축 좌표 값보다 작은 경우, X축 방향 중 우측 방향(도 5에서는, 'east'로 표현함)을 다음 진행 방향으로 결정한다. 또한, 다음 라우팅 장치의 X 축 좌표 값이 목적지 라우팅 장치의 X축 좌표 값보다 큰 경우, X축 방향 중 좌측 방향(도 5에서는, 'west'로 표현함)을 다음 진행 방향으로 결정한다.At this time, when the X-axis coordinate value of the next routing apparatus is smaller than the X-axis coordinate value of the next routing apparatus, the rightward direction (expressed as 'east' in FIG. 5) . When the X axis coordinate value of the next routing apparatus is larger than the X axis coordinate value of the destination routing apparatus, the leftward direction (expressed as 'west' in FIG. 5) of the X axis direction is determined as the next traveling direction.

그런 후, 상기 단계 (S511)에서 결정된 다음 진행 방향으로 다음 라우팅 장치의 경로 설정이 가능한지 여부를 확인한다(S512).Then, it is determined whether the routing of the next routing apparatus is possible in the next forward direction determined in step S511 (S512).

상기 단계 (S512)의 확인 결과, 다음 라우팅 장치의 X축 상의 다음 진행 방향으로의 경로 설정이 가능한 경우, 경로 설정 패킷을 다음 라우팅 장치로 전송한다(S540).As a result of the determination in step S512, if it is possible to set the route to the next traveling direction on the X axis of the next routing apparatus, the route setting packet is transmitted to the next routing apparatus in step S540.

반면, 상기 단계 (S512)의 확인 결과, 다음 라우팅 장치가 다음 진행 방향으로의 경로 설정이 불가능한 상태인 경우(즉, 블로킹된 경우), 하기에서 설명할 단계 (S520)으로 진행하여, 다음 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값을 비교한다. 이는, 다음 라우팅 장치의X축 방향으로의 라우팅 진행은 불가능한 상태이므로, Y축 방향으로의 라우팅 진행이 가능한지 여부를 판단하기 위한 것이다.On the other hand, if it is determined in step S512 that the next routing apparatus is in a state in which it is impossible to route in the next forward direction (i.e., blocked), the process proceeds to step S520, And the Y-axis coordinate value of the destination routing device. This is because it is impossible to proceed the routing in the X-axis direction of the next routing apparatus, and therefore, it is determined whether or not the routing in the Y-axis direction is possible.

한편, 상기 단계 (S510)의 판단 결과, 다음 라우팅 장치와 목적지 라우팅 장치의 X축 좌표 값이 동일한 경우, 다음 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값을 비교하여 동일한지 여부를 판단한다(S520) On the other hand, if it is determined in step S510 that the X-axis coordinate values of the next routing device and the destination routing device are equal to each other, then the Y-axis coordinate values of the next routing device and the destination routing device are compared )

그런 후, 상기 단계 (S520)의 판단 결과, 다음 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값이 상이한 경우, 다음 라우팅 장치로부터 라우팅을 진행할 Y축 상의 진행 방향(즉, '다음 진행 방향')을 결정한다(S521).If it is determined in step S520 that the Y-axis coordinate values of the next routing apparatus and the destination routing apparatus are different from each other, a progress direction on the Y-axis to be routed from the next routing apparatus (S521).

이때, 단계 (S521)에서는, 다음 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치의 Y축 좌표 값보다 작은 경우, Y축 방향 중 상측 방향(도 5에서는, 'north'로 표현함)을 다음 진행 방향으로 결정한다. 또한, 다음 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치의 Y축 좌표 값보다 큰 경우, Y축 방향 중 하측 방향(도 5에서는, 'south'로 표현함)을 다음 진행 방향으로 결정한다.At this time, if the Y-axis coordinate value of the next routing apparatus is smaller than the Y-axis coordinate value of the next routing apparatus, the upper direction (represented by 'north' in FIG. 5) . If the Y axis coordinate value of the next routing device is larger than the Y axis coordinate value of the destination routing device, the downward direction (expressed as 'south' in FIG. 5) of the Y axis direction is determined as the next traveling direction.

그런 후, 상기 단계 (S521)에서 결정된 Y축 상의 다음 진행 방향으로 다음 라우팅 장치의 경로 설정이 가능한지 여부를 판단한다(S522).Then, it is determined whether the routing of the next routing apparatus is possible in the next traveling direction on the Y-axis determined in step S521 (S522).

상기 단계 (S522)의 판단 결과, 다음 라우팅 장치의 다음 진행 방향으로의 경로 설정이 가능한 경우, 앞서 설명한 단계 (S540)로 진행하여 경로 설정 패킷을 다음 라우팅 장치로 전송한다.As a result of the determination in step S522, if it is possible to route the next routing device in the next forwarding direction, the flow advances to step S540 to transmit the routing packet to the next routing device.

반면, 상기 단계 (S522)의 판단 결과, 다음 라우팅 장치의 다음 진행 방향으로의 경로 설정이 불가능한 상태인 경우, 하기에서 설명할 단계 (S531)로 진행하여, 상기 도 4에서 설명한 '경로 설정 진행 방향 결정 처리'에서 결정된 진행 방향이 X축 상의 방향인지를 확인한다.On the other hand, if it is determined in step S522 that the next routing device can not route the next routing device, the process proceeds to step S531, The processing direction determined in the " determination processing " is the direction on the X-axis.

한편, 상기 단계 (S520)의 판단 결과, 다음 라우팅 장치와 목적지 라우팅 장치의 Y축 좌표 값이 동일한 경우, 다음 라우팅 장치와 목적지 라우팅 장치의 주소가 동일한지 여부를 판단한다(S530).As a result of the determination in step S520, if the Y-coordinate values of the next routing device and the destination routing device are equal, it is determined whether the addresses of the next routing device and the destination routing device are the same (S530).

즉, 다음 라우팅 장치와 목적지 라우팅 장치의 X축 좌표 및 Y축 좌표 값이 각각 동일한 경우, 다음 라우팅 장치와 목적지 라우팅 장치의 주소가 동일하다고 판단한다.That is, if the X-axis coordinate and the Y-axis coordinate value of the next routing device and the destination routing device are the same, it is determined that the addresses of the next routing device and the destination routing device are the same.

그런 후, 상기 단계 (S530)의 판단 결과, 다음 라우팅 장치와 목적지 라우팅 장치의 주소가 동일한 경우, 앞서 설명한 단계 (S540)로 진행하여 경로 설정 패킷을 다음 라우팅 장치로 전송한다.If it is determined in step S530 that the next routing device and the destination routing device have the same address, the flow advances to step S540 to transmit the routing packet to the next routing device.

반면, 상기 단계 (S530)의 판단 결과, 다음 라우팅 장치와 목적지 라우팅 장치의 주소가 상이한 경우, 현재 라우팅 장치로부터 다음 라우팅 장치로의 진행 방향이 X축 방향인지 여부에 따라 롤백 처리 여부를 판단한다(S531).On the other hand, if it is determined in step S530 that the address of the next routing apparatus and the destination routing apparatus are different, it is determined whether or not the rollback process is performed according to whether the current direction from the routing apparatus to the next routing apparatus is the X-axis direction S531).

즉, 상기 도 4에서 설명한 '경로 설정 진행 방향 결정 처리' 절차에서, 노멀 경로 설정 패킷이 수신되어 X축 상의 진행 방향이 결정된 경우, Y축에 대한 진행 방향은 탐색하지 않은 상태이다. 따라서, 상기 단계 (S531)은, 현재 라우팅 장치의 진행 방향이 X축 방향으로 결정된 상태에서, 상기 단계 (422)의 판단 결과 X축 상에 인접한 다음 라우팅 장치가 X축 및 Y축 상의 다음 진행 방향으로의 경로 설정이 불가능하다고 판단된 경우, 현재 라우팅 장치의 Y축 에 대한 경로 재탐색이 수행되도록 하기 위한 단계이다.That is, when the normal path setting packet is received and the proceeding direction on the X-axis is determined in the 'path setting progress direction determination process' described with reference to FIG. 4, the progress direction with respect to the Y-axis is not searched. If it is determined in step 422 that the next routing apparatus adjacent to the X axis is in the next traveling direction on the X axis and the Y axis in step S531, , It is a step for performing a route re-search for the Y-axis of the current routing apparatus.

상기 단계 (S531)의 판단 결과, 다음 라우팅 장치가 현재 라우팅 장치로부터 X축 진행 방향으로 인접한 라우팅 장치인 경우, 상기 도 4에서의 단계 (S440)으로 복귀하여 현재 라우팅 장치의 Y축에 대한 진행 방향 탐색을 수행한다.If it is determined in step S531 that the next routing apparatus is a routing apparatus that is adjacent to the current routing apparatus in the X-axis traveling direction, the process returns to step S440 in FIG. 4, Perform a search.

반면, 상기 단계 (S531)의 판단 결과, 다음 라우팅 장치가 현재 라우팅 장치로부터 Y축 방향으로 인접한 라우팅 장치인 경우, 경로 설정 패킷을 롤백 처리 모듈(213)로 전달한다(S532).On the other hand, if it is determined in step S531 that the next routing device is a routing device that is adjacent to the current routing device in the Y axis direction, the routing device transmits the routing packet to the rollback processing module 213 (S532).

이상에서 도 4 및 도 5를 참조하여 설명한 바와 같이, 경로 설정 처리 모듈(212)이 적응적 라우팅을 수행함으로써, 출발지로부터 목적지까지의 경로 설정 시 다음 라우팅 장치의 상태에 따른 경로 설정이 가능하며 최단 거리 경로를 설정할 수 있다.As described above with reference to FIG. 4 and FIG. 5, the path setting processing module 212 performs adaptive routing, so that it is possible to set the route according to the state of the next routing apparatus when setting the route from the origin to the destination, You can set the distance path.

예를 들어, 도 6은 본 발명의 일 실시예에 따른 적응적 라우팅 수행 결과의 일례를 나타낸 도면이다.For example, FIG. 6 is a diagram illustrating an example of the result of performing adaptive routing according to an embodiment of the present invention.

도 6에서는, HONoC 상에 위치한 64개의 라우팅 장치(200) 및 각 라우팅 장치(200)에 매칭된 PE(100)를 나타내었으며, 각 PE(100) 상에 위치 좌표(X, Y)를 표현하였다.6, 64 routing apparatuses 200 located on the HONoC and a PE 100 matched to each routing apparatus 200 are shown and position coordinates (X, Y) are represented on each PE 100 .

또한, 도 6에서는 출발지의 위치 좌표가 (1, 0)이고, 목적지의 위치 좌표가 (4, 5)인 것을 나타내으며, 위치 좌표 (3, 1), (4, 1), (4, 2), (4, 3), (4, 4)를 경유하는 제 1 사용 경로(도 6에서는 'path 1'로 나타냄)와, 위치 좌표 (5, 1), (5, 2), (5, 3)을 경유하는 제 2 사용 경로(도 6에서는 'path 2'로 나타냄)를 나타내었다. 즉, 출발지와 목적지 사이에 이미 사용 중인 라우팅 장치가 존재한다.6 shows that the position coordinates of the departure location are (1, 0) and the location coordinates of the destination are (4, 5), and the position coordinates (3, 1), (4, 1), (5, 1), (5, 2), (5, 2), (4, 3) 3) is shown (indicated as 'path 2' in FIG. 6). That is, there is a routing device already in use between the source and destination.

이때, 본 발명의 일 실시예에 따른 적응적 라우팅을 수행한 결과, 출발지로부터 목적지까지 설정될 수 있는 복수의 경로 중 위치 좌표 (1, 0), (2, 0), (2, 1), (2, 2), (3, 2), (3, 3), (3, 4), (3, 5), (4, 5)를 경유하는 경로(도 6에서는 'path 3'으로 나타냄)가 설정될 수 있다.As a result of performing the adaptive routing according to an embodiment of the present invention, the position coordinates (1, 0), (2, 0), (2, 1), (Shown as 'path 3' in FIG. 6) via (2, 2), (3, 2), (3, 3), (3, 4) Can be set.

구체적으로, 본 발명의 일 실시예에 따른 적응적 라우팅에 따르면, X-Y라우팅에 의해, 출발지 라우팅 장치(즉, 위치 좌표 (1, 0))부터 목적지 라우팅 장치의 X축 좌표와 동일한 값을 갖는 라우팅 장치(즉, 위치 좌표 (4, 0))까지 X축 상에서 경로 설정 패킷이 전송된다. 그런데, 위치 좌표 (4, 0)를 갖는 라우팅 장치가 Y축 상으로 라우팅을 진행해야할 다음 라우팅 장치(즉, 위치 좌표 (4, 1))가 이미 사용 중인 상태이므로, 위치 좌표 (4, 0)를 갖는 라우팅 장치는 경로 설정 패킷가 경유하였던 이전 라우팅 장치로 롤백 패킷을 롤백시킨다. 이에 따라, 롤백 패킷은 Y축 상으로의 진행 방향 탐색이 가능한(즉, Y축 상의 인접 라우팅 장치가 사용 가능한) 상태인 라우팅 장치(즉, 위치 좌표 (2, 0))까지 롤백된다. 그리고, 위치 좌표 (2, 0)을 갖는 라우팅 장치는 Y축 상으로 경로를 우회시켜 Y축 상에 인접한 라우팅 장치(즉, 위치 좌표 (2, 1))로 경로 설정 패킷을 전송하여 경로(즉, 'path 3')를 설정한다.Specifically, according to the adaptive routing according to the embodiment of the present invention, by XY routing, routing from the source routing apparatus (i.e., the position coordinate (1, 0)) to the X- A routing packet is transmitted on the X-axis up to the device (i.e., position coordinates (4, 0)). However, since the routing apparatus having the position coordinate (4, 0) is in the state where the next routing apparatus (i.e., the position coordinate (4, 1) Causes the rollback packet to be rolled back to the previous routing device via which the routing packet passed. Accordingly, the rollback packet is rolled back to the routing apparatus (i.e., the position coordinate (2, 0)) in a state in which the forward direction search on the Y axis is possible (i.e., the adjacent routing apparatus on the Y axis is usable). Then, the routing apparatus having the position coordinate (2, 0) bypasses the path on the Y axis and transmits the routing packet to the adjacent routing apparatus on the Y axis (i.e., the position coordinates (2, 1) , 'path 3').

이에 비해, 롤백 처리없이 X-Y 라우팅만을 적용할 경우, 도 6에서와 같이, 출발지 라우팅 장치(즉, 위치 좌표 (1, 0))로부터 전송된 경로 설정 패킷이 X축 상의 라우팅 장치들에 순차적으로 전송된 후, 해당 경로 설정 패킷이 목적지 라우팅 장치의 X축 좌표 값을 지나친 위치의 라우팅 장치(즉, 위치 좌표 (6, 0))까지 진행된 후에야 Y축 상으로 진행되어 최종적으로 경로(도 6에서는 'path 4'로 도시함)를 설정할 수 있다. 즉, 최단 거리 경로 내에서 경로가 설정되는 본 발명의 일 실시예에 따른 적응적 라우팅 방식에 비해, 다른 라우팅 방식에서는 탐색된 경로의 거리가 매우 비효율적인 것을 알 수 있다.In contrast, when only XY routing is applied without rollback processing, as shown in FIG. 6, the routing packets transmitted from the source routing apparatus (i.e., the position coordinates (1, 0)) are sequentially transmitted to the routing apparatuses on the X axis The path setting packet is advanced to the routing device (i.e., the position coordinates (6, 0)) at a position where the X-axis coordinate value of the destination routing device passes the Y-axis, path 4 '). That is, compared to the adaptive routing scheme according to the embodiment of the present invention, in which the path is set in the shortest path, it can be seen that the distances of the routes detected in other routing schemes are very inefficient.

한편, 경로 설정 처리 모듈(212)은 상기 도 6에서 설명한 바와 같이, 이미 경유한 경로에 대해 불필요한 반복적 재탐색을 방지하기 위하여, 롤백 경로 설정 패킷에 저장된 롤백 위치 정보(즉, 최초 롤백된 위치 정보)를 이용하여 '중복 경로 제외 처리' 절차를 수행한다. 본 발명의 일 실시예에서는, 경로 설정 패킷의 제 4 필드(P14)에 롤백을 시작한 라우팅 장치의 Y축 좌표 값(즉, 'Y-value')이 저장된 것을 나타내었다.6, in order to prevent an unnecessary repetitive re-search for a path that has already passed, the path setting processing module 212 sets the rollback position information stored in the rollback path setting packet (i.e., ) To perform the 'duplicate route exclusion processing' procedure. In one embodiment of the present invention, the Y-axis coordinate value (i.e., 'Y-value') of the routing apparatus that started the rollback in the fourth field P14 of the routing packet is stored.

예를 들어, 도 7은 본 발명의 일 실시예에서 발생될 수 있는 중복 경로 탐색 과정의 일례를 나타낸 도면이다.For example, FIG. 7 illustrates an example of a redundant path search process that may occur in an embodiment of the present invention.

도 7에서는, 출발지 라우팅 장치(P710)로부터 목적지 라우팅 장치(P720)로의 경로 상에 이미 사용중인 경로(path 1)가 존재하는 것을 나타내었다. 이때, 경로 설정 패킷은 출발지 라우팅 장치(P710)로부터 목적지 라우팅 장치(P720)의 X축 좌표와 동일한 X축 좌표를 갖는 제 1 라우팅 장치(P730)까지 X축 상에서 라우팅된다. 그런 후, 제 1 라우팅 장치(P730)로부터 목적지 라우팅 장치(P720)를 향해 Y축 상에서 경로 설정 패킷이 라우팅된다. 그런데, 도 7에서와 같이 제 1 라우팅 장치(P730)로부터 라우팅되던 경로 설정 패킷은, 이미 사용중인 경로(path 1) 상에 위치하는 제 3 내지 제 5 라우팅 장치(P750 내지 P770)에 의하여, 제 2 라우팅 장치(P740)에서 블로킹된다. 이에 따라, 제 2 라우팅 장치(P740)는 출발지 라우팅 장치(P710) 방향의 이전 라우팅 장치(P780)로 롤백 패킷을 롤백시킨다.7 shows that a path (path 1) already in use exists on the route from the source routing apparatus P710 to the destination routing apparatus P720. At this time, the routing packet is routed on the X-axis from the source routing apparatus P710 to the first routing apparatus P730 having the same X-axis coordinate as the X-axis coordinate of the destination routing apparatus P720. Routing packets are then routed on the Y-axis from the first routing device P730 towards the destination routing device P720. 7, the routing configuration packet that has been routed from the first routing device P730 is transmitted by the third to fifth routing devices P750 to P770 located on the already used path (path 1) 2 < / RTI > routing device P740. Thus, the second routing device P740 rolls back the rollback packet to the previous routing device P780 in the direction of the originating routing device P710.

특히, 출발지 라우팅 장치(P710)로부터 제 2 라우팅 장치(P740)까지 제 1 경로(도 7에서는 '①'로 도시함)를 통해 경로 설정 패킷이 전송된 이후, 제 2 내지 제4 경로(도 7에서는 '② 내지④'로 도시함)와 같이 Y축 상에서 이미 경유한 라우팅 장치를 다시 진행 방향으로 탐색하는 롤백 처리가 발생될 수 있다.Particularly, after the route setting packet is transmitted from the source routing apparatus P710 to the second routing apparatus P740 via the first route (indicated by '1' in FIG. 7), the second to fourth routes , A rollback process may be generated in which the routing device, which has already passed through on the Y axis, is searched again in the forward direction, as shown in (2) to (4).

이와 같은 불필요한 중복 경로 탐색을 방지하기 위하여, 본 발명의 일 실시예에 따른 경로 설정 처리 모듈(212)은, 상기 도 4에서 설명한 '경로 설정 진행 방향 결정 처리'를 수행하기에 앞서, 하기 도 8에서와 같은 '중복 경로 제외 처리'를 수행하는 적응적 라우팅 절차를 수행한다.In order to prevent such unnecessary duplicate route search, the route setting processing module 212 according to an embodiment of the present invention performs a route setting process in the following manner as shown in FIG. 8 And performs an " overlapping route exclusion process " as in the above.

도 8은 본 발명의 일 실시예에 따른 적응적 라우팅 방식에서 중복 경로를 제외하는 절차를 설명하기 위한 순서도이다.8 is a flowchart illustrating a procedure for excluding a redundant path in the adaptive routing scheme according to an embodiment of the present invention.

참고로, 본 발명의 일 실시예에 따른 '중복 경로 제외 처리'는 도 8에서와 같이 상기 도 4의 'X축 위치 비교 처리 단계'(S430) 및 'Y축 위치 비교 처리 단계'(S440) 이전에 수행되는 것으로서, 도 8에서는 상기 도 4에서와 동일한 동작을 수행하는 단계에 대해서는 상기 도 4에서와 같은 도면 부호를 사용하였다.4, the 'X-axis position comparison processing step' (S430) and the 'Y-axis position comparison processing step' (S440) of FIG. 4 are performed in the same manner as in FIG. In FIG. 8, the same reference numerals as in FIG. 4 are used for the same steps as those in FIG.

먼저, 상기 도 4의 단계 (S420)에서, 현재 입력된 경로 설정 패킷이 롤백 경로 설정 패킷인 것으로 판단되면, 상기 도 4의 단계 (S440)으로 진행하여 현재 라우팅 장치에 대한 Y축 위치 비교 처리 단계(S440)을 수행한다.If it is determined in step S420 of FIG. 4 that the currently input route setting packet is a rollback route setting packet, the process proceeds to step S440 in FIG. 4 to perform a Y-axis position comparison process for the current routing device (S440).

반면, 상기 도 4의 단계 (S420)에서, 현재 입력된 경로 설정 패킷이 롤백 경로 설정 패킷이 아닌 것(즉, 노멀 경로 설정 패킷인 것)으로 판단되면, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치 및 롤백이 시작된 라우팅 장치(예를 들어, 도 7의 제 2 라우팅 장치(P740))의 Y축 좌표 값보다 큰 값인지를 판단한다(S421).On the other hand, if it is determined in step S420 of FIG. 4 that the currently input route setting packet is not a rollback route setting packet (i.e., a normal route setting packet), the Y- It is determined whether the value is larger than the Y-axis coordinate value of the routing device and the routing device (e.g., the second routing device P740 in FIG. 7) in which the rollback has been started (S421).

이때, 경로 설정 처리 모듈(212)은 노멀 경로 설정 패킷의 제 4 필드(P14)에 저장된 롤백 위치 정보(즉, 'Y-value')를 확인하여 해당 경로 설정 패킷의 롤백이 처음 시작된 라우팅 장치의 Y축 좌표 값을 추출할 수 있다.At this time, the path setting processing module 212 checks the rollback position information (i.e., 'Y-value') stored in the fourth field P14 of the normal path setting packet to determine the rollback position of the routing device Y axis coordinate value can be extracted.

상기 단계 (S421)의 판단 결과, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치 및 롤백이 시작된 라우팅 장치의 Y축 좌표 값보다 큰 값인 경우, 상기 도 4의 단계 (S440)으로 진행하여 현재 라우팅 장치에 대한 Y축 위치 비교 처리 단계(S440)을 수행한다.If it is determined in step S421 that the Y-axis coordinate value of the current routing device is larger than the Y-axis coordinate value of the destination routing device and the routing device that started the rollback, the process proceeds to step S440 of FIG. 4, And performs a Y-axis position comparison processing step S440 for the apparatus.

반면, 단계 (S421)의 판단 결과, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치 및 롤백이 시작된 라우팅 장치의 Y축 좌표 값 중 적어도 하나보다 작은 값인 경우, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치 및 롤백이 시작된 라우팅 장치의 Y축 좌표 값보다 작은 값인지를 판단한다(S422).On the other hand, if it is determined in step S421 that the Y-axis coordinate value of the current routing apparatus is smaller than at least one of the Y-axis coordinate values of the destination routing apparatus and the routing apparatus in which the rollback is started, Axis coordinate value of the destination routing apparatus and the routing apparatus in which the rollback is started (S422).

상기 단계 (S422)의 판단 결과, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치 및 롤백이 시작된 라우팅 장치의 Y축 좌표 값보다 작은 값인 경우, 상기 도 4의 단계 (S440)으로 진행하여 현재 라우팅 장치에 대한 Y축 위치 비교 처리 단계(S440)을 수행한다.If it is determined in step S422 that the Y-axis coordinate value of the current routing device is smaller than the Y-axis coordinate value of the destination routing device and the routing device in which the rollback has been started, the process proceeds to step S440 of FIG. And performs a Y-axis position comparison processing step S440 for the apparatus.

반면, 단계 (S422)의 판단 결과, 현재 라우팅 장치의 Y축 좌표 값이 목적지 라우팅 장치 및 롤백이 시작된 라우팅 장치의 Y축 좌표 값 중 적어도 하나보다 큰 값인 경우, 상기 도 4의 단계 (S430)으로 진행하여 현재 라우팅 장치에 대한 X축 위치 비교 처리 단계(S430)를 수행한다.On the other hand, if it is determined in step S422 that the Y-axis coordinate value of the current routing apparatus is greater than at least one of the Y-axis coordinate values of the destination routing apparatus and the routing apparatus in which the rollback has been started, And performs an X-axis position comparison processing step S430 for the current routing apparatus.

즉, 경로 설정 패킷에 대한 우회 경로 탐색 시, 해당 경로 설정 패킷에 대한 롤백이 시작된 라우팅 장치가 현재 라우팅 장치보다 Y축 상에서 목적지 라우팅 장치에 근접한 경우 상기 도 4의 단계 (S440)을 수행하여 Y축 상에서의 진행 경로를 탐색한다. 그 외의 경우, 상기 도 4의 단계 (S430)을 수행하여 경로 설정 패킷에 대한 X축 상에서의 진행 경로를 탐색한다.That is, when the routing device for which the rollback of the route setting packet is started is closer to the destination routing device on the Y axis than the current routing device at the time of searching for the bypass route to the route setting packet, the step S440 of FIG. Search for the path of travel on the map. Otherwise, the step S430 of FIG. 4 is performed to search for a path on the X axis for the path setting packet.

다시 도 2로 돌아가서, 롤백 처리 모듈(213)은 패킷 분배 모듈(211)로부터 롤백 패킷을 수신하거나, 경로 설정 처리 모듈(212)로부터 롤백시킬 경로 설정 패킷을 수신한다.2, the rollback processing module 213 receives the rollback packet from the packet distribution module 211 or receives the routing packet to be rolled back from the routing processing module 212. [

그리고, 롤백 처리 모듈(213)은 패킷 분배 모듈(211)로부터 수신된 롤백 패킷은 그대로 이전 라우팅 장치로 전달한다. 참고로, 롤백 패킷이 그대도 전달되는 이전 라우팅 장치는, 출발지 라우팅 장치로부터 전송된 경로 설정 패킷이 경유한 라우팅 장치 중 현재 라우팅 장치보다 출발지 라우팅 장치에 근접한 인접 라우팅 장치를 의미한다.The rollback processing module 213 transfers the rollback packet received from the packet distribution module 211 to the previous routing device as it is. For reference, a previous routing device to which a rollback packet is transmitted also refers to an adjacent routing device that is closer to the originating routing device than the current routing device among the routing devices passed through the routing packet transmitted from the originating routing device.

또한, 롤백 처리 모듈(213)은 경로 설정 처리 모듈(212)로부터 수신된 롤백시킬 경로 설정 패킷을 롤백 패킷으로 변경하여, 해당 경로 설정 패킷이 입력되었던 이전 라우팅 장치로 롤백시킨다.Further, the rollback processing module 213 changes the path setting packet to be rolled back received from the path setting processing module 212 to a rollback packet, and rolls back the rollback packet to the previous routing device to which the corresponding path setting packet was inputted.

캔슬 처리 모듈(214)은 경로 설정 처리 모듈(212)로부터 취소시킬 경로 설정 패킷을 수신한다.The cancel processing module 214 receives the path setting packet to be canceled from the path setting processing module 212.

이때, 캔슬 처리 모듈(214)은 경로 설정 처리 모듈(212)이 결정한 다음 라우팅 장치가 목적지 라우팅 장치이되, 목적지 라우팅 장치와 매칭된 PE(100)의 상태가 사용 불가능한 상태인 경우, 해당 경로 설정 패킷에 대해 직전까지 설정된 경로 상의 라우팅 장치들을 경유하여 출발지 라우팅 장치까지 도착하는 캔슬 패킷을 전송한다.At this time, if the next routing device determined by the path setting processing module 212 is the destination routing device and the state of the PE 100 matched with the destination routing device is unavailable, To the originating routing device via the routing devices on the route set up to the last.

참고로, 캔슬 패킷 또는 롤백 패킷을 수신한 출발지 라우팅 장치는 안정적인 경로 재설정을 위하여, 기설정된 지연 시간이 경과한 후 경로 설정 패킷을 재전송한다. 이는, 하기 데이터 전송부(220)의 동작 설명 시 상세히 설명하도록 한다.For reference, the source routing apparatus that received the cancel packet or the rollback packet retransmits the routing packet after a predetermined delay time elapses for stable route resetting. The operation of the data transfer unit 220 will be described in detail below.

패킷 전송 처리 모듈(215)은 하기 데이터 수신부(230)를 통해 다른 라우팅 장치로부터 경로 응답 패킷 또는 경로 해제 패킷을 수신한다.The packet transmission processing module 215 receives a path response packet or a path release packet from another routing apparatus through the following data reception unit 230. [

구체적으로, 패킷 전송 처리 모듈(215)은 경로 응답 패킷을 수신하면, 경로 응답 패킷의 제 2 필드(P12)를 확인하여 출발지 라우팅 장치의 주소를 추출하고, 현재 라우팅 장치가 출발지 라우팅 장치인 경우 및 응답이 경유하는 라우팅 장치인 경우를 구분한다.Specifically, when receiving the route response packet, the packet transmission processing module 215 extracts the address of the source routing device by checking the second field P12 of the route response packet, and when the current routing device is the source routing device, And the case where the response is a routing device via.

그리고, 패킷 전송 처리 모듈(215)은 현재 라우팅 장치가 출발지 라우팅 장치인 경우 해당 경로 응답 패킷을 데이터 전송부(220)로 전달하고, 현재 라우팅 장치가 응답이 경유하는 라우팅 장치인 경우 해당 경로 응답 패킷을 출발지 라우팅 장치 방향으로 인접한 이전 라우팅 장치로 전달한다.When the current routing device is the source routing device, the packet transmission processing module 215 delivers the corresponding route response packet to the data transmission module 220. If the current routing device is the routing device via which the response is transmitted, To the adjacent routing device in the direction of the originating routing device.

또한, 패킷 전송 처리 모듈(215)은 경로 해제 패킷을 수신하면, 경로 해제 패킷의 제 2 필드(P32)에 저장된 경로 해제 시간 정보를 추출하여 경로 해제 처리부(240)로 전달한다. 그리고, 패킷 전송 처리 모듈(215)은 경로 해제 처리부(240)에 의해 기설정된 값만큼 감소시킨 경로 해제 시간 정보를 포함하는 경로 해제을 다음 라우팅 장치로 전달한다.Upon receiving the route release packet, the packet transmission processing module 215 extracts the route release time information stored in the second field P32 of the route release packet and transfers the extracted route release time information to the route removal processing unit 240. [ The packet transmission processing module 215 transfers the path release including the path release time information reduced by the predetermined value by the path removal processing section 240 to the next routing apparatus.

이때, 패킷 전송 처리 모듈(215)은 수신된 경로 해제 패킷에 저장되었던 원래 경로 해제 시간 정보를 상기 지연 시간에 기초하여 감소시킨 값을 경로 해제 패킷의 제 2 필드(P32)에 갱신 저장한 후, 해당 경로 해제 패킷을 전달한다.At this time, the packet transmission processing module 215 updates and stores a value obtained by reducing the original path release time information stored in the received path release packet based on the delay time, in the second field P32 of the path release packet, And transmits the corresponding path release packet.

한편, 도 2에서와 같이, 데이터 전송부(220)는 경로 설정 지연 모듈(221), 데이터 전송 모듈(222) 및 경로 해제 설정 모듈(223)을 포함한다.2, the data transfer unit 220 includes a path setting delay module 221, a data transfer module 222, and a path release setting module 223.

경로 설정 지연 모듈(221)은 현재 라우팅 장치가 출발지 라우팅 장치로서 캔슬 패킷 또는 롤백 패킷을 수신하면, 기설정된 지연 시간만큼 대기한 이후에 경로 설정을 재시도한다.The path setting delay module 221 retries the path setting after waiting for a predetermined delay time when the current routing device receives the cancel packet or the rollback packet as the source routing device.

예를 들어, 도 9는 본 발명의 일 실시예에 따른 경로 설정 지연 방식을 설명하기 위한 경로 설정 동시 발생 상태의 일례를 나타낸 도면이다.For example, FIG. 9 is a diagram illustrating an example of a route setting simultaneous occurrence state for explaining a route setting delay method according to an embodiment of the present invention.

도 9에서와 같이, HONoC 상에 위치 좌표 (5, 3)에서 위치 좌표(6, 5)로 데이터가 전송 중인 상태에서, 위치 좌표 (3, 3)에서 위치 좌표 (7, 3)으로의 경로 설정 시도(이하, '제 1 경로 설정 시도'라고 지칭함)와, 위치 좌표 (1, 3)에서 위치 좌표 (5, 3)로의 경로 설정 시도(이하, '제 2 경로 설정 시도'라고 지칭함)가 동시에 발생할 수 있다.The path from the position coordinates 3 and 3 to the position coordinates 7 and 3 in the state where data is being transferred from the position coordinates 5 and 3 to the position coordinates 6 and 5 on the HONoC as shown in FIG. (Hereinafter, referred to as a 'first path setting attempt') and a path setting attempt (hereinafter referred to as a 'second path setting attempt') from the position coordinates 1 and 3 to the position coordinates 5 and 3 Can occur at the same time.

이와 같은 경우, 제 2경로 설정 시도에 따른 경로에서는 목적지의 위치 좌표 (5, 3)가 이미 사용 중인 상태이므로 실제적으로 데이터 통신이 발생할 수 없다. 그럼에도 불구하고, 두 경로 설정 시도가 동시에 발생될 경우, 제 1 경로 설정 시도에 의한 경로 설정 또한 불가능하여 병렬 전송 시 문제가 발생될 수 있다.In this case, since the coordinates (5, 3) of the destination are already in use in the route according to the second route setting attempt, data communication can not actually occur. Nevertheless, if both route setting attempts occur at the same time, it is impossible to set the route by the first route setting attempt, which may cause a problem in parallel transmission.

이에 따라, 본 발명의 일 실시예에 따른 각 라우팅 장치(200)들은 HONoC 상에서의 해당 라우팅 장치(200)의 위치에 기초하여 다른 라우팅 장치(200)와는 차등적인 지연 시간을 설정하고, 설정된 지연 시간이 경과한 이후 경로 설정을 시도할 수 있다.Accordingly, each routing device 200 according to an embodiment of the present invention sets a different delay time from the other routing device 200 based on the location of the routing device 200 on the HONoC, After this time, you can try to set the path.

구체적으로, 경로 설정 지연 모듈(221)은, 캔슬 처리 모듈(214)로부터 캔슬 패킷을 수신하거나, 현재 라우팅 장치가 출발지 라우팅 장치인 경우에 롤백 처리 모듈(214)로부터 롤백 패킷을 수신하면, 경로 설정 재시도에 대한 지연 시간을 산출한다.Specifically, the path setting delay module 221 receives a cancel packet from the cancellation processing module 214, or receives a rollback packet from the rollback processing module 214 when the current routing device is the source routing device, And calculates the delay time for the retry.

이때, 하기 수학식 1을 이용하여 경로 설정 재시도에 대한 지연 시간을 산출할 수 있다.At this time, the delay time for the route setting retry can be calculated using the following equation (1).

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

Figure 112013071120100-pat00001
Figure 112013071120100-pat00001

상기 수학식 1에서, Saps는 라우팅 장치(200)의 전기적 라우터가 컨트롤 패킷을 출력하는 복수의 포트를 스위칭하는데 필요한 평균 사이클이며, Xmax 및 Ymax는 네트워크 토폴로지의 각 축(즉, X/Y 축)의 사이즈(즉, 배열된 라우팅 장치의 축 별 전체 개수)를 의미한다. 그리고, Xbound 및 Ybound는, 현재 라우팅 장치로부터 패킷이 전송될 방향으로 가장 먼 라우팅 장치의 위치와 현재 라우팅 장치의 위치 간의 차를 의미한다.In Equation (1), S aps is an average cycle required for switching the plurality of ports from which the electrical router of the routing device 200 outputs control packets, and X max and Y max are the respective axes of the network topology (i.e., X / Y axis) (i.e., the total number of the arranged routing apparatuses by axis). And, X bound and Y bound mean the difference between the position of the routing apparatus most distant from the current routing apparatus in the direction in which the packet is to be transmitted and the position of the current routing apparatus.

구체적으로, 도 10은 본 발명의 일 실시예에 따른 경로 설정 재시도에 적용될 지연 시간의 산출 방식을 설명하기 위한 도면이다.10 is a view for explaining a method of calculating a delay time to be applied to a route setting retry according to an embodiment of the present invention.

하기 도 10의 (a)에서는 경로 설정을 시도할 방향 별 Xbound 및 Ybound의 값을 나타내었으며, 도 10의 (b)에서는 각 진행 방향(direction)이 HONoC 상에서 의미하는 방향을 표시하였다.In FIG. 10A, the values of X bound and Y bound are shown for directions in which the route is set. In FIG. 10B, directions in which HONoC directions are indicated are indicated.

결과적으로, 현재 라우팅 장치와 동일한 방향(예를 들어, 도 10의 'E' 방향)으로 경로 설정을 시도하는 다른 라우팅 장치가 현재 라우팅 장치보다 X축 상에서 좌측(즉, 도 10의 'W' 방향)에 위치한 경우 보다, 상기 다른 라우팅 장치가 현재 라우팅 장치보다 X 축 상의 우측(즉, 도 10의 'E' 방향)에 위치한 경우에, 상기 수학식 1에 의한 지연 시간(Cdelay)의 값이 크게 설정된다.As a result, another routing apparatus attempting routing in the same direction as the current routing apparatus (for example, the 'E' direction in FIG. 10) is located on the left side of the current routing apparatus ), The value of the delay time (C delay ) according to Equation (1) is smaller than the value of the delay time (C delay ) when the other routing apparatus is located on the right side of the current routing apparatus on the X axis .

이와 같이 함으로써, 동일 방향 상에서 뒤쪽에서 경로 설정을 시도하는 라우팅 장치가 앞쪽의 라우팅 장치보다 먼저 경로 설정을 재시도하도록 하여, HONoC 상에서 효율적인 병렬 전송이 가능하다.By doing so, the routing apparatus attempting to set the route in the backward direction in the same direction retries the route setting prior to the routing apparatus on the front side, thereby enabling efficient parallel transmission on the HONoC.

다시 도 2로 돌아와서, 데이터 전송 모듈(222)은 패킷 전송 처리 모듈(215)을 통해 경로 응답 패킷이 수신되는 경우, 목적지 라우팅 장치와의 경로 설정이 성공적으로 완료된 것으로 판단하고, 매칭 연결된 PE(100)가 광학적 링크(300)를 통해 목적한 데이터를 전송하도록 제어한다.2, when the path response packet is received through the packet transmission processing module 215, the data transmission module 222 determines that the path setup with the destination routing device has been completed successfully, Controls the optical link 300 to transmit the desired data.

참고로, 데이터 전송 모듈(222)이 경로 응답 패킷을 수신한 후 PE(100)가 데이터를 전송하도록 제어하는 경우는, 현재 라우팅 장치가 출발지 라우팅 장치인 경우이다.For reference, when the data transmission module 222 controls the PE 100 to transmit data after receiving the path response packet, the current routing device is the source routing device.

한편, 광학적 경로를 통해 PE(100)의 데이터 전송이 완료되면, 목적지까지 설정된 경로 상의 라우팅 장치(200)들로 경로 해제 패킷을 전송하여 설정되었던 경로를 해제시켜야 한다. 만약, PE(100)가 데이터 전송을 완료한 이후 경로 해제 패킷을 전송할 경우, 해당 경로에 대한 광학적 경로가 실제적으로 사용되지 않음에도 경로가 해제되는 동안 경로가 점유되어 있게 된다.On the other hand, when the data transmission of the PE 100 is completed through the optical path, the path set to the destination is transmitted to the routing devices 200 on the established path to release the set path. If the PE 100 transmits the path release packet after completing the data transmission, the path is occupied while the path is released even though the optical path to the path is not actually used.

이에 따라, 본 발명의 일 실시예에 따른 경로 해제 설정 모듈(223)은 매칭 연결된 PE(100)가 광학적 링크(300)를 통해 기설정된 경로로 목적한 데이터의 전송을 시작하면, 전기적 링크(400)를 통해 동일 경로로 경로 해제 패킷을 전송한다. 이때, 경로 해제 설정 모듈(223)은 목적 데이터의 전송 시작과 동시에 또는 이후에 경로 해제 패킷을 전송할 수 있다.Accordingly, the path release setting module 223 according to an exemplary embodiment of the present invention is configured such that when the matching connected PE 100 starts transmission of the desired data to the predetermined path via the optical link 300, ) To the same path. At this time, the path release setting module 223 can transmit the path release packet at the same time as or after the start of transmission of the object data.

이때, 경로 해제 설정 모듈(223)은 하기 수학식 2를 이용하여 경로 해제 시간을 산출하고, 산출된 경로 해제 시간의 정보를 포함하는 경로 해제 패킷을 전기적 링크(400)를 통해 다른 라우팅 장치로 전송한다.At this time, the path cancellation setting module 223 calculates the path cancellation time using the following equation (2), and transmits the cancellation packet including the calculated path cancellation time information to the other routing device through the electrical link 400 do.

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

Figure 112013071120100-pat00002
Figure 112013071120100-pat00002

상기 수학식 2에서, 경로 해제 시간인 Ctx는 광학적 경로를 통해 데이터를 전송하는데 걸리는 클록 사이클(clock cycle)이다. 그리고, Psize는 전송한 패킷의 크기(packet size)이고, felec는 전기적 링크(400)에 대해 기설정된 주파수(frequency)이며, Boptical는 광학적 링크(300)에 대해 기설정된 대역폭(bandwidth)이다.In Equation (2), the path release time Ctx is a clock cycle for transferring data through the optical path. And, P size is the size of a transmission packet (packet size), and, f elec is the frequency (frequency) is set based on the electric link (400), B optical bandwidth (bandwidth) predetermined for the optical link 300 to be.

이때, 경로 해제 설정 모듈(223)은 경로 해제 패킷의 제 2 필드(P32)(즉, TTL field)에 경로 해제 시간의 값을 저장하여 전송한다. 이러한, 경로 해제 패킷은 경유하는 각 라우팅 장치마다 패킷 전송 처리 모듈(215)로 전송된다.At this time, the path release setting module 223 stores the value of the path release time in the second field P32 (i.e., TTL field) of the path release packet and transmits the value. This route release packet is transmitted to the packet transmission processing module 215 for each routing device passing through.

한편, 전송하는 데이터의 양이 많아지면 경로 해제 시간(Ctx)이 커지며, 이에 따라 경로 해제 패킷 내의 TTL filed에 경로 해제 시간을 표시하는데 사용되는 비트(bit)가 늘어날 수 있다. 이는, 전기적 링크(400)에 대한 사용량(예를 들어, 'bus size')을 증가시킬 수 있으므로, TTL field의 비트 수를 한정시킬 필요가 있다.On the other hand, as the amount of data to be transmitted increases, the path clearing time ( Ctx ) increases, and accordingly, the bit used for indicating the path clearing time in the TTL filed in the path releasing packet may increase. This may increase the amount of usage (e.g., 'bus size') for the electrical link 400, thus limiting the number of bits in the TTL field.

이를 위해, 경로 해제 설정 모듈(223)은 하기 수학식 3과 같이, TTL field가 가질 수 있는 최대 값을 Cmax로 정의하고, Ctx가 Cmax보다 클 경우 출발지 라우팅 장치(즉, 경로 해제 설정 모듈(223)) 내에서 Ctx를 감소시키다가 Ctx가 Cmax가 될 때 경로 해제 패킷을 전송한다.To this end, the path release setting module 223 defines the maximum value that the TTL field can have as C max , as shown in Equation (3) below. If C tx is greater than C max , the rebate for C tx in the module 223) when the C tx be a C max transmits a path release packet.

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

Figure 112013071120100-pat00003
Figure 112013071120100-pat00003

상기 수학식 3에서, Cmax는 경로 해제 패킷이 전기적 경로 상으로 이동하는데 걸리는 총 클록 사이클(clock cycle)이고, S aps 는 각 라우팅 장치(200)의 전기적 라우터에서 복수의 방향 별 패킷 출력 포트를 스위칭하는데 필요한 사이클(cycle) 이다.In Equation (3), C max is a total clock cycle for the path release packet to travel on the electrical path, and S aps represents a plurality of directional packet output ports at the electrical router of each routing device 200 This is the cycle required for switching.

이에 따라, 경로 해제 설정 모듈(223)은 Ctx가 Cmax보다 작은 경우, 데이터 전송 모듈(221)의 데이터 전송 시작 시에 TTL field에 Ctx값이 포함된 경로 해제 패킷을 전송한다. 반면에, 경로 해제 설정 모듈(223)은 Ctx가 Cmax보다 큰 경우, 데이터 전송 모듈(221)의 데이터 전송 시작 이후에 Ctx를 점차 감소시키고, 감소된 Ctx가 Cmax와 같아진 시점에 TTL field에 Cmax 값이 포함된 경로 해제 패킷을 전송한다.Accordingly, when C tx is smaller than C max , the path release setting module 223 transmits a path release packet including a C tx value to the TTL field at the start of data transmission by the data transmission module 221. On the other hand, the path release setting module 223 gradually decreases C tx after the start of data transmission of the data transfer module 221 when C tx is larger than C max , and when the reduced C tx becomes equal to C max Transmits a path release packet including the C max value in the TTL field.

데이터 수신부(230)는 설정된 광학적 경로를 통해 출발지 PE(100)로부터 전송된 데이터를 수신하고, 수신된 데이터를 자신과 매칭 연결된 PE(100)로 전달한다. 이때, 데이터 수신부(240)는 현재 라우팅 장치가 목적지 라우팅 장치인 경우, 상기 수신된 데이터를 매칭된 PE(100)로 전달한다.The data receiving unit 230 receives the data transmitted from the source PE 100 through the set optical path and transmits the received data to the PE 100 that is matched with the received data. At this time, if the current routing apparatus is the destination routing apparatus, the data receiving unit 240 delivers the received data to the matching PE 100.

경로 해제 처리부(240)는 패킷 전송 처리 모듈(215)로부터 경로 해제 시간 정보를 수신하고, 경로 해제 시간 정보에 따른 대기 시간이 경과하면 자동으로 현재 라우팅 장치의 경로 설정 상태를 해제한다.The path release processing unit 240 receives the path release time information from the packet transfer processing module 215 and automatically releases the path setting state of the current routing apparatus when the waiting time according to the path release time information elapses.

이때, 경로 해제 처리부(240)는 해당 경로 해제 패킷이 도착한 시각의 TTL field 값을 저장하고, 저장된 TTL field 값을 매 클록(clock)마다 감소시킨다.At this time, the path removal processing unit 240 stores the TTL field value at the time when the corresponding path release packet arrives, and decreases the stored TTL field value every clock.

또한, 경로 해제 처리부(240)는 다음 라우팅 장치로 전달할 경로 해제 패킷에 포함시킬 경로 해제 시간을 기설정된 값만큼 감소시켜, 패킷 전송 처리 모듈(215)로 전달한다. 이에 따라, 목적지 라우팅 장치에 가까워질수록 라우팅 장치에 저장되는 TTL field 값이 점점 작아진다. 이처럼, 각 라우팅 장치에 저장되는 TTL field 값은 서로 상이한 값으로서, 결과적으로, 경로 상의 라우팅 장치들은 같은 시각에 경로 해제 시간이 '0'이 되고, 그와 동시에 해당 광학적 경로는 해제된다.Further, the path release processing unit 240 reduces the path release time to be included in the path release packet to be transmitted to the next routing apparatus by a predetermined value, and transfers the path release time to the packet transfer processing module 215. Thus, the closer to the destination routing device, the smaller the TTL field value stored in the routing device. As such, the TTL field values stored in each routing device are different from each other. As a result, the routing devices on the path become '0' at the same time, and at the same time, the optical path is released.

만약, 경로 해제 패킷에 저장된 경로 해제 시간이 목적지 라우팅 장치까지 전송되지 않은 상태에서 '0'이 된 경우, 해당 경로 해제 패킷을 수신한 라우팅 장치는 경로 해제 패킷을 수신한 즉시 전송 경로를 해제시킨다.If the path release time stored in the path release packet is '0' without being transmitted to the destination routing apparatus, the routing apparatus that has received the path release packet releases the path immediately after receiving the path release packet.

이하, 도 11을 참조하여 본 발명의 일 실시예에 따른 라우팅 장치(200)를 통한 적응적 라우팅 방법을 설명하도록 한다.Hereinafter, an adaptive routing method through the routing apparatus 200 according to an embodiment of the present invention will be described with reference to FIG.

도 11은 본 발명의 일 실시예에 따른 적응적 라우팅 방법을 설명하기 위한 순서도이다.11 is a flowchart illustrating an adaptive routing method according to an embodiment of the present invention.

도 11에서와 같이, 전기적 링크(400)를 통해서 다른 라우팅 장치로부터 컨트롤 패킷을 수신한다(S110).As shown in FIG. 11, the control packet is received from another routing apparatus through the electrical link 400 (S110).

그런 후, 수신된 컨트롤 패킷의 유형을 판단한다(S120).Then, the type of the received control packet is determined (S120).

상기 유형을 판단한 결과 경로 설정 패킷인 경우, 상기 경로 설정 패킷에 기초하여 목적지를 향한 방향으로 인접한 다음 라우팅 장치를 결정한다(S130).If it is determined as a result of the type determination, the next routing device adjacent to the destination is determined based on the routing packet (S130).

이때, 상기 다음 라우팅 장치가 사용 불가능한 상태인 경우 상기 경로 설정 패킷에 대한 롤백 처리를 결정하되, 반면에 상기 다음 라우팅 장치가 사용 가능한 상태인 경우 상기 경로 설정 패킷을 상기 다음 라우팅 장치로 전송한다.Determining a rollback process for the routing packet if the next routing device is unavailable, and forwarding the routing packet to the next routing device if the next routing device is available.

그런 다음, 상기 다음 라우팅 장치의 사용 상태를 확인하여, 경로 설정 패킷에 대한 롤백(rollback) 처리 여부를 결정한다(S140).Then, the use state of the next routing apparatus is checked, and it is determined whether a rollback process is performed on the routing packet (S140).

이때, 상기 다음 라우팅 장치는 기설정된 출발지로부터 목적지까지의 복수의 최단 거리 경로 중 어느 하나의 최단 거리 경로 상에서 결정된다.At this time, the next routing device is determined on the shortest path of any of the plurality of shortest path from the predetermined start point to the destination.

그리고, 상기 이전 라우팅 장치로부터 상기 컨트롤 패킷이 수신된 방향이 기설정된 우선 경로 설정 진행 방향(즉, 본 발명의 일 실시예에서는 'X축' 방향)이되 상기 컨트롤 패킷이 롤백된 상기 경로 설정 패킷인 경우, 우선 경로 진행 방향을 제외한 다른 방향(즉, Y축 방향)으로 인접한 라우팅 장치를 상기 다음 라우팅 장치로 결정한다.If the direction in which the control packet is received from the previous routing apparatus is the predetermined path setting direction (i.e., the 'X axis' direction in the embodiment of the present invention) , The routing apparatus that is adjacent in the other direction (i.e., the Y-axis direction) except for the path advance direction is determined as the next routing apparatus.

또한, 롤백된 경로 설정 패킷이 경유하지 않은 우회 경로 상에서 상기 다음 라우팅 장치를 결정하는 경우, 상기 경로 설정 패킷에 저장된 롤백 위치 정보 및 목적지 위치 정보에 기초하여, 현재 라우팅 장치보다 롤백 처리가 시작된 라우팅 장치가 목적지에 근접한지 여부를 판단한다. 그런 후, 롤백 처리가 시작된 라우팅 장치가 현재 라우팅 장치보다 목적지에 근접한 경우, 우선 경로 설정 진행 방향을 제외한 다른 축 방향으로 인접한 라우팅 장치를 다음 라우팅 장치로 결정한다.When the next routing device is determined on the bypass path not passed through the path setting packet that has been rolled back, the routing device that has started the rollback process than the current routing device, based on the rollback location information and the destination location information stored in the routing packet, Is close to the destination. Then, when the routing apparatus in which the rollback processing is started is closer to the destination than the current routing apparatus, the routing apparatus adjacent to the other axial direction except for the route setting advance direction is determined as the next routing apparatus.

그런 다음, 상기 경로 설정 패킷에 대한 롤백 처리가 결정되면, 경로 설정 패킷이 입력된 이전 라우팅 장치로 해당 경로 설정 패킷을 롤백시킨다(S150).Then, if the rollback process for the route setting packet is determined, the route setting packet is rolled back to the previous routing device to which the route setting packet is inputted (S150).

참고로, 상기 단계 (S150)에서 롤백된 경로 설정 패킷은 상기 이전 라우팅 장치에서 재결정된 우회 경로 상의 다른 라우팅 장치로 전송된다.For reference, the path setting packet rolled back in step S150 is transmitted to another routing apparatus on the bypass path redetermined in the previous routing apparatus.

한편, 다른 라우팅 장치로부터 경로 설정 패킷을 수신한 경우, 경로 설정 패킷에 기초하여 기설정된 목적지와 현재 라우팅 장치의 위치를 비교하고, 현재 라우팅 장치가 목적지인 것으로 판단되면, 연결된 PE(100)의 사용 상태를 확인한다. 그런 후, PE(100)가 사용 불가능한 상태인 경우, 기설정된 출발지로 상기 경로 설정 패킷에 대한 경로 설정을 취소하는 캔슬 패킷을 전기적 링크를 통해 전송할 수 있다.On the other hand, when receiving the routing packet from another routing device, it compares the location of the current routing device with the predetermined destination based on the routing packet. If it is determined that the current routing device is the destination, Check the status. Thereafter, when the PE 100 is in an unusable state, a cancel packet canceling path setting for the routing packet can be transmitted over an electrical link to a predetermined origin.

또한, 다른 라우팅 장치로부터 캔슬 패킷을 수신한 경우, 기설정된 지연 시간 산출 조건에 따라 지연 시간을 산출하고, 산출된 지연 시간이 경과한 후 상기 전기적 링크를 통해 사전에 경로 설정이 취소된 경로 설정 패킷을 재전송할 수 있다.When a cancel packet is received from another routing apparatus, a delay time is calculated in accordance with a predetermined delay time calculation condition, and after the calculated delay time elapses, a route setting packet Can be retransmitted.

또한, 상기 단계를 통해 기설정된 출발지와 상기 목적지 간에 경로 설정이 완료되면, 출발지의 PE가 광학적 링크를 통한 데이터의 전송을 시작하고, 출발지의 라우팅 장치가 설정이 완료된 경로 상의 전기적 링크를 통해 경로 해제 시간 정보를 포함하는 경로 해제 패킷을 목적지까지 전송한다. 이때, 경로 해제 시간 정보에 따른 경로 해제 시간은 목적지에 가까워질수록 감소된다.In addition, when the path setting is completed between the pre-set start point and the destination through the above step, the PE at the start point starts to transmit data through the optical link, and the routing device at the start point completes the path disconnection And transmits a path release packet including time information to a destination. At this time, the path cancellation time according to the path cancellation time information decreases as it approaches the destination.

그리고, 경로 해제 패킷을 목적지까지 전송할 시에, 상기 데이터의 크기, 상기 광학적 링크의 대역폭 및 상기 전기적 링크의 주파수에 기초하여 상기 경로 해제 시간을 산출하고, 산출된 경로 해제 시간이 기설정된 경로 해제 시간의 최대 값보다 큰 경우, 데이터의 전송이 시작된 후 상기 산출된 경로 해제 시간을 점차 감소시키고, 감소시킨 경로 해제 시간이 경로 해제 시간의 최대 값과 같아지면, 경로 해제 시간의 최대 값을 포함하는 상기 경로 해제 패킷을 상기 목적지까지 전송할 수 있다.When the path release packet is transmitted to the destination, the path release time is calculated based on the size of the data, the bandwidth of the optical link, and the frequency of the electrical link, and the calculated path- If the calculated path unblocking time is equal to the maximum value of the path unblocking time, if the calculated path unblocking time is greater than the maximum value of the path unblocking time, And can transmit a path release packet to the destination.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈, 또는 반송파와 같은 변조된 데이터 신호의 기타 데이터, 또는 기타 전송 메커니즘을 포함하며, 임의의 정보 전달 매체를 포함한다.One embodiment of the present invention may also be embodied in the form of a recording medium including instructions executable by a computer, such as program modules, being 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: 처리 소자
200: 라우팅 장치
300: 광학적 경로
400: 전기적 경로
10: Hybrid optical network on-chip system
100: processing element
200: routing device
300: Optical path
400: electrical path

Claims (20)

하이브리드 광학 네트워크 온 칩(Hybrid Optical Network-on-Chip, HONoC)에서 복수의 처리 소자(Processing Element, PE) 별로 연결된 라우팅 장치에 있어서,
전기적 링크를 통해 경로 설정을 위한 컨트롤 패킷을 수신하고, 상기 컨트롤 패킷을 기설정된 유형에 따라 분배하여 출력하는 패킷 분배 모듈;
상기 패킷 분배 모듈로부터 출력된 상기 컨트롤 패킷 중 경로 설정 패킷을 수신하면, 기설정된 목적지를 향한 방향으로 인접한 다음 라우팅 장치를 결정하고, 상기 다음 라우팅 장치의 사용 상태에 따라 상기 경로 설정 패킷에 대한 롤백(rollback) 처리 여부를 결정하는 경로 설정 처리 모듈;
상기 경로 설정 처리 모듈에 의해 상기 경로 설정 패킷에 대한 롤백 처리가 결정되면, 상기 경로 설정 패킷이 입력된 이전 라우팅 장치로 상기 경로 설정 패킷을 롤백시키는 롤백 처리 모듈; 및
상기 목적지와 현재 라우팅 장치의 위치 비교를 통해 현재 라우팅 장치가 상기 목적지인 것으로 판단되면, 연결된 상기 PE의 사용 상태를 확인하고 상기 PE가 사용 불가능한 상태인 경우 기설정된 출발지로 상기 경로 설정 패킷에 의한 경로 설정을 취소하는 캔슬 패킷을 상기 전기적 링크를 통해 전송하는 캔슬 처리 모듈을 포함하고,
상기 이전 라우팅 장치로 롤백시킨 상기 경로 설정 패킷은, 상기 이전 라우팅 장치가 재결정한 우회 경로 상의 다른 라우팅 장치로 전송되는 적응적 라우팅 장치.
1. A routing apparatus connected to a plurality of processing elements (PEs) in a hybrid optical network-on-chip (HONoC)
A packet distribution module for receiving a control packet for routing through an electrical link, distributing the control packet according to a predetermined type, and outputting the control packet;
And a control unit configured to determine a next routing apparatus adjacent to the predetermined destination in the direction of a predetermined destination when receiving the routing packet among the control packets output from the packet distribution module, a rollback process;
A rollback processing module that rolls back the routing packet to a previous routing device to which the routing packet is input if the rollback process for the routing packet is determined by the routing module; And
If the current routing device is determined to be the destination through comparison of the location of the current routing device and the current location of the routing device, checking the use state of the connected PE, if the PE is unavailable, And a cancel processing module for transmitting a cancel packet canceling the setting through the electric link,
Wherein the routing packet rolled back to the previous routing device is sent to another routing device on the bypass path redirected by the previous routing device.
제 1 항에 있어서,
상기 경로 설정 처리 모듈은,
상기 다음 라우팅 장치가 사용 불가능한 상태인 경우 상기 경로 설정 패킷에 대한 롤백 처리를 결정하고,
상기 다음 라우팅 장치가 사용 가능한 상태인 경우 상기 경로 설정 패킷을 상기 다음 라우팅 장치로 전송하는 적응적 라우팅 장치.
The method according to claim 1,
Wherein the path setting processing module comprises:
Determining a rollback process for the routing packet if the next routing device is unavailable,
And sends the routing packet to the next routing device if the next routing device is available.
제 1 항에 있어서,
상기 경로 설정 처리 모듈은,
기설정된 출발지로부터 상기 목적지까지의 복수의 최단 거리 경로 중 어느 하나의 최단 거리 경로 상에서 상기 다음 라우팅 장치를 결정하는 적응적 라우팅 장치.
The method according to claim 1,
Wherein the path setting processing module comprises:
And determines the next routing device on any shortest path among a plurality of shortest path from a predetermined origin to the destination.
제 1 항에 있어서,
상기 경로 설정 처리 모듈은,
상기 컨트롤 패킷을 입력받는 복수의 축(axis) 방향 중 일축 방향을 다른 축 방향들에 비해 우선적인 경로 설정 진행 방향으로 결정하되,
상기 우선적인 경로 설정 진행 방향으로부터 롤백된 상기 경로 설정 패킷을 수신하면, 상기 우선적인 경로 설정 진행 방향을 제외한 다른 축 방향으로 인접한 라우팅 장치를 상기 다음 라우팅 장치로 결정하는 적응적 라우팅 장치.
The method according to claim 1,
Wherein the path setting processing module comprises:
Determining a one-axis direction of a plurality of axis directions for receiving the control packet as a preferential path setting progress direction relative to other axis directions,
And when the routing configuration packet is rolled back from the preferential path setting progress direction, determines the routing apparatus adjacent to the other axial direction excluding the preferential path setting progress direction as the next routing apparatus.
제 4 항에 있어서,
상기 경로 설정 처리 모듈은,
다른 라우팅 장치로부터 롤백된 상기 경로 설정 패킷이 경유하지 않은 우회 경로를 탐색하는 경우,
상기 경로 설정 패킷에 저장된 상기 경로 설정 패킷에 대한 롤백 처리가 시작된 라우팅 장치의 위치 정보 및 목적지 위치 정보에 기초하여, 현재 라우팅 장치보다 상기 롤백 처리가 시작된 라우팅 장치가 상기 목적지에 근접한지 여부를 판단하고,
상기 롤백 처리가 시작된 라우팅 장치가 상기 현재 라우팅 장치보다 상기 목적지에 근접한 경우, 상기 우선적인 경로 설정 진행 방향을 제외한 다른 축 방향으로 인접한 라우팅 장치를 상기 다음 라우팅 장치로 결정하는 적응적 라우팅 장치.
5. The method of claim 4,
Wherein the path setting processing module comprises:
When searching for a bypass path not passed by the routing packet rolled back from another routing apparatus,
It is determined whether or not the routing apparatus in which the rollback process is started is closer to the destination than the current routing apparatus, based on the location information and the destination location information of the routing apparatus in which the rollback processing for the routing packet stored in the routing packet is started ,
And determines, as the next routing device, the other routing device in the other axial direction other than the preferential routing setting direction, when the routing device in which the rollback process is started is closer to the destination than the current routing device.
삭제delete 제 1 항에 있어서,
상기 패킷 분배 모듈로부터 출력된 상기 컨트롤 패킷 중 상기 캔슬 패킷을 수신하면 기설정된 지연 시간 산출 조건에 따라 지연 시간을 산출하고,
상기 지연 시간이 경과한 후 상기 전기적 링크를 통해 상기 경로 설정 패킷을 재전송하는 경로 설정 지연 모듈을 더 포함하는 적응적 라우팅 장치.
The method according to claim 1,
When receiving the cancel packet among the control packets output from the packet distribution module, calculates a delay time according to a predetermined delay time calculation condition,
Further comprising: a routing delay module for retransmitting the routing packet over the electrical link after the delay time has elapsed.
제 1 항에 있어서,
상기 목적지와의 경로 설정이 완료된 후 현재 라우팅 장치와 연결된 상기 PE로부터 광학적 링크를 통한 데이터의 전송이 시작되면, 상기 전기적 링크를 통해 경로 해제 시간 정보를 포함하는 경로 해제 패킷을 상기 목적지까지의 경로 상에 위치한 다른 라우팅 장치로 전송하는 경로 해제 설정 모듈을 더 포함하되,
상기 경로 해제 시간 정보에 따른 경로 해제 시간은, 상기 목적지에 가까워질수록 감소되는 적응적 라우팅 장치.
The method according to claim 1,
When the transmission of data through the optical link is started from the PE connected to the current routing device after the routing with the destination is completed, a path release packet including the path release time information through the electric link is transmitted to the destination To another routing device located in the routing module,
Wherein the path release time according to the path release time information is reduced as it approaches the destination.
제 8 항에 있어서,
상기 경로 해제 설정 모듈은,
상기 데이터의 크기, 상기 광학적 링크의 대역폭 및 상기 전기적 링크의 주파수에 기초하여 상기 경로 해제 시간을 산출하되,
상기 산출된 경로 해제 시간이 기설정된 경로 해제 시간의 최대 값보다 큰 경우, 상기 데이터의 전송이 시작된 후 상기 산출된 경로 해제 시간을 점차 감소시켜 상기 경로 해제 시간의 최대 값과 같아지면, 상기 경로 해제 시간의 최대 값을 포함하는 상기 경로 해제 패킷을 전송하는 적응적 라우팅 장치.
9. The method of claim 8,
Wherein the path release setting module comprises:
Calculating the path-off time based on the size of the data, the bandwidth of the optical link, and the frequency of the electrical link,
If the computed path cancellation time is greater than the maximum value of the predetermined path cancellation time, if the computed path cancellation time is gradually decreased after the start of the data transmission and equal to the maximum value of the path cancellation time, And transmits the unacknowledg packet including a maximum value of time.
제 1 항에 있어서,
상기 패킷 분배 모듈로부터 출력된 상기 컨트롤 패킷 중 경로 해제 패킷을 수신하면,
상기 경로 해제 패킷이 수신된 시각에 상기 경로 해제 패킷에 포함된 경로 해제 시간 정보를 저장한 후 시간 경과에 따라 감소시켜, 경로 해제 시간 정보에 따른 시간이 경과하면 현재 설정된 경로를 해제시키는 경로 해제 처리부를 더 포함하는 적응적 라우팅 장치.
The method according to claim 1,
Upon receipt of a routing packet among the control packets output from the packet distribution module,
A path release processing unit that stores path release time information included in the path release packet at a time point when the path release packet is received and decreases the path release time information according to a lapse of time, Further comprising an adaptive routing device.
하이브리드 광학 네트워크 온 칩(Hybrid Optical Network-on-Chip, HONoC)에서 복수의 처리 소자(Processing Element, PE) 별로 연결된 라우팅 장치를 통한 적응적 라우팅 방법에 있어서,
(a) 전기적 링크를 통해 제 1 라우팅 장치로부터 컨트롤 패킷을 수신하는 단계;
(b) 상기 컨트롤 패킷의 유형을 판단하는 단계;
(c) 상기 유형을 판단한 결과 경로 설정 패킷인 경우, 상기 경로 설정 패킷에 기초하여 상기 제 1 라우팅 장치와 인접한 라우팅 장치 중 기설정된 목적지를 향한 방향의 제 2 라우팅 장치를 결정하는 단계;
(d) 상기 제 2 라우팅 장치의 사용 상태를 확인하여, 상기 사용 상태에 따라 상기 경로 설정 패킷에 대한 롤백(rollback) 처리 여부를 결정하는 단계; 및
(e) 상기 경로 설정 패킷에 대한 롤백 처리가 결정되면, 상기 제 1 라우팅 장치로 상기 경로 설정 패킷을 롤백 시키는 단계를 포함하고,
상기 롤백시킨 경로 설정 패킷은 상기 제 1 라우팅 장치에서 재결정된 우회 경로 상의 제 3 라우팅 장치로 전송되며,
상기 (b) 단계 이후에,
상기 유형을 판단한 결과 경로 설정 패킷인 경우, 상기 경로 설정 패킷에 기초하여 기설정된 목적지와 현재 라우팅 장치의 위치를 비교하는 단계;
상기 비교의 결과, 상기 현재 라우팅 장치가 상기 목적지인 것으로 판단되면, 연결된 PE의 사용 상태를 확인하는 단계; 및
상기 PE가 사용 불가능한 상태인 경우, 상기 경로 설정 패킷에 대한 경로 설정을 취소하는 캔슬 패킷을 상기 전기적 링크를 통해 기설정된 출발지로 전송하는 단계를 더 포함하는 적응적 라우팅 방법.
1. An adaptive routing method through a routing device connected to a plurality of processing elements (PEs) in a hybrid optical network-on-chip (HONoC)
(a) receiving a control packet from a first routing device over an electrical link;
(b) determining the type of the control packet;
(c) determining a second routing device in a direction toward a predetermined destination among the routing devices adjacent to the first routing device based on the routing packet, when the determination result is the type of the routing device;
(d) checking the use state of the second routing apparatus and determining whether to perform a rollback process on the route setting packet according to the use state; And
(e) rolling back the routing packet to the first routing device if rollback processing for the routing packet is determined,
The rolled back routing packet is transmitted to the third routing device on the bypass route redirected from the first routing device,
After the step (b)
Comparing the location of the current routing device with a predetermined destination based on the routing packet if the type of the routing packet is determined to be a routing packet;
If it is determined that the current routing apparatus is the destination as a result of the comparison, checking the use state of the connected PE; And
And sending a cancel packet canceling the routing of the routing packet to the predetermined origin via the electrical link if the PE is unavailable.
제 11 항에 있어서,
상기 (d) 단계는,
상기 제 2 라우팅 장치가 사용 불가능한 상태인 경우 상기 경로 설정 패킷에 대한 롤백 처리를 결정하고,
상기 제 2 라우팅 장치가 사용 가능한 상태인 경우 상기 경로 설정 패킷을 상기 제 2 라우팅 장치로 전송하는 적응적 라우팅 방법.
12. The method of claim 11,
The step (d)
Determining a rollback process for the routing packet if the second routing device is unavailable,
And if the second routing device is available, sending the routing packet to the second routing device.
제 11 항에 있어서,
상기 (c) 단계는,
기설정된 출발지로부터 상기 목적지까지의 복수의 최단 거리 경로 중 어느 하나의 최단 거리 경로 상에서 상기 제 2 라우팅 장치를 결정하는 적응적 라우팅 방법.
12. The method of claim 11,
The step (c)
And determining the second routing device on any shortest path among a plurality of shortest path from a predetermined origin to the destination.
제 11 항에 있어서,
상기 (c) 단계는,
상기 컨트롤 패킷이 롤백된 상기 경로 설정 패킷인 경우,
상기 롤백된 경로 설정 패킷이 수신된 방향이 기설정된 우선 경로 설정 진행 방향이면, 상기 우선 경로 진행 방향을 제외한 다른 방향으로 인접한 라우팅 장치를 상기 제 2 라우팅 장치로 결정하며,
상기 우선 경로 설정 진행 방향은, 상기 컨트롤 패킷을 입력받는 복수의 축(axis) 방향 중 다른 축 방향들에 비해 우선적으로 경로 설정 진행 방향으로 설정되는 일축 방향인 적응적 라우팅 방법.
12. The method of claim 11,
The step (c)
If the control packet is the path setting packet that has been rolled back,
Determines a routing apparatus that is adjacent in a direction other than the priority route traveling direction to be the second routing apparatus if the direction in which the rolled back routing packet is received is a predetermined priority route setting progress direction,
Wherein the priority route setting advance direction is a unidirectional direction in which the route setting direction is set preferentially in relation to the other axis directions among a plurality of axis directions in which the control packet is received.
제 14 항에 있어서,
상기 (c) 단계는,
다른 라우팅 장치로부터 롤백된 상기 경로 설정 패킷이 경유하지 않은 우회 경로 상에서 상기 제 2 라우팅 장치를 결정하는 경우,
상기 경로 설정 패킷에 저장된 상기 경로 설정 패킷에 대한 롤백 처리가 시작된 라우팅 장치의 위치 정보 및 목적지 위치 정보에 기초하여, 현재 라우팅 장치보다 상기 롤백 처리가 시작된 라우팅 장치가 상기 목적지에 근접한지 여부를 판단하고,
상기 롤백 처리가 시작된 라우팅 장치가 상기 현재 라우팅 장치보다 상기 목적지에 근접한 경우, 상기 우선 경로 설정 진행 방향을 제외한 다른 축 방향으로 인접한 라우팅 장치를 상기 제 2 라우팅 장치로 결정하는 적응적 라우팅 방법.
15. The method of claim 14,
The step (c)
When the second routing apparatus is determined on the bypass path not passed by the routing packet rolled back from another routing apparatus,
It is determined whether or not the routing apparatus in which the rollback process is started is closer to the destination than the current routing apparatus, based on the location information and the destination location information of the routing apparatus in which the rollback processing for the routing packet stored in the routing packet is started ,
If the routing device in which the rollback process is started is closer to the destination than the current routing device, determines the other routing device in the other axial direction excluding the preferential path setting proceeding direction to be the second routing device.
삭제delete 제 11 항에 있어서,
상기 (b) 단계 이후에,
상기 유형을 판단한 결과 캔슬 패킷인 경우, 기설정된 지연 시간 산출 조건에 따라 지연 시간을 산출하는 단계; 및
상기 산출된 지연 시간이 경과한 후 상기 전기적 링크를 통해 사전에 경로 설정이 취소된 경로 설정 패킷을 재전송하는 단계를 더 포함하는 적응적 라우팅 방법.
12. The method of claim 11,
After the step (b)
Calculating a delay time according to a predetermined delay time calculation condition when the type is a cancel packet; And
And retransmitting a path setting packet that has been previously un-routed through the electrical link after the calculated delay time has elapsed.
제 11 항에 있어서,
상기 (e) 단계 이후에,
기설정된 출발지와 상기 목적지 간에 경로 설정이 완료되면, 출발지의 상기 PE가 광학적 링크를 통한 데이터의 전송을 시작하는 단계; 및
상기 출발지의 라우팅 장치가 설정이 완료된 경로 상의 상기 전기적 링크를 통해 경로 해제 시간 정보를 포함하는 경로 해제 패킷을 상기 목적지까지 전송하는 단계를 포함하되,
상기 경로 해제 시간 정보에 따른 경로 해제 시간은, 상기 목적지에 가까워 질수록 감소되는 적응적 라우팅 방법.
12. The method of claim 11,
After the step (e)
When the path setting between the predetermined start point and the destination is completed, starting the transmission of the data over the optical link by the PE at the start point; And
And transmitting a routing packet including routing time information to the destination via the electrical link on the path where the routing device of the origin is completed,
Wherein the path release time according to the path release time information is reduced as it approaches the destination.
제 18 항에 있어서,
상기 경로 해제 패킷을 상기 목적지까지 전송하는 단계는,
상기 데이터의 크기, 상기 광학적 링크의 대역폭 및 상기 전기적 링크의 주파수에 기초하여 상기 경로 해제 시간을 산출하는 단계;
상기 산출된 경로 해제 시간이 기설정된 경로 해제 시간의 최대 값보다 큰 경우, 상기 데이터의 전송이 시작된 후 상기 산출된 경로 해제 시간을 점차 감소시키는 단계; 및
상기 감소시킨 경로 해제 시간이 상기 경로 해제 시간의 최대 값과 같아지면, 상기 경로 해제 시간의 최대 값을 포함하는 상기 경로 해제 패킷을 상기 목적지까지 전송하는 단계를 포함하는 적응적 라우팅 방법.
19. The method of claim 18,
Wherein the step of transmitting the deassignment packet to the destination comprises:
Calculating the path-off time based on the size of the data, the bandwidth of the optical link, and the frequency of the electrical link;
Gradually decreasing the calculated path release time after transmission of the data starts if the calculated path release time is greater than a maximum value of the predetermined path release time; And
And transmitting the deassignment packet including the maximum value of the deassociation time to the destination when the deassigned deassociation time becomes equal to the maximum value of the deassignment time.
하이브리드 광학 네트워크 온 칩(Hybrid Optical Networks-on-Chip) 시스템에 있어서,
복수의 처리 소자(Processing Element, PE); 및
상기 PE 별로 매칭되며, 광학적 링크를 통해 상기 PE 간 데이터의 전송을 위한 서킷 스위칭을 처리하고, 전기적 링크를 통해 상기 PE 간 경로 설정을 위한 패킷 스위칭을 처리하는 복수의 라우팅 장치를 포함하되,
상기 라우팅 장치는,
상기 전기적 링크를 통해 경로 설정을 위한 컨트롤 패킷을 수신하여 기설정된 유형에 따라 분배하여 출력하고, 상기 컨트롤 패킷 중 경로 설정 패킷을 수신하면 기설정된 목적지를 향한 방향으로 인접한 다음 라우팅 장치를 결정하고, 상기 다음 라우팅 장치가 사용 불가능한 상태이면 상기 경로 설정 패킷이 입력된 이전 라우팅 장치로 상기 경로 설정 패킷을 롤백(rollback) 처리하고,
상기 목적지와 현재 라우팅 장치의 위치 비교를 통해 상기 현재 라우팅 장치가 상기 목적지인 것으로 판단되면, 연결된 PE의 사용 상태를 확인하여 상기 PE가 사용 불가능한 상태인 경우 기설정된 출발지로 상기 경로 설정 패킷에 의한 경로 설정을 취소하는 캔슬 패킷을 상기 전기적 링크를 통해 전송하되,
상기 이전 라우팅 장치로 롤백 처리된 상기 경로 설정 패킷은, 상기 이전 라우팅 장치가 재결정한 우회 경로 상의 다른 라우팅 장치로 전송되는 하이브리드 광학 네트워크 온 칩 시스템.
In a hybrid optical network-on-chip system,
A plurality of processing elements (PE); And
A plurality of routing devices that are matched by the PE and process circuit switching for transmission of data between the PEs through an optical link and process packet switching for routing between the PEs through an electrical link,
The routing apparatus includes:
A control packet for routing through the electrical link and distributing the control packet according to a predetermined type and outputting the control packet; and upon receiving a routing packet among the control packets, determining a next routing device adjacent to the predetermined destination, If the next routing device is unavailable, rolls back the routing packet to the previous routing device to which the routing packet is input,
If the current routing apparatus is determined to be the destination through comparison of the location of the current routing apparatus, the use state of the connected PE is checked and if the PE is unavailable, Transmitting a cancel packet canceling the setting through the electric link,
Wherein the routing packet rolled back to the previous routing device is transmitted to another routing device on the bypass path redirected by the previous routing device.
KR1020130093004A 2013-08-06 2013-08-06 Apparatus and method for adaptive routing of hybrid optical networks on chip and hybrid optical networks on chip system using the same KR101465498B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020130093004A KR101465498B1 (en) 2013-08-06 2013-08-06 Apparatus and method for adaptive routing of hybrid optical networks on chip and hybrid optical networks on chip system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020130093004A KR101465498B1 (en) 2013-08-06 2013-08-06 Apparatus and method for adaptive routing of hybrid optical networks on chip and hybrid optical networks on chip system using the same

Publications (1)

Publication Number Publication Date
KR101465498B1 true KR101465498B1 (en) 2014-11-26

Family

ID=52291680

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020130093004A KR101465498B1 (en) 2013-08-06 2013-08-06 Apparatus and method for adaptive routing of hybrid optical networks on chip and hybrid optical networks on chip system using the same

Country Status (1)

Country Link
KR (1) KR101465498B1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101766792B1 (en) * 2016-06-10 2017-08-23 성균관대학교산학협력단 Hybrid optical network-on-chip system, and method of data transmission and reception in hybrid optical network-on-chip system
US11245643B2 (en) 2020-05-20 2022-02-08 Tenstorrent Inc. Speculative resource allocation for routing on interconnect fabrics
US11817903B2 (en) 2020-08-06 2023-11-14 Celestial Ai Inc. Coherent photonic computing architectures
US11835777B2 (en) 2022-03-18 2023-12-05 Celestial Ai Inc. Optical multi-die interconnect bridge (OMIB)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130007063A (en) * 2011-06-28 2013-01-18 성균관대학교산학협력단 Hybrid optical networks-on-chip system and routing method thereof

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130007063A (en) * 2011-06-28 2013-01-18 성균관대학교산학협력단 Hybrid optical networks-on-chip system and routing method thereof

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
‘Hybrid Optical NoC’에서의 복귀 라우팅 알고리즘, 2012년 대한전자공학회 추계학술대회 논문집, 페이지 136-138, 2012년.*
'Hybrid Optical NoC'에서의 복귀 라우팅 알고리즘, 2012년 대한전자공학회 추계학술대회 논문집, 페이지 136-138, 2012년. *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101766792B1 (en) * 2016-06-10 2017-08-23 성균관대학교산학협력단 Hybrid optical network-on-chip system, and method of data transmission and reception in hybrid optical network-on-chip system
US11245643B2 (en) 2020-05-20 2022-02-08 Tenstorrent Inc. Speculative resource allocation for routing on interconnect fabrics
US11817903B2 (en) 2020-08-06 2023-11-14 Celestial Ai Inc. Coherent photonic computing architectures
US11835777B2 (en) 2022-03-18 2023-12-05 Celestial Ai Inc. Optical multi-die interconnect bridge (OMIB)

Similar Documents

Publication Publication Date Title
US10728094B2 (en) Control traffic in software defined networks
CN1973486B (en) Avoiding micro-loop upon failure of fast reroute protected links
US20190394068A1 (en) Flow entry generating method and apparatus
JP6144834B2 (en) Method for obtaining accurate flow entry by SDN switch, and SDN switch, controller, and system
CN110890994B (en) Method, device and system for determining message forwarding path
US8787257B2 (en) Network communication system, node device, routing method and routing program
KR101465498B1 (en) Apparatus and method for adaptive routing of hybrid optical networks on chip and hybrid optical networks on chip system using the same
JP2003008629A (en) Network device to find route for transmitting data packet
US8537827B2 (en) System and method for establishing a communication path using labels
CN108964745B (en) Data processing method, network architecture, electronic device and readable storage medium
US9736066B2 (en) Method, apparatus and system for establishing optical bypass
EP2879336B1 (en) Transfer apparatus, server, and route changing method
EP1905196A2 (en) Method and apparatus for updating label-switched paths
KR101658824B1 (en) Method, apparatus and computer program for updating flow rules of software defined network
CN112261681B (en) Low earth orbit satellite DTN network routing path selection method and system
US9729449B2 (en) Method and apparatus for enhanced routing within a shortest path based routed network containing local and long distance links
EP3099010B1 (en) Network path computation method, apparatus and system
CN105959239B (en) The communication means of three-dimensional network on mating plate
CN102420766B (en) Routing determination method and routing device
EP3020163B1 (en) Interworking between first protocol entity of stream reservation protocol and second protocol entity of routing protocol
US20090016277A1 (en) Mobile communication system, packet transfer device, and path re-establishing method
CN104579992A (en) Method and device for controlling network flow path
JP5598474B2 (en) Network design system, network design method, data transfer route determination method, network design program
CN105827322A (en) Wavelength allocation method and device
WO2011024702A1 (en) Network operation system, network operation method, and network operation program

Legal Events

Date Code Title Description
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20171027

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180917

Year of fee payment: 5