KR100373381B1 - 네트워크 처리 시스템내의 메모리 관리 방법 및 시스템 - Google Patents
네트워크 처리 시스템내의 메모리 관리 방법 및 시스템 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/35—Switches specially adapted for specific applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/30—Peripheral units, e.g. input or output ports
- H04L49/3009—Header conversion, routing tables or routing tags
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99953—Recoverability
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99956—File 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
본 발명은 전반적으로 컴퓨터 네트워크, 특히 네트워크 트래픽(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)
- 버스에 의해 적어도 하나의 네트워크 프로세서(NP)에 결합된 제어점 프로세서(a control point processor:CP)를 가지는 네트워크 처리 시스템내의 메모리를 관리하는 방법에 있어서,CP 콤포넌트를 제공하는 단계와,적어도 하나의 NP 상에 NP 콤포넌트를 제공하는 단계와,상기 CP 콤포넌트로써 애플리케이션을 등록하는 단계와,상기 CP 콤포넌트로부터 상기 NP 콤포넌트로의 요청을 상기 버스를 통해 전송함으로써 상기 적어도 하나의 NP 상에 메모리 위치 할당을 요청하는 단계와,상기 요청에 응답하여, 적어도 하나의 NP 상에 물리 메모리(physical memory)를 할당하고 상기 물리 메모리에 대한 판독/기록 액세스를 제공하기 위해 상기 NP 콤포넌트로부터 상기 CP 콤포넌트로 상기 할당을 나타내는 토큰을 반환시키는 단계를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,상기 메모리 할당은 소프트웨어 관리 트리(a software managed tree:SMT)의 다운로드를 위해 제공되고, 상기 반환 단계는 상기 SMT를 구축하는 토큰을 반환시키는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,상기 메모리 할당은 요소를 소프트웨어 관리 트리(SMT)에 추가하기 위해 제공되며, 상기 반환 단계는 상기 SMT에 추가된 요소에 대응하는 토큰을 반환시키는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,상기 적어도 하나의 NP는 하나 이상의 NP를 포함하되, 상기 요청 단계는 하나 이상의 NP상에 메모리 할당을 요청하며,상기 하나 이상의 네트워크 프로세서로부터 응답을 수집하는 단계와,응답 중 하나가 수신될 때까지 또는 타임아웃(a timeout)이 상기 하나 이상의 NP 각각으로부터 발생할 때까지 대기하는 단계와,상기 대기의 종료에 응답하여, 상기 애플리케이션에 상기 요청 모두가 완료되었다는 것을 통지하는 단계를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 4 항에 있어서,상기 통지 단계는 상기 애플리케이션내의 콜백 루틴(a callback routine)을 콜백하는 콜백 메카니즘(callback mechanism)에 의해 수행되고 상기 콜백 루틴 어드레스는 상기 애플리케이션에 의해 상기 등록 단계의 일부로서 제공되는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,상기 방법은상기 CP 콤포넌트로부터 상기 버스를 통해 상기 NP 콤포넌트로의 전송내에서 상기 토큰을 제공함으로써 데이터 값이 상기 할당에 대응하는 위치에 기록되도록 요청하는 단계와,상기 전송을 수신하는 것에 응답하여, 상기 데이터 값을 상기 위치에 기록하는 단계를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,상기 CP 콤포넌트로부터 버스를 통하여 상기 NP 콤포넌트로의 전송내에서 상기 토큰을 제공함으로써 데이터 값이 상기 할당에 대응하는 위치로부터 판독되도록 요청하는 단계와상기 전송을 수신하는 것에 응답하여, 상기 위치로부터 상기 데이터 값을 인출하고 상기 데이터 값을 상기 CP 콤포넌트로 반환하는 단계를 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,상기 요청은 고속 메모리(fast memory) 할당의 선호(preference)를 명시하는 값을 포함하고, 상기 할당 단계는 상기 값과 일치하는 상기 NP 콤포넌트상에 고속 메모리를 할당하는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,계류중인 동작이 완료될 때까지 상기 할당에 대한 액세스를 거부하는 단계를 더 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
- 제 1 항에 있어서,적어도 하나의 NP로부터 메모리 가용도 정보(a memory availabilityinformation)를 요청하는 단계 - 상기 요청은 메모리 속도 카테고리를 명시하고, 상기 요청은 버스를 통하여 상기 적어도 하나의 NP로 전송됨 - 와,상기 요청에 응답하여, 상기 적어도 하나의 NP로부터 상기 버스를 통하여 상기 메모리 가용도 정보를 반환시키는 단계를 더 포함하는 네트워크 처리 시스템내의 메모리 관리 방법.
- 메모리 관리 시스템에 있어서,제어점 프로세서(a control point processor:CP)와,적어도 하나의 네트워크 프로세서(NP)와,상기 제어점 프로세서 및 상기 적어도 하나의 네트워크 프로세서에 결합된 버스와,상기 제어점 프로세서내의 CP 콤포넌트 - 여기서, 애플리케이션은 상기 적어도 하나의 NP내에 위치된 메모리로의 액세스를 위해 등록될 수 있고 상기 적어도 하나의 NP 내의 메모리 할당을 요청할 수 있으며, 상기 요청은 상기 버스상에서 상기 CP와 상기 적어도 하나의 NP 사이에서 전송됨 - 와,상기 적어도 하나의 네트워크 프로세서내에 위치하여, 상기 버스로부터 요청을 수신하고 상기 할당을 나타내는 토큰을 버스를 통해 상기 CP 콤포넌트에 반환시킴으로써 물리 메모리를 할당하고 상기 물리 메모리로의 액세스를 제공하는 NP 콤포넌트를 포함하는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 메모리 할당은 소프트웨어 관리 트리(SMT)의 다운로드를 위해 제공되며, 상기 NP 콤포넌트는 상기 SMT를 구축하는 토큰을 반환시키는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 메모리 할당은 요소를 소프트웨어 관리 트리(SMT)에 추가하기 위해 제공되며, 상기 NP 콤포넌트는 상기 SMT에 추가된 요소에 대응하는 토큰을 반환시키는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 적어도 하나의 NP는 하나 이상의 NP를 포함하고, 상기 CP 콤포넌트는 상기 하나 이상의 NP 상의 메모리에 할당을 요청하고, 상기 CP 콤포넌트는 상기 하나 이상의 네트워크프로세서로부터 응답들을 더 수집하고, 응답 중 하나가 수신되거나 또는 타임아웃이 상기 하나 이상의 NP로부터 발생될 때까지 대기하고, 상기대기의 종료에 응답하여, 상기 애플리케이션에 상기 요청 모두가 완료되었다는 것을 통지하는 메모리 관리 시스템.
- 제 14 항에 있어서,상기 통지는 상기 애플리케이션내의 콜백 루틴(callback routine)을 콜백하는 상기 CP 콤포넌트내의 콜백 메카니즘에 의해 제공되고, 상기 콜백 루틴의 어드레스는 상기 등록시 상기 애플리케이션에 의해 공급되는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 애플리케이션은 상기 CP 콤포넌트로부터 버스를 통하여 상기 NP 콤포넌트로의 전송내에서 상기 토큰을 제공함으로써 데이터 값이 상기 할당에 대응하는 위치에 기록되도록 요청하고, 상기 NP 콤포넌트는 상기 NP 콤포넌트가 상기 전송을 수신하는 것에 응답하여 상기 위치에 상기 데이터 값을 기록하는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 애플리케이션은 상기 CP 콤포넌트에 상기 토큰을 제공함으로써 상기 데이터 값이 상기 할당에 대응하는 위치로부터 판독되도록 요청하고, 상기 CP 콤포넌트는 버스를 통해 상기 NP 콤포넌트에 상기 요청을 전송하고, 상기 전송을 수신하는 것에 응답하여, 상기 NP 콤포넌트는 상기 위치로부터 상기 데이터 값을 인출하고 상기 데이터 값을 버스를 통하여 상기 CP 콤포넌트상에 반환시키는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 요청은 고속 메모리(fast memory) 할당의 선호(preference)를 명시하는 값을 포함하고, 상기 할당 단계는 상기 값과 일치하는 상기 NP 콤포넌트상에 고속 메모리를 할당하는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 CP 콤포넌트는 계류중인 동작이 완료될 때까지 상기 할당에 대한 액세스를 거부하는 메모리 관리 시스템.
- 제 11 항에 있어서,상기 애플리케이션은 상기 적어도 하나의 NP로부터 메모리 가용도 정보를 요청하며, 상기 요청은 메모리 속도 카테고리를 명시하고, 상기 요청은 상기 버스를 통해 상기 적어도 하나의 NP로 전송되고, 상기 요청에 응답하여, 상기 NP 콤포넌트는 상기 적어도 하나의 NP로부터 상기 메모리 가용도 정보를 버스를 통하여 반환시키는 메모리 관리 시스템.
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)
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)
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 |
-
2000
- 2000-04-10 US US09/546,653 patent/US6981027B1/en not_active Expired - Fee Related
-
2001
- 2001-03-12 KR KR10-2001-0012663A patent/KR100373381B1/ko not_active IP Right Cessation
- 2001-04-03 JP JP2001104637A patent/JP3605573B2/ja not_active Expired - Fee Related
- 2001-04-09 CN CNB011162651A patent/CN1168018C/zh not_active Expired - Fee Related
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 |