KR101420292B1 - 데이터 구조 및 이를 이용한 데이터 처리 방법 - Google Patents

데이터 구조 및 이를 이용한 데이터 처리 방법 Download PDF

Info

Publication number
KR101420292B1
KR101420292B1 KR1020120111752A KR20120111752A KR101420292B1 KR 101420292 B1 KR101420292 B1 KR 101420292B1 KR 1020120111752 A KR1020120111752 A KR 1020120111752A KR 20120111752 A KR20120111752 A KR 20120111752A KR 101420292 B1 KR101420292 B1 KR 101420292B1
Authority
KR
South Korea
Prior art keywords
data
buffer
additional buffer
queue
additional
Prior art date
Application number
KR1020120111752A
Other languages
English (en)
Other versions
KR20140046625A (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 KR1020120111752A priority Critical patent/KR101420292B1/ko
Publication of KR20140046625A publication Critical patent/KR20140046625A/ko
Application granted granted Critical
Publication of KR101420292B1 publication Critical patent/KR101420292B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0656Data buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

본 발명은 적어도 하나의 프로세스들에 의해 사용되는 데이터 구조 및 이를 이용한 데이터 처리 방법에 관한 것으로서, 상기 적어도 하나의 프로세스들에 의해 사용되는 데이터를 저장하기 위한 환형 큐; 및 상기 환형 큐에 의해 저장되는 데이터를 일시적으로 저장하는 적어도 하나의 추가 버퍼를 구비하고, 상기 적어도 하나의 추가 버퍼는 추가 버퍼의 타입 및 버퍼 상태를 기반으로 상기 환형 큐에 데이터를 전달하거나 상기 환형 큐로부터 데이터를 전달받도록 동작하여 캐시 무효화 현상을 보완할 수 있다.

Description

데이터 구조 및 이를 이용한 데이터 처리 방법{DATA STRUCTURE AND METHOD FOR DATA PROCESSING BY USING THEREOF}
본 발명은 데이터 구조 및 이를 이용한 데이터 처리 방법에 관한 것으로서, 특히, 멀티 프로세서의 데이터 처리에 유용한 환형 큐의 문제점을 보완한 데이터 구조 및 데이터 처리 방법에 관한 것이다.
환형 버퍼(circular buffer, ring buffer, cyclic buffer) 또는 환형 큐(circular queue)는 데이터 구조의 한 타입으로서 FIFO(First In First Our) 방식으로 데이터가 채워지면서 채워지는 데이터의 처음과 끝이 연결 가능한 구조를 가진다. 환형 큐는 멀티 프로세서 간의 데이터의 입출력 시에 신속하고 효율적인 데이터 처리가 가능하게 한다.
도 1은 환형 큐(10)에서 데이터가 채워지는 상태를 도식화한 것이다. 도 1을 참조하면, 데이터가 시계 방향으로 채워지고 있고, 헤드(head)는 데이터가 삽입되는 포인터를 나타내고 테일(tail)은 데이터가 제거되는 포인터를 나타낸다. 헤드가 시계 방향으로 이동함에 따라 데이터가 삽입(enqueue)되고 테일의 위치에 따라 데이터가 제거(dequeue)되고 있다. 한편, 네트워크 보안에 있어서 고속의 패킷 처리를 요하는 복수의 프로세스(또는 스레드(thread))들은 환형 큐를 공유함에 따라 효율적인 데이터 관리 및 프로세스 스케줄링이 가능하도록 한다.
한편, 복수의 프로세스 간 데이터 전달을 위해 환형 큐를 공유하는 경우, 어느 프로세스는 환형 큐의 한쪽에서 데이터 삽입을 하고 다른 프로세스는 다른 쪽에서 데이터 제거를 수행할 수 있다. 그러나, 프로세서들의 데이터 삽입 및 제거의 속도가 제각각 상이하게 되어 헤드 및 테일의 위치가 동일한 캐시 라인(cache line)에 위치하게 되는 경우 문제가 발생한다.
도 2a 및 도 2b는 환형 큐의 데이터 저장 예를 도식화한 도면이다. 도 2a를 참조하면 환형 큐(10) 상에 헤드를 따라 시계 방향으로 데이터가 삽입되고 있고, 테일을 따라 데이터가 제거되고 있다. 데이터의 삽입 속도가 제거 속도보다 빠른 경우 도 2a에서와 같이 헤드와 테일이 만나게 되고, 이들은 결국 동일한 캐시 라인을 가리키게 되어 캐시 플러시 현상(cache flush)이 발생할 수 있다. 도 2b는 데이터의 삽입 속도가 제거 속도보다 느린 경우로서, 헤드에 데이터의 삽입과 동시에 제거되어 캐시 미스(cache miss)가 발생할 수 있다. 이로 인해, 환형 큐 상에서 의 캐시 무효화(cache invalidation) 현상이 발생되므로 전반적인 프로세서의 데이터 처리 성능이 떨어지게 된다.
본 발명은 상술한 문제점을 해결하기 위해 복수의 프로세스들이 공유하는 환형 큐에 대해 보다 개선된 구조를 제공하도록 한다.
본 발명은 환형 큐의 데이터 삽입 또는 제거 측에 적어도 하나의 추가 버퍼를 구비함으로써 환형 큐를 공유하는 프로세스들간의 데이터 처리 속도의 차이를 보완하도록 한다.
본 발명의 일 실시예에 따른 적어도 하나의 프로세스들에 의해 사용되는 데이터 구조는, 상기 적어도 하나의 프로세스들에 의해 사용되는 데이터를 저장하기 위한 환형 큐; 및 상기 환형 큐에 의해 저장되는 데이터를 일시적으로 저장하는 적어도 하나의 추가 버퍼를 구비하고, 상기 적어도 하나의 추가 버퍼는 추가 버퍼의 타입 및 버퍼 상태를 기반으로 상기 환형 큐에 데이터를 전달하거나 상기 환형 큐로부터 데이터를 전달받도록 동작한다.
본 발명의 일 실시예에 따른 환형 버퍼 및 적어도 하나의 추가 버퍼를 구비하는 데이터 구조를 이용하여 데이터를 처리하는 방법은, 프로세스로부터 데이터를 전달받아 제1 추가 버퍼에 저장하는 단계; 상기 제1 추가 버퍼의 버퍼 상태에 따라 환형 큐에 데이터를 삽입하는 단계; 프로세스로부터의 데이터 출력 요청에 따라 상기 환형 큐에 삽입된 데이터를 프로세스에 전달시키는 단계를 포함한다.
본 발명에 따르면 멀티 프로세서 처리에서의 효율적인 데이터 처리가 가능하다.
본 발명에 따르면 복잡한 알고리즘의 구현이 없이 간단한 방법으로 캐시 무효화 현상을 방지할 수 있다.
도 1은 환형 큐(10) 에서 데이터가 채워지는 상태를 도식화한 것이다.
도 2a 및 도 2b는 환형 큐의 데이터 저장 예를 도식화한 도면이다.
도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 데이터 구조를 예시한 도이다.
도 4a 및 4b는 본 발명의 일 실시예에 따른 데이터 처리 방법을 위한 순서도를 나타낸다.
이하 첨부된 도면을 참조하여 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명을 용이하게 실시할 수 있는 바람직한 실시예를 상세히 설명한다. 다만, 본 발명의 바람직한 실시예에 대한 동작 원리를 상세하게 설명함에 있어 관련된 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략한다.
한편, 본 명세서에서 예시되는 데이터 구조(data structure)는 프로세스에 의해 사용되는 임의의 버퍼, 메모리의 일 형태로서, SDRAM, DRAM등의 메인 메모리에 구성될 수 있는 등 그 형태는 다양하다. 또한, 본 명세서에서 예시되는 환형 큐는 환형 버퍼, 링크트 리스트(linked list)로 예시될 수 있는 등 용어에 의해 본 발명의 범위가 제한되지는 않는다. 또한, 본 발명의 데이터 구조를 공유하는 프로세스는 프로세서 또는 스레드일 수 있는 등, 데이터 구조를 사용할 수 있는 디바이스에 탑재 가능한 응용 소프트웨어로서 본 명세서에서 예시되는 프로세스라는 용어에 의해 본 발명의 범위가 제한되지는 않는다. 또한, 본 발명의 입력용 버퍼, 출력용 버퍼는 본 명세서에서 예시되는 추가 버퍼에 해당할 수 있다.
도 3a 내지 도 3c는 본 발명의 일 실시예에 따른 데이터 구조를 예시한 도이다.
도 3a은 본 발명의 일 실시예에 따른 데이터 구조를 예시한 도이다. 도 3을 참조하면, 본 발명의 일 실시예에 따른 데이터 구조는 환형 큐(100) 및 적어도 하나의 추가 버퍼(200, 300)를 구비할 수 있다. 도 3에서는 두개의 프로세스(P1, P2)가 본 발명의 데이터 구조를 공유하여 사용하고 있다. 프로세스(P1)는 환형 큐에 데이터를 삽입시키는 생산자 프로세스(producer process)일 수 있고, 프로세스(P2)는 환형 큐로부터 데이터를 제거, 인출하여 사용하는 소비자 프로세스(consumer process)일 수 있다. 도 3에서는 환형 큐(100)를 프로세스(P1, P2)만이 공유하도록 예시되고 있지만 그 수와 프로세스의 타입은 이에 한정되지 않는다. 도 3a에서 예시되는 추가 버퍼(200) 및 추가 버퍼(300)는 각각 본 발명의 입력용 버퍼 및 출력용 버퍼일 수 있다.
도 3a를 참조하면, 프로세스(P1)가 환형 큐(100)에 데이터를 삽입(enqueue)하기 전에 추가 버퍼(200)에 전달한다. 즉, 두 프로세스가 공유하지 않는 공간에 위치해서 캐시 간섭이 없는 곳에 위치한 추가 버퍼(200)는 환형 큐(100)에 저장될 데이터를 일시적으로 저장함으로써 프로세스들(P1, P2)의 처리 속도의 차이에 따라 환형 큐(100)에 발생될 수 있는 문제를 보완할 수 있다. 환형 큐(100)는 데이터가 일정량 채워진 상태에서 헤드(110) 및 테일(120)이 나타나 있다. 한편, 도 3a에서는 환형 큐(100)로부터 데이터가 제거(dequeue)되어 또다른 추가 버퍼(300)로 전달되고 있다. 역시 또다른 추가 버퍼(300)도 두 프로세스가 공유하지 않는 공간에 위치해서 캐시 간섭이 없는 버퍼 공간이다. 환형 큐(100)로부터 추가 버퍼(300)로의 데이터 이동은 환형 큐(100)에 데이터가 채워질 때마다, 또는, 기 설정량 이상의 데이터가 환형 큐(100)에 채워질 때마다 간헐적으로 발생될 수 있다. 물론 추가 버퍼(200)와 추가 버퍼(300)가 존재함에도 공유된 주소 공간에 위치한 환형 큐(100)에의 직접적인 접근이 요청될 수 있다. 하지만 추가 버퍼들이 공유된 주소 공간에 위치하지 않으므로 일정량을 추가 버퍼에 저장하고 있는 동안 공유된 주소 공간인 환형 큐(100)로의 접근 빈도를 줄여서 캐시 간섭을 최소화 할 수 있다. 더욱이 추가 버퍼의 크기는 캐시 라인 크기 이상이므로 설사 헤드와 테일이 캐시 라인 크기 미만으로 접근하지 않으므로 이 또한 역시 캐시 간섭을 완화하는 이유가 된다.다음에, 도 3b에서는 추가 버퍼(200)에 저장된 데이터가 환형 큐(100)로 모두 이동하는 상태를 예시한다. 도 3b를 참조하면, 보통은 데이터 추가량이 많으면 추가 버퍼(200)에 데이터가 가득 찬 후 환형 큐(100)로 전달되지만, 일정 시간이 지나면 추가 버퍼(200)가 가득 차있지 않아도 환형 큐(100)로 데이터가 전달될 수도 있다. 즉, 추가 버퍼(200)는, 버퍼 타입, 예컨대, 입력용 버퍼로서 프로세스(P1)로부터 데이터의 삽입이 생길 때마다 데이터를 저장하면서, 데이터가 채워지는 버퍼 상태에 따라 환형 큐(100)에 데이터를 전달하도록 동작할 수 있다.
도 3c에서는 추가 버퍼(300)로부터 데이터가 제거(dequeue)되는 일례를 나타낸다. 도 3c를 참조하면, 프로세스(P2)에서 데이터의 제거 요청이 있고, 추가 버퍼(300)에 데이터가 존재하는 경우는 해당 데이터가 다 소진될 때까지 환형 큐(100)로부터 추가 버퍼(300)로 이동할 필요가 없다. 도 3c에서는 추가 버퍼(300)의 데이터가 다 소진된 상태로 가정하고 환형 큐(100)로부터 추가 버퍼(300)로부터 데이터를 이동하는 과정이 예시되고 있다. 환형 큐(100)에 있는 데이터를 추가 버퍼(300)로 이동을 시키고 나면 프로세스(P2)에서 제거 요청 처리 중이므로 이동 시킨 데이터 중 가장 처음 내용을 프로세스(P2)에 반환을 할 것이다. 즉, 추가 버퍼(300)는, 데이터가 저장된 버퍼(300)의 상태 또는 프로세스(P2) 요청에 따라 저장된 데이터를 프로세스에 전달할 수 있다.
한편, 도 3a 내지 도 3c 에서 예시되는 데이터의 추가 버퍼(200, 300) 및 환형 큐(100) 간의 이동 형태 및 데이터 량은 설정 및 상태에 따라 변경될 수 있으므로 명세서에서 예시되는 예에 의해 본 발명의 범위가 제한되지 않는다.
이상, 본 발명의 일 실시예에 따른 데이터 구조를 도식화하면서 설명하였다. 도 3a 내지 도 3c에서는 추가 버퍼가 입력용 버퍼(200) 및 출력용 버퍼(300)로서 각각 한 개씩 예시되고 있지만, 본 발명의 데이터 구조는 이에 한정되지 않고, 복수 개의 입력용 버퍼 및 복수 개의 출력용 버퍼를 구비할 수 있고, 출력용 버퍼만 구비하거나 입력용 버퍼만을 구비하도록 구성될 수 있다.
도 4a 및 4b는 본 발명의 일 실시예에 따른 데이터 처리 방법을 위한 순서도를 나타낸다. 도 4a는 입력용 버퍼로부터 환형 큐에 데이터가 인큐되는 예를 도시하고 있고 도 4b는 환형 큐로부터 출력용 버퍼에 데이터가 디큐되고 있는 예이다.
단계(S11)에서, 프로세스로부터 데이터를 입력받아 입력용 버퍼에 저장할 수 있다. 즉, 본 발명의 데이터 구조에 따라 프로세스로부터의 데이터 삽입 요청이 있는 경우, 이를 환형 큐에 바로 저장하지 않고 입력용 버퍼에 일시적으로 저장한다.
단계(S12)에서, 입력용 버퍼가 가득 차 있는 지를 판단한다. 즉, 버퍼 상태를 파악한다.
단계(S13)에서, 입력용 버퍼가 가득 차 있는 것으로 판단한 경우 환형 큐에 전달한다. 입력용 버퍼에는 데이터가 가득 차 있지 않더라도 일정 시간동안 환형 큐로 전달이 안되고 있을 때에는 데이터가 이동할 수 있는 등 구현 방법에 따라 다양하게 동작할 수 있다.
다음에, 도 4b를 참조하며 데이터의 삭제를 설명한다.
단계(S21)에서, 다른 프로세스, 예컨대 소비자 프로세스로부터 데이터 삭제 요청이 있는 경우에 출력용 버퍼에 데이터가 있는지를 확인한다.
단계(S22)에서, 만약 출력용 버퍼에 데이터가 없어서 출력용 버퍼가 빈 경우 환형 큐에서 데이터를 출력용 버퍼로 데이터를 이동시킨다. 한편, 단계(S22)에서 환형 큐에 데이터가 존재하는 경우에는 프로세서에 데이터를 바로 전달할 수 있다.
단계(S23)에서, 이 과정은 출력용 버퍼 내의 가장 앞의 데이터, 출력용 버퍼 내 데이터로서 가장 오래된 데이터를 프로세스에게 반환한다. 프로세서에 데이터가 반환되는 과정은 프로세스가 요청 당시에 이미 출력용 버퍼에 데이터가 있어서 바로 반환되는 경우와, 출력용 버퍼에 데이터가 없어서 환형 큐(100)에서 데이터를 출력용 버퍼로 이동시킨 후에 데이터를 반환하는 경우, 두 가지 경우에 모두 해당될 수 있다.한편, 단계(S11)내지 단계(S13) 및 단계(S21) 내지 단계(S23)의 동작은 본 발명의 데이터 구조를 공유하는 프로세스들이 동작하는 동안 지속적으로 반복될 수 있다.
이상, 본 발명의 일 실시예에 따른 데이터 처리 방법에 대해 설명하였다.
본 발명의 데이터 처리 방법은 컴퓨터상에서 실행 가능하며, 전자적 기록 코드로서 컴퓨터 판독 가능한 기록 매체에 기록, 저장될 수 있으며, 본 발명의 범위는 해당하는 컴퓨터 판독 가능한 기록 매체에 대해서도 적용될 수도 있다.
이제까지 본 발명에 대하여 그 바람직한 실시예들을 중심으로 설명하였다. 그러나, 본 발명의 실시예는 당업계에서 통상의 지식을 가진 자에게 본 발명을 보다 완전하게 설명하기 위하여 제공되어지는 것으로, 본 발명의 범위가 상기의 실시예에 한정되는 것은 아니며, 여러 가지 다른 형태로 변형이 가능함은 물론이다.
100 : 환형 큐
200, 300 : 추가 버퍼

Claims (9)

  1. 적어도 하나 이상의 프로세스를 처리하는 데이터 처리 장치에 있어서,
    상기 적어도 하나의 프로세스들에 의해 사용되는 데이터를 저장하기 위한 환형 큐; 및
    상기 환형 큐에 의해 저장되는 데이터를 일시적으로 저장하는 적어도 하나의 추가 버퍼를 구비하고,
    상기 적어도 하나의 추가 버퍼는 추가 버퍼의 타입 및 버퍼 상태를 기반으로 상기 환형 큐에 데이터를 전달하거나 상기 환형 큐로부터 데이터를 전달받도록 동작하고,
    상기 적어도 하나의 추가 버퍼는 프로세스로부터 전달되는 데이터를 일시적으로 저장한 후 상기 환형 큐에 삽입하는 입력용 버퍼 및
    상기 적어도 하나의 추가 버퍼는 상기 환형 큐로부터 출력되는 데이터를 일시적으로 저장한 후 프로세스에 전달하는 출력용 버퍼를 포함하는 데이터 처리 장치.
  2. 삭제
  3. 제1항에 있어서,
    상기 입력용 버퍼는 데이터가 저장된 상기 버퍼의 상태에 기초하여 상기 저장된 데이터를 상기 환형 큐에 전달하는 데이터 처리 장치.
  4. 삭제
  5. 제1항에 있어서,
    상기 출력용 버퍼는 데이터가 저장된 상기 버퍼 상태 또는 프로세스 요청에 따라 저장된 데이터를 프로세스에 전달하는 데이터 처리 장치.
  6. 환형 버퍼 및 적어도 하나의 추가 버퍼를 구비하는 데이터 구조를 이용하여 데이터를 처리하는 방법에 있어서,
    프로세스로부터 데이터를 전달받아 제1 추가 버퍼에 저장하는 단계;
    상기 제1 추가 버퍼의 버퍼 상태에 따라 환형 큐에 데이터를 삽입하는 단계;
    프로세스로부터의 데이터 출력 요청에 따라 상기 환형 큐에 삽입된 데이터를 프로세스에 전달시키는 단계; 및
    상기 프로세스에 상기 삽입된 데이터의 출력 전에 제2 추가 버퍼에 삽입된 데이터를 저장하는 단계를 포함하는 방법.
  7. 삭제
  8. 제6항에 있어서,
    상기 제1 추가 버퍼는 프로세스의 삽입 요청에 따라 데이터를 저장하는 입력용 버퍼이고, 상기 제2 추가 버퍼는 프로세스의 제거 요청에 따라 저장된 데이터를 프로세스에 전달하는 출력용 버퍼로 구성되는 방법.
  9. 제6항에 있어서,
    상기 제1 추가 버퍼 및 상기 제2 추가 버퍼는 데이터가 저장된 버퍼 상태에 따라 데이터를 저장 또는 제거하도록 동작하는 방법.
KR1020120111752A 2012-10-09 2012-10-09 데이터 구조 및 이를 이용한 데이터 처리 방법 KR101420292B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020120111752A KR101420292B1 (ko) 2012-10-09 2012-10-09 데이터 구조 및 이를 이용한 데이터 처리 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020120111752A KR101420292B1 (ko) 2012-10-09 2012-10-09 데이터 구조 및 이를 이용한 데이터 처리 방법

Publications (2)

Publication Number Publication Date
KR20140046625A KR20140046625A (ko) 2014-04-21
KR101420292B1 true KR101420292B1 (ko) 2014-07-21

Family

ID=50653504

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020120111752A KR101420292B1 (ko) 2012-10-09 2012-10-09 데이터 구조 및 이를 이용한 데이터 처리 방법

Country Status (1)

Country Link
KR (1) KR101420292B1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101666440B1 (ko) * 2015-01-23 2016-10-17 주식회사 리얼타임테크 환형큐 기반의 인-메모리 데이터베이스 시스템에서의 데이터 처리방법
CN106055281B (zh) * 2016-06-29 2020-02-18 广州华多网络科技有限公司 数据写入方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100955423B1 (ko) * 2008-12-19 2010-05-04 재단법인대구경북과학기술원 버퍼 관리 방법, 그 장치, 서버 및 전장 시스템
KR101128014B1 (ko) * 2010-05-20 2012-03-29 시큐아이닷컴 주식회사 통합 환형 큐를 이용한 데이터 패킷 처리 장치 및 처리 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100955423B1 (ko) * 2008-12-19 2010-05-04 재단법인대구경북과학기술원 버퍼 관리 방법, 그 장치, 서버 및 전장 시스템
KR101128014B1 (ko) * 2010-05-20 2012-03-29 시큐아이닷컴 주식회사 통합 환형 큐를 이용한 데이터 패킷 처리 장치 및 처리 방법

Also Published As

Publication number Publication date
KR20140046625A (ko) 2014-04-21

Similar Documents

Publication Publication Date Title
CN110741356A (zh) 多处理器系统中的中继一致存储器管理
US11392529B2 (en) Systems and method for mapping FIFOs to processor address space
US20110219195A1 (en) Pre-fetching of data packets
KR20170026116A (ko) 고성능 트랜잭션 기반 메모리 시스템
US8806168B2 (en) Producer-consumer data transfer using piecewise circular queue
WO2008030672A3 (en) Systems and methods for masking latency of memory reorganization work in a compressed memory system
US9092275B2 (en) Store operation with conditional push of a tag value to a queue
CN106293973B (zh) 无锁消息队列通信方法及系统
US9594506B2 (en) Data queue having an unlimited depth
KR20140067740A (ko) 선입선출 버퍼를 포함하는 시스템 온 칩, 응용 프로세서 및 그것을 포함하는 모바일 장치
CN111176855B (zh) 在用户空间中建立线程之间的队列
CN108897630B (zh) 一种基于OpenCL的全局内存缓存方法、系统及装置
KR20210133257A (ko) 링 버퍼 업데이트들의 핸들링
CN107025184B (zh) 一种数据管理方法及装置
US20160041855A1 (en) Method and apparatus for transmitting data elements between threads of a parallel computer system
KR101420292B1 (ko) 데이터 구조 및 이를 이용한 데이터 처리 방법
US10969996B1 (en) Extendable hardware queue structure and method of operation thereof
US20080276045A1 (en) Apparatus and Method for Dynamic Cache Management
GB1207169A (en) Information processing system
US20100058024A1 (en) Data Transfer Apparatus, Data Transfer Method And Processor
CN116107635A (zh) 命令分发器、命令分发方法、调度器、芯片、板卡、设备
AU2010201275A1 (en) A high performance and low latency messaging system
CN103078811B (zh) 一种基于多线程环境网络数据包乱序控制方法
US20130103918A1 (en) Adaptive Concentrating Data Transmission Heap Buffer and Method
US9116814B1 (en) Use of cache to reduce memory bandwidth pressure with processing pipeline

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