KR100373381B1 - 네트워크 처리 시스템내의 메모리 관리 방법 및 시스템 - Google Patents

네트워크 처리 시스템내의 메모리 관리 방법 및 시스템 Download PDF

Info

Publication number
KR100373381B1
KR100373381B1 KR10-2001-0012663A KR20010012663A KR100373381B1 KR 100373381 B1 KR100373381 B1 KR 100373381B1 KR 20010012663 A KR20010012663 A KR 20010012663A KR 100373381 B1 KR100373381 B1 KR 100373381B1
Authority
KR
South Korea
Prior art keywords
memory
component
bus
allocation
request
Prior art date
Application number
KR10-2001-0012663A
Other languages
English (en)
Other versions
KR20010091014A (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 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR20010091014A publication Critical patent/KR20010091014A/ko
Application granted granted Critical
Publication of KR100373381B1 publication Critical patent/KR100373381B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/35Switches specially adapted for specific applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99956File allocation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)
  • Multi Processors (AREA)
  • Memory System (AREA)

Abstract

네트워크 처리 시스템내의 메모리 관리를 위한 방법 및 시스템은 버스에 의해 제어점 프로세서에 결합된 네트워크 프로세서내의 물리 기억 영역의 할당을 위해 제공된다. 할당 기술은 완료된 동작 시스템 인터페이스를 필요로 하지 않는 메모리 관리 층을 제공하고 할당 요청에 대한 비동기식 완료를 지원한다. 할당이 복수의 네트워크 프로세스상에서 동시에 요청되는 것이 가능하도록 멀티캐스트 할당이 지원된다. 할당 메카니즘은 토큰을 반환하고, 이후에 이 토큰을 사용하여 버스 상의 프로토콜을 경유하여 메모리 위치에 액세스할 수 있고, 단일 토큰은 실제 물리 어드레스 및 메모리 구성이 상이한 다양한 네트워크 프로세서상에서 이루어진 할당을 참조할 수 있다.

Description

네트워크 처리 시스템내의 메모리 관리 방법 및 시스템{METHOD AND SYSTEM FOR MEMORY MANAGEMENT IN A NETWORK PROCESSING SYSTEM}
본 발명은 전반적으로 컴퓨터 네트워크, 특히 네트워크 트래픽(network traffice)을 관리하는 네트워크 프로세서에 관한 것이다. 구체적으로, 본 발명은 제어점 프로세서(control point processor)와 네트워크 프로세서 사이의 메모리 관리에 관한 것이다.
컴퓨터 네트워크는 스위치 라우터(switch routers)가 복잡한 네트워크 경로 및 필터링 요구조건을 처리하기에는 불충분한 시점까지 전개되어져 왔다. 인터내셔널 비즈니스 머신즈사(IBM) 네트워크 프로세서(NP)와 같은 네트워크 프로세서는 이 요건을 충족시키기 위해 개발되어져 왔다. 네트워크 스위치의 접속과 유사한 접속을 이용하여, NP는 네트워크 스위치의 그것을 능가하는 제어 및 융통성 레벨을 제공한다. 병렬 룩업 동작(parallel lookup operations)은 프레임상에서 수행될 수 있고, 복잡한 변경이 패킷상에서 수행될 수 있으며, 정책(policies)은 복잡한 레벨에서 관리될 수 있다. 매우 높은 프레임 처리량을 달성하는데 복수의 프로세서들이 사용된다.
네트워크 프로세서 상에서 실행하는 고 오버헤드 운영 체제(high overhead operating system)를 가지는 것이 바람직하지는 않다. 고 프레임 처리 능력의 요구조건으로 인해, NP 지원 작업은 최소량으로 감소될 필요가 있다. 그러나, 네트워크 프로세서를 제어하는 데이터 구조 및 제어 구조를 위한 메모리 할당에 대한 필요성이 존재하게 되었다. 부가적으로, NP는 로컬 애플리케이션, 예를 들면 프레임 필터링 및 차단을 수행하는 복잡한 필터링 애플리케이션을 실행시킬 수 있다. 이들 NP-기반 애플리케이션들은 중앙 제어점과의 일정한 통신을 필요로하지 않는 메모리 할당 기술을 필요로한다. 부가적으로, 이는 중앙 프로세서 상에서 실행하는 중앙 제어점 애플리케이션 또는 운영 체제와 NP상에서 실행하는 데이터 구조 또는 프로그램 사이에서 어드레스 공간의 직접 매핑(direct mapping)을 필요로하는 단점을 갖는다.
그러므로, 제어점 프로세서와 하나 이상의 네트워크 프로세서 사이에 고 처리 오버헤드 및 어드레스 공간의 직접 매핑을 필요로하지 않는 메모리로의 액세스가 달성될 수 있도록 네트워크 처리 시스템에 메모리를 관리하는 방법 및 시스템을 제공하는 것이 바람직할 수 있다.
직접 메모리 매핑을 필요로하지 않고서 네트워크 처리 시스템에서 메모리를 관리하는 목적은 네트워크 처리 시스템에서 메모리를 관리하는 방법 및 시스템에서 달성되고, 이는 제어점 프로세서 및 복수의 네트워크 프로세서(NP)를 포함한다. 제어점 프로세서(CP) 콤포넌트 및 네트워크 프로세서 콤퍼넌트를 가지는 동적 메모리 관리기(dynamic memory manager)는 애플리케이션을 등록하기 위해 제공되는데 이는 CP 콤포넌트로부터 NP 콤포넌트로의 요청을 버스를 통하여 전송함으로써 이들 애플리케이션들이 NP상의 메모리 할당을 요청하는 것을 가능하게 한다. 요청에 응답하여, NP는 물리적 메모리를 할당하고 NP 콤포넌트로부터 CP 콤포넌트로의 할당을 나타내는 토큰(token)을 반환한다. 토큰은 물리적 메모리에 판독/기록 및 기타 액세스를 제공하는데 이용된다.
본 발명의 모든 목적들, 피쳐들 및 장점들은 이하 상세히 기술된 설명에서 자명해질 것이다.
도 1은 본 발명의 실시예에 따른 네트워크 서브시스템으로 관리된 네트워크 프로세서의 블럭도,
도 2는 본 발명의 실시예에 따른 네트워크 프로세서내의 프레임 흐름(frame flow)을 도시하는 단순화된 블럭도,
도 3은 본 발명의 실시예에 따른 네트워크 프로세서를 도시하는 상세한 블럭도,
도 4는 본 발명의 방법 및 시스템을 구현하는 소프트웨어 모듈을 도시하는 블럭도,
도 5는 본 발명의 실시예에 따른 네트워크 서브시스템에서 메모리를 관리하는 방법을 도시하는 흐름도,
도 6은 본 발명의 실시예에 따라, 네트워크 프로세서에 소프트웨어 관리 트리(software managed tree)를 다운로딩하는 방법을 도시하는 흐름도.
도면의 주요 부분에 대한 부호의 설명
11 : 제어점 CPU 12 : 패킷 라우팅 스위치
14A,14B,14C : 매체 인터페이스 13,15,16,17 :DDR DRAM
22 : 스위치 패브릭 23 : 인그레스 스위치 인터페이스
24 : 이그레스 스위치 인터페이스 27 : 인그레스 데이터 저장 장치
28 : 인그레스 PPM 29 : 익레스 PPM
31 : 이그레스 데이터 저장 장치 42 : CSA 중재기
47 : 인스트럭션 메모리 48 : 하드웨어 분류기 HC
52 : 애플리케이션 53 : 제어점 메모리 관리기
54 : 디바이스 드라이버 55,62 : 버스 인터페이스
63 : 가이드형 셀 처리기 64 : 메모리 관리기
도면, 특히 도 1을 참조하면, 본 발명의 실시예에 따른 네트워크 처리 시스템이 도시된다. 네트워크 프로세서(NP)(14A-14C) 그룹에 패킷 경로 스위치(packet routing switch:12)가 결합된다. 10 베이스-T(10 base-T) 또는 100 베이스-T 이더넷 접속(16A-16E) 또는 본 기술분야에서 기지되는 다른 통신 인터페이스 타입과 같은 다양한 프로토콜을 가지는 네트워크에 접속하기 위해 NP(14A-14C)는 매체 인터페이스(media interface)를 제공한다. 따라서, NP(14A)는 소정의 매체 인터페이스에서 수신된 프레임을 패킷 경로 스위치(12)상의 포트 0으로 라우팅시킬 수 있고, 어드레스 번역을 수행하고, 서비스 질(Quality-of-Service:QoS) 요청에 응답하고, 패킷을 차단(blocking)하거나 또는 임의의 복잡한 라우팅 또는 입력 프레임상의 프레임 처리 기능을 수행할 수 있다. NP(14A)는 또한 이그레스 인터페이스(Egress interface)를 통해 패킷 라우팅 스위치(12)상의 포트 0으로부터 프레임을 수신하고 프레임을 매체 인터페이스로 라우팅시키는 이와 유사한 복잡한 기능을 수행할 수 있다. 제어 메모리(15)는 라우팅 기능성 및 프레임 처리, 좀 더 구체적으로 본 발명의 소프트웨어 관리 트리 동적 분류기(software managed tree(SMT) dynamic classifier)를 구동시키는 제어 소프트웨어를 저장한다. 룩업 ZBT SRAM(lookup ZBT SRAM:17)은 고정 매칭 트리(fixed match tree:FMT) 하드웨어 지원 매칭 트리(hardware assisted matching trees)를 저장하는 고속 액세스 메모리를 제공하고 이는 SMT 또는 그의 일부분들에 대한 고속 저장을 제공하는데 이용될 수 있다. 제어점 중앙 처리 장치(CPU)(11)는 네트워크 프로세서 동작의 관리 및 애플리케이션의 다운로딩, 분류기 트리 및 기타 데이터를 제공한다. CPU(11)는 다운로딩을 위해 SMT를 컴파일하고 생성한다. SMT는 CPU(11)상에서 실행하는 애플리케이션에 의해 구축되며, 이후에 NP(14A-14C)에 결합된 메모리에 다운로딩된다.
도 2를 참조하면, NP 14A의 단순화된 블록도가 도시된다. 인그레스(Ingress)/인큐잉(Enqueue)/디큐잉(Dequeue)/스케쥴링(Scheduling) 로직(EDS)(27)은 프레임 버퍼링 및 스위치 패브릭(switch fabric)(22)에 라우팅된 프레임에 대한 제어를 관리한다. 프레임들은 매체 인터페이스 접속으로부터 물리적 MAC(Medium Access Control) 멀티플렉서(PMM)(28)를 인그레싱함으로써 수신되며, 프로토콜 프로세서(25)에 의해서 번역되어 처리된다. 인그레스 스위치 인터페이스(23)은 스위치 패브릭(22)에 대한 접속을 제공하며 다른 NP 또는 패킷 라우팅 스위치(12)에 접속될 수 있다(도 1로부터). 이그레스 스위치 인터페이스(24)는 스위치 패브릭(22)으로부터 프레임 데이터를 수신하며, 상기 프레임 데이터는 이그레스 데이터 저장 장치(31)에 저장된다. 그런 다음, 프로토콜 프로세서(25)는 프레임을 처리하는 분류기를 검색하여 이들을 이그레스 PMM(29)을 통하여 라우팅할 수 있다.
도 3을 참조하면, 본 발명의 바람직한 실시예에 따르는 상세한 네트워크 프로세서 유닛(14A)의 블록도가 도시된다. 분류기 트리를 저장하는 메모리(43)는 제어 저장 중재기(42)에 의해서 NP에 결합되어 코어 처리 유닛(core processing unit)(46)이 외부 및 내부 메모리로의 액세스를 공유할 수 있게 해준다. 각각의 코어 처리 유닛(46)은 한쌍의 프로토콜 처리 유닛(DPPU)(44a-44b) 및 트리 검색 엔진(45)을 포함한다. 인스트럭션 메모리(47)는 트리 검색 엔진(TESs)(45)를 구동하는 피코코드(picocode)를 저장하는 코어 처리 유닛(46)에 결합된다. 본 발명은 이러한 트리 검색 엔진(45) 작동과 관련되어 있다. Power PC 코어(41)는 네트워크 프로세서 유닛(40)을 관리한다. 소프트웨어 관리 트리 데이터(software managed tree data) 및 고정 매칭 트리 데이터(fixed match tree data)는 TSE(15)에 대한 제어를 제공하도록 메모리(43)로 다운로딩된다. 일단 트리내의 리프(leaf)가 매칭되면, 이것은 내트워크 프로세서 유닛(40)내의 내부 레지스터에 로딩된다. TES에서 사용된 트리는 정적(static) 또는 동적(dynamic) 트리로 불린다. 동적 트리는 프레임의 처리의 변화를 줄 수 있도록 증분적으로 그리고 빠르게 갱신될 수 있기 때문에 동적 트리라고 불린다. 정적 트리는 증분적으로 갱신되지 않으며, 트리가 변화될 때마다 매번 트리의 재로딩(reloading)을 요구한다. 정적 트리는 리프를 소정의 범위의 IP 어드레스에 적용하는 것과 같은 보다 복잡한 매칭을 제공하는 데에 있어 유용하다. 하드웨어 분류기(48)는 수신된 프레임을 전처리(preprocess)하여 매칭을 준비한다.
본 발명은 CPU(11)상의 애플리케이션 및 NP(14A-14C)상에서 실행하는 애플리케이션이 제어 인스트럭션, 데이터 및 프레임 분류기 트리를 저장하기 위해 메모리를 할당할 수 있다. 이 메모리는 NP 애플리케이션을 위한 데이터 저장, CP 애플리케이션을 위한 데이터 저장, 프레임 분류기를 위한 SMT 저장 등이 될 수 있다.
이제 도 4를 참조하면, 본 발명의 방법 및 시스템을 구현하는 소프트웨어 모듈이 도시된다. 동적 메모리 관리기는 두 부분, 즉 제어점 메모리관리기(CPMM)(53) 및 NP 메모리 관리기(64)를 포함한다. 동적 메모리 관리기의 CP 콤포넌트는 CPU(12)에 결합된 메모리내에 상주하고 NP 콤포넌트는 NP(14A)에 결합된 메모리내에 상주한다. CPU(12)내에서, 애플리케이션 소프트웨어(52)는 네트워크 프로세서(14A-14C)에 의해 수행되는 네트워크 처리 제어를 제공한다. NP(14A-14C)상에 데이터 저장을 위한 메모리를 할당하기 위해, 애플리케이션 소프트웨어(52)는 CPMM(53)의 애플리케이션 프로그래밍 인터페이스(API)와 통신한다. 이들 API는 NP(14A-14C)상에 메모리를 위한 할당 및 해제(deallocation) 서비스 및 판독/기록 액세스 서비스를 제공하고 남아있는 자유 공간(free space)과 같은 메모리 상태 정보를 요청한다. API는 또한 고속 또는 저속 메모리 할당 선택을 제공하고 NP(14A-14C)내의 소정의 메모리로부터 다른 메모리로의 동작을 전송한다. AIX(뉴욕, 아몬크 소재의 IBM사에 의해 제조됨) 또는 UNIX와 같은 운영 체제에서의 통상적인 프로시쥬어 호출 및 통상적인 메모리 할당과는 달리, 동적 메모리 관리기의 API는 동기식이 아니다.
애플리케이션 실행을 지연시키지 않거나 또는 NP(14A-14C) 처리를 인터럽트함 없이 할당 서비스를 제공하기 위해, 할당 및 액세스 요청에 대한 응답은 비동기식이며, 트랜잭션이 NP(14A-14C)로 전파된 이후에 결과가 보고된다. 동적 메모리 관리기는 복수의 NP가 각각의 요청으로 지정될 수 있다는 점에서, 예를 들면 멀티캐스트 API는 CPU(12)가 단일 동작 세트, 단일 할당 호출 및 단일 기록 호출에서 특정 NP(14A-14C) 서브세트상에 공간 및 기록 데이터를 할당하도록 하는 것을 가능하게 한다는 점에서 멀티캐스트(multicast) 메모리 할당 및 액세스를 또한 지원한다. 동적 메모리 관리기는 모든 응답이 수신되거나 또는 에러(하나 이상의 NP로부터 어떠한 응답도 없음으로 인한 타임아웃을 포함함)가 발생할 때 CPMM(53)을 통하여 CP 애플리케이션(52)에 통지한다.
비동기식 동작(asynchronous operation)을 수행하고 애플리케이션에 의해 승인된 데이터를 구성하기 위해, 동적 메모리 관리기에 의해 Register() 및 De-Register()가 제공된다. 애플리케이션은 그들 자신을 DMM으로 등록하고 테이블은 이 애플리케이션에 의해 요청된 할당을 기록하도록 구성된다. 애플리케이션이 De-Register()를 호출할 때, DMM은 계류중인 요청이 타임아웃이 되도록 기다리고, 이후에 애플리케이션에 의해 보유된 모든 토큰을 삭제한다.
동적 메모리 관리기 CP 콤포넌트(CPU(12)내에 위치하는 동적 메모리 관리기 부분)에 의해 지원된 애플리케이션은 Read(), Write(), Resize(), Allocate() 및 Deallocate() API와 함께 Register() 및 De-Register() API를 포함한다. 추가적인 질의는 상이한 액세스 속도를 가지는 메모리의 이용가능성 하에서 자유 메모리 및 정보량을 반환시키는데 이용가능하다. 예를 들면, 종종 이용될 수 있는 프레임 처리 알고리즘의 다운로드를 준비하는 CP 애플리케이션은 알고리즘을 구현하는 코드를 유지하기 위해 충분한 여유 바이트가 고속 온-칩 메모리에서 이용가능한지를 판정하기를 원한다. 이 목적을 위해 CheckMemoryAvailability() API가 제공된다.
메모리 연산을 나타내는 패킷은 CPU(12)와 NP(14A-14C)를 접속시키는 버스로 전파된다. 디바이스 드라이버(54)는 요청으로 요구된 정보, 즉 기록 요청에 대한 토큰 및 데이터의 패키징을 버스 인터페이스(55)로 제공한다. NP 및 CPU(12)를 접속시키는 버스는 이더넷 접속, 피브레 채널 접속(Fibre Channel connection) 또는 양방향 통신을 가능하게 하는 소정의 다른 인터페이스가 될 수 있다.
NP(14A)내에서, 버스 패킷은 버스 인터페이스(62)에 의해 수신되고 가이드형 셀 처리기(guided cell handler:63)에 의해 디코딩되며, 이후에 패킷내에 캡슐화된 요청을 동적 메모리 관리기(64)의 NP 콤포넌트로 전송한다. 그리고나서, 동적 메모리 관리기는 NP에 결합된 메모리(43)를 할당하거나 또는 액세스할 수 있다. SMT 다운로드 기능(65)은 NP(14A)에 다운로딩되는 SMT를 위한 할당을 제공한다. 테이블 초기화 제어(66)는 동적 메모리 관리기의 NP 콤포넌트(64)를 위한 프레임워크(framework)를 설정한다. NP내의 물리적 위치가 액세스될 수 있도록 생성된 테이블은 애플리케이션에 전달되어진 할당 및 토큰을 추적하고 수신된 토큰 정보를 포인터로 변환시키는 데이터를 제공한다. 공통 인터페이스는 CPU(12)상에서 실행하는 애플리케이션과 NP상에서 실행하는 애플리케이션 사이에 공통 인터페이스가 제공되도록 NP내에서 실행하는 애플리케이션(68)은 또한 이들 메카니즘을 이용하여 메모리를 할당하고 메모리를 액세스할 수 있다.
애플리케이션에 의해 생성된 특정 자료를 참조하기 위해 단일 토큰을 이용함으로써, 다양한 프로세서에서 실행하는 복수의 애플리케이션 또는 복수의 인스탄스(instance)는 그것이 특정 어드레스의 상이한 메모리내에 위치될 지라도 동일한 자료를 참조할 수 있다. 예를 들면, 복수의 프로세서 상에 할당된 특정 기록을 삭제하라는 요청은 모든 프로세서에 브로드캐스트될 수 있다. 해제는 기록이 존재하는 이들 프로세서 상에서 진행할 수 있고 그것이 존재하지 않는 프로세서 상에서는 실패할 수 있다. 메모리 연산 결과는 애플리케이션 등록동안 제공되는 콜백(callback) 메카니즘에 의해 애플리케이션에 반환된다. 애플리케이션에서의 콜백 루틴은 이후에 좀 더 초기에 비동기식으로 큐잉된 연산 결과를 판정할 수 있다. 토큰을 이용함으로써 애플리케이션은 어떠한 요청이 완료되고 여전히 계류중인지를 식별가능하게 하는 메카니즘을 제공한다.
동적 메모리 관리기는 소정의 토큰과 연관된 계류중인 요청 상태에 따라 요청을 차단할 수 있다. 예를 들면, 기록 동작은 할당 요청이 계류중이면 차단되어져야 한는데, 이는 물리적 위치가 할당되어져 있지 않고 기록 데이터를 위한 대상이 존재하지 않기 때문이다.
도 5를 참조하면, 본 발명의 실시예에 따른 네트워크 처리 시스템에서 메모리를 관리하는 방법의 흐름도가 도시된다. 애플리케이션은 동적 메모리 관리기(단계 70)로 등록하고 동적 메모리 관리기는 애플리케이션을 위한 참조 테이블을 구성한다(단계 71). 이후에 애플리케이션은 메모리 할당을 요청할 수 있고(단계 72) 이 요청은 버스상의 하나 이상의 네트워크 프로세서에 전파된다. 물리적 메모리는 NP 서브시스템내에서 할당되고 토큰은 할당을 참조하기 위해 반환된다(단계 74). 할당 요청에 대한 응답은 NP로부터 반환되고 동적 메모리 관리기에 의해 수집된다. 이후에, 할당 결과가 애플리케이션에 통지된다(단계 76).
도 6을 참조하면, 본 발명의 바람직한 실시예에 따른 SMT를 다운로딩하는 방법의 흐름도가 도시된다. SMT 다운로드 기능(65)은 다운로딩되는 SMT를 위한 저장 할당 및 새로운 SMT가 다운로딩되는 동안 프레임 분류기 동작을 유지하는데 이용된복수의 저장 할당을 제공한다. 새로운 SMT는 CPU(11)상에서 구성되고(단계 80) 분류기 타이머는 그것이 이미 실행중이라면 정지된다(단계 81). 이것은 CPU(11) 및 NP(14A-14C)상에서 실행하는 애플리케이션이 새로운 SMT가 진행하는 동안 이 SMT에 대한 임의의 추가를 가하거나 또는 변화를 발생시키는 것을 방지한다. 새로운 SMT의 다운로드를 요구하는 규칙이 변화되는지를 판정하기 위해 새로운 SMT가 체크되고 규칙이 변화되지 않는 경우에는, 진행이 종료한다. SMT가 다운로드될 필요가 있는 경우에, 고속 저장 장치는 제한된 자원이고 고속 저장 장치(NP(40)내의 내부 메모리 또는 ZBT SRAM(17)과 같은 외부 메모리(43))에는 충분치 않을 수 있으므로, 일반적으로 저속 저장 장치(slow storage)에 먼저 다운로딩된다(단계 83).
NP 프레임 프로세서 TSE(45)에 대한 활성 SMT의 위치를 지정하는 포인터는 새롭게 다운로드된 SMT를 가르키기 위해 변경된다(단계 84). 이후에 이전의 SMT는 고속 메모리로부터 제거된다(단계 86). 최종적으로, 고속 메모리내의 새로운 SMT 사본을 가르키기 위해 활성 분류기 트리 포인터가 변경되고(단계 87), SMT는 저속 저장 장치로부터 제거되고(단계 88), 분류기 타이머는 재가동된다(단계 89). 이것은 이용 가능한 고속 메모리의 크기를 축소시키지만 TSE(45)의 동작을 중지시킴 없이 SMT의 갱신을 수행한다. SMT가 저속 메모리로부터 일시적으로 사용되지 않은 경우에는, 고속 메모리는 이전의 SMT 및 새로운 SMT를 조정하기 위해 보다 커지거나 그렇지 않으면, TSE(45)의 동작이 다운로드가 수행되는 동안 인터럽트될 것이다.
본 발명의 방법을 수행하기 위해 다운로드를 두번 수행하는 것이 반드시 필요한 것은 아니다. 예를 들면, SMT 다운로드는 모든 메모리가 동일한 속도로 액세스가능한 네트워크 처리 시스템에서 발생할 수 있다. 이러한 구성에서,구 SMT(old SMT)의 위치를 회복한다고해서 어떠한 이점도 추가되는 것이 아니므로, 1회의 다운로드가 수행되고 활성 포인터는 새로운 SMT 위치에 스위칭된다.
본 발명의 바람직한 실시예는 단일 CPU 및 복수의 NP를 가지는 구성으로 예시되지만, 본 발명은 복수의 CPU 및 단일 NP 또는 네트워크 라우팅 및 처리 제어를 제공하는 기타 변형을 가지는 시스템에서 구현될 수 있다. 본 발명의 사상 및 범주에서 벗어남 없이 형태 및 세부사항에서 다양한 변형이 행해질 수 있으리라는 것은 당업자라면 이해할 수 있다.
본 발명은 제어점 프로세서와 하나 이상의 네트워크 프로세서 사이에 고 처리 오버헤드 및 어드레스 공간의 직접 매핑을 필요로하지 않는 메모리로의 액세스가 달성될 수 있도록 네트워크 처리 시스템에 메모리를 관리하는 방법 및 시스템을 제공한다.

Claims (20)

  1. 버스에 의해 적어도 하나의 네트워크 프로세서(NP)에 결합된 제어점 프로세서(a control point processor:CP)를 가지는 네트워크 처리 시스템내의 메모리를 관리하는 방법에 있어서,
    CP 콤포넌트를 제공하는 단계와,
    적어도 하나의 NP 상에 NP 콤포넌트를 제공하는 단계와,
    상기 CP 콤포넌트로써 애플리케이션을 등록하는 단계와,
    상기 CP 콤포넌트로부터 상기 NP 콤포넌트로의 요청을 상기 버스를 통해 전송함으로써 상기 적어도 하나의 NP 상에 메모리 위치 할당을 요청하는 단계와,
    상기 요청에 응답하여, 적어도 하나의 NP 상에 물리 메모리(physical memory)를 할당하고 상기 물리 메모리에 대한 판독/기록 액세스를 제공하기 위해 상기 NP 콤포넌트로부터 상기 CP 콤포넌트로 상기 할당을 나타내는 토큰을 반환시키는 단계
    를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
  2. 제 1 항에 있어서,
    상기 메모리 할당은 소프트웨어 관리 트리(a software managed tree:SMT)의 다운로드를 위해 제공되고, 상기 반환 단계는 상기 SMT를 구축하는 토큰을 반환시키는 네트워크 처리 시스템내의 메모리 관리 방법.
  3. 제 1 항에 있어서,
    상기 메모리 할당은 요소를 소프트웨어 관리 트리(SMT)에 추가하기 위해 제공되며, 상기 반환 단계는 상기 SMT에 추가된 요소에 대응하는 토큰을 반환시키는 네트워크 처리 시스템내의 메모리 관리 방법.
  4. 제 1 항에 있어서,
    상기 적어도 하나의 NP는 하나 이상의 NP를 포함하되, 상기 요청 단계는 하나 이상의 NP상에 메모리 할당을 요청하며,
    상기 하나 이상의 네트워크 프로세서로부터 응답을 수집하는 단계와,
    응답 중 하나가 수신될 때까지 또는 타임아웃(a timeout)이 상기 하나 이상의 NP 각각으로부터 발생할 때까지 대기하는 단계와,
    상기 대기의 종료에 응답하여, 상기 애플리케이션에 상기 요청 모두가 완료되었다는 것을 통지하는 단계
    를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
  5. 제 4 항에 있어서,
    상기 통지 단계는 상기 애플리케이션내의 콜백 루틴(a callback routine)을 콜백하는 콜백 메카니즘(callback mechanism)에 의해 수행되고 상기 콜백 루틴 어드레스는 상기 애플리케이션에 의해 상기 등록 단계의 일부로서 제공되는 네트워크 처리 시스템내의 메모리 관리 방법.
  6. 제 1 항에 있어서,
    상기 방법은
    상기 CP 콤포넌트로부터 상기 버스를 통해 상기 NP 콤포넌트로의 전송내에서 상기 토큰을 제공함으로써 데이터 값이 상기 할당에 대응하는 위치에 기록되도록 요청하는 단계와,
    상기 전송을 수신하는 것에 응답하여, 상기 데이터 값을 상기 위치에 기록하는 단계
    를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
  7. 제 1 항에 있어서,
    상기 CP 콤포넌트로부터 버스를 통하여 상기 NP 콤포넌트로의 전송내에서 상기 토큰을 제공함으로써 데이터 값이 상기 할당에 대응하는 위치로부터 판독되도록 요청하는 단계와
    상기 전송을 수신하는 것에 응답하여, 상기 위치로부터 상기 데이터 값을 인출하고 상기 데이터 값을 상기 CP 콤포넌트로 반환하는 단계
    를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
  8. 제 1 항에 있어서,
    상기 요청은 고속 메모리(fast memory) 할당의 선호(preference)를 명시하는 값을 포함하고, 상기 할당 단계는 상기 값과 일치하는 상기 NP 콤포넌트상에 고속 메모리를 할당하는 네트워크 처리 시스템내의 메모리 관리 방법.
  9. 제 1 항에 있어서,
    계류중인 동작이 완료될 때까지 상기 할당에 대한 액세스를 거부하는 단계를 더 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
  10. 제 1 항에 있어서,
    적어도 하나의 NP로부터 메모리 가용도 정보(a memory availabilityinformation)를 요청하는 단계 - 상기 요청은 메모리 속도 카테고리를 명시하고, 상기 요청은 버스를 통하여 상기 적어도 하나의 NP로 전송됨 - 와,
    상기 요청에 응답하여, 상기 적어도 하나의 NP로부터 상기 버스를 통하여 상기 메모리 가용도 정보를 반환시키는 단계
    를 더 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
  11. 메모리 관리 시스템에 있어서,
    제어점 프로세서(a control point processor:CP)와,
    적어도 하나의 네트워크 프로세서(NP)와,
    상기 제어점 프로세서 및 상기 적어도 하나의 네트워크 프로세서에 결합된 버스와,
    상기 제어점 프로세서내의 CP 콤포넌트 - 여기서, 애플리케이션은 상기 적어도 하나의 NP내에 위치된 메모리로의 액세스를 위해 등록될 수 있고 상기 적어도 하나의 NP 내의 메모리 할당을 요청할 수 있으며, 상기 요청은 상기 버스상에서 상기 CP와 상기 적어도 하나의 NP 사이에서 전송됨 - 와,
    상기 적어도 하나의 네트워크 프로세서내에 위치하여, 상기 버스로부터 요청을 수신하고 상기 할당을 나타내는 토큰을 버스를 통해 상기 CP 콤포넌트에 반환시킴으로써 물리 메모리를 할당하고 상기 물리 메모리로의 액세스를 제공하는 NP 콤포넌트
    를 포함하는 메모리 관리 시스템.
  12. 제 11 항에 있어서,
    상기 메모리 할당은 소프트웨어 관리 트리(SMT)의 다운로드를 위해 제공되며, 상기 NP 콤포넌트는 상기 SMT를 구축하는 토큰을 반환시키는 메모리 관리 시스템.
  13. 제 11 항에 있어서,
    상기 메모리 할당은 요소를 소프트웨어 관리 트리(SMT)에 추가하기 위해 제공되며, 상기 NP 콤포넌트는 상기 SMT에 추가된 요소에 대응하는 토큰을 반환시키는 메모리 관리 시스템.
  14. 제 11 항에 있어서,
    상기 적어도 하나의 NP는 하나 이상의 NP를 포함하고, 상기 CP 콤포넌트는 상기 하나 이상의 NP 상의 메모리에 할당을 요청하고, 상기 CP 콤포넌트는 상기 하나 이상의 네트워크프로세서로부터 응답들을 더 수집하고, 응답 중 하나가 수신되거나 또는 타임아웃이 상기 하나 이상의 NP로부터 발생될 때까지 대기하고, 상기대기의 종료에 응답하여, 상기 애플리케이션에 상기 요청 모두가 완료되었다는 것을 통지하는 메모리 관리 시스템.
  15. 제 14 항에 있어서,
    상기 통지는 상기 애플리케이션내의 콜백 루틴(callback routine)을 콜백하는 상기 CP 콤포넌트내의 콜백 메카니즘에 의해 제공되고, 상기 콜백 루틴의 어드레스는 상기 등록시 상기 애플리케이션에 의해 공급되는 메모리 관리 시스템.
  16. 제 11 항에 있어서,
    상기 애플리케이션은 상기 CP 콤포넌트로부터 버스를 통하여 상기 NP 콤포넌트로의 전송내에서 상기 토큰을 제공함으로써 데이터 값이 상기 할당에 대응하는 위치에 기록되도록 요청하고, 상기 NP 콤포넌트는 상기 NP 콤포넌트가 상기 전송을 수신하는 것에 응답하여 상기 위치에 상기 데이터 값을 기록하는 메모리 관리 시스템.
  17. 제 11 항에 있어서,
    상기 애플리케이션은 상기 CP 콤포넌트에 상기 토큰을 제공함으로써 상기 데이터 값이 상기 할당에 대응하는 위치로부터 판독되도록 요청하고, 상기 CP 콤포넌트는 버스를 통해 상기 NP 콤포넌트에 상기 요청을 전송하고, 상기 전송을 수신하는 것에 응답하여, 상기 NP 콤포넌트는 상기 위치로부터 상기 데이터 값을 인출하고 상기 데이터 값을 버스를 통하여 상기 CP 콤포넌트상에 반환시키는 메모리 관리 시스템.
  18. 제 11 항에 있어서,
    상기 요청은 고속 메모리(fast memory) 할당의 선호(preference)를 명시하는 값을 포함하고, 상기 할당 단계는 상기 값과 일치하는 상기 NP 콤포넌트상에 고속 메모리를 할당하는 메모리 관리 시스템.
  19. 제 11 항에 있어서,
    상기 CP 콤포넌트는 계류중인 동작이 완료될 때까지 상기 할당에 대한 액세스를 거부하는 메모리 관리 시스템.
  20. 제 11 항에 있어서,
    상기 애플리케이션은 상기 적어도 하나의 NP로부터 메모리 가용도 정보를 요청하며, 상기 요청은 메모리 속도 카테고리를 명시하고, 상기 요청은 상기 버스를 통해 상기 적어도 하나의 NP로 전송되고, 상기 요청에 응답하여, 상기 NP 콤포넌트는 상기 적어도 하나의 NP로부터 상기 메모리 가용도 정보를 버스를 통하여 반환시키는 메모리 관리 시스템.
KR10-2001-0012663A 2000-04-10 2001-03-12 네트워크 처리 시스템내의 메모리 관리 방법 및 시스템 KR100373381B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/546,653 US6981027B1 (en) 2000-04-10 2000-04-10 Method and system for memory management in a network processing system
US09/546,653 2000-04-10

Publications (2)

Publication Number Publication Date
KR20010091014A KR20010091014A (ko) 2001-10-22
KR100373381B1 true KR100373381B1 (ko) 2003-02-25

Family

ID=24181399

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2001-0012663A KR100373381B1 (ko) 2000-04-10 2001-03-12 네트워크 처리 시스템내의 메모리 관리 방법 및 시스템

Country Status (4)

Country Link
US (1) US6981027B1 (ko)
JP (1) JP3605573B2 (ko)
KR (1) KR100373381B1 (ko)
CN (1) CN1168018C (ko)

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100375968C (zh) * 2002-01-22 2008-03-19 威达电股份有限公司 用于网络的移动数据储存装置
US8015303B2 (en) 2002-08-02 2011-09-06 Astute Networks Inc. High data rate stateful protocol processing
US7907607B2 (en) * 2002-08-02 2011-03-15 Null Networks Llc Software methods of an optical networking apparatus with integrated modules having multi-protocol processors and physical layer components
US7107385B2 (en) * 2002-08-09 2006-09-12 Network Appliance, Inc. Storage virtualization by layering virtual disk objects on a file system
US7814218B1 (en) 2002-10-17 2010-10-12 Astute Networks, Inc. Multi-protocol and multi-format stateful processing
US8151278B1 (en) 2002-10-17 2012-04-03 Astute Networks, Inc. System and method for timer management in a stateful protocol processing system
US7596621B1 (en) * 2002-10-17 2009-09-29 Astute Networks, Inc. System and method for managing shared state using multiple programmed processors
CN100353340C (zh) * 2003-07-04 2007-12-05 中国科学院计算技术研究所 可定制的网络存储系统
US7325239B2 (en) * 2003-11-12 2008-01-29 International Business Machines Corporation Method and system of generically managing tables for network processors
US7707586B2 (en) * 2004-09-08 2010-04-27 Intel Corporation Operating system independent agent
US7930691B2 (en) * 2006-04-27 2011-04-19 Agere Systems Inc. Methods and apparatus for updating data structures during in-service upgrade of software in network processor
US8502831B2 (en) * 2008-01-15 2013-08-06 Digi International Inc. Video memory quality of service
WO2009146721A1 (en) * 2008-06-05 2009-12-10 Verigy (Singapore) Pte. Ltd. Resource allocation in a distributed system
CN101677293B (zh) * 2008-09-18 2012-12-12 华为技术有限公司 网络处理器和网络处理器访问数据结构的方法
US8255475B2 (en) * 2009-04-28 2012-08-28 Mellanox Technologies Ltd. Network interface device with memory management capabilities
US8645663B2 (en) 2011-09-12 2014-02-04 Mellanox Technologies Ltd. Network interface controller with flexible memory handling
US9143467B2 (en) 2011-10-25 2015-09-22 Mellanox Technologies Ltd. Network interface controller with circular receive buffer
US9256545B2 (en) 2012-05-15 2016-02-09 Mellanox Technologies Ltd. Shared memory access using independent memory maps
US8761189B2 (en) 2012-06-28 2014-06-24 Mellanox Technologies Ltd. Responding to dynamically-connected transport requests
US8914458B2 (en) 2012-09-27 2014-12-16 Mellanox Technologies Ltd. Look-ahead handling of page faults in I/O operations
US9639464B2 (en) 2012-09-27 2017-05-02 Mellanox Technologies, Ltd. Application-assisted handling of page faults in I/O operations
US8745276B2 (en) 2012-09-27 2014-06-03 Mellanox Technologies Ltd. Use of free pages in handling of page faults
US9298642B2 (en) 2012-11-01 2016-03-29 Mellanox Technologies Ltd. Sharing address translation between CPU and peripheral devices
US9696942B2 (en) 2014-03-17 2017-07-04 Mellanox Technologies, Ltd. Accessing remote storage devices using a local bus protocol
US9727503B2 (en) 2014-03-17 2017-08-08 Mellanox Technologies, Ltd. Storage system and server
US10031857B2 (en) 2014-05-27 2018-07-24 Mellanox Technologies, Ltd. Address translation services for direct accessing of local memory over a network fabric
US10120832B2 (en) 2014-05-27 2018-11-06 Mellanox Technologies, Ltd. Direct access to local memory in a PCI-E device
CN105703961A (zh) * 2014-11-24 2016-06-22 中兴通讯股份有限公司 存储器的检测方法及网络处理器
US9977762B2 (en) * 2015-04-22 2018-05-22 International Microsystems, Inc. Disjoint array computer
US10148581B2 (en) 2016-05-30 2018-12-04 Mellanox Technologies, Ltd. End-to-end enhanced reliable datagram transport
US10516710B2 (en) 2017-02-12 2019-12-24 Mellanox Technologies, Ltd. Direct packet placement
US11979340B2 (en) 2017-02-12 2024-05-07 Mellanox Technologies, Ltd. Direct data placement
US10210125B2 (en) 2017-03-16 2019-02-19 Mellanox Technologies, Ltd. Receive queue with stride-based data scattering
US11252464B2 (en) 2017-06-14 2022-02-15 Mellanox Technologies, Ltd. Regrouping of video data in host memory
US10367750B2 (en) 2017-06-15 2019-07-30 Mellanox Technologies, Ltd. Transmission and reception of raw video using scalable frame rate
CN107729559B (zh) * 2017-11-08 2020-06-23 携程旅游网络技术(上海)有限公司 数据库读写异步访问的方法、系统、设备及存储介质
US11940933B2 (en) 2021-03-02 2024-03-26 Mellanox Technologies, Ltd. Cross address-space bridging
US11934333B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Storage protocol emulation in a peripheral device
US11934658B2 (en) 2021-03-25 2024-03-19 Mellanox Technologies, Ltd. Enhanced storage protocol emulation in a peripheral device
US11726666B2 (en) 2021-07-11 2023-08-15 Mellanox Technologies, Ltd. Network adapter with efficient storage-protocol emulation
CN115033230B (zh) * 2022-06-27 2024-02-27 中国电力科学研究院有限公司 嵌入式硬件平台的驱动程序生成方法、装置、设备及介质
US12007921B2 (en) 2022-11-02 2024-06-11 Mellanox Technologies, Ltd. Programmable user-defined peripheral-bus device implementation using data-plane accelerator (DPA)

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3853162T2 (de) 1988-12-23 1995-08-17 Ibm Gemeinsamer intelligenter Speicher für die gegenseitige Verbindung von verteilten Mikroprozessoren.
DE69230093T2 (de) 1991-11-19 2000-04-13 Ibm Multiprozessorsystem
US5608720A (en) * 1993-03-09 1997-03-04 Hubbell Incorporated Control system and operations system interface for a network element in an access system
US5617537A (en) 1993-10-05 1997-04-01 Nippon Telegraph And Telephone Corporation Message passing system for distributed shared memory multiprocessor system and message passing method using the same
WO1995012165A1 (en) 1993-10-22 1995-05-04 Gestalt Technologies, Incorporated Distributed management in a partitioned memory system
US5566321A (en) 1993-12-13 1996-10-15 Cray Research, Inc. Method of managing distributed memory within a massively parallel processing system
JPH07231330A (ja) 1994-02-18 1995-08-29 Fuji Xerox Co Ltd マルチプロトコルネットワークおよびパケットフィルタ
US5687370A (en) 1995-01-31 1997-11-11 Next Software, Inc. Transparent local and distributed memory management system
JP3125842B2 (ja) 1995-03-03 2001-01-22 株式会社日立製作所 並列計算機での通信処理方法及びそのシステム
GB2302743B (en) * 1995-06-26 2000-02-16 Sony Uk Ltd Processing apparatus
US6021331A (en) * 1996-02-22 2000-02-01 Alcatel Usa Sourcing, L.P. Control system for a telecommunications system
US5784697A (en) 1996-03-27 1998-07-21 International Business Machines Corporation Process assignment by nodal affinity in a myultiprocessor system having non-uniform memory access storage architecture
US5970510A (en) 1996-04-10 1999-10-19 Northrop Grumman Corporation Distributed memory addressing system
US5940870A (en) 1996-05-21 1999-08-17 Industrial Technology Research Institute Address translation for shared-memory multiprocessor clustering
US6148377A (en) * 1996-11-22 2000-11-14 Mangosoft Corporation Shared memory computer networks
US6119173A (en) * 1997-01-27 2000-09-12 Alcatel Usa Sourcing, L.P. System and method for communications and process management in a distributed telecommunications switch
US5944788A (en) * 1997-03-26 1999-08-31 Unisys Corporation Message transfer system and control method for multiple sending and receiving modules in a network supporting hardware and software emulated modules
US6044087A (en) * 1997-06-30 2000-03-28 Sun Microsystems, Inc. Interface for a highly integrated ethernet network element
US5999976A (en) * 1997-07-11 1999-12-07 International Business Machines Corporation Parallel file system and method with byte range API locking
JP3782600B2 (ja) 1998-03-12 2006-06-07 キヤノン株式会社 ネットワークデバイス管理装置、ネットワークデバイス管理方法及び記録媒体
JP3357980B2 (ja) 1998-05-07 2002-12-16 日本電気エンジニアリング株式会社 スイッチング・ハブ装置及びそのスイッチング処理方法並びにその制御プログラムを記録した記録媒体
US6604136B1 (en) * 1998-06-27 2003-08-05 Intel Corporation Application programming interfaces and methods enabling a host to interface with a network processor
US6424659B2 (en) * 1998-07-17 2002-07-23 Network Equipment Technologies, Inc. Multi-layer switching apparatus and method
US6321276B1 (en) * 1998-08-04 2001-11-20 Microsoft Corporation Recoverable methods and systems for processing input/output requests including virtual memory addresses
US6510164B1 (en) * 1998-11-16 2003-01-21 Sun Microsystems, Inc. User-level dedicated interface for IP applications in a data packet switching and load balancing system
US6424658B1 (en) * 1999-01-29 2002-07-23 Neomagic Corp. Store-and-forward network switch using an embedded DRAM

Also Published As

Publication number Publication date
JP2002057688A (ja) 2002-02-22
CN1320867A (zh) 2001-11-07
JP3605573B2 (ja) 2004-12-22
KR20010091014A (ko) 2001-10-22
CN1168018C (zh) 2004-09-22
US6981027B1 (en) 2005-12-27

Similar Documents

Publication Publication Date Title
KR100373381B1 (ko) 네트워크 처리 시스템내의 메모리 관리 방법 및 시스템
US5530905A (en) Temporary state preservation for a distributed file service which purges virtual circuit control information after expiration of time limit of inactivity
US6421769B1 (en) Efficient memory management for channel drivers in next generation I/O system
US7478390B2 (en) Task queue management of virtual devices using a plurality of processors
US7222150B1 (en) Network server card and method for handling requests received via a network interface
US8307053B1 (en) Partitioned packet processing in a multiprocessor environment
US7167854B2 (en) Database control method
EP0568002B1 (en) Distribution of communications connections over multiple service access points in a communications network
US20080263554A1 (en) Method and System for Scheduling User-Level I/O Threads
US5446915A (en) Parallel processing system virtual connection method and apparatus with protection and flow control
US8549521B2 (en) Virtual devices using a plurality of processors
US8434091B2 (en) System and method for data synchronization for a computer architecture for broadband networks
US7509457B2 (en) Non-homogeneous multi-processor system with shared memory
US7653908B2 (en) Grouping processors and assigning shared memory space to a group in a heterogeneous computer environment
US7246167B2 (en) Communication multiplexor using listener process to detect newly active client connections and passes to dispatcher processes for handling the connections
US20020143847A1 (en) Method of mixed workload high performance scheduling
EP2240852B1 (en) Scalable sockets
JPH09231157A (ja) コンピュータに接続されている入力/出力(i/o)デバイスを制御する方法
US20020174316A1 (en) Dynamic resource management and allocation in a distributed processing device
EP0381645A2 (en) System and method for communicating between a plurality of processors
US20110107347A1 (en) Generic Transport Layer Mechanism For Firmware Communication
US6425067B1 (en) Systems and methods for implementing pointer management
US5404515A (en) Balancing of communications transport connections over multiple central processing units
KR100396974B1 (ko) 내부에서 네트워크 스위칭을 사용하는 컴퓨터 시스템 및방법
Naimi Global stability detection in the asynchronous distributed computations

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20080204

Year of fee payment: 6

LAPS Lapse due to unpaid annual fee