KR101241584B1 - 데이터 플로우 병렬 처리 장치 및 방법 - Google Patents

데이터 플로우 병렬 처리 장치 및 방법 Download PDF

Info

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
Application number
KR1020090128201A
Other languages
English (en)
Other versions
KR20110071588A (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 KR1020090128201A priority Critical patent/KR101241584B1/ko
Priority to US12/912,134 priority patent/US8316077B2/en
Publication of KR20110071588A publication Critical patent/KR20110071588A/ko
Application granted granted Critical
Publication of KR101241584B1 publication Critical patent/KR101241584B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/22Microcontrol or microprogram arrangements
    • G06F9/28Enhancement of operational speed, e.g. by using several microcontrol devices operating in parallel
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2483Traffic 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

데이터 플로우 병렬 처리 장치 및 방법{Apparatus and Method for parallel processing data flow}
본 발명의 실시예들은 데이터 플로우 병렬 처리 장치 및 방법에 관한 것으로서, 보다 상세하게는 플로우 별 데이터에 대한 처리 정보가 저장된 메모리를 이용하여, 데이터를 효율적으로 처리할 수 있는 데이터 플로우 병렬 처리 장치 및 방법에 관한 것이다.
본 발명은 지식경제부 및 정보통신연구진흥원의 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 데이터의 상위 계층 패킷을 처리하는 상위 계층 처리부
    를 포함하는 데이터 플로우 병렬 처리 장치.
  2. 제1항에 있어서,
    상기 하위 계층 처리부는,
    상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 플로우를 구별하는, 데이터 플로우 병렬 처리 장치.
  3. 제2항에 있어서,
    상기 하위 계층 처리부는,
    OSI(Open Systems Interconnection) 7의 다계층 패킷 중 2 내지 4 계층 패킷을 이용하여 상기 플로우를 구별하는, 데이터 플로우 병렬 처리 장치.
  4. 제1항에 있어서,
    상기 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적지 않은 경우,
    상기 분배부는,
    입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 선택된 상위 계층 처리부로 상기 제2 데이터를 전송하는, 데이터 플로우 병렬 처리 장치.
  5. 제1항에 있어서,
    구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적은 경우,
    상기 분배부는,
    입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 복수 개의 상위 계층 처리부 중 상기 선택된 상위 계층 처리부와 구별된 상위 계층 처리부를 선택하는, 데이터 플로우 병렬 처리 장치.
  6. 제1항에 있어서,
    상기 상위 계층 처리부는,
    상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 지역 메모리로부터 상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는, 데이터 플로우 병렬 처리 장치.
  7. 제6항에 있어서,
    상기 상위 계층 처리부는,
    상기 제1 데이터의 하위 계층 패킷으로부터 해쉬(hash) 정보를 구성하고, 상기 지역 메모리로부터 상기 해쉬(hash) 정보에 대응하는 상기 처리 정보를 획득하는, 데이터 플로우 병렬 처리 장치.
  8. 제6항에 있어서,
    상기 상위 계층 처리부는,
    상기 지역 메모리로부터 상기 처리 정보를 획득할 수 없는 경우, 전체 메모리로부터 상기 처리 정보를 획득하고, 상기 획득된 처리 정보를 상기 지역 메모리에 저장하는, 데이터 플로우 병렬 처리 장치.
  9. 제1항에 있어서,
    상기 상위 계층 처리부는,
    OSI(Open Systems Interconnection) 7의 다계층 패킷 중 7 계층 패킷을 처리하는, 데이터 플로우 병렬 처리 장치.
  10. 입력되는 제1 데이터의 플로우를 구별하는 단계;
    복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하는 단계;
    상기 선택된 상위 계층 처리부로 상기 제1 데이터를 전송하는 단계; 및
    복수 개의 지역 메모리 중 상기 플로우에 대응하는 지역 메모리를 참조하여, 상기 제1 데이터의 상위 계층 패킷을 처리하는 단계
    를 포함하는 데이터 플로우 병렬 처리 방법.
  11. 제10항에 있어서,
    상기 입력되는 제1 데이터의 플로우를 구별하는 단계는,
    상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 플로우를 구별하는 단계
    를 포함하는, 데이터 플로우 병렬 처리 방법.
  12. 제11항에 있어서,
    상기 입력되는 제1 데이터의 플로우를 구별하는 단계는,
    OSI(Open Systems Interconnection) 7의 다계층 패킷 중 2 내지 4 계층 패킷을 이용하여 상기 플로우를 구별하는 단계
    를 포함하는, 데이터 플로우 병렬 처리 방법.
  13. 제10항에 있어서,
    복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하는 단계는,
    상기 구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적지 않은 경우, 입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 선택된 상위 계층 처리부를 선택하는 단계
    를 포함하는, 데이터 플로우 병렬 처리 방법.
  14. 제10항에 있어서,
    복수 개의 상위 계층 처리부 중 상기 플로우에 대응하는 상위 계층 처리부를 선택하는 단계는,
    구별되는 플로우의 수가 상위 계층 처리부의 수 보다 적은 경우, 입력된 제2 데이터의 플로우와 상기 제1 데이터의 플로우가 동일하면, 상기 복수 개의 상위 계층 처리부 중 상기 선택된 상위 계층 처리부와 구별된 상위 계층 처리부를 선택하는 단계
    를 포함하는, 데이터 플로우 병렬 처리 방법.
  15. 제10항에 있어서,
    상기 제1 데이터의 하위 계층 패킷을 이용하여, 상기 지역 메모리로부터 상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는 단계
    를 더 포함하는, 데이터 플로우 병렬 처리 방법.
  16. 제15항에 있어서,
    상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는 단계는,
    상기 제1 데이터의 하위 계층 패킷으로부터 해쉬(hash) 정보를 구성하고, 상기 지역 메모리로부터 상기 해쉬(hash) 정보에 대응하는 상기 처리 정보를 획득하는 단계
    를 포함하는, 데이터 플로우 병렬 처리 방법.
  17. 제15항에 있어서,
    상기 제1 데이터의 상위 계층 패킷을 처리하기 위한 처리 정보를 획득하는 단계는,
    상기 지역 메모리로부터 상기 처리 정보를 획득할 수 없는 경우, 전체 메모리로부터 상기 처리 정보를 획득하고, 상기 획득된 처리 정보를 상기 지역 메모리에 저장하는 단계
    를 포함하는, 데이터 플로우 병렬 처리 방법.
  18. 제10항에 있어서,
    상기 제1 데이터의 상위 계층 패킷을 처리하는 단계는,
    OSI(Open Systems Interconnection) 7의 다계층 패킷 중 7 계층 패킷을 처리하는 단계
    를 포함하는, 데이터 플로우 병렬 처리 방법.
KR1020090128201A 2009-12-21 2009-12-21 데이터 플로우 병렬 처리 장치 및 방법 KR101241584B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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