CN1853387A - 来自外部存储器单元的协议控制块的推测预取 - Google Patents
来自外部存储器单元的协议控制块的推测预取 Download PDFInfo
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
- H04L47/56—Queue scheduling implementing delay-aware scheduling
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/90—Buffering arrangements
- H04L49/9063—Intermediate storage in different physical parts of a node or terminal
- H04L49/9068—Intermediate storage in different physical parts of a node or terminal in the network interface card
- H04L49/9073—Early interruption upon arrival of a fraction of a packet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation 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包括通过诸如Intel82875P的存储器控制器集线器(MCH)220耦合到存储器单元230和输入输出控制器集线器(ICH)240的主机处理器210(例如,一个或多个INTELPENTIUM4处理器)。服务器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所述的系统,其特征在于,所述网络接口卡还包括:
协议控制块高速缓存,用于存储所述预取的协议控制块。
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)
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)
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 |
-
2003
- 2003-09-22 US US10/667,691 patent/US7346680B2/en not_active Expired - Fee Related
-
2004
- 2004-09-17 WO PCT/US2004/030709 patent/WO2005032078A1/en active Application Filing
- 2004-09-17 DE DE602004016758T patent/DE602004016758D1/de not_active Expired - Lifetime
- 2004-09-17 AT AT04784552T patent/ATE409379T1/de not_active IP Right Cessation
- 2004-09-17 CN CNB2004800270819A patent/CN100555982C/zh not_active Expired - Fee Related
- 2004-09-17 EP EP04784552A patent/EP1665681B1/en not_active Expired - Lifetime
- 2004-09-21 TW TW093128574A patent/TWI259685B/zh not_active IP Right Cessation
-
2008
- 2008-01-18 US US12/016,446 patent/US7627674B2/en not_active Expired - Fee Related
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 |