CN1853387A - 来自外部存储器单元的协议控制块的推测预取 - Google Patents

来自外部存储器单元的协议控制块的推测预取 Download PDF

Info

Publication number
CN1853387A
CN1853387A CNA2004800270819A CN200480027081A CN1853387A CN 1853387 A CN1853387 A CN 1853387A CN A2004800270819 A CNA2004800270819 A CN A2004800270819A CN 200480027081 A CN200480027081 A CN 200480027081A CN 1853387 A CN1853387 A CN 1853387A
Authority
CN
China
Prior art keywords
grouping
control block
packet processing
protocol control
processing engine
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CNA2004800270819A
Other languages
English (en)
Other versions
CN100555982C (zh
Inventor
R·伊利卡尔
G·库鸣斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intel Corp
Original Assignee
Intel Corp
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 Intel Corp filed Critical Intel Corp
Publication of CN1853387A publication Critical patent/CN1853387A/zh
Application granted granted Critical
Publication of CN100555982C publication Critical patent/CN100555982C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling
    • H04L47/56Queue scheduling implementing delay-aware scheduling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9068Intermediate storage in different physical parts of a node or terminal in the network interface card
    • H04L49/9073Early interruption upon arrival of a fraction of a packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Communication Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

根据一些实施例,从外部存储器单元推测地预取协议控制块。

Description

来自外部存储器单元的协议控制块的推测预取
背景技术
装置可经由通信网络交换信息。例如,服务器可经由因特网与诸如个人计算机(PC)的用户装置交换信息分组。此外,诸如服务器的单个装置可通过若干不同连接与若干不同装置交换信息。在这种情况下,装置需要管理连接并使所接收(或要发送的)的每个分组与合适的连接相关联。这些操作是费时的并需要大量的存储器(这会增加装置成本)—特别是对于相对高速的网络和/或在可以支持相对大量连接时。
附图说明
图1是通信网络的框图。
图2是服务器的框图。
图3是说明分组处理的定时线。
图4是根据一些实施例的方法的流程图。
图5是说明根据一些实施例的在预取协议控制块时的分组处理的定时线。
图6是说明接收分组处理的定时线。
图7是根据一些实施例的接收分组处理的方法的流程图。
图8是说明根据一些实施例的在预取协议控制块时的接收分组处理的定时线。
图9是根据一些实施例的发送分组处理的方法的流程图。
图10是说明根据一些实施例的在预取协议控制块时的发送分组处理的定时线。
图11是根据一些实施例的系统的框图。
具体实施方式
根据一些实施例,经由通信网络交换信息。例如,图1是通信网络100的框图,其中在用户装置110和服务器200之间交换信息“分组”。如这里所使用的,例如可以使用因特网协议(IP)来交换信息“分组”,所述因特网协议是如InternetEngineering Task Force(IETF)RFC2460定义的一种,称为“Internet Protocol,Version6”(1998年12月)的协议。此外,可以根据传输控制协议(TCP)来交换分组,传输控制协议是如IETF Request For Comment(RFC)793所定义的,称为“Transmission Control Protocol”(1981年9月)的协议。
图2是服务器200的框图。服务器200包括通过诸如Intel82875P的存储器控制器集线器(MCH)220耦合到存储器单元230和输入输出控制器集线器(ICH)240的主机处理器210(例如,一个或多个INTELPENTIUM4处理器)。服务器200还包括网络接口卡(NIC)250,它可按照TCP/IP经由诸如因特网或局域网(LAN)的通信网络交换信息分组。
根据TCP/IP,通过与每个装置建立一个或多个“连接”,服务器200可与若干不同的装置交换分组。当服务器200接收(或发送)一个分组时,对该分组进行TCP处理(例如,使该分组与合适的连接相关联)。TCP连接的维护和分组的处理需要使用若干变量,被称为TCP协议控制块(TCB)。例如,TCB可包括本地和远程套接字(socket)号、连接的安全和优先、指向发送和接收缓冲的指针和/或指向重发队列和当前区段的指针。此外,可以将关于发送和接收序列号的变量存入TCB。
TCB信息232可存入存储器单元230。此外,主机处理器210可执行TCP处理(例如,在接收或要发送分组时)。但,使主机处理器210执行TCP处理是不切实际的,特别是对于相对高带宽网络和/或在需要管理大量连接时(例如,服务器200能管理数以万计的连接)。
为了减轻主机处理器210上的负担,可在NIC250上提供TCP/IP卸载引擎270。在这种情况下,当接收分组时或者当准备要发送分组时TCP/IP卸载引擎270可执行TCP处理。例如,在对接收到的分组进行TCP处理后,可以将合适的信息存入存储器单元230,用于由主机处理器210使用(例如由在主机处理器210上正执行的应用程序使用)。
为了执行TCP/IP处理,卸载引擎270可能需要从“外部”存储器单元230(例如NIC250的外部)读取与合适连接相关联的TCB信息232。但注意:NIC250可经由相对较慢的接口260(例如,与其它MCH220接口相比)从外部存储器单元230访问信息,所述接口260诸如根据称为“Conventional PCI 2.2”或“PCI Express1.0”的外围组件互连(PCI)标准工业组(SIG)标准操作的一个。注意:根据一些实施例,PCI接口260可直接从ICH240接收信息。
为了避免对外部存储器单元230的频繁和费时的访问,NIC250可包括存储TCB信息的本地TCB高速缓存280。但是,当服务器200能管理大量连接时,将所有的TCB信息232存入TCB高速缓存280是不切实际的(例如,由于与提供所需的大量存储器相关联的成本)。因此,即使使用本地TCB高速缓存280,NIC250也需要频繁地访问外部存储器单元230。
图3是说明分组处理的定时线300。在TCP/IP卸载引擎270处理一个分组(分组0)后,需要处理下一个分组(分组1)。但在可以处理分组1前,卸载引擎270需要从外部存储器单元230读取与分组1的连接相关联的TCB。在卸载引擎270接收到用于合适连接的TCB后(例如在TLATENCY后),可以处理该分组(例如,在接收分组的情况下,被提供给主机处理器210)。因此,当卸载引擎270空闲时(例如,在正执行读取时)存在一时间周期。
图4是根据一些实施例的方法的流程图。这里所述的流程图不必然暗示动作的固定顺序,且可以按任何可行的顺序执行实施例。图4的方法例如可与参考图2所述的服务器200相关联。注意:这里所述的任何方法都可由硬件、软件(包括微码)或硬件和软件的组合实现。例如,存储介质可在其上存储指令,这些指令在由机器执行时引起这里所述任何实施例的执行。
402处,装置预测或“推测”,一连接将随后具有一要根据传输控制协议(例如,TCP)处理的分组。例如,卸载引擎270或主机处理器210可推测,特殊连接将随后具有将由服务器200接收(或者将从其发送的)的分组。
404处,安排分组处理引擎从外部存储器单元读取与该连接相关联的协议控制块。例如,可以安排卸载引擎270从外部存储器单元230预取合适的TCB。
通过在接收分组前(或者在需要发送分组前)预取合适的协议控制块,可以减少与分组处理引擎相关联的空闲时间量—并可改善服务器的性能。例如,图5是根据一些实施例的在预取TCB时的分组处理的定时线500。
虽然一个分组(分组0)仍正由TCP/IP卸载引擎270处理,卸载引擎270从外部存储器单元230预取与另一分组连接相关联的TCB(例如,被预测另一分组,即分组1,将随后被接收或发送的另一连接)。按此方式,卸载引擎270可在继续处理分组0同时执行所述预取(例如,经由相对较慢的接口)。因此,可以减少卸载引擎270空闲期间的时间周期。
几种不同技术可用于推测哪些连接将随后具有接收(或要发送)的分组。例如,服务器200可交换超文本传输协议(HTTP)信息,HTTP是如Word Wide WebConsortium(W3C)RFC2068所定义的,称为“HTTP 1.1”(1997年1月)的协议。在这种情况下,当服务器200接收用于特殊连接的分组时(例如,从特殊客户机来的一个HTTP“得到”),可以预测:服务器200将随后通过同一连接用一个或多个分组进行响应(例如,在与HTTP相关联的发送分组“发送”给该客户机时)。当根据称为“Small Computer Systems Interface Protocol Over the Internet(iSCSI)Requirements and Design Considerations”(2002年7月)的IETF RFC 3347交换信息时,可进行类似的预测—即通过特殊连接的iSCSI“请求”分组可随后导致通过该连接的一个或多个iSCSI“发送”分组。
注意,卸载引擎270可处理用于大量连接的大量分组,但NIC250上TCB高速缓存280的大小是有限的。结果,会丢失太快预取的TCB信息(即,在需要它之前太早),因为已用其它连接的信息进行改写。
例如,图6是说明接收分组处理的定时线600。在iSCSI请求分组通过特殊连接被接收并由卸载引擎270处理后,将信息传递给主机处理器210。主机处理器210上执行的应用程序处理该信息(例如,与TPROCESS相等的时间周期)并将iSCSI响应分组提供给卸载引擎270用于通过相同的连接进行传递。
如果卸载引擎270已在准备好iSCSI响应分组前太早预取用于该连接的合适TCB信息,则TCB高速缓存280中的信息已用其它连接的信息改写。随后,需要为该连接再读取TCB信息,以便处理iSCSI响应分组,导致TPROCESS+TLATENCY的总周转时间(TTURNAROUND)。还注意:如果卸载引擎270在开始预取用于一连接的TCB信息前等待太久,它需要保持空闲直到完成来自外部存储器单元230的预取。
图7是根据一些实施例的接收分组处理的方法的流程图。702处,接收分组。例如,服务器200可在卸载引擎270或主机处理器210处接收分组。
基于接收分组,在704处预测一连接将随后具有要处理的发送分组。例如,卸载引擎270可预测出与接收分组相关联的连接将具有一发送分组。根据其它实施例,主机处理器210预测出,该连接将随后具有一发送分组。
在706处估计与接收分组相关联的处理时间。例如,卸载引擎270或主机处理器210可估计一应用程序将花费多长时间来响应接收分组(例如,TPROCESS)。
708处,估计与从外部存储器预取协议控制块相关联的等待时间。例如,卸载引擎270或主机处理器210可估计将花费多久时间经由PCI接口260、MCH220和/或外部存储器单元230执行TCB预取(例如,TLATENCY)。
随后,在710处基于估计的处理时间和预取等待时间来调度对预测的发送分组的预取。例如,可基于TPROCESS-TLATENCY来调度该预取。这样,该预取应正当用于该连接的发送分组准备好时完成。
712处,进行预取。例如,卸载引擎270可如期预取TCB信息并将它存入TCB高速缓存280。在将发送分组从主机处理器210提供给卸载引擎270时,它可以随后被处理而不必等待从外部存储器单元230接收的TCB信息(或者不等待长时间周期)。
图8是根据一些实施例的在预取协议控制块时的接收分组处理的定时线。在接收分组由卸载引擎270处理并提供给主机处理器210后,在等于估计的TPROCESS减去估计的TLATENCY的预取时间(TPF)处调度用于该连接的预取。这样,可在与从主机处理器210将通过该连接的相关发送分组提供给卸载引擎270基本相等的时间处完成该预取。随后,卸载引擎270可处理并传送该发送分组而不需要等待(例如,在TLATENCY期间)。
注意:TPROCESS可出于任意数量的理由而变化(例如,由于主机处理器正处理的连接数量)。类似地,TLATENCY可在一时间周期上变化(例如,因为为其它原因执行存储器访问)。结果,根据一些实施例,动态地调节或调整(例如,通过卸载引擎270和/或主机处理器210)这些估计值以改善服务器200的性能。例如,先前的实际值可用于调节未来的估计值。
图9是根据一些实施例的发送分组处理的方法的流程图。902处,准备好发送一分组。例如,服务器900可准备好从卸载引擎270或主机处理器210发送该分组。
基于该发送分组,在904处预测:一连接将随后具有要处理的接收分组。例如,卸载引擎270可预测出与发送分组相关联的连接将随后具有一接收分组。根据其它实施例,主机处理器210预测该连接将随后具有一接收分组。
在906处估计与发送分组相关联的“往返程”时间。例如,卸载引擎270或主机处理器210可估计发送分组将花费多长时间通过网络达到用户装置,由用户装置处理,并导致由服务器200接收的接收分组(例如,TROUND-TRIP)。
908处,估计与从外部存储器预取协议控制块相关联的等待时间。例如,卸载引擎270或主机处理器210可估计将花费多久经由PCI接口260、MCH220和/或外部存储器单元230执行TCB预取(例如,TLATENCY)。
随后在910处基于估计的往返程时间和预取等待时间调度预测的接收分组的预取。例如,可基于TROUND-TRIP-TLATENCY调度该预取。这样,该预取应在与从网络接收用于该连接的发送分组基本相同的时间处完成。
912处,进行预取。例如,卸载引擎270可如期预取TCB信息并将它存入TCB高速缓存280。当随后在卸载引擎270处接收到接收分组(来自网络)时,它可以被处理而不等待(或不等待太久)要从外部存储器单元230接收的TCB信息。
图10是说明根据一些实施例的在预取协议控制块时的发送分组处理的定时线。在通过网络处理并发送该发送分组时,在等于估计的TROUND-TRIP减去估计的TLATENCY的预取时间(TPF)处调度用于该连接的预取。这样,可在与从网络通过该连接接收相关接收分组基本相同的时间处完成该预取。随后,卸载引擎270可处理并提供该接收分组给主机处理器210而无不必要的延迟(例如,在TLATENCY期间)。
注意,TROUND-TRIP可出于任何数量的理由而改变(例如,由于网络阻塞)。类似地,TLATENCY可在一时间周期上变化(例如,因为为其它原因执行存储器访问)。结果,可动态调整这些估计值(例如通过卸载引擎270和/或主机处理器210)以改善服务器200的性能。例如,来自TCP/IP堆栈的信息可用于动态地调整用于一连接的估计的TROUND-TRIP
图11是根据一些实施例的系统1100的框图。系统1100包括存储协议控制块信息1132的动态随机存取存储器(DRAM)1130。系统1100还包括分组处理引擎1170以根据任何网络协议(例如,TCP)处理分组。分组处理引擎1170例如可根据与通过其交换(或将交换)分组的连接相关联的本地存储的协议控制块1180来处理分组。
根据一些实施例,从外部DRAM1130中的协议控制块信息1132中预取本地存储的协议控制块1180。例如,可以从DRAM1130(例如,经由输入路径)接收用于被预测为随后具有要由分组处理引擎1170处理的分组的连接的预取协议控制块。
注意:分组处理引擎1170可预测该连接并计算从DRAM1130预取协议控制块的时间。例如,这可以通过使分组处理引擎1170处(或相关联的NIC上)的计时器与用于需要被预取的所有TCB条目的条目一致来实现。但是,这会增加NIC硬件和/或软件的复杂性。
根据其它实施例,主机处理器预测该连接并计算应将预取的协议控制块从DRAM1130“压入”到分组处理引擎1170的时间。例如,主机处理器可读取TCB,随后将该TCB向下通过MCH压入到分组处理引擎1170或者可以通过对NIC的非高速缓存写入并继之以NIC启动的直接存储器存储(DMA)操作来进行该压入操作。
以下示出了各种附加实施例。这些不构成所有可能实施例的限定,且本领域的熟练技术人员将理解许多其它的实施例也是可能的。此外,虽然为了清楚而简要描述了以下实施例,但本领域的熟练技术人员将理解如何对以上描述进行任何变化(如必要)以适应这些和其它实施例和应用。
例如,虽然对于TCP分组处理描述了相同的实施例,但实施例可结合其它网络协议使用,诸如用户数据报协议(UDP)、事务TCP(T/TCP)和/或流控制传输协议(SCTP)。此外,术语“协议控制块”可指在根据任何网络协议处理分组时使用的任何信息(例如,不仅仅是用于TCP的TCB)。
此外,虽然相对于服务器描述了一些实施例,但可结合其它装置使用实施例,诸如工作站或任何其它类型的网络装置。
这里描述的若干实施例仅用于说明目的。本领域的熟练技术人员将从该描述认识到可以用仅由权利要求书限定的修改和变化实施其它的实施例。

Claims (28)

1.一种方法,包括:
推测一连接将随后具有根据传输控制协议要处理的分组;以及
安排一分组处理引擎从外部存储器单元预取与所述连接相关联的协议控制块。
2.如权利要求1所述的方法,其特征在于,随后要处理的所述分组是一发送分组且所述推测基于一接收分组。
3.如权利要求2所述的方法,其特征在于,还包括:
计算从所述外部存储器单元预取所述协议控制块的时间。
4.如权利要求3所述的方法,其特征在于,根据与接收分组相关联的估计的处理时间减去与从外部存储器单元预取协议控制块相关联的估计的等待时间来计算所述时间。
5.如权利要求4所述的方法,其特征在于,还包括:
动态地调节以下至少一个:(i)估计的处理时间,和(ii)估计的等待时间。
6.如权利要求1所述的方法,其特征在于,要随后处理的分组是一接收分组且所述预测基于一发送分组。
7.如权利要求6所述的方法,其特征在于,还包括:
计算要从外部存储器单元预取协议控制块的时间。
8.如权利要求7所述的方法,其特征在于,根据与所述发送分组相关联的估计的往返程时间减去与从外部存储器单元预取协议控制块相关联的估计的等待时间来计算所述时间。
9.如权利要求8所述的方法,其特征在于,还包括:
动态地调节以下至少一个:(i)估计的往返程时间,和(ii)估计的等待时间。
10.如权利要求1所述的方法,其特征在于,所述推测由所述分组处理引擎执行。
11.如权利要求1所述的方法,其特征在于,所述推测由主机处理器执行且所述安排包括:
将所述协议控制块从外部存储器单元压入到分组处理引擎。
12.如权利要求1所述的方法,其特征在于,所述分组处理引擎与网络接口卡相关联。
13.一种装置,包括:
其上存储有指令的存储介质,所述指令在由机器执行时:
推测一连接将随后具有要根据传输控制协议处理的分组,以及
安排一分组处理引擎从外部存储器单元预取与所述连接相关联的协议控制块。
14.如权利要求13所述的装置,其特征在于,要随后处理的分组是一发送分组且所述预测基于一接收分组。
15.如权利要求13所述的装置,其特征在于,要随后处理的分组是一接收分组且所述预测基于一发送分组。
16.如权利要求13所述的装置,其特征在于,所述指令的执行还导致成:
计算要从外部存储器单元预取协议控制块的时间。
17.一种装置,包括:
分组处理引擎;以及
输入路径,用于从外部存储器单元接收预取的协议控制块,所述协议控制块用于被预测为随后具有要根据传输控制协议由分组处理引擎处理的分组的连接。
18.如权利要求17所述的装置,其特征在于,所述分组处理引擎包括一网络接口卡,它用作对主机处理器的传输控制协议卸载引擎。
19.如权利要求18所述的装置,其特征在于,所述分组处理引擎预测所述连接并计算从外部存储器单元预取协议控制块的时间。
20.如权利要求18所述的装置,其特征在于,所述主机处理器推测所述连接并计算将所述预取的协议控制块从外部存储器单元压入到分组处理引擎的时间。
21.如权利要求17所述的装置,其特征在于,还包括:
分组处理引擎本地的协议控制块高速缓存,用于存储预取的协议控制块。
22.一种装置,包括:
主机处理器;以及
输出路径,用于安排一分组处理引擎从外部存储器单元预取一协议控制块,它用于被预测为随后具有要根据传输控制协议由分组处理引擎处理的分组的一连接。
23.如权利要求22所述的装置,其特征在于,所述主机处理器适于调度用于所述预取的时间。
24.一种系统,包括:
动态随机存取存储器单元;以及
网络接口卡,包括:
分组处理引擎;以及
输入路径,用于从动态随机存取存储器单元接收一预取的协议控制块,它用于被预测为随后具有要根据传输控制协议由分组处理引擎处理的分组的连接。
25.如权利要求24所述的系统,其特征在于,还包括:
主机处理器;
其中所述分组处理引擎是网络接口卡,它用作对所述主机处理器的传输控制协议卸载引擎。
26.如权利要求25所述的系统,其特征在于,所述分组处理引擎预测所述连接并计算应从所述动态随机存取存储器单元预取协议控制块的时间。
27.如权利要求25所述的系统,其特征在于,所述主机处理器预测所述连接并计算应将所述预取的协议控制块从动态随机存取存储器单元压入到分组处理引擎的时间。
28.如权利要求24所述的系统,其特征在于,所述网络接口卡还包括:
协议控制块高速缓存,用于存储所述预取的协议控制块。
CNB2004800270819A 2003-09-22 2004-09-17 来自外部存储器单元的协议控制块的推测预取 Expired - Fee Related CN100555982C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/667,691 2003-09-22
US10/667,691 US7346680B2 (en) 2003-09-22 2003-09-22 Speculative prefetch of a protocol control block from an external memory unit

Publications (2)

Publication Number Publication Date
CN1853387A true CN1853387A (zh) 2006-10-25
CN100555982C CN100555982C (zh) 2009-10-28

Family

ID=34313356

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800270819A Expired - Fee Related CN100555982C (zh) 2003-09-22 2004-09-17 来自外部存储器单元的协议控制块的推测预取

Country Status (7)

Country Link
US (2) US7346680B2 (zh)
EP (1) EP1665681B1 (zh)
CN (1) CN100555982C (zh)
AT (1) ATE409379T1 (zh)
DE (1) DE602004016758D1 (zh)
TW (1) TWI259685B (zh)
WO (1) WO2005032078A1 (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155516B2 (en) * 2000-02-08 2006-12-26 Mips Technologies, Inc. Method and apparatus for overflowing data packets to a software-controlled memory when they do not fit into a hardware-controlled memory
US7502876B1 (en) 2000-06-23 2009-03-10 Mips Technologies, Inc. Background memory manager that determines if data structures fits in memory with memory state transactions map
US7082552B2 (en) * 2000-02-08 2006-07-25 Mips Tech Inc Functional validation of a packet management unit
US7058064B2 (en) * 2000-02-08 2006-06-06 Mips Technologies, Inc. Queueing system for processors in packet routing operations
US7032226B1 (en) * 2000-06-30 2006-04-18 Mips Technologies, Inc. Methods and apparatus for managing a buffer of events in the background
US7139901B2 (en) * 2000-02-08 2006-11-21 Mips Technologies, Inc. Extended instruction set for packet processing applications
US7042887B2 (en) * 2000-02-08 2006-05-09 Mips Technologies, Inc. Method and apparatus for non-speculative pre-fetch operation in data packet processing
US7649901B2 (en) * 2000-02-08 2010-01-19 Mips Technologies, Inc. Method and apparatus for optimizing selection of available contexts for packet processing in multi-stream packet processing
US7165257B2 (en) * 2000-02-08 2007-01-16 Mips Technologies, Inc. Context selection and activation mechanism for activating one of a group of inactive contexts in a processor core for servicing interrupts
KR100449806B1 (ko) * 2002-12-23 2004-09-22 한국전자통신연구원 네트워크를 통해 스트리밍 데이터를 고속으로 송수신하기위한 네트워크-스토리지 연결 장치
US7346680B2 (en) * 2003-09-22 2008-03-18 Intel Corporation Speculative prefetch of a protocol control block from an external memory unit
US7899913B2 (en) * 2003-12-19 2011-03-01 Nvidia Corporation Connection management system and method for a transport offload engine
US7698413B1 (en) * 2004-04-12 2010-04-13 Nvidia Corporation Method and apparatus for accessing and maintaining socket control information for high speed network connections
US7912994B2 (en) * 2006-01-27 2011-03-22 Apple Inc. Reducing connection time for mass storage class peripheral by internally prefetching file data into local cache in response to connection to host
US7925865B2 (en) * 2008-06-02 2011-04-12 Oracle America, Inc. Accuracy of correlation prefetching via block correlation and adaptive prefetch degree selection
JP5028339B2 (ja) * 2008-06-09 2012-09-19 キヤノン株式会社 通信装置及び制御方法
US9019854B2 (en) * 2010-04-26 2015-04-28 Telefonaktiebolaget L M Ericsson (Publ) Method for setting and adjusting a parameter dependent on a round trip time
US20130051257A1 (en) * 2011-08-31 2013-02-28 International Business Machines Corporation Scheduling of Packets at Cellular Base Stations

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2986802B2 (ja) 1989-03-13 1999-12-06 株式会社日立製作所 プロトコル高速処理方法
JP3358254B2 (ja) 1993-10-28 2002-12-16 株式会社日立製作所 通信制御装置および通信制御用回路装置
US6208651B1 (en) 1997-06-10 2001-03-27 Cornell Research Foundation, Inc. Method and system for masking the overhead of protocol layering
US6434620B1 (en) 1998-08-27 2002-08-13 Alacritech, Inc. TCP/IP offload network interface device
US7174393B2 (en) 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6122670A (en) 1997-10-30 2000-09-19 Tsi Telsys, Inc. Apparatus and method for constructing data for transmission within a reliable communication protocol by performing portions of the protocol suite concurrently
US6393457B1 (en) * 1998-07-13 2002-05-21 International Business Machines Corporation Architecture and apparatus for implementing 100 Mbps and GBPS Ethernet adapters
US6625149B1 (en) 1999-11-29 2003-09-23 Lucent Technologies Inc. Signaled receiver processing methods and apparatus for improved protocol processing
US6820127B2 (en) 2001-05-03 2004-11-16 International Business Machines Corporation Method, system, and product for improving performance of network connections
GB2394095A (en) 2001-05-31 2004-04-14 Espeed Inc Securities trading system with multiple levels-of-interest
US7240166B2 (en) 2003-05-01 2007-07-03 International Business Machines Corporation Method and apparatus for implementing packet work area accesses and buffer sharing
US7346680B2 (en) * 2003-09-22 2008-03-18 Intel Corporation Speculative prefetch of a protocol control block from an external memory unit

Also Published As

Publication number Publication date
EP1665681B1 (en) 2008-09-24
CN100555982C (zh) 2009-10-28
WO2005032078A1 (en) 2005-04-07
US20080112409A1 (en) 2008-05-15
US7627674B2 (en) 2009-12-01
US20050066028A1 (en) 2005-03-24
EP1665681A1 (en) 2006-06-07
DE602004016758D1 (de) 2008-11-06
TWI259685B (en) 2006-08-01
US7346680B2 (en) 2008-03-18
TW200524350A (en) 2005-07-16
ATE409379T1 (de) 2008-10-15

Similar Documents

Publication Publication Date Title
CN1853387A (zh) 来自外部存储器单元的协议控制块的推测预取
Regnier et al. TCP onloading for data center servers
US6822959B2 (en) Enhancing performance by pre-fetching and caching data directly in a communication processor's register set
US8291034B1 (en) Centralized adaptive network memory engine
Rizzo Revisiting network I/O APIs: the netmap framework
Wu et al. The performance analysis of Linux networking–packet receiving
EP1701506B1 (en) Method and system for transmission control protocol (TCP) traffic smoothing
EP2074756A2 (en) Method, system, and computer program product for resequencing of data segments received over a bonding channel set
US20160006805A1 (en) Transport accelerator systems and methods
CN1674485A (zh) 动态提供计算机系统资源的方法和系统
WO2011000307A1 (en) Network traffic accelerator
JP2009213065A (ja) Tcpバッファコピー分散並列処理装置、方法及びプログラム
US20230127722A1 (en) Programmable transport protocol architecture
CN1549536A (zh) 用rtp数据包的时戳进行排序以消除其抖动延时的方法
US20060004933A1 (en) Network interface controller signaling of connection event
Wu et al. Potential performance bottleneck in Linux TCP
US7752325B1 (en) Method and apparatus to efficiently transmit streaming media
EP2383647A1 (en) Networking system call data division for zero copy operations
Kim et al. Network interface data caching
Yoon et al. Implementation and analysis of TCP/IP offload engine and RDMA transfer mechanisms on an embedded system
Lu et al. Performance modeling and analysis of web switches
Zhao et al. A network processor-based, content-aware switch
Kim et al. Performance analysis of the TCP/IP protocol under UNIX operating systems for high performance computing and communications
Panteleenko Instantaneous offloading of web server load
CN114567603A (zh) 一种报文传输方法、报文传输装置、电子设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20091028

Termination date: 20190917