KR102419647B1 - 패킷을 전송하는 장치 및 방법 - Google Patents

패킷을 전송하는 장치 및 방법 Download PDF

Info

Publication number
KR102419647B1
KR102419647B1 KR1020150128568A KR20150128568A KR102419647B1 KR 102419647 B1 KR102419647 B1 KR 102419647B1 KR 1020150128568 A KR1020150128568 A KR 1020150128568A KR 20150128568 A KR20150128568 A KR 20150128568A KR 102419647 B1 KR102419647 B1 KR 102419647B1
Authority
KR
South Korea
Prior art keywords
network
packet
tree
tree network
network interface
Prior art date
Application number
KR1020150128568A
Other languages
English (en)
Other versions
KR20170030967A (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 KR1020150128568A priority Critical patent/KR102419647B1/ko
Priority to US15/132,663 priority patent/US10257076B2/en
Publication of KR20170030967A publication Critical patent/KR20170030967A/ko
Application granted granted Critical
Publication of KR102419647B1 publication Critical patent/KR102419647B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/20Hop count for routing purposes, e.g. TTL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/44Star or tree networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5691Access to open networks; Ingress point selection, e.g. ISP selection
    • H04L12/5692Selection among different networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/121Shortest path evaluation by minimising delays
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/122Shortest path evaluation by minimising distances, e.g. by selecting a route with minimum of number of hops
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/302Route determination based on requested QoS
    • H04L45/306Route determination based on the nature of the carried application
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5619Network Node Interface, e.g. tandem connections, transit switching
    • H04L2012/562Routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/109Integrated on microchip, e.g. switch-on-chip

Landscapes

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

Abstract

일 실시 예에 따른 다중 네트워크는 메쉬 네트워크; 트리 네트워크; 및 상기 메쉬 네트워크 및 상기 트리 네트워크와 연결되고, 출발점의 처리 유닛으로부터 발생한 패킷을 상기 메시 네트워크 또는 상기 트리 네트워크 중 어느 하나의 네트워크로 주입하여 도착점의 처리 유닛으로 전송하는 네트워크 인터페이스를 포함한다.

Description

패킷을 전송하는 장치 및 방법{APPARATUS AND METHOD FOR TRANSMITTING PACKETS}
패킷을 전송하는 장치 및 방법에 관한 것이다.
CPU, Processor와 같은 데이터 처리 장치들은 복수의 처리 유닛들을 포함할 수 있다. 네트워크는 복수의 처리 유닛들 사이에 패킷을 송수신하는 기능을 수행한다. 예를 들어, 네트워크는 메쉬 네트워크, 트리 네트워크 등이 있다.
메쉬 네트워크는 패킷의 처리량(throughput)이 높은 반면에, 지연 시간이 길다. 특히 메쉬 네트워크는 제로 부하에서의 지연 시간(zero-load latency)이 길어 전송해야할 패킷이 많지 않은 경우에 패킷의 처리 속도가 빠르지 않다.
트리 네트워크는 패킷의 처리량이 낮은 반면에, 특정 루트를 통해 전송되는 패킷의 경우 메쉬 네트워크보다 짧은 지연 시간을 갖는다.
처리 유닛들에서 발생한 패킷을 전송하는 방법 및 장치를 제공하는데 있다.
또한, 상기 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록 매체를 제공하는데 있다.
일 실시 예에 따른 다중 네트워크는 메쉬 네트워크; 트리 네트워크; 및 상기 메쉬 네트워크 및 상기 트리 네트워크와 연결되고, 출발점의 처리 유닛으로부터 발생한 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크 중 어느 하나의 네트워크로 주입하여 도착점의 처리 유닛으로 전송하는 네트워크 인터페이스를 포함한다.
또한, 상기 네트워크 인터페이스는 상기 패킷에 대한 상기 트리 네트워크에서의 홉 수와 상기 패킷에 대한 상기 메쉬 네트워크의 홉 수에 기초하여 상기 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크로 주입하는 것을 특징으로 한다.
또한, 상기 네트워크 인터페이스는 상기 패킷에 대한 상기 메쉬 네트워크의 홉 수에서 상기 패킷에 대한 상기 트리 네트워크에서의 홉 수의 차이를 나타내는 홉 수 이득을 계산하고, 상기 홉 수 이득이 임계값보다 큰 경우에 상기 패킷을 상기 트리 네트워크로 주입하는 것을 특징으로 한다.
또한,상기 네트워크 인터페이스는 상기 패킷의 지연 시간을 측정하고, 상기 지연 시간에 기초하여 상기 임계값을 업데이트하는 것을 특징으로 한다.
또한,상기 네트워크 인터페이스는 상기 패킷이 브로드캐스트 패킷인 경우 상기 트리 네트워크로 주입하는 것을 특징으로 한다.
또한, 상기 트리 네트워크는 하나 이상의 라우터들의 상태를 모니터링하고, 상기 모니터링에 기초하여 상기 트리 네트워크의 최하위 층의 라우터들의 필터링 비율을 업데이트하여 상기 트리 네트워크로 주입되는 패킷의 수를 조절하는 것을 특징으로 한다.
또한, 상기 트리 네트워크의 2번째 층의 라우터들은 자식 노드에서 부모 노드로 향하는 데이터 경로 및 부모 노드에서 자식 노드로 향하는 데이터 경로만을 포함하는 것을 특징으로 한다.
또한, 상기 트리 네트워크는 2개 이상의 루트 노드를 포함하는 것을 특징으로 한다.
또한, 상기 네트워크 인터페이스는 랜덤 방식이 아닌 정해진 기준에 따라 상기 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크로 주입하는 것을 특징으로 한다.
일 실시 예에 따른 패킷 전송 방법은 출발점의 처리 유닛으로부터 패킷을 수신하는 단계; 메쉬 네트워크 또는 트리 네트워크 중 상기 패킷을 주입할 네트워크를 결정하는 단계; 상기 결정에 기초하여 상기 메쉬 네트워크 또는 상기 트리 네트워크를 통해 상기 패킷을 도착점의 노드로 전송하는 단계; 및 상기 패킷을 도착점의 처리 장치로 출력하는 단계를 포함한다.
또한, 상기 네트워크를 결정하는 단계는 상기 패킷에 대한 상기 트리 네트워크에서의 홉 수와 상기 패킷에 대한 상기 메쉬 네트워크의 홉 수에 기초하여 상기 패킷을 주입할 네트워크를 결정하는 것을 특징으로 한다.
또한, 상기 네트워크를 결정하는 단계는 상기 패킷에 대한 상기 메쉬 네트워크의 홉 수에서 상기 패킷에 대한 상기 트리 네트워크에서의 홉 수의 차이를 나타내는 홉 수 이득을 계산하고, 상기 홉 수 이득이 임계값보다 큰 경우에 상기 트리 네트워크를 상기 패킷을 주입할 네트워크로 결정하는 것을 특징으로 한다.
또한, 상기 패킷의 지연 시간을 측정하고, 상기 지연 시간에 기초하여 상기 임계값을 업데이트하는 단계를 더 포함하는 것을 특징으로 한다.
또한, 상기 네트워크를 결정하는 단계는 상기 패킷이 브로드캐스트 패킷인 경우 상기 트리 네트워크를 상기 패킷을 주입할 네트워크로 결정하는 것을 특징으로 한다.
또한, 상기 트리 네트워크는 2번째 층의 라우터들의 상태를 모니터링하고, 상기 모니터링에 기초하여 상기 트리 네트워크의 최하위 층의 라우터들의 필터링 비율을 업데이트하여 상기 트리 네트워크로 주입되는 패킷의 수를 조절하는 것을 특징으로 한다.
또한, 상기 트리 네트워크의 2번째 층의 라우터들은 자식 노드에서 부모 노드로 향하는 데이터 경로 및 부모 노드에서 자식 노드로 향하는 데이터 경로만을 포함하는 것을 특징으로 한다.
또한, 상기 트리 네트워크는 2개 이상의 루트 노드를 포함하는 것을 특징으로 한다.
또한, 상기 네트워크를 결정하는 단계는 랜덤 방식이 아닌 정해진 기준에 따라 상기 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크로 주입하는 것을 특징으로 한다.
일 실시 예에 따른 다중 네트워크는 복수의 처리 유닛들을 포함하는 처리 장치; 상기 처리 유닛들을 연결하는 메쉬 네트워크; 상기 처리 유닛들을 연결하는 트리 네트워크; 및 상기 메쉬 네트워크 및 상기 트리 네트워크와 연결되고, 출발점의 처리 유닛으로부터 발생한 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크 중 어느 하나의 네트워크로 주입하여 도착점의 처리 유닛으로 전송하는 네트워크 인터페이스를 포함한다.
또한, 상기 다중 네트워크는 단일 칩(chip) 상에 구현된다.
또한, 상기 네트워크 인터페이스는 상기 패킷에 대한 상기 트리 네트워크에서의 홉 수와 상기 패킷에 대한 상기 메쉬 네트워크의 홉 수에 기초하여 상기 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크로 주입하는 것을 특징으로 한다.
또한, 상기 트리 네트워크는 2번째 층의 라우터들의 상태를 모니터링하고, 상기 모니터링에 기초하여 상기 트리 네트워크의 최하위 층의 라우터들의 필터링 비율을 업데이트하여 상기 트리 네트워크로 주입되는 패킷의 수를 조절하는 것을 특징으로 한다.
또한, 상기 트리 네트워크의 2번째 층의 라우터들은 자식 노드에서 부모 노드로 향하는 데이터 경로(data path)만을 포함하는 것을 특징으로 한다.
또한, 상기 네트워크 인터페이스는 랜덤 방식이 아닌 정해진 기준에 따라 상기 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크로 주입하는 것을 특징으로 한다.
트리 네트워크와 메쉬 네트워크에서의 홉 수의 차이를 계산하여, 패킷을 주입할 네트워크를 결정할 수 있다.
라우터의 버퍼 점유율을 모니터링하여 패킷을 주입할 네트워크를 결정할 수 있다.
브로드캐스팅 패킷의 경우 트리 네트워크를 통해 전송할 수 있다.
2 이상의 루트 라우터를 포함하는 트리 네트워크를 통해 패킷을 전송할 수 있다.
자식-부모 간의 데이터 경로(data path)만을 포함하는 라우터를 통해 패킷을 전송할 수 있다.
도 1은 일 실시 예에 따른 다중 네트워크를 설명하기 위한 구성도이다.
도 2는 일 실시 예에 따른 패킷 전송 방법을 설명하기 위한 순서도이다.
도 3은 일 실시예에 따른 다중 네트워크를 설명하기 위한 도면이다.
도 4는 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
도 5는 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
도 6은 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
도 7은 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
도 8은 일 실시 예에 따른 홉 수에 기초하여 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 도면이다.
도 9는 트리 네트워크에서 패킷이 전송되는 예들을 설명하기 위한 도면이다.
도 10은 자식-자식 사이의 데이터 경로를 제거한 라우터의 실시 예를 나타낸다.
도 11은 일 실시 예에 따른 라우터의 구조를 설명하기 위한 도면이다.
도 12는 일 실시 예에 따른 지연 시간을 모니터링하여 임계값을 업데이트하는 방법을 설명하기 위한 흐름도이다.
도 13은 일 실시 예에 따라 필터링 비율을 이용하여 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
도 14는 일 실시 예에 따른 네트워크 인터페이스가 필터링 비율을 업데이트 하는 방법을 설명하기 위한 흐름도이다.
도 15는 일 실시 예에 따른 복수의 루트 라우터를 포함하는 트리 네트워크를 설명하기 위한 도면이다.
도 16은 일 실시 예에 따른 라우터를 설명하기 위한 도면이다.
도 17은 일 실시 예에 따라 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
도 18은 일 실시 예에 따라 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
이하에서는 도면을 참조하여 실시 예들을 상세히 설명한다.
도 1은 일 실시 예에 따른 다중 네트워크를 설명하기 위한 구성도이다. 도 1을 참조하면, 다중 네트워크(100)는 메쉬 네트워크(mesh network, 110), 트리 네트워크(tree network, 120) 및 네트워크 인터페이스(network interface, 130)를 포함한다. 다중 네트워크(100)는 적어도 2 이상의 서로 다른 네트워크들을 포함할 수 있다. 이러한 다중 네트워크(100)는, 예를 들어 다수의 처리 유닛들을 포함하는 온 칩(on-chip) 처리 장치에 적용될 수 있다.
처리 장치(processing apparatus, 200)는 다중 네트워크(100)의 네트워크 인터페이스(130)와 연결되고, 다중 네트워크(100)를 통해 패킷을 전송한다. 처리 장치(200)는 복수의 처리 유닛(processing unit)들을 포함한다. 예를 들어, 처리 유닛은 연산기(arithmetic unit), 코어(core) 등일 수 있으며, 데이터를 처리하는 독립적인 유닛을 나타낸다.
처리 장치(200)는 데이터에 대한 연산을 수행하는 장치이고, 네트워크 인터페이스(130)를 통해 패킷을 송수신한다. 상세히 설명하면, 처리 장치(200)는 네트워크 인터페이스(130)를 통해 처리 유닛들 사이에 패킷을 전송할 수 있다.
메쉬 네트워크(110)는 복수의 라우터들을 포함하고, 라우터들은 그물망 형태로 연결될 수 있다. 각각의 라우터들은 네트워크 인터페이스(130)를 통해 각각의 처리 유닛들과 연결된다. 메쉬 네트워크(110)의 출발점의 라우터는 네트워크 인터페이스(130)를 통해 출발점의 처리 유닛으로부터 패킷을 수신하고, 도착점의 라우터로 패킷을 전송한다. 메쉬 네트워크(110)는 네트워크 인터페이스(130)를 통해 도착점의 처리 유닛으로 패킷을 출력한다. 출발점의 라우터는 처리 유닛으로부터 생성된 패킷을 수신하는 최초의 라우터를 나타내고, 도착점의 라우터는 패킷을 도착점의 처리 유닛으로 출력하는 최종 라우터를 나타낸다.
트리 네트워크(120)는 복수의 라우터들을 포함하고, 라우터들은 트리 형태로 연결된다. 예를 들어, 트리 네트워크(120)의 라우터들은 1번째 층 라우터(the first level router), 2번째 층 라우터(the second level router), 3번째 층 라우터(the third level router) 등을 포함할 수 있다. 1번째 층 라우터는 루트 노드(root node)를 나타내고, 3번째 층 라우터는 리프 노드(leaf node)를 나타낸다. 또한 상위 노드는 부모 노드(parent node)로 지칭하고, 하위 노드는 자식 노드(child node)로 지칭한다. 예를 들어, 1번째 층 라우터는 2번째 층 라우터의 부모 노드이다. 부모 노드는 4개의 자식 노드들과 연결될 수 있다.
네트워크 인터페이스(130)는 처리 장치(200)를 메쉬 네트워크(110) 및 트리 네트워크(120)와 연결한다. 네트워크 인터페이스(130)는 처리 장치(200)의 출발점의 처리 유닛으로부터 수신된 패킷을 처리 장치(200)의 도착점의 처리 유닛으로 전송한다.
네트워크 인터페이스(130)는 패킷을 어느 네트워크로 주입(inject)할지 결정한다. 네트워크 인터페이스(130)는 랜덤(random) 방식이 아니라 정해진 기준에 따라 패킷을 메쉬 네트워크(110) 또는 트리 네트워크(120)로 주입할 수 있다.
네트워크 인터페이스(130)는 패킷의 특성에 따라 패킷을 주입할 네트워크를 결정할 수 있다. 예를 들어, 패킷이 브로드캐스팅 패킷이면, 네트워크 인터페이스(130)는 패킷을 트리 네트워크(120)로 주입할 수 있다. 브로드캐스팅 패킷은 모든 처리 유닛들로 전송되는 패킷이다.
또한, 네트워크 인터페이스(130)는 네트워크의 상태에 따라 패킷을 주입할 네트워크를 결정할 수 있다. 예를 들어, 트리 네트워크(120)의 혼잡도가 증가한 경우, 네트워크 인터페이스(130)는 메쉬 네트워크(110)로 패킷을 주입할 수 있다. 반대로, 메쉬 네트워크(110)의 혼잡도가 증가하는 경우, 네트워크 인터페이스(130)는 트리 네트워크(120)로 패킷을 주입할 수 있다.
또한, 네트워크 인터페이스(130)는 출발점으로부터 도착점까지의 홉 수(hop-count)에 따라 패킷을 주입할 네트워크를 결정할 수 있다. 예를 들어, 네트워크 인터페이스(130)는 패킷이 메쉬 네트워크(110)를 통해 전송될 때 통과하는 라우터의 수(이하, 메쉬 네트워크의 홉 수, hop-count of mesh network)와 트리 네트워크(120)를 통해 전송될 때 통과하는 라우터의 수(이하 트리 네트워크의 홉 수, hop-count of tree network)를 비교하여 더 적은 수의 라우터를 통과하는 네트워크로 패킷을 주입할 수 있다. 또는, 네트워크 인터페이스(130)는 메쉬 네트워크(110)의 홉 수에서 트리 네트워크(120)의 홉 수의 차이를 통해 홉 수 이득(hop-count gain)을 계산하고, 홉 수 이득이 임계값(threshold)보다 크거나 같은 경우에는 패킷을 트리 네트워크(120)로 주입하고, 홉 수 이득이 임계값보다 작은 경우에는 패킷을 메쉬 네트워크로 주입할 수 있다.
또한, 네트워크 인터페이스(130)는 패킷이 트리 네트워크(120)의 루트 노드를 통과하는 경우에는 트리 네트워크(120)로 패킷을 주입하고, 그렇지 않으면 메쉬 네트워크(110)로 주입할 수 있다.
도 2는 일 실시 예에 따른 패킷 전송 방법을 설명하기 위한 순서도이다. 도 2를 참조하면, 다중 네트워크(100)는 메쉬 네트워크(110) 또는 트리 네트워크(120)를 통해 패킷을 도착점의 처리 유닛으로 전송할 수 있다.
단계 210에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다. 네트워크 인터페이스(130)는 각각의 처리 유닛들과 연결되며, 각각의 처리 유닛들에 의해 생성된 패킷을 수신한다. 출발점의 처리 유닛은 패킷을 생성하여 다른 처리 유닛으로 패킷을 전송하고자 하는 처리 유닛을 나타낸다.
단계 220에서, 네트워크 인터페이스(130)는 메쉬 네트워크(110) 또는 트리 네트워크(120) 중 패킷을 주입할 네트워크를 결정한다. 예를 들어, 네트워크 인터페이스(130)는 패킷이 수신되면, 패킷의 특성, 네트워크의 상태, 도착점의 위치 등에 기초하여 랜덤 방식이 아닌 정해진 기준에 따라 패킷을 주입할 네트워크를 결정한다.
단계 230에서, 다중 네트워크(100)는 메쉬 네트워크(110) 또는 트리 네트워크(120)를 통해 패킷을 도착점의 노드로 전송한다. 단계 220에서 패킷을 주입할 네트워크가 결정되면, 패킷은 결정된 네트워크에 주입된다. 패킷이 주입된 네트워크는 도착점의 노드로 패킷을 전송한다. 예를 들어, 패킷이 메쉬 네트워크(110)로 주입되면, 메쉬 네트워크(110)는 라우터들을 통해 패킷을 도착점의 라우터로 패킷을 전송한다.
단계 240에서, 다중 네트워크(100)는 패킷을 도착점의 처리 유닛으로 출력한다. 메쉬 네트워크(110) 또는 트리 네트워크(120)는 도착점의 노드에 전송된 패킷을 네트워크 인터페이스(130)로 출력하고, 네트워크 인터페이스(130)는 패킷을 도착점의 처리 유닛으로 출력한다.
도 3은 일 실시예에 따른 다중 네트워크를 설명하기 위한 도면이다. 도 3을 참조하면, 다중 네트워크(100)는 메쉬 네트워크(110) 또는 트리 네트워크(120) 중 어느 하나를 이용하여 패킷을 전송할 수 있다. 도 3에서는 처리 유닛(210)에서 생성된 패킷을 처리 유닛(220)으로 전송하는 다중 네트워크(100)의 동작을 설명한다.
처리 유닛(210)은 패킷을 생성하여 네트워크 인터페이스(130)으로 출력한다. 패킷의 도착점은 처리 유닛(220)이다.
네트워크 인터페이스(130)은 패킷을 트리 네트워크(120) 또는 메쉬 네트워크(110) 중 어느 네트워크로 주입할지를 결정한다. 네트워크 인터페이스(130)는 패킷이 수신되면, 패킷의 특성, 네트워크의 상태, 도착점의 위치 등에 기초하여 랜덤 방식이 아닌 정해진 기준에 따라 패킷을 주입할 네트워크를 결정한다. 예를 들어, 도 3의 경우, 메쉬 네트워크(110)의 홉 수는 15이고, 트리 네트워크(120)의 홉 수는 5이므로, 홉 수 이득은 10이다. 트리 네트워크(120)의 홉 수가 메쉬 네트워크(110)의 홉 수보다 적으므로, 네트워크 인터페이스(130)은 패킷을 트리 네트워크(120)로 주입할 수 있다.
만약, 네트워크 인터페이스(130)가 메쉬 네트워크(110)로 패킷을 주입하면, 출발점의 라우터(111)가 패킷을 수신한다. 메쉬 네트워크(110)는 출발점의 라우터(111)로부터 도착점의 라우터(112)로 패킷을 전송한다.
만약, 네트워크 인터페이스(130)가 트리 네트워크(120)로 패킷을 주입하면, 출발점의 라우터(121)가 패킷을 수신한다. 트리 네트워크(120)는 출발점의 라우터(121)로부터 도착점의 라우터(122)로 패킷을 전송한다.
도착점의 라우터(112) 또는 라우터(122)는 패킷을 네트워크 인터페이스(130)으로 출력하고, 네트워크 인터페이스(130)은 패킷을 도착점의 처리 유닛(220)으로 출력한다.
도 4는 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다. 도 4를 참조하면, 네트워크 인터페이스(130)는 패킷의 특성에 기초하여 패킷을 주입할 네트워크를 결정할 수 있다.
단계 410에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다.
단계 420에서, 네트워크 인터페이스(130)는 패킷이 브로드캐스팅 패킷인지 확인한다. 만약, 패킷이 브로드캐스팅 패킷이면 단계 430으로 진행하고, 그렇지 않으면 단계 440으로 진행한다. 브로드캐스팅 패킷은 모든 처리 유닛들로 전송되어야 하므로, 트리 네트워크(120)를 통해 패킷을 전송하는 것이 효율적이다.
단계 430에서, 네트워크 인터페이스(130)는 패킷을 트리 네트워크(120)로 주입한다.
단계 440에서, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입한다.
도 5는 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다. 도 5를 참조하면, 네트워크 인터페이스(130)는 패킷이 루트 라우터를 통과하는지 여부에 기초하여 패킷을 주입할 네트워크를 결정할 수 있다.
단계 510에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다.
단계 520에서, 네트워크 인터페이스(130)는 패킷이 트리 네트워크(130)의 루트 라우터를 통과하는지를 확인한다. 루트 라우터는 트리 네트워크(120)의 최상위 층의 노드를 나타낸다. 패킷이 루트 라우터를 통과하는지는 패킷의 출발점의 노드 및 도착점의 노드의 위치에 따라 결정된다. 만약, 패킷이 루트 라우터를 통과하면 단계 530으로 진행하고, 그렇지 않으면 단계 540으로 진행한다. 패킷이 루트 라우터를 통과하는 패킷이면, 패킷을 트리 네트워크(120)를 통해 전송하는 것이 효율적이다.
단계 530에서, 네트워크 인터페이스(130)는 패킷을 트리 네트워크(120)로 주입한다.
단계 540에서, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입한다. 패킷이 트리 네트워크(120)의 루트 라우터를 통과하지 않으면, 메쉬 네트워크(110)를 통해 전송하는 것이 효율적이므로, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입한다.
도 6은 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다. 도 6을 참조하면, 네트워크 인터페이스(130)는 홉 수 이득에 기초하여 패킷을 주입할 네트워크를 결정할 수 있다.
단계 610에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다.
단계 620에서, 네트워크 인터페이스(130)는 메쉬 네트워크(110) 및 트리 네트워크(120)에서의 홉 수를 카운트한다. 네트워크 인터페이스(130)는 출발점의 노드에서 도착점의 노드까지 패킷이 통과하는 라우터의 수를 카운트한다. 네트워크 인터페이스(130)는 메쉬 네트워크(110)의 홉 수에서 트리 네트워크(120)의 홉 수를 빼서 홉 수 이득을 계산할 수 있다.
단계 630에서, 네트워크 인터페이스(130)는 홉 수 이득이 임계값보다 큰지를 판단한다. 만약, 홉 수 이득이 임계값보다 크면 단계 640으로 진행하고, 그렇지 않으면 단계 650으로 진행한다.
단계 640에서, 네트워크 인터페이스(130)는 패킷을 트리 네트워크(120)로 주입한다.
단계 650에서, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입한다.
도 4 내지 도 6에 도시된 방법들은 각각 사용되거나, 2개 이상이 함께 사용될 수 있다. 도 7은 도 4 내지 도 6의 방법들이 모두 사용된 경우를 나타낸다.
도 7은 일 실시 예에 따른 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다. 도 7을 참조하면, 네트워크 인터페이스(130)는 도 4 내지 도 6에서 설명된 기준에 따라 패킷을 주입할 네트워크를 결정할 수 있다.
단계 710에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다.
단계 720에서, 네트워크 인터페이스(130)는 패킷이 브로드캐스팅 패킷인지 확인한다. 만약, 패킷이 브로드캐스팅 패킷이면 단계 760으로 진행하고, 그렇지 않으면 단계 730으로 진행한다.
단계 730에서, 네트워크 인터페이스(130)는 패킷이 트리 네트워크(120)의 루트 라우터를 통과하는지를 판단한다. 루트 라우터는 트리 네트워크(120)의 최상위 층의 노드를 나타낸다. 패킷이 루트 라우터를 통과하는지는 패킷의 출발점의 노드 및 도착점의 노드의 위치에 따라 결정된다. 만약, 패킷이 루트 라우터를 통과하면 단계 760으로 진행하고, 그렇지 않으면 단계 740으로 진행한다.
단계 740에서, 네트워크 인터페이스(130)는 메쉬 네트워크(110) 및 트리 네트워크(120)에서의 홉 수를 카운트한다. 네트워크 인터페이스(130)는 출발점의 노드에서 도착점의 노드까지 패킷이 통과하는 라우터의 수를 카운트한다. 네트워크 인터페이스(130)는 메쉬 네트워크(110)의 홉 수에서 트리 네트워크(120)의 홉 수를 빼서 홉 수 이득을 계산할 수 있다.
단계 750에서, 네트워크 인터페이스(130)는 홉 수 이득이 임계값보다 큰지를 판단한다. 만약, 홉 수 이득이 임계값보다 크면 단계 760으로 진행하고, 그렇지 않으면 단계 770으로 진행한다. 임계값은 트리 네트워크(120) 및 메쉬 네트워크(110)의 혼잡도에 따라 업데이트 될 수 있다. 예를 들어, 트리 네트워크(120)를 통해 전송된 패킷의 지연 시간이 증가하면, 네트워크 인터페이스(130)는 임계값을 증가시켜서 트리 네트워크(120)로 주입되는 패킷의 수를 감소시킬 수 있다. 반대로, 트리 네트워크(120)를 통해 전송된 패킷의 지연 시간이 감소하면, 네트워크 인터페이스(130)는 임계값을 감소시켜서 트리 네트워크(120)로 주입되는 패킷의 수를 증가시킬 수 있다.
또 다른 예로, 트리 네트워크(120)의 버퍼의 점유율이 증가하면, 네트워크 인터페이스(130)는 임계값을 증가시켜서 트리 네트워크(120)로 주입되는 패킷의 수를 감소시킬 수 있다. 반대로, 트리 네트워크(120)의 버퍼의 점유율이 감소하면, 네트워크 인터페이스(130)는 임계값을 감소시켜서 트리 네트워크(120)로 주입되는 패킷의 수를 증가시킬 수 있다.
단계 760에서, 네트워크 인터페이스(130)는 패킷을 트리 네트워크(120)로 주입한다.
단계 770에서, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입한다.
도 8은 일 실시 예에 따른 홉 수에 기초하여 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 도면이다.
제1 테이블(810)은 출발점(S)으로부터 다른 노드들까지에 대한 메쉬 네트워크(110)의 홉 수를 나타낸다. 메쉬 네트워크(110)의 홉 수는 맨하탄 거리(Manhattan distance)에 비례한다. 따라서, 출발점(S)에서 가장 인접한 노드라도, 2개의 라우터들을 통과해야 하므로, 가장 작은 홉 수는 2이다. 또한, 가장 먼 노드의 경우 홉 수가 12이다.
제2 테이블(820)은 출발점(S)로부터 다른 노드들까지에 대한 트리 네트워크(120)의 홉 수를 나타낸다. 트리 네트워크(120)의 경우, 상위 라우터를 통과하는지에 따라 홉 수가 결정된다. 따라서, 출발점(S)의 노드와 동일한 상위 라우터를 공유하는 노드들은 홉 수가 1이다. 또한, 출발점(S)의 노드와 동일한 2번째 층의 라우터(821)를 공유하는 노드들은 홉 수가 모두 3이다. 또한, 루트 노드를 통과해야 하는 노드들은 홉 수가 모두 5이다.
제3 테이블(830)은 홉 수 이득을 나타낸다. 네트워크 인터페이스(130)는 메쉬 네트워크(110)의 홉 수에서 트리 네트워크(120)의 홉 수를 빼서 홉 수 이득을 계산할 수 있다. 네트워크 인터페이스(130)는 홉 수 이득이 임계값보다 크거나 같은 경우에는 패킷을 트리 네트워크(120)로 주입하고, 홉 수 이득이 임계값보다 작은 경우에는 패킷을 메쉬 네트워크(110)로 주입한다.
예를 들어, 제3 테이블(830)은 임계값을 1로 설정한 경우를 도시한다. 따라서, 진하게 표시된 숫자들(1보다 작은 숫자들)은 메쉬 네트워크(110)를 통해 패킷이 전달되는 도착점의 노드들을 나타내고, 연하게 표시된 숫자들(1보다 크거나 같은 숫자들)은 트리 네트워크(120)를 통해 패킷이 전달되는 도착점의 노드들을 나타낸다.
도 9는 트리 네트워크에서 패킷이 전송되는 예들을 설명하기 위한 도면이다.
제1 경로(910)는 패킷이 루트 라우터를 통과하는 경우를 나타낸다. 출발점의 노드와 도착점의 노드가 대각선의 위치에 있으므로, 패킷은 반드시 루트 라우터를 통과해야 한다.
제2 경로(920)는 패킷이 2번째 층의 라우터를 통과하는 경우를 나타내고, 제3 경로(930)는 패킷이 3번째 층의 라우터를 통과하는 경우를 나타낸다. 제2 경로(920) 및 제3 경로(930)의 경우, 제1 경로(910)와 달리 패킷이 루트 라우터를 통과하지 않기 때문에, 트리 네트워크(120)를 통해 패킷을 전송하는 홉 수 이득이 크지 않다.
만약, 네트워크 인터페이스(130)가 제1 경로(910)과 같이 루트 라우터를 통하는 경우에만 트리 네트워크(120)로 패킷을 주입한다면, 2번째 층의 라우터 및 3번째 층의 라우터의 크로스바(crossbar)의 경우 부모-자식 사이의 데이터 경로 및 자식-부모 사이의 데이터 경로를 통해서만 패킷이 이동하게 된다. 따라서, 2번째 층의 라우터 및 3번째 층의 라우터의 크로스바의 자식-자식 사이의 데이터 경로는 필요하지 않게 된다. 네트워크 인터페이스(130)가 제1 경로(910)과 같이 루트 라우터를 통하는 경우에만 트리 네트워크(120)로 패킷을 주입한다면, 루트 노드의 라우터를 제외한 라우터들은 부모-자식 사이의 데이터 경로 및 자식-부모 사이의 데이터 경로만을 포함하는 크로스바로 구현될 수 있다.
도 10은 자식-자식 사이의 데이터 경로를 제거한 라우터의 실시 예를 나타낸다. 도 5에서 설명한 바와 같이, 트리 네트워크(120)를 통해 패킷을 전송하는 경우, 루트 라우터를 제외한 라우터들의 크로스바는 자식-자식 사이의 데이터 경로는 필요하지 않다. 따라서, 도 10에 도시된 바와 같이, 2개의 크로스바들을 이용하여 패킷을 전송할 수 있다.
도 10을 참조하면, 라우터(1000)는 제1 크로스바(1010) 및 제2 크로스바(1020)를 포함한다. 도 10의 라우터(1000)는 2번째 층의 라우터의 일 예이다. 제1 크로스바(1010) 및 제2 크로스바(1020)는 자식-자식 사이의 데이터 경로는 포함하지 않는다. 따라서, 기존 라우터에 비하여 라우터(1000)은 면적을 적게 차지하고, 더 적은 전력을 소모한다.
제1 크로스바(1010)는 루트 노드로부터 자식 노드들로 패킷을 전송하고, 제2 크로스바(1020)는 자식 노드들로부터 루트 노드로 패킷을 전송한다. 제1 크로스바(1010)는 선택기(selector)로서 동작하며, 루트 노드로부터 수신된 패킷은 4개의 자식 노드들 중 어느 하나로 전송된다. 제2 크로스바(1020)는 먹스(Mux)로서 동작하고, 4개의 자식 노드들로부터 수신된 패킷은 1개의 루트 노드로 전송된다.
3번째 층의 라우터도 라우터(1000)과 같은 구조일 수 있다. 3번째 층의 라우터도 제1 크로스바(1010) 및 제2 크로스바(1020)을 포함할 수 있다. 3번째 층의 라우터의 제1 크로스바(1010)는 2번째 층의 라우터로부터 자식 노드들로 패킷을 전송하고, 제2 크로스바(1020)는 자식 노드들로부터 2번째 층의 라우터로 패킷을 전송한다.
도 11은 일 실시 예에 따른 라우터의 구조를 설명하기 위한 도면이다. 도 11을 참조하면, 라우터(1100)는 버퍼들(1110), 제어부(1120) 및 크로스바(1130)를 포함한다. 버퍼들(1110)은 라우터로 수신된 패킷을 저장한다.
제어부(1120)는 버퍼들(1110) 및 크로스바(1130)를 제어한다. 제어부(1120)는 버퍼들(1110)의 점유율을 모니터링하고, 모니터링의 결과를 네트워크 인터페이스(130)로 전송할 수 있다. 예를 들어, 제어부(1120)는 버퍼들(1110)에 저장된 패킷의 수를 카운트하고, 패킷의 수를 네트워크 인터페이스(130)로 전송할 수 있다. 네트워크 인터페이스(130)는 제어부(1120)로부터 수신된 점유율 또는 패킷의 수에 기초하여 필터링 비율을 업데이트 할 수 있다.
도 12는 일 실시 예에 따른 지연 시간을 모니터링하여 임계값을 업데이트하는 방법을 설명하기 위한 흐름도이다. 네트워크 인터페이스(130)는 패킷이 전송되는데 걸린 지연 시간을 모니터링하고, 모니터링의 결과에 기초하여 홉 수 이득에 대한 임계값을 업데이트 할 수 있다. 따라서, 도 12에 도시된 방법은 도 6 또는 7에 도시된 방법과 함께 사용될 수 있다. 다시 말해, 도 12에 도시된 방법은 홉 수 이득을 사용하는 방법과 함께 사용될 수 있다. 예를 들어, 도 12에 도시된 방법은 도 4의 방법과 도 6의 방법이 함께 적용되는 방법과 사용되거나, 도 5의 방법과 도 6의 방법이 함께 적용되는 방법과 사용될 수 있다.
단계 1210에서, 네트워크 인터페이스(130)는 도착점의 노드로부터 패킷을 수신한다.
단계 1220에서, 네트워크 인터페이스(130)는 패킷의 지연 시간을 계산한다. 네트워크 인터페이스(130)는 패킷을 출발점의 노드에 주입할 때의 시간과 패킷을 도착점의 노드로부터 수신할 때의 시간의 차이를 통해 지연 시간을 계산할 수 있다.
단계 1230에서, 네트워크 인터페이스(130)는 지연 시간이 A보다 큰지를 판단한다. A는 트리 네트워크(120)의 제로 부하에서의 지연 시간(zero-load latency)에 기초하여 결정될 수 있으며, 트리 네트워크(120)에 많은 수의 패킷이 주입되어 패킷의 전송이 지연되고 있음을 나타내는 기준 시간이다. 지연 시간이 A보다 크면 단계 1260으로 진행하고, 그렇지 않으면 단계 1240으로 진행한다.
단계 1240에서, 네트워크 인터페이스(130)는 지연 시간이 B보다 작은지를 판단한다. B도 역시 제로 부하에서의 지연 시간에 기초하여 결정될 수 있으며, 트리 네트워크(120)에 주입된 패킷의 수가 적어 패킷의 전송이 원할 하게 이루어질 수 있음을 나타내는 기준 시간이다. 지연 시간이 B보다 작으면 단계 1270으로 진행하고, 그렇지 않으면 단계 1250으로 진행한다.
단계 1250에서, 네트워크 인터페이스(130)는 도착점의 노드로부터 수신된 패킷을 도착점의 처리 유닛으로 출력한다.
단계 1260에서, 네트워크 인터페이스(130)는 임계값을 1 증가시킨다. 지연 시간이 A보다 크면, 현재 트리 네트워크(120)가 혼잡하다는 것을 나타내기 때문에, 트리 네트워크(120)에 주입하는 패킷의 수를 줄이기 위해 임계값을 증가시킨다. 네트워크 인터페이스(130)는 홉 수 이득이 임계값보다 큰 경우에 트리 네트워크(120)로 패킷을 주입하기 때문에, 임계값이 증가할수록 트리 네트워크(120)에 주입되는 패킷의 수는 감소할 수 있다.
단계 1270에서, 네트워크 인터페이스(130)는 네트워크 인터페이스(130)는 임계값을 1 감소시킨다. 지연 시간이 B보다 작으면, 현재 트리 네트워크(120)가 혼잡하지 않다는 것을 나타내기 때문에, 트리 네트워크(120)에 주입하는 패킷의 수를 늘리기 위해 임계값을 감소시킨다. 네트워크 인터페이스(130)는 홉 수 이득이 임계값보다 큰 경우에 트리 네트워크(120)로 패킷을 주입하기 때문에, 임계값이 감소할수록 트리 네트워크(120)에 주입되는 패킷의 수는 증가할 수 있다.
도 13은 일 실시 예에 따라 필터링 비율을 이용하여 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다. 도 13을 참조하면, 다중 네트워크(100)는 필터링 비율을 모니터링하여, 트리 네트워크(120)로 주입하는 패킷의 수를 제어할 수 있다. 또한, 도 13의 방법은 도 4 내지 도 6의 방법 중 적어도 하나의 방법과 함께 사용될 수 있다.
단계 1310에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다.
단계 1320에서, 네트워크 인터페이스(130)는 수신된 패킷의 수와 필터링 비율이 같은지를 판단한다. 수신된 패킷의 수와 필터링 비율이 같으면 단계 1330으로 진행하고, 그렇지 않으면 1340으로 진행한다. 따라서, 네트워크 인터페이스(130)는 필터링 비율과 수신된 패킷의 수가 같을 때 패킷을 트리 네트워크(120)로 주입하고, 필터링 비율보다 수신된 패킷의 수가 적을 때 패킷을 메쉬 네트워크(110)로 주입한다.
필터링 비율은 1부터 N까지 자연수일 수 있다. 필터링 비율은 트리 네트워크(120)의 혼잡도에 따라 업데이트될 수 있다. 예를 들어, 트리 네트워크(120)의 혼잡도가 증가하면, 네트워크 인터페이스(130)는 트리 네트워크(120)의 필터링 비율을 증가 시키고, 트리 네트워크(120)의 혼잡도가 감소하면, 네트워크 인터페이스(130)는 필터링 비율을 감소시킬 수 있다.
네트워크 인터페이스(130)는 트리 네트워크(120)에 포함된 버퍼들의 점유율을 모니터링하고, 모니터링 결과에 기초하여 필터링 비율을 업데이트할 수 있다. 다시 말해서, 네트워크 인터페이스(130)는 버퍼들의 점유율을 통해 트리 네트워크(120)의 혼잡도를 결정하고, 혼잡도에 따라 필터링 비율을 업데이트할 수 있다. 트리 네트워크(120)에 포함된 버퍼들의 점유율이 높다는 것은 트리 네트워크(120)의 혼잡도가 높다는 것을 나타낼 수 있다.
네트워크 인터페이스(130)가 필터링 비율을 업데이트하는 방법은 도 14를 통해 상세히 설명한다.
수신된 패킷의 수와 필터링 비율이 같다는 것은 네트워크 인터페이스(130)가 제1 처리 유닛으로부터 필터링 비율과 동일한 수의 패킷을 수신하였다는 것을 의미한다. 예를 들어, 필터링 비율이 1이면, 네트워크 인터페이스(130)는 제1 처리 유닛으로부터 패킷이 수신될 때마다 수신된 패킷의 수와 필터링 비율이 같다고 판단하고, 필터링 비율이 3이면, 네트워크 인터페이스(130)는 제1 처리 유닛으로부터 3의 배수의 패킷이 수신될 때마다 수신된 패킷의 수와 필터링 비율이 같다고 판단한다.
필터링 비율이 3인 경우, 제1 처리 유닛으로부터 수신되는 첫 번째, 두 번째 패킷은 메쉬 네트워크(110)로 주입되고, 세 번째 패킷은 트리 네트워크(120)로 주입된다. 또한, 네 번째, 다섯 번째 패킷은 메쉬 네트워크(110)로 주입되고, 여섯 번째 패킷은 트리 네트워크(120)로 주입된다.
각각의 처리 유닛마다 생성되는 패킷의 수는 상이하다. 따라서, 각각의 처리 유닛과 연결된 네트워크 인터페이스(130)는 수신된 패킷의 수와 필터링 비율이 같은지 여부를 개별적으로 판단한다.
단계 1330에서, 네트워크 인터페이스(130)는 수신된 패킷을 트리 네트워크(120)로 주입한다. 수신된 패킷의 수와 필터링 비율이 같을 때만 패킷을 트리 네트워크(120)로 주입하므로, 네트워크 인터페이스(130)는 트리 네트워크(120)로 주입되는 패킷의 수를 제어할 수 있다.
단계 1340에서, 네트워크 인터페이스(130)는 수신된 패킷을 메쉬 네트워크(110)로 주입한다. 수신된 패킷의 수가 필터링 비율보다 작은 경우, 트리 네트워크(120)에서 전송 중인 패킷의 수가 많으므로, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입하여 트리 네트워크(120)의 혼잡도를 감소시킬 수 있다.
도 14는 일 실시 예에 따른 네트워크 인터페이스가 필터링 비율을 업데이트 하는 방법을 설명하기 위한 흐름도이다.
단계 1410에서, 네트워크 인터페이스(130)는 트리 네트워크(120)로부터 버퍼 점유율을 수신한다. 예를 들어, 네트워크 인터페이스(130)는 트리 네트워크(120)로부터 도 11의 버퍼(1110)에 저장된 패킷의 수를 수신할 수 있다. 또한, 네트워크 인터페이스(130)는 2번째 층의 라우터(1100)의 버퍼 점유율을 수신할 수 있다. 트리 네트워크(120)로 전송되는 패킷은 루트 라우터를 통과할 가능성이 높으므로, 2번째 층의 라우터(1100)의 혼잡도가 가장 크다. 따라서, 네트워크 인터페이스(130)는 2번째 층의 라우터(1100)의 버퍼 점유율에 기초하여 필터링 비율을 업데이트할 수 있다.
단계 1420에서, 네트워크 인터페이스(130)는 버퍼 점유율이 C보다 큰지 판단한다. 만약, 버퍼 점유율이 C보다 크면 단계 1450으로 진행하고, 그렇지 않으면 단계 1430으로 진행한다. 버퍼 점유율이 C보다 크면, 현재 트리 네트워크(120)의 혼잡도가 높으므로, 트리 네트워크(120)에 주입되는 패킷의 수를 줄일 필요가 있다. 따라서, 네트워크 인터페이스(130)는 버퍼 점유율을 증가시킬 수 있다.
단계 1430에서, 네트워크 인터페이스(130)는 버퍼 점유율이 D보다 작은지 판단한다. 만약, 버퍼 점유율이 D보다 작으면, 현재 트리 네트워크(120)에서 전송되는 패킷의 수가 적다는 것을 의미하므로, 트리 네트워크(120)에 주입되는 패킷의 수를 늘일 필요가 있다. 따라서, 네트워크 인터페이스(130)는 버퍼 점유율을 감소시킬 수 있다.
단계 1440에서, 네트워크 인터페이스(130)는 필터링 비율을 유지한다.
단계 1450에서, 네트워크 인터페이스(130)는 필터링 비율을 2배로 증가시킨다. 트리 네트워크(120)의 버퍼 점유율이 제1 임계값(C)보다 높기 때문에 네트워크 인터페이스(130)는 필터링 비율을 증가시켜 트리 네트워크(120)로 주입되는 패킷의 수를 감소시킨다.
단계 1460에서, 네트워크 인터페이스(130)는 필터링 비율을 1/2로 감소시킨다. 트리 네트워크(120)의 버퍼 점유율이 제2 임계값(D)보다 작기 때문에 네트워크 인터페이스(130)는 필터링 비율을 감소시켜 트리 네트워크(120)로 주입되는 패킷의 수를 증가시킨다.
도 15는 일 실시 예에 따른 복수의 루트 라우터를 포함하는 트리 네트워크를 설명하기 위한 도면이다. 도 15를 참조하면, 트리 네트워크(1500)는 2개의 루트 라우터들(1510, 1520)을 포함한다. 각각의 루트 라우터들(1510, 1520)은 4개의 2번째 층의 라우터들(1501 내지 1504)과 연결되어 패킷을 송수신할 수 있다. 도 15의 방법은 도 4 내지 도 6의 방법 중 적어도 하나의 방법과 함께 사용될 수 있다.
2번째 층의 라우터들(1501 내지 1504)은 2개의 루트 라우터들(1510, 1520) 중 어느 하나로 패킷을 전송할 수 있다. 예를 들어, 2번째 층의 라우터들(1501 내지 1504)은 2개의 루트 라우터들(1510, 1520)에 한번씩 패킷을 전송할 수 있다. 또한, 2번째 층의 라우터들(1501 내지 1504)은 2개의 루트 라우터들(1510, 1520)의 버퍼 점유율에 기초하여 패킷을 전송할 루트 라우터를 결정할 수도 있다.
트리 네트워크(1500)로 주입되는 패킷의 경우 루트 라우터를 통과할 가능성이 높기 때문에, 루트 라우터들(1510, 1520)을 구현하여 전체 트리 네트워크(1500)의 처리량을 2배로 증가시킬 수 있다.
도 15에서는 트리 네트워크(1500)가 2개의 루트 라우터들(1510, 1520)을 포함하는 경우를 도시하였으나, 트리 네트워크(1500)는 2개 이상의 루트 라우터들을 포함할 수 있다.
도 16은 일 실시 예에 따른 라우터를 설명하기 위한 도면이다. 도 16을 참조하면, 라우터(1600)는 도 15의 루트 라우터들(1510, 1520)과 연결된 2번째 층의 라우터 중 하나를 나타낸다. 라우터(1600)는 2개의 루트 라우터들(1510, 1520)과 연결되고, 2개의 입력 단자들 및 2개의 출력 단자들을 포함한다.
도 10에서 설명한 바와 같이, 도 10에서 2번째 층의 라우터(1000)는 자식-자식 사이의 데이터 경로는 포함하지 않는다. 따라서, 도 16에서 라우터(1600)도 자식-부모 사이의 데이터 경로 및 부모-자식 사이의 데이터 경로만을 포함한다. 다만, 라우터(1600)는 2개의 루트 라우터들(1510, 1520)과 연결되기 때문에, 라우터(1600)는 2개의 입력 단자들과 2개의 출력 단자들을 포함한다.
라우터(1600)는 2개의 루트 라우터들(1510, 1520)로부터 패킷을 수신하거나, 2개의 루트 라우터들(1510, 1520)로 패킷을 출력하는 크로스바들(1610, 1620)를 포함한다. 라우터(1600)는 2개의 루트 라우터들(1510, 1520)로부터 수신된 패킷을 4개의 2번째 층의 라우터들 중 하나로 출력하는 크로스바(1610)을 포함한다. 또한, 라우터(1600)는 4개의 2번째 층의 라우터들로부터 수신된 패킷을 2개의 루트 라우터들(1510, 1520) 중 하나로 출력하는 크로스바(1620)를 포함한다. 다시 말해서, 크로스바(1610)은 선택기이고, 크로스바(1620)은 먹스(MUX)이다.
도 17은 일 실시 예에 따라 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
단계 1710에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다.
단계 1720에서, 네트워크 인터페이스(130)는 수신된 패킷이 브로드캐스팅 패킷인지를 판단한다. 만약, 수신된 패킷이 브로드캐스팅 패킷이면 단계 1760으로 진행하고, 그렇지 않으면 단계 1730으로 진행한다.
단계 1730에서, 네트워크 인터페이스(130)는 네트워크 인터페이스(130)는 메쉬 네트워크(110) 및 트리 네트워크(120)의 홉 수를 카운트하여 홉 수 이득을 계산한다.
단계 1740에서, 네트워크 인터페이스(130)는 홉 수 이득이 임계값보다 큰지를 판단한다. 홉 수 이득이 임계값보다 크면 단계 1750으로 진행하고, 그렇지 않으면 단계 1770으로 진행한다.
단계 1750에서, 네트워크 인터페이스(130)는 수신된 패킷의 수와 필터링 비율이 같은지를 판단한다. 수신된 패킷의 수와 필터링 비율이 같으면 단계 1760으로 진행하고, 그렇지 않으면 1770으로 진행한다. 따라서, 네트워크 인터페이스(130)는 필터링 비율과 수신된 패킷의 수가 같을 때 패킷을 트리 네트워크(120)로 주입하고, 필터링 비율보다 수신된 패킷의 수가 적을 때 패킷을 메쉬 네트워크(110)로 주입한다.
필터링 비율은 1부터 N까지 자연수일 수 있다. 필터링 비율은 트리 네트워크(120)의 혼잡도에 따라 업데이트될 수 있다. 예를 들어, 트리 네트워크(120)의 혼잡도가 증가하면, 네트워크 인터페이스(130)는 트리 네트워크(120)의 필터링 비율을 증가 시키고, 트리 네트워크(120)의 혼잡도가 감소하면, 네트워크 인터페이스(130)는 필터링 비율을 감소시킬 수 있다.
네트워크 인터페이스(130)는 트리 네트워크(120)에 포함된 버퍼들의 점유율을 모니터링하고, 모니터링 결과에 기초하여 필터링 비율을 업데이트할 수 있다. 다시 말해서, 네트워크 인터페이스(130)는 버퍼들의 점유율을 통해 트리 네트워크(120)의 혼잡도를 결정하고, 혼잡도에 따라 필터링 비율을 업데이트할 수 있다. 트리 네트워크(120)에 포함된 버퍼들의 점유율이 높다는 것은 트리 네트워크(120)의 혼잡도가 높다는 것을 나타낼 수 있다.
네트워크 인터페이스(130)가 필터링 비율을 업데이트하는 방법은 도 14를 통해 상세히 설명한다.
수신된 패킷의 수와 필터링 비율이 같다는 것은 네트워크 인터페이스(130)가 제1 처리 유닛으로부터 필터링 비율과 동일한 수의 패킷을 수신하였다는 것을 의미한다. 예를 들어, 필터링 비율이 1이면, 네트워크 인터페이스(130)는 제1 처리 유닛으로부터 패킷이 수신될 때마다 수신된 패킷의 수와 필터링 비율이 같다고 판단하고, 필터링 비율이 3이면, 네트워크 인터페이스(130)는 제1 처리 유닛으로부터 3의 배수의 패킷이 수신될 때마다 수신된 패킷의 수와 필터링 비율이 같다고 판단한다.
필터링 비율이 3인 경우, 제1 처리 유닛으로부터 수신되는 첫 번째, 두 번째 패킷은 메쉬 네트워크(110)로 주입되고, 세 번째 패킷은 트리 네트워크(120)로 주입된다. 또한, 네 번째, 다섯 번째 패킷은 메쉬 네트워크(110)로 주입되고, 여섯 번째 패킷은 트리 네트워크(120)로 주입된다.
각각의 처리 유닛마다 생성되는 패킷의 수는 상이하다. 따라서, 각각의 처리 유닛과 연결된 네트워크 인터페이스(130)는 수신된 패킷의 수와 필터링 비율이 같은지 여부를 개별적으로 판단한다.
단계 1760에서, 네트워크 인터페이스(130)는 수신된 패킷을 트리 네트워크(120)로 주입한다. 패킷에 대한 홉 수 이득이 임계값보다 크기 때문에, 트리 네트워크(120)를 통해 패킷을 전송하는 것이 메쉬 네트워크(110)를 통해 패킷을 전송하는 것보다 효율적이다. 또한, 수신된 패킷의 수와 필터링 비율이 같을 때만 패킷을 트리 네트워크(120)로 주입하므로, 트리 네트워크(120)로 주입되는 패킷의 수를 제어할 수 있다.
단계 1770에서, 네트워크 인터페이스(130)는 수신된 패킷을 메쉬 네트워크(110)로 주입한다. 패킷에 대한 홉 수 이득이 임계값보다 작기 때문에, 메쉬 네트워크(110)를 통해 패킷을 전송하는 것이 트리 네트워크(120)를 통해 패킷을 전송하는 것보다 효율적이다. 또한, 수신된 패킷의 수가 필터링 비율보다 작은 경우, 트리 네트워크(120)에서 전송 중인 패킷의 수가 많으므로, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입하여 트리 네트워크(120)의 혼잡도를 감소시킬 수 있다.
도 18은 일 실시 예에 따라 패킷을 주입할 네트워크를 결정하는 방법을 설명하기 위한 흐름도이다.
단계 1810에서, 네트워크 인터페이스(130)는 출발점의 처리 유닛으로부터 패킷을 수신한다.
단계 1820에서, 네트워크 인터페이스(130)는 수신된 패킷이 브로드캐스팅 패킷인지를 판단한다. 만약, 수신된 패킷이 브로드캐스팅 패킷이면 단계 1840으로 진행하고, 그렇지 않으면 단계 1830으로 진행한다.
단계 1830에서, 네트워크 인터페이스(130)는 패킷이 트리 네트워크(120)의 루트 라우터를 통과하는지를 판단한다. 만약, 패킷이 루트 라우터를 통과하면 단계 1840으로 진행하고, 그렇지 않으면 단계 1870으로 진행한다.
단계 1840에서, 네트워크 인터페이스(130)는 패킷을 트리 네트워크(120)로 주입한다. 루트 라우터가 2개 이상인 경우, 네트워크 인터페이스(130)는 패킷을 어느 루트 라우터를 통해 전달할지 결정할 수 있다. 예를 들어, 네트워크 인터페이스(130)는 트리 네트워크(120)로 주입되는 패킷을 순서대로 루트 라우터를 지정할 수 있다. 트리 네트워크(120)는 네트워크 인터페이스(130)에 의해 지정된 루트 라우터를 통해 패킷을 전달한다.
단계 1850에서, 네트워크 인터페이스(130)는 트리 네트워크(120)로 주입된 패킷이 제1 루트 라우터를 통해 전달되도록 트리 네트워크(120)를 제어한다.
단계 1860에서, 네트워크 인터페이스(130)는 트리 네트워크(120)로 주입된 패킷이 제2 루트 라우터를 통해 전달되도록 트리 네트워크(120)를 제어한다.
단계 1870에서, 네트워크 인터페이스(130)는 패킷을 메쉬 네트워크(110)로 주입한다.
본 실시 예들에 따른 장치는 프로세서, 프로그램 데이터를 저장하고 실행하는 메모리, 디스크 드라이브와 같은 영구 저장부(permanent storage), 외부 장치와 통신하는 통신 포트, 터치 패널, 키(key), 버튼 등과 같은 사용자 인터페이스 장치 등을 포함할 수 있다. 소프트웨어 모듈 또는 알고리즘으로 구현되는 방법들은 상기 프로세서상에서 실행 가능한 컴퓨터가 읽을 수 있는 코드들 또는 프로그램 명령들로서 컴퓨터가 읽을 수 있는 기록 매체 상에 저장될 수 있다. 여기서 컴퓨터가 읽을 수 있는 기록 매체로 마그네틱 저장 매체(예컨대, ROM(read-only memory), RAM(random-access memory), 플로피 디스크, 하드 디스크 등) 및 광학적 판독 매체(예컨대, 시디롬(CD-ROM), 디브이디(DVD: Digital Versatile Disc)) 등이 있다. 컴퓨터가 읽을 수 있는 기록 매체는 네트워크로 연결된 컴퓨터 시스템들에 분산되어, 분산 방식으로 컴퓨터가 판독 가능한 코드가 저장되고 실행될 수 있다. 매체는 컴퓨터에 의해 판독가능하며, 메모리에 저장되고, 프로세서에서 실행될 수 있다.
본 실시 예는 기능적인 블록 구성들 및 다양한 처리 단계들로 나타내어 질 수 있다. 이러한 기능 블록들은 특정 기능들을 실행하는 다양한 개수의 하드웨어 또는/및 소프트웨어 구성들로 구현될 수 있다. 예를 들어, 실시 예는 하나 이상의 마이크로프로세서들의 제어 또는 다른 제어 장치들에 의해서 다양한 기능들을 실행할 수 있는, 메모리, 프로세싱, 로직(logic), 룩 업 테이블(look-up table) 등과 같은 직접 회로 구성들을 채용할 수 있다. 구성 요소들이 소프트웨어 프로그래밍 또는 소프트웨어 요소들로 실행될 수 있는 것과 유사하게, 본 실시 예는 데이터 구조, 프로세스들, 루틴들 또는 다른 프로그래밍 구성들의 조합으로 구현되는 다양한 알고리즘을 포함하여, C, C++, 자바(Java), 어셈블러(assembler) 등과 같은 프로그래밍 또는 스크립팅 언어로 구현될 수 있다. 기능적인 측면들은 하나 이상의 프로세서들에서 실행되는 알고리즘으로 구현될 수 있다. 또한, 본 실시 예는 전자적인 환경 설정, 신호 처리, 및/또는 데이터 처리 등을 위하여 종래 기술을 채용할 수 있다. “매커니즘”, “요소”, “수단”, “구성”과 같은 용어는 넓게 사용될 수 있으며, 기계적이고 물리적인 구성들로서 한정되는 것은 아니다. 상기 용어는 프로세서 등과 연계하여 소프트웨어의 일련의 처리들(routines)의 의미를 포함할 수 있다.
본 실시 예에서 설명하는 특정 실행들은 예시들로서, 어떠한 방법으로도 기술적 범위를 한정하는 것은 아니다. 명세서의 간결함을 위하여, 종래 전자적인 구성들, 제어 시스템들, 소프트웨어, 상기 시스템들의 다른 기능적인 측면들의 기재는 생략될 수 있다. 또한, 도면에 도시된 구성 요소들 간의 선들의 연결 또는 연결 부재들은 기능적인 연결 및/또는 물리적 또는 회로적 연결들을 예시적으로 나타낸 것으로서, 실제 장치에서는 대체 가능하거나 추가의 다양한 기능적인 연결, 물리적인 연결, 또는 회로 연결들로서 나타내어질 수 있다.
본 명세서(특히 특허청구범위에서)에서 “상기”의 용어 및 이와 유사한 지시 용어의 사용은 단수 및 복수 모두에 해당하는 것일 수 있다. 또한, 범위(range)를 기재한 경우 상기 범위에 속하는 개별적인 값을 포함하는 것으로서(이에 반하는 기재가 없다면), 상세한 설명에 상기 범위를 구성하는 각 개별적인 값을 기재한 것과 같다. 마지막으로, 방법을 구성하는 단계들에 대하여 명백하게 순서를 기재하거나 반하는 기재가 없다면, 상기 단계들은 적당한 순서로 행해질 수 있다. 반드시 상기 단계들의 기재 순서에 한정되는 것은 아니다. 모든 예들 또는 예시적인 용어(예들 들어, 등등)의 사용은 단순히 기술적 사상을 상세히 설명하기 위한 것으로서 특허청구범위에 의해 한정되지 않는 이상 상기 예들 또는 예시적인 용어로 인해 범위가 한정되는 것은 아니다. 또한, 당업자는 다양한 수정, 조합 및 변경이 부가된 특허청구범위 또는 그 균등물의 범주 내에서 설계 조건 및 팩터에 따라 구성될 수 있음을 알 수 있다.
100: 다중 네트워크
110: 메쉬 네트워크
120: 트리 네트워크
130: 네트워크 인터페이스
200: 처리 장치

Claims (29)

  1. 메쉬 네트워크;
    트리 네트워크; 및
    복수의 처리 유닛(processing unit)들을 포함한 처리 장치를 상기 메쉬 네트워크 및 상기 트리 네트워크와 연결하고, 출발점의 처리 유닛으로부터 생성된 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크 중 어느 하나의 네트워크로 주입하여 도착점의 처리 유닛으로 전송하는 네트워크 인터페이스를 포함하고,
    상기 네트워크 인터페이스는,
    상기 패킷에 대한 상기 메쉬 네트워크의 홉 수에서 상기 패킷에 대한 상기 트리 네트워크의 홉 수의 차이를 나타내는 홉 수 이득을 계산하고, 상기 홉 수 이득이 임계값보다 크거나 같은 경우에 상기 패킷을 상기 트리 네트워크로 주입하고, 상기 홉 수 이득이 상기 임계값보다 작은 경우에 상기 패킷을 상기 메쉬 네트워크로 주입하고, 상기 임계값은 상기 트리 네트워크 및 상기 메쉬 네트워크의 혼잡도에 따라 업데이트 되는 것을 특징으로 하는 다중 네트워크.
  2. 삭제
  3. 삭제
  4. 제 1 항에 있어서,
    상기 네트워크 인터페이스는 상기 패킷의 지연 시간을 측정하고, 상기 지연 시간에 기초하여 상기 임계값을 업데이트하는 것을 특징으로 하는 다중 네트워크.
  5. 제 1 항에 있어서,
    상기 네트워크 인터페이스는,
    상기 홉 수 이득에 기초하여 상기 패킷을 주입할 네트워크를 결정하기 이전에, 상기 패킷이 브로드캐스팅 패킷인 경우 상기 트리 네트워크로 주입하는 것을 특징으로 하는 다중 네트워크.
  6. 메쉬 네트워크;
    트리 네트워크; 및
    복수의 처리 유닛(processing unit)들을 포함한 처리 장치를 상기 메쉬 네트워크 및 상기 트리 네트워크와 연결하고, 출발점의 처리 유닛으로부터 생성된 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크 중 어느 하나의 네트워크로 주입하여 도착점의 처리 유닛으로 전송하는 네트워크 인터페이스를 포함하고,
    상기 트리 네트워크는,
    하나 이상의 라우터들의 상태를 모니터링하고, 상기 모니터링에 기초하여 상기 트리 네트워크의 최하위 층의 라우터들의 필터링 비율을 업데이트하여 상기 트리 네트워크로 주입되는 패킷의 수를 조절하는 것을 특징으로 하는 다중 네트워크.
  7. 제 1 항에 있어서,
    상기 트리 네트워크의 최상위 층은 루트 라우터를 포함하고,
    상기 트리 네트워크의 2번째 층의 라우터들은 자식 노드에서 부모 노드로 향하는 데이터 경로 및 부모 노드에서 자식 노드로 향하는 데이터 경로만을 포함하는것을 특징으로 하는 다중 네트워크.
  8. 제 1 항에 있어서,
    상기 트리 네트워크는 2개 이상의 루트 노드를 포함하는 것을 특징으로 하는 다중 네트워크.
  9. 제 1 항에 있어서,
    상기 네트워크 인터페이스는 랜덤 방식이 아닌 정해진 기준에 따라 상기 패킷을 상기 메쉬 네트워크 또는 상기 트리 네트워크로 주입하는 것을 특징으로 하는 다중 네트워크.
  10. 출발점의 처리 유닛으로부터 도착점의 처리 유닛으로 전송되도록 설정된 패킷을 수신하는 단계;
    메쉬 네트워크 또는 트리 네트워크 중 상기 패킷을 주입할 네트워크를 결정하는 단계;
    상기 결정된 네트워크에 상기 패킷을 주입하는 단계; 및
    상기 패킷을 상기 도착점의 처리 유닛으로 출력하는 단계를 포함하고,
    상기 네트워크를 결정하는 단계는,
    상기 패킷에 대한 상기 메쉬 네트워크의 홉 수에서 상기 패킷에 대한 상기 트리 네트워크에서의 홉 수의 차이를 나타내는 홉 수 이득을 계산하고, 상기 홉 수 이득이 임계값보다 크거나 같은 경우에 상기 트리 네트워크를 상기 패킷을 주입할 네트워크로 결정하고, 상기 홉 수 이득이 상기 임계값보다 작은 경우에 상기 메쉬 네트워크를 상기 패킷을 주입할 네트워크로 결정하고, 상기 임계값은 상기 트리 네트워크 및 상기 메쉬 네트워크의 혼잡도에 따라 업데이트 되는 것을 특징으로 하는 패킷 전송 방법.
  11. 삭제
  12. 삭제
  13. 제 10 항에 있어서,
    상기 패킷의 지연 시간을 측정하고, 상기 지연 시간에 기초하여 상기 임계값을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 패킷 전송 방법.
  14. 제 10 항에 있어서,
    상기 네트워크를 결정하는 단계는,
    상기 홉 수 이득에 기초하여 상기 패킷을 주입할 네트워크를 결정하기 이전에, 상기 패킷이 브로드캐스팅 패킷인 경우 상기 트리 네트워크를 상기 패킷을 주입할 네트워크로 결정하는 것을 특징으로 하는 패킷 전송 방법.
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 제 10 항의 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체.
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 제 1항에 있어서,
    상기 네트워크 인터페이스는,
    상기 홉 수 이득에 기초하여 상기 패킷을 주입할 네트워크를 결정하기 이전에, 상기 패킷이 상기 트리 네트워크의 루트 노드를 통과하는 경우에 상기 트리 네트워크로 상기 패킷을 주입하고, 상기 패킷이 상기 트리 네트워크의 루트 노드를 통과하지 않는 경우에 상기 메쉬 네트워크로 상기 패킷을 주입하는 다중 네트워크.
  27. 제 1항에 있어서,
    상기 다중 네트워크는 네트워크 온 칩(NoC)로 구현된 다중 네트워크.
  28. 제 1항에 있어서,
    상기 처리 장치는 시스템 온 칩(SoC) 또는 프로그래밍이 가능한 프로세서로 구현된 다중 네트워크.
  29. 제 8항에 있어서,
    상기 2개 이상의 루트 노드 각각은 같은 층의 하위 노드로 향하는 데이터 경로를 포함하는 것을 특징으로 하는 다중 네트워크.
KR1020150128568A 2015-09-10 2015-09-10 패킷을 전송하는 장치 및 방법 KR102419647B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020150128568A KR102419647B1 (ko) 2015-09-10 2015-09-10 패킷을 전송하는 장치 및 방법
US15/132,663 US10257076B2 (en) 2015-09-10 2016-04-19 Apparatus and method transmitting packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150128568A KR102419647B1 (ko) 2015-09-10 2015-09-10 패킷을 전송하는 장치 및 방법

Publications (2)

Publication Number Publication Date
KR20170030967A KR20170030967A (ko) 2017-03-20
KR102419647B1 true KR102419647B1 (ko) 2022-07-11

Family

ID=58238955

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150128568A KR102419647B1 (ko) 2015-09-10 2015-09-10 패킷을 전송하는 장치 및 방법

Country Status (2)

Country Link
US (1) US10257076B2 (ko)
KR (1) KR102419647B1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6418194B2 (ja) * 2016-03-30 2018-11-07 トヨタ自動車株式会社 無線通信装置および無線通信方法
EP3511837B1 (en) * 2016-09-29 2023-01-18 Huawei Technologies Co., Ltd. Chip having extensible memory
US10542408B2 (en) * 2017-03-25 2020-01-21 ARRIS Enterprises, LLC Technique for establishing a mesh network
CN108366019A (zh) * 2018-02-11 2018-08-03 乐鑫信息科技(上海)有限公司 一种mesh网络内广播传输方法
US11405847B2 (en) * 2018-08-13 2022-08-02 Qualcomm Incorporated Hop-count indication in wireless systems
US10771384B2 (en) * 2018-08-17 2020-09-08 Tyson Trautmann Routing based blockchain
GB2586279B (en) * 2019-08-16 2022-11-23 Siemens Ind Software Inc Routing messages in a integrated circuit chip device
CN110505168B (zh) * 2019-08-22 2020-12-29 合肥工业大学 一种ni接口控制器及数据传输方法

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6498795B1 (en) * 1998-11-18 2002-12-24 Nec Usa Inc. Method and apparatus for active information discovery and retrieval
US6631128B1 (en) * 1999-05-27 2003-10-07 Telefonaktiebolaget L M Ericcson (Publ) Core network optimization of topology and technology for traffic handling
US6751219B1 (en) * 2000-04-20 2004-06-15 Aztech Partners, Inc. Multicast packet duplication at random node or at egress port with frame synchronization
US7349414B2 (en) * 2001-08-24 2008-03-25 Optimum Communications Services, Inc. System and method for maximizing the traffic delivery capacity of packet transport networks via real-time traffic pattern based optimization of transport capacity allocation
US7203743B2 (en) * 2001-12-28 2007-04-10 Nortel Networks Limited Hierarchical tree-based protection scheme for mesh networks
US7453870B2 (en) * 2002-06-12 2008-11-18 Intel Corporation Backplane for switch fabric
US7701858B2 (en) * 2003-07-17 2010-04-20 Sensicast Systems Method and apparatus for wireless communication in a mesh network
US7606178B2 (en) * 2005-05-31 2009-10-20 Cisco Technology, Inc. Multiple wireless spanning tree protocol for use in a wireless mesh network
US7653011B2 (en) * 2005-05-31 2010-01-26 Cisco Technology, Inc. Spanning tree protocol for wireless networks
CN101263689B (zh) * 2005-07-20 2012-01-11 发尔泰公司 用于网状网络的按需路由选择协议的路由优化的系统和方法
US7787361B2 (en) * 2005-07-29 2010-08-31 Cisco Technology, Inc. Hybrid distance vector protocol for wireless mesh networks
US7623533B2 (en) * 2005-10-14 2009-11-24 Hewlett-Packard Development Company, L.P. Switch meshing using multiple directional spanning trees
US20070230369A1 (en) * 2006-03-31 2007-10-04 Mcalpine Gary L Route selection in a network
US7496078B2 (en) * 2006-08-15 2009-02-24 Cisco Technology, Inc. Route tree building in a wireless mesh network
US8270302B2 (en) * 2006-10-20 2012-09-18 Stmicroelectronics, Inc. System and method for providing an adaptive value of TTL (time to live) for broadcast/multicast messages in a mesh network using a hybrid wireless mesh protocol
US8230108B2 (en) * 2007-04-13 2012-07-24 Hart Communication Foundation Routing packets on a network using directed graphs
US7657648B2 (en) * 2007-06-21 2010-02-02 Microsoft Corporation Hybrid tree/mesh overlay for data delivery
US9730078B2 (en) * 2007-08-31 2017-08-08 Fisher-Rosemount Systems, Inc. Configuring and optimizing a wireless mesh network
KR101421145B1 (ko) * 2008-01-09 2014-07-18 삼성전자주식회사 무선 메쉬 네트워크에서 게이트웨이 선택 방법
US8619634B2 (en) * 2008-04-14 2013-12-31 Cisco Technology, Inc. Channel assignment protocol
US8045488B2 (en) * 2008-05-15 2011-10-25 Solarwinds Worldwide Llc Using spanning tree protocol (STP) to enhance layer-2 network topology maps
WO2010009142A1 (en) 2008-07-14 2010-01-21 The Trustees Of Columbia University In The City Of New York Asynchronous digital circuits including arbitration and routing primitives for asynchronous and mixed-timing networks
EP2381737B1 (en) * 2008-12-19 2015-01-21 Shenyang Institute of Automation of the Chinese Academy of Sciences Communication method for mesh and star topology structure wireless sensor network
US8064360B2 (en) * 2009-01-23 2011-11-22 Empire Technology Development Llc Wireless home network routing protocol
US8125928B2 (en) * 2009-07-24 2012-02-28 Juniper Networks, Inc. Routing frames in a shortest path computer network for a multi-homed legacy bridge node
CN101998503B (zh) * 2009-08-12 2013-03-13 中国科学院沈阳自动化研究所 面向混合拓扑结构无线传感器网络的两级包聚合方法
KR101077539B1 (ko) 2009-08-18 2011-10-28 한국과학기술원 네트워크 온 칩 및 네트워크 온 칩 시스템
EP2437440A1 (en) * 2010-10-01 2012-04-04 Koninklijke Philips Electronics N.V. Device and method for delay optimization of end-to-end data packet transmissions in wireless networks
US8711703B2 (en) * 2010-10-29 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Load balancing in shortest-path-bridging networks
US9148362B2 (en) * 2010-12-08 2015-09-29 At&T Intellectual Property I, L.P. Methods and apparatus for network multicasting using hierarchical replication
US9537679B2 (en) * 2011-03-16 2017-01-03 The Trustees Of Columbia University In The City Of New York Bi-modal arbitration nodes for a low-latency adaptive asynchronous interconnection network and methods for using the same
KR101254706B1 (ko) 2011-09-27 2013-04-15 성균관대학교산학협력단 3차원 네트워크 온 칩
US8717943B2 (en) * 2011-10-18 2014-05-06 Itron, Inc. Peer-to-peer communications in AMI with source-tree routing
CN103428045A (zh) * 2012-05-25 2013-12-04 华为技术有限公司 连通性检测方法、装置和系统
EP3720065A1 (en) * 2012-09-28 2020-10-07 Cornell University System and methods for improved network routing
US8601423B1 (en) 2012-10-23 2013-12-03 Netspeed Systems Asymmetric mesh NoC topologies
US9473388B2 (en) * 2013-08-07 2016-10-18 Netspeed Systems Supporting multicast in NOC interconnect
JP5636078B1 (ja) 2013-08-30 2014-12-03 日本電信電話株式会社 仮想ネットワークの物理ネットワークへの配置装置及び方法
US9703738B2 (en) * 2014-06-24 2017-07-11 Palo Alto Research Center Incorporated Computing system framework with unified storage, processing, and network switching fabrics incorporating network switches and method for making and using the same

Also Published As

Publication number Publication date
US10257076B2 (en) 2019-04-09
KR20170030967A (ko) 2017-03-20
US20170078189A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
KR102419647B1 (ko) 패킷을 전송하는 장치 및 방법
CN108234340B (zh) 基于流控制信用的自适应路由
JP6158860B2 (ja) Dragonflyプロセッサ相互接続ネットワークにおける革新的な適応型ルーティング
JP5977383B2 (ja) Dragonflyプロセッサ相互接続ネットワークにおけるテーブル駆動型ルーティング
US8248925B2 (en) Method and apparatus for selecting between multiple equal cost paths
EP3809646A1 (en) Routing tables for forwarding packets between switches in a data center network
EP2883334B1 (en) Techniques for flooding optimization for link state protocols in a network topology
US9571380B2 (en) Multi-stage interconnect network in a parallel processing network device
KR101668426B1 (ko) Sdn 상에서 최적 경로 계산 시스템 및 방법
Manfredi et al. Mobility and congestion in dynamical multilayer networks with finite storage capacity
US20140341080A1 (en) Broadcast and multicast traffic reduction in stacking systems
US10027571B2 (en) Load balancing
EP3328008B1 (en) Deadlock-free routing in lossless multidimensional cartesian topologies with minimal number of virtual buffers
EP3445007B1 (en) Routing packets in dimensional order in multidimensional networks
US10498631B2 (en) Routing packets using distance classes
US20160065449A1 (en) Bandwidth-Weighted Equal Cost Multi-Path Routing
CN108123878B (zh) 一种路由方法、装置及数据转发设备
US20130266018A1 (en) Communication system and communication method
US20140010079A1 (en) Traffic control on an on-chip network
EP3515018B1 (en) Method, apparatus and system for measuring network path
US20200127934A1 (en) Data processing method and apparatus, and switching device
US11271868B2 (en) Programmatically configured switches and distributed buffering across fabric interconnect
CN108337181B (zh) 一种交换网拥塞管理方法和装置
JP5951147B2 (ja) 情報処理装置及び情報処理方法及びプログラム
Wang et al. Flow control mechanism for wireless network-on-chip

Legal Events

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