KR101241584B1 - 데이터 플로우 병렬 처리 장치 및 방법 - Google Patents
데이터 플로우 병렬 처리 장치 및 방법 Download PDFInfo
- Publication number
- KR101241584B1 KR101241584B1 KR1020090128201A KR20090128201A KR101241584B1 KR 101241584 B1 KR101241584 B1 KR 101241584B1 KR 1020090128201 A KR1020090128201 A KR 1020090128201A KR 20090128201 A KR20090128201 A KR 20090128201A KR 101241584 B1 KR101241584 B1 KR 101241584B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- flow
- processing
- upper layer
- information
- Prior art date
Links
- 238000012545 processing Methods 0.000 title claims abstract description 167
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000015654 memory Effects 0.000 claims abstract description 56
- 238000003672 processing method Methods 0.000 claims description 12
- 238000011161 development Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/28—Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multi Processors (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
데이터 플로우 병렬 처리 장치 및 방법이 개시된다. 데이터 플로우 병렬 처리 장치는 입력되는 제1 데이터의 플로우를 구별하는 하위 계층 처리부와, 복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하고, 상기 선택된 상위 계층 처리부로 상기 제1 데이터를 전송하는 분배부와, 복수 개의 지역 메모리 중 상기 플로우에 대응하는 지역 메모리를 참조하여, 상기 제1 데이터의 상위 계층 패킷을 처리하는 상위 계층 처리부를 포함한다.
데이터, 플로우, 상위 계층 패킷, 하위 계층 패킷
Description
본 발명의 실시예들은 데이터 플로우 병렬 처리 장치 및 방법에 관한 것으로서, 보다 상세하게는 플로우 별 데이터에 대한 처리 정보가 저장된 메모리를 이용하여, 데이터를 효율적으로 처리할 수 있는 데이터 플로우 병렬 처리 장치 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 IT성장동력기술개발사업의 일환으로 수행한 연구로부터 도출된 것이다[과제관리번호: 2009-S-043-01, 과제명: Scalable 마이크로 플로우 처리 기술 개발].
프로토콜의 계층화는 일반적으로, OSI 7 계층 모델이 널리 사용되고 있다. 여기서, 인터넷 프로토콜 스택은 2 내지 4 계층 및 7 계층을 포함하여, 5 개의 계층으로 구성된다. 2 내지 4 계층은 전달방식에 따라 결정되는 계층으로, 2 계층은 이더넷 프로토콜이고, 3 및 4 계층은 인터넷 프로토콜로 이루어진다.
2 내지 4 계층은 주로 전용 하드웨어나 네트워크 프로세서를 사용하여 프레임 또는 패킷을 처리하고, 처리 성능이 주요 관건(issue)이다. 7 계층은 응용 계 층으로 각종 서비스의 내용이 탑재되고, 유연성이 주요 관건(issue)이다.
다양한 전달 방식에 대한 통합 및 융합, 멀티 코어 프로세서의 출현으로 처리(processing) 능력의 발전, 고효율에 대한 요구로 인해, 2 내지 7 계층의 효율적인 처리가 요구되고 있다.
본 발명의 실시예들은, 입력되는 데이터의 플로우에 대응하는 상위 계층 처리부에 의해, 플로우에 대응하는 지역 메모리를 참조하여, 상기 데이터의 상위 계층 패킷을 처리함으로써, 데이터를 효율적으로 처리할 수 있는 데이터 플로우 병렬 처리 장치 및 방법을 제공하고자 한다.
본 발명의 실시예들은, 복수 개의 상위 계층 처리부를 이용하여 데이터를 병렬 처리하여, 데이터의 고속 처리가 가능한 데이터 플로우 병렬 처리 장치 및 방법을 제공하고자 한다.
본 발명의 실시예에 따른 데이터 플로우 병렬 처리 장치는 입력되는 제1 데이터의 플로우를 구별하는 하위 계층 처리부와, 복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하고, 상기 선택된 상위 계층 처리부로 상기 제1 데이터를 전송하는 분배부와, 복수 개의 지역 메모리 중 상기 플로우에 대응하는 지역 메모리를 참조하여, 상기 제1 데이터의 상위 계층 패킷을 처리하는 상위 계층 처리부를 포함한다.
본 발명의 실시예에 따른 데이터 플로우 병렬 처리 방법은 입력되는 제1 데이터의 플로우를 구별하는 단계와, 복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하는 단계와, 상기 선택된 상위 계층 처리부로 상기 제1 데이터를 전송하는 단계와, 복수 개의 지역 메모리 중 상기 플로우에 대 응하는 지역 메모리를 참조하여, 상기 제1 데이터의 상위 계층 패킷을 처리하는 단계를 포함한다.
본 발명의 실시예들에 따르면, 입력되는 데이터의 플로우에 대응하는 상위 계층 처리부에 의해, 플로우에 대응하는 지역 메모리를 참조하여, 상기 데이터의 상위 계층 패킷을 처리함으로써, 데이터를 효율적으로 처리할 수 있다.
본 발명의 실시예들에 따르면, 복수 개의 상위 계층 처리부를 이용하여 데이터를 병렬 처리하여, 데이터의 고속 처리가 가능하다.
이하, 첨부된 도면들을 참조하여 본 발명의 일실시예에 따른 데이터 플로우 병렬 처리 장치 및 방법에 대해 상세히 설명한다.
도 1은 본 발명의 일실시예에 따른 데이터 플로우 병렬 처리 장치의 구성을 나타내는 도면이다.
도 1을 참조하면, 본 발명의 일실시예에 따른 데이터 플로우 병렬 처리 장치(101)는 하위 계층 처리부(103), 분배부(105), 상위 계층 처리부(107_1~107_n), 지역 메모리(109_1~109_n) 및 전체 메모리(111)를 포함한다.
하위 계층 처리부(103)는 입력되는 제1 데이터의 플로우를 구별한다. 하위 계층 처리부(103)는 제1 데이터의 하위 계층 패킷을 이용하여 플로우를 구별하고, 구별된 플로우에 대한 플로우 식별정보(FID: Flow Identification)를 생성할 수 있다. 예를 들어, 하위 계층 처리부(103)는 OSI(Open Systems Interconnection) 7의 다계층 패킷 중 2 내지 4 계층 패킷을 이용하여 플로우를 구별할 수 있으나, 이에 한정되지 않는다.
분배부(105)는 복수 개의 상위 계층 처리부(107_1~107_n) 중 플로우에 대응하는 상위 계층 처리부를 선택하고, 선택된 상위 계층 처리부로 제1 데이터 및 플로우를 전송한다.
이때, 분배부(105)는 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적지 않은 경우, 입력된 제2 데이터의 플로우와 제1 데이터의 플로우가 동일하면, 제1 데이터 및 플로우를 전송한 상위 계층 처리부로, 제2 데이터 및 플로우를 전송할 수 있다. 즉, 분배부(105)는 데이터의 플로우의 식별정보가 동일하면, 동일한 상위 계층 처리부로 데이터 및 플로우를 전송할 수 있다.
여기서, 분배부(105)는 기설정된 시간 마다 주기적으로 수신되는 플로우를 활성화된 플로우로 설정하고, 제1 데이터의 플로우가 활성화된 플로우에 해당하는 경우, 기설정된 규칙에 따라 플로우에 대응하는 상위 계층 처리부로 제 1 데이터 및 플로우를 전송할 수 있다. 또한, 분배부(105)는 기설정된 시간 마다 주기적으로 수신되지 않는 플로우를 비활성화된 플로우로 설정하고, 제1 데이터의 플로우가 비활성화된 플로우에 해당하는 경우, 동작하지 않은 '아이들(idle) 상태'인 상위 계층 처리부로 제 1 데이터 및 플로우를 전송할 수 있다.
반면, 분배부(105)는 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적은 경우, 입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 복수 개의 상위 계층 처리부 중 제1 데이터 및 플로우를 전송한 상위 계층 처리부 와 구별된 상위 계층 처리부로, 제2 데이터 및 플로우를 전송할 수 있다. 즉, 분배부(105)는 데이터의 플로우의 식별정보가 동일하더라도, 동일한 상위 계층 처리부로 데이터 및 플로우를 전송하지 않음에 따라, 하나의 상위 계층 처리부로 데이터가 집중적으로 전송되는 것을 제어할 수 있다.
상위 계층 처리부(107_1~107_n)는 복수 개의 상위 계층 처리부(107_1~107_n)를 포함한다. 이때, 각 상위 계층 처리부(107_1~107_n)는 멀티코어 프로세서로 구성될 수 있다.
각 상위 계층 처리부(107_1~107_n)는 분배부(105)로부터 선택되어 데이터를 수신하면, 복수 개의 지역 메모리(109_1~109_n) 중 제1 데이터의 플로우에 대응하는 지역 메모리를 참조하여, 제1 데이터의 상위 계층 패킷을 처리한다. 예를 들어, 각 상위 계층 처리부(107_1~107_n)는 처리 정보를 이용하여, OSI(Open Systems Interconnection) 7의 다계층 패킷 중 7 계층 패킷을 처리할 수 있다.
이때, 상위 계층 처리부(107_1~107_n)는 제1 데이터의 하위 계층 패킷을 이용하여, 지역 메모리로부터 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득할 수 있다. 즉, 상위 계층 처리부(107_1~107_n)는 제1 데이터의 하위 계층 패킷으로부터 해쉬(hash) 정보를 구성하고, 지역 메모리로부터 해쉬(hash) 정보에 대응하는 처리 정보를 획득할 수 있다.
상위 계층 처리부(107_1~107_n)는 제1 데이터의 플로우에 대응하는 지역 메모리를 참조하여, 상위 계층 패킷을 처리하기 위한 처리 정보를 획득함에 따라, 전체 메모리(111)를 참조하여 처리 정보를 검색하는 것보다, 처리 정보에 대한 검색 시간을 최소화하고, 처리 정보의 획득률을 높일 수 있다.
한편, 상위 계층 처리부(107_1~107_n)는 지역 메모리로부터 처리 정보를 획득할 수 없는 경우, 전체 메모리(111)로부터 처리 정보를 획득하고, 획득된 처리 정보를 제1 데이터의 플로우에 대응하는 지역 메모리에 저장하여 처리 정보를 업데이트할 수 있다.
지역 메모리(109_1~109_n)는 복수 개의 지역 메모리(109_1~109_n)를 포함한다. 여기서, 지역 메모리(109_1~109_n)는 하위 계층 패킷의 해쉬 정보 별 처리 정보를 저장한다. 이때, 처리 정보는 패턴 또는 시그너처(signature)에 대한 정보일 수 있다.
각 지역 메모리는 플로우 별로 구성됨에 따라, 각 상위 계층 처리부에 각각 대응하고, 대응하는 상위 계층 처리부로부터 처리 정보를 요청 받으면, 상위 계층 패킷을 처리하기 위한 처리 정보를 상기 상위 계층 처리부로 제공할 수 있다.
전체 메모리(111)는 모든 플로우에 대한, 하위 계층 패킷의 해쉬 정보 별 처리 정보를 저장한다. 전체 메모리(111)는 상위 계층 처리부의 요청에 따라, 상위 계층 처리부에 대응하는 지역 메모리로 하위 계층 패킷의 해쉬 정보 별 처리 정보를 제공할 수 있다.
본 발명의 실시예들에 따르면, 입력되는 데이터의 플로우에 대응하는 상위 계층 처리부에 의해, 플로우에 대응하는 지역 메모리를 참조하여, 상기 데이터의 상위 계층 패킷을 처리함으로써, 데이터를 효율적으로 처리할 수 있다.
본 발명의 실시예들에 따르면, 복수 개의 상위 계층 처리부를 이용하여 데 이터를 병렬 처리하여, 데이터의 고속 처리가 가능하다.
도 2는 본 발명의 일실시예에 따른 데이터 플로우 병렬 처리 방법을 나타내는 흐름도이다.
도 2를 참조하면, 데이터 플로우 병렬 처리 장치는 입력되는 제1 데이터의 플로우를 구별한다(201).
즉, 데이터 플로우 병렬 처리 장치는 제1 데이터의 하위 계층 패킷을 이용하여 플로우를 구별하고, 구별된 플로우에 대한 플로우 식별정보(FID: Flow Identification)를 생성할 수 있다. 예를 들어, 데이터 플로우 병렬 처리 장치는 OSI(Open Systems Interconnection) 7의 다계층 패킷 중 2 내지 4 계층 패킷을 이용하여 플로우를 구별할 수 있으나, 이에 한정되지 않는다.
또한, 데이터 플로우 병렬 처리 장치는 구별된 플로우에 대한 상태를 확인한다. 즉, 데이터 플로우 병렬 처리 장치는 기설정된 시간 마다 주기적으로 수신되는지의 여부에 따라, 구별된 플로우가 활성화된 플로우 또는 비활성화된 플로우(새로운 플로우)에 해당하는지를 확인한다(203).
이어서, 데이터 플로우 병렬 처리 장치는 구별된 플로우가 기설정된 시간 마다 주기적으로 수신되는 활성화된 플로우인 경우, 기설정된 규칙에 따라 복수 개의 상위 계층 처리부 중 플로우에 대응하는 상위 계층 처리부를 선택하고, 선택된 상위 계층 처리부로 제 1 데이터 및 플로우를 전송할 수 있다(205).
이때, 데이터 플로우 병렬 처리 장치는 입력된 제2 데이터의 플로우와 제1 데이터의 플로우가 동일하면, 제1 데이터 및 플로우를 전송한 상위 계층 처리부를 선택하여 제2 데이터 및 플로우를 전송할 수 있다. 즉, 데이터 플로우 병렬 처리 장치는 데이터의 플로우의 식별정보가 동일하면, 동일한 상위 계층 처리부로 데이터 및 플로우를 전송할 수 있다.
반면, 데이터 플로우 병렬 처리 장치는 구별된 플로우가 기설정된 시간 마다 주기적으로 수신되지 않는 비활성화된 플로우인 경우, 복수 개의 상위 계층 처리부 중 동작하지 않은 '아이들(idle) 상태'인 상위 계층 처리부를 선택하고, 선택된 상위 계층 처리부로 제 1 데이터 및 플로우를 전송할 수 있다(207).
이어서, 데이터 플로우 병렬 처리 장치는 지역메모리를 참조하여, 제1 데이터의 하위 계층 패킷에 대한 해쉬(hash) 정보와 일치하는 해쉬 정보가 존재하는지를 확인한다(209).
이때, 데이터 플로우 병렬 처리 장치는 복수 개의 지역 메모리 중 제1 데이터의 플로우에 대응하는 지역 메모리를 참조하여, 해쉬 정보의 존재를 확인할 수 있다.
따라서, 데이터 플로우 병렬 처리 장치는 제1 데이터의 플로우에 대응하는 지역 메모리를 참조하여, 상위 계층 패킷을 처리하기 위한 처리 정보를 획득함에 따라, 전체 메모리를 참조하여 처리 정보를 검색하는 것보다, 처리 정보에 대한 검색 시간을 최소화하고, 처리 정보의 획득률을 높일 수 있다.
이어서, 데이터 플로우 병렬 처리 장치는 지역 메모리에 제1 데이터의 하위 계층 패킷으로부터 구성된 해쉬(hash) 정보와 일치하는 해쉬 정보가 존재하는 경우, 지역 메모리로부터 상기 해쉬 정보에 대응하는 처리 정보를 획득하여 제1 데이 터의 상위 계층 패킷을 처리할 수 있다(211). 여기서, 처리 정보는 제1 데이터의 상위 계층 패킷을 처리하기 위한 정보일 수 있다.
예를 들어, 데이터 플로우 병렬 처리 장치는 처리 정보를 이용하여, OSI(Open Systems Interconnection) 7의 다계층 패킷 중 7 계층 패킷을 처리할 수 있다.
반면, 데이터 플로우 병렬 처리 장치는 지역 메모리에 제1 데이터의 하위 계층 패킷으로부터 구성된 해쉬(hash) 정보와 일치하는 해쉬 정보가 존재하지 않는 경우, 전체 메모리로부터 처리 정보를 획득하여 제1 데이터의 상위 계층 패킷을 처리할 수 있다(213). 또한, 데이터 플로우 병렬 처리 장치는 전체 메모리로부터 획득된 처리 정보를 제1 데이터의 플로우에 대응하는 지역 메모리에 저장하여 처리 정보를 업데이트할 수 있다.
단계 205에서, 본 발명의 일실시예에 따른 데이터 플로우 병렬 처리 장치는 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적지 않은 경우, 데이터의 플로우가 동일하면, 동일한 상위 계층 처리부로 데이터 및 플로우를 전송할 수 있으나, 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적은 경우, 데이터의 플로우의 동일하더라도, 다른 상위 계층 처리부로 데이터 및 플로우를 전송하여, 동일한 상위 계층 처리부로 데이터 및 플로우를 전송하지 않음에 따라, 하나의 상위 계층 처리부로 데이터가 집중적으로 전송되는 것을 제어할 수 있다.
본 발명에 따른 실시예들은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴 퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 본 발명을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 상기 매체는 프로그램 명령, 데이터 구조 등을 지정하는 신호를 전송하는 반송파를 포함하는 광 또는 금속선, 도파관 등의 전송 매체일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 본 발명의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
도 1은 본 발명의 일실시예에 따른 데이터 플로우 병렬 처리 장치의 구성을 나타내는 도면이다.
도 2는 본 발명의 일실시예에 따른 데이터 플로우 병렬 처리 방법을 나타내는 흐름도이다.
<도면의 주요 부분에 대한 부호의 설명>
101: 데이터 플로우 병렬 처리 장치 103: 하위 계층 처리부
105: 분배부 107_1~107_n: 상위 계층 처리부
109_1~109_n: 지역 메모리 111: 전체 메모리
Claims (18)
- 입력되는 제1 데이터의 플로우를 구별하는 하위 계층 처리부;복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하고, 상기 선택된 상위 계층 처리부로 상기 제1 데이터를 전송하는 분배부; 및복수 개의 지역 메모리 중 상기 플로우에 대응하는 지역 메모리를 참조하여, 상기 제1 데이터의 상위 계층 패킷을 처리하는 상위 계층 처리부를 포함하는 데이터 플로우 병렬 처리 장치.
- 제1항에 있어서,상기 하위 계층 처리부는,상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 플로우를 구별하는, 데이터 플로우 병렬 처리 장치.
- 제2항에 있어서,상기 하위 계층 처리부는,OSI(Open Systems Interconnection) 7의 다계층 패킷 중 2 내지 4 계층 패킷을 이용하여 상기 플로우를 구별하는, 데이터 플로우 병렬 처리 장치.
- 제1항에 있어서,상기 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적지 않은 경우,상기 분배부는,입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 선택된 상위 계층 처리부로 상기 제2 데이터를 전송하는, 데이터 플로우 병렬 처리 장치.
- 제1항에 있어서,구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적은 경우,상기 분배부는,입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 복수 개의 상위 계층 처리부 중 상기 선택된 상위 계층 처리부와 구별된 상위 계층 처리부를 선택하는, 데이터 플로우 병렬 처리 장치.
- 제1항에 있어서,상기 상위 계층 처리부는,상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 지역 메모리로부터 상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는, 데이터 플로우 병렬 처리 장치.
- 제6항에 있어서,상기 상위 계층 처리부는,상기 제1 데이터의 하위 계층 패킷으로부터 해쉬(hash) 정보를 구성하고, 상기 지역 메모리로부터 상기 해쉬(hash) 정보에 대응하는 상기 처리 정보를 획득하는, 데이터 플로우 병렬 처리 장치.
- 제6항에 있어서,상기 상위 계층 처리부는,상기 지역 메모리로부터 상기 처리 정보를 획득할 수 없는 경우, 전체 메모리로부터 상기 처리 정보를 획득하고, 상기 획득된 처리 정보를 상기 지역 메모리에 저장하는, 데이터 플로우 병렬 처리 장치.
- 제1항에 있어서,상기 상위 계층 처리부는,OSI(Open Systems Interconnection) 7의 다계층 패킷 중 7 계층 패킷을 처리하는, 데이터 플로우 병렬 처리 장치.
- 입력되는 제1 데이터의 플로우를 구별하는 단계;복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하는 단계;상기 선택된 상위 계층 처리부로 상기 제1 데이터를 전송하는 단계; 및복수 개의 지역 메모리 중 상기 플로우에 대응하는 지역 메모리를 참조하여, 상기 제1 데이터의 상위 계층 패킷을 처리하는 단계를 포함하는 데이터 플로우 병렬 처리 방법.
- 제10항에 있어서,상기 입력되는 제1 데이터의 플로우를 구별하는 단계는,상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 플로우를 구별하는 단계를 포함하는, 데이터 플로우 병렬 처리 방법.
- 제11항에 있어서,상기 입력되는 제1 데이터의 플로우를 구별하는 단계는,OSI(Open Systems Interconnection) 7의 다계층 패킷 중 2 내지 4 계층 패킷을 이용하여 상기 플로우를 구별하는 단계를 포함하는, 데이터 플로우 병렬 처리 방법.
- 제10항에 있어서,복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하는 단계는,상기 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적지 않은 경우, 입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 선택된 상위 계층 처리부를 선택하는 단계를 포함하는, 데이터 플로우 병렬 처리 방법.
- 제10항에 있어서,복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하는 단계는,구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적은 경우, 입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 복수 개의 상위 계층 처리부 중 상기 선택된 상위 계층 처리부와 구별된 상위 계층 처리부를 선택하는 단계를 포함하는, 데이터 플로우 병렬 처리 방법.
- 제10항에 있어서,상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 지역 메모리로부터 상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는 단계를 더 포함하는, 데이터 플로우 병렬 처리 방법.
- 제15항에 있어서,상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는 단계는,상기 제1 데이터의 하위 계층 패킷으로부터 해쉬(hash) 정보를 구성하고, 상기 지역 메모리로부터 상기 해쉬(hash) 정보에 대응하는 상기 처리 정보를 획득하는 단계를 포함하는, 데이터 플로우 병렬 처리 방법.
- 제15항에 있어서,상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는 단계는,상기 지역 메모리로부터 상기 처리 정보를 획득할 수 없는 경우, 전체 메모리로부터 상기 처리 정보를 획득하고, 상기 획득된 처리 정보를 상기 지역 메모리에 저장하는 단계를 포함하는, 데이터 플로우 병렬 처리 방법.
- 제10항에 있어서,상기 제1 데이터의 상위 계층 패킷을 처리하는 단계는,OSI(Open Systems Interconnection) 7의 다계층 패킷 중 7 계층 패킷을 처리하는 단계를 포함하는, 데이터 플로우 병렬 처리 방법.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090128201A KR101241584B1 (ko) | 2009-12-21 | 2009-12-21 | 데이터 플로우 병렬 처리 장치 및 방법 |
US12/912,134 US8316077B2 (en) | 2009-12-21 | 2010-10-26 | Apparatus and method for parallel-processing data flow |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090128201A KR101241584B1 (ko) | 2009-12-21 | 2009-12-21 | 데이터 플로우 병렬 처리 장치 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20110071588A KR20110071588A (ko) | 2011-06-29 |
KR101241584B1 true KR101241584B1 (ko) | 2013-03-11 |
Family
ID=44152603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090128201A KR101241584B1 (ko) | 2009-12-21 | 2009-12-21 | 데이터 플로우 병렬 처리 장치 및 방법 |
Country Status (2)
Country | Link |
---|---|
US (1) | US8316077B2 (ko) |
KR (1) | KR101241584B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101993258B1 (ko) | 2012-11-22 | 2019-09-27 | 삼성전자주식회사 | 레지스터 슬라이싱 회로 및 이를 포함하는 시스템 온 칩 |
JP7137588B2 (ja) * | 2017-06-16 | 2022-09-14 | ドライブネッツ リミテッド | マルチコアコンピューティングプラットフォームにおける並列情報処理 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09511858A (ja) * | 1995-08-18 | 1997-11-25 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Osiエージェントにおける要求の並列実行 |
JP3166211B2 (ja) * | 1991-07-11 | 2001-05-14 | 日本電気株式会社 | Osi階層モデル内の層間イベント伝達処理方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3148733B2 (ja) * | 1999-02-26 | 2001-03-26 | 株式会社神戸製鋼所 | 信号処理装置及び信号処理システム |
US6854117B1 (en) | 2000-10-31 | 2005-02-08 | Caspian Networks, Inc. | Parallel network processor array |
KR100462480B1 (ko) | 2002-12-17 | 2004-12-17 | 한국전자통신연구원 | 튜플 공간 검색 기반의 ip 패킷 분류장치 및 분류방법 |
US6987985B2 (en) * | 2003-06-06 | 2006-01-17 | Interdigital Technology Corporation | Wireless communication components and methods for multiple system communications |
ES2370779T3 (es) | 2006-06-15 | 2011-12-22 | Nokia Siemens Networks S.P.A. | Método para la clasificación de paquetes basado en el tipo de protocolo y en prioridades. |
US8639837B2 (en) | 2006-07-29 | 2014-01-28 | Blue Coat Systems, Inc. | System and method of traffic inspection and classification for purposes of implementing session ND content control |
-
2009
- 2009-12-21 KR KR1020090128201A patent/KR101241584B1/ko not_active IP Right Cessation
-
2010
- 2010-10-26 US US12/912,134 patent/US8316077B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3166211B2 (ja) * | 1991-07-11 | 2001-05-14 | 日本電気株式会社 | Osi階層モデル内の層間イベント伝達処理方法 |
JPH09511858A (ja) * | 1995-08-18 | 1997-11-25 | インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン | Osiエージェントにおける要求の並列実行 |
Non-Patent Citations (2)
Title |
---|
논문1 * |
논문2 * |
Also Published As
Publication number | Publication date |
---|---|
US20110153710A1 (en) | 2011-06-23 |
US8316077B2 (en) | 2012-11-20 |
KR20110071588A (ko) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230362237A1 (en) | Distributed network services | |
US9705800B2 (en) | Load distribution in data networks | |
CN101667144B (zh) | 一种基于共享内存的虚拟机通信方法 | |
US8681819B2 (en) | Programmable multifield parser packet | |
US20200106828A1 (en) | Parallel Computation Network Device | |
CN104426800B (zh) | 用于在对等通信网络中管理消息队列的系统和方法 | |
US20160182684A1 (en) | Parallel processing of service functions in service function chains | |
EP3230861B1 (en) | Technologies for fast synchronization barriers for many-core processing | |
US10068108B2 (en) | Method and apparatus for secure signing and utilization of distributed computations | |
US20210176172A1 (en) | Packet forwarding method, device and apparatus, and storage medium | |
KR101241584B1 (ko) | 데이터 플로우 병렬 처리 장치 및 방법 | |
US20220121475A1 (en) | Geo-distributed computation and analytics | |
US20120221861A1 (en) | Method and apparatus for providing end-to-end security for distributed computations | |
US11966781B2 (en) | System and method for implementing a standalone application module | |
CN105210335A (zh) | 用于数据分发的网络路由修改 | |
US8996427B2 (en) | Method for a system that solves multimedia resource discovery and retrieval problem sets | |
US20230082829A1 (en) | Pipelineable and parallelizable streaming parsers for querying structured data-interchange information | |
Xu et al. | A mathematical model and dynamic programming based scheme for service function chain placement in NFV | |
KR102128832B1 (ko) | 네트워크 인터페이스 장치 및 그 네트워크 인터페이스 장치의 데이터 처리 방법 | |
US11960943B2 (en) | Event log management | |
EP4198726A1 (en) | Event log management | |
KR101292983B1 (ko) | 다계층 패킷 검사 장치 및 방법 | |
US20240153360A1 (en) | System, method, and computer program for smart atm transaction processing gateway | |
CN115827690A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
Congdon | Exploiting Characteristics of Data Centers to Enhance Ethernet Switching |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
LAPS | Lapse due to unpaid annual fee |