CN105721352A - 用于网络分组高速缓冲存储器管理的技术 - Google Patents

用于网络分组高速缓冲存储器管理的技术 Download PDF

Info

Publication number
CN105721352A
CN105721352A CN201510816580.6A CN201510816580A CN105721352A CN 105721352 A CN105721352 A CN 105721352A CN 201510816580 A CN201510816580 A CN 201510816580A CN 105721352 A CN105721352 A CN 105721352A
Authority
CN
China
Prior art keywords
cache memory
network packet
network
cache line
cache
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
CN201510816580.6A
Other languages
English (en)
Other versions
CN105721352B (zh
Inventor
R·王
S·戈布里尔
C·马乔科
T-Y·C·泰
B-Z·弗里德曼
H·T·阮
N·N·文凯特桑
M·A·欧汉隆
S·M·沙阿
S·贾殷
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 CN105721352A publication Critical patent/CN105721352A/zh
Application granted granted Critical
Publication of CN105721352B publication Critical patent/CN105721352B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • H04L67/5682Policies or rules for updating, deleting or replacing the stored data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0894Policy-based network configuration management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/38Flow based routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • H04L45/745Address table lookup; Address filtering
    • H04L45/7453Address table lookup; Address filtering using hashing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/103Packet switching elements characterised by the switching fabric construction using a shared central buffer; using a shared memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

用于标识待从通信地耦合到网络控制器的网络设备的处理器内载高速缓冲存储器逐出的网络分组的高速缓冲存储器行的方法。所述网络设备被配置为基于对在处理所述网络分组之后不需要所述网络分组的确定来确定所述高速缓冲存储器的与所述网络分组对应的所述高速缓冲存储器行是否将从所述高速缓冲存储器被逐出,以及基于从所述网络控制器接收的逐出策略来提供对所述高速缓冲存储器行将从所述高速缓冲存储器被逐出的指示。

Description

用于网络分组高速缓冲存储器管理的技术
背景技术
针对个人、企业以及社会使用的现代计算设备已经变得无所不在。这样,许多现代计算设备能够连接到各种数据网络(包括互联网和公司内联网)以通过这样的网络来检索和发送/接收数据通信。为了促进计算设备之间的通信,网络通常包括一个或多个网络设备(例如,网络交换机、网络路由器等)来路由从一个计算设备到另一个计算设备的通信。
软件定义网络(SDN)是一种可以用于促进在使用网络设备的网络间的通信(即,网络分组的流动)的网络架构。在软件定义网络中,位于外部的SDN控制器连接到网络来做出针对在网络间的网络分组的网络业务流逻辑决定,这是传统上在网络设备层面执行的任务。这样,现在可以利用通用处理器在网络设备上处理先前在网络设备的专用网络处理器上执行的网络分组处理(例如,网络业务流逻辑),因此降低了部署在软件定义网络中的网络设备所需要的硬件部件的复杂度。某些网络分组有效载荷或工作负荷类型可能与具有非常大的工作尺寸和/或仅在报头更新后被处理一次(即,没有高速缓冲存储器的再使用)的某些网络分组相关联。这样的网络分组可能是网络或带宽密集型的,这可能导致在使用通用处理器处理网络分组时网络设备性能低下。
附图说明
在附图中通过示例性的方式而非限制性的方式示出了本文描述的概念。为了说明的简化和清楚,附图中示出的元素不是按比例绘制的。在被认为是适当的情况下,参考标记在附图间重复以指示对应的或相似的元素。
图1是用于路由通信的系统的至少一个实施例的简化的框图;
图2是图1中的系统的网络架构的网络设备的至少一个实施例的简化的框图;
图3是图2中的网络设备的环境的至少一个实施例的简化的框图;
图4是图1中的系统的软件定义网络架构的至少一个实施例的简化的框图;
图5是用于管理图2中的网络设备的高速缓冲存储器逐出策略的方法的至少一个实施例的简化的流程图;
图6是用于实施图5中的逐出策略的方法的至少一个实施例的简化的流程图;以及
图7是图5中的高速缓冲存储器行的结构的至少一个实施例的简化的框图。
具体实施方式
虽然本公开内容的概念允许各种修改和替换形式,但是其具体的实施例已通过示例的方式在附图中示出,并且将在本文中对其进行详细描述。然而,应当理解的是,本文并不旨在将本公开内容的概念限制于所公开的特定的形式,而是相反地,本文旨在覆盖与本公开内容和所附权利要求书相一致的所有修改、等价物以及替换方式。
在说明书中引用的“一个实施例”、“实施例”、“说明性的实施例”等指示所描述的实施例可以包括特定的特征、结构或特性,但是每一个实施例可以或可不必包括该特定的特征、结构或特性。此外,这样的短语并不一定指代相同的实施例。此外,要指出的是,当结合实施例来描述特定的特征、结构或特性时,本领域技术人员结合无论是否被明确描述的其它实施例对这样的特征、结构或特性的任何影响都在其知识范围内。另外,应当意识到的是以“A、B和C中的至少一个”的形式被包括在列表中的项目可以意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。类似地,以“A、B或C中的至少一个”的形式列出的项目可以意指(A);(B);(C);(A和B);(A和C);(B和C);或(A、B和C)。
在一些情况下,可以以硬件、固件、软件或其任意组合的方式实现所公开的实施例。所公开的实施例还可以被实现为由一个或多个暂时性或非暂时性机器可读(例如,计算机可读)存储介质携带的或存储在其上的指令,所述指令可以被一个或多个处理器读取和执行。机器可读存储介质可以被实施为用于存储或发送机器可读形式的信息的任何存储设备、机械装置或其它物理结构(例如,易失性或非易失性存储器、介质磁盘或其它介质设备)。
在附图中,可以以特定的排列和/或次序示出一些结构或方法特征。然而,应当意识到的是,可以不要求这样的特定排列和/或次序。而是,在一些实施例中,可以以与在说明性的附图中示出的方式和/或次序不同的方式和/或次序排列来安排这样的特征。另外,在特定的附图中对结构或方法特征的包括不意味着在暗示在所有的实施例中要求这样的特征,并且在一些实施例中,可以不包括这样的特征或将这样的特征与其它特征结合。
现在参照图1,在说明性的实施例中,用于网络设备流查找管理的系统或网络100包括连接到网络控制设备110的内容存储设备102和网络基础设施120。网络控制设备110和网络基础设施120中的每一个能够在软件定义网络(SDN)架构和/或网络功能虚拟化(NFV)架构中操作。网络基础设施120包括用于经由网络基础设施的网络通信路径124来促进在内容存储设备102和一个或多个计算设备130之间的网络分组传输的至少一个网络设备122,该至少一个网络设备122被说明性地表示为122a至122h并且在本文中被统称为网络设备122。
使用中,如下面以进一步的细节描述的,网络设备122从内容存储设备102或计算设备130接收网络分组,基于存储在网络设备122处的策略来处理网络分组,并且在传输路径中向下一个计算设备(例如,另一个网络设备122、计算设备130、内容存储设备102等)转发网络分组。为了得知在传输路径中哪个计算设备是下一个计算设备,网络设备122执行查找操作来确定网络流。查找操作在网络分组的一部分上执行哈希算法(hash)并且使用结果来核对流查找表(即,映射到网络流的哈希表)。
通常,将流查找表存储在处理器内载(on-processor)高速缓冲存储器(例如,处理器的末级高速缓冲存储器)中来减小查找操作的时延,而将网络流存储在网络设备122的存储器中。然而,流查找表可能变得非常大,变得大过在处理器内载高速缓冲存储器中可用的空间。这样,与网络流哈希条目对应的高速缓冲存储器行被逐出网络设备122的存储器,当流查找表的那些部分包括与网络分组对应的高速缓冲存储器行时,以上操作将时延引入到查找操作中。另外,哪些高速缓冲存储器行被逐出存储器是由网络设备基于网络设备122所采用的任意高速缓冲存储器逐出算法来控制的。
然而,诸如流网络分组的某些网络分组仅被读取/处理一次而并不被要求随后的后续处理。这样,与这些单次读取网络分组对应的高速缓冲存储器行可以在处理之后被丢弃。例如,可以以指示的方式标记与网络分组对应的、可以在处理之后被丢弃的高速缓冲存储器行或将其放置于处理器内载高速缓冲存储器中的特定位置,来将该高速缓冲存储器行标识为在对处理器内载高速缓冲存储器的清理期间的下一个被逐出处理器内载高速缓冲存储器的高速缓冲存储器行。此外,与被保留到网络设备122的存储器中相反,所标记的、放置的或被以其它方式标识的高速缓冲存储器行被标识为可以在逐出时被丢弃的高速缓冲存储器行。这样,不必要的高速缓冲存储器行不被存储在网络设备122的流查找表中,这可以改进与查找操作相关联的时延,这是因为流查找表可以具有更多的空间来分配给将被再一次使用的网络流。
网络基础设施120可以被实施为任何类型的有线或无线通信网络,包括蜂窝网络(例如,全球移动通信系统(GSM))、数字用户线(DSL)网络、电缆网络、电话网络、局域网或广域网、全球网(例如,互联网)或其任何组合。另外,网络基础设施120可以根据需要包括任何数量的额外的设备来促进相应的设备之间的通信。
在使用中,基于网络流或分组流沿着互连网络设备122的网络通信路径124的集合来在内容存储设备102和计算设备130之间发送网络分组。如先前指出的,网络流被每一个网络设备122用来指示在处理后将接收到的网络分组发送到哪(即,沿着哪个网络通信路径124)。网络通信路径124可以被实施为能够促进相应的设备之间的通信的任何类型的有线或无线信号路径。例如,网络通信路径124可以被实施为任何数量的线、印刷电路板迹线、经由总线、点对点互连、中间设备等。任何适当的通信协议(例如,TCP/IP)可以用于实现沿着网络通信路径124的网络分组的传输,这取决于例如内容存储设备102、计算设备130和网络设备122的特定的类型或配置。
网络设备122可以被实施为能够促进内容存储设备102和计算设备130之间的通信的任何类型的设备,诸如路由器、交换机、服务器等。在一些实施例中,诸如在NFV架构中,网络设备122中的一个或多个网络设备122可以运行一个或多个虚拟化的机器(VM)来以软件的形式实现网络设备122的物理网络功能。换句话说,由网络设备122执行的功能中的一些功能可以被虚拟化。在一些实施例中,网络设备122可以被实施为通用计算设备(即,非专用硬件)。
应当意识到的是,网络通信路径124的说明性的布置旨在指示存在针对网络分组在网络基础设施120中传播的多个可选方案(即,路由),并且不应当被解释为对说明性的网络基础设施120的限制。例如,可以将直接地从网络设备122a到网络设备122e的网络流分配给从网络设备122a传播到网络设备122e的网络分组。在另一个示例中,在某些条件下,诸如在网络设备122a与网络设备122e之间的网络通信路径124上的不良的服务质量(QoS),可以将指导网络设备122a向网络设备122b发送网络分组的网络流分配给同一个网络分组,可以继而将指导网络设备122b向网络设备122e进一步地发送网络分组的网络流分配给所述同一个网络分组。
网络分组管理信息(例如,网络流、对应于网络分组类型的策略等)可以由网络应用114管理并且被提供至在网络控制设备110上运行的网络控制器112。为了使网络应用114有效地管理网络分组管理信息,网络控制器112向网络应用114提供网络基础设施120的抽象表现(abstraction)。在一些实施例中,网络控制器112可以基于与多个可用的网络流对应的服务质量(QoS)或者关联到网络分组的特定的工作载荷类型的策略来更新网络分组管理信息。例如,计算设备130可以向内容存储设备102发送用于请求内容存储设备102提供用于在计算设备130上进行回放的视频流的请求。在接收到请求之后,内容存储设备102随后处理该请求并且向网络设备122中的一个网络设备122提供包括与所请求的视频流的内容对应的数据(即,有效载荷数据、开销数据等)的网络分组。在接收网络设备122处,处理所接收的网络分组,并在之后更新所处理的网络分组的报头。接收网络设备122随后根据由网络控制器112提供的网络流来向目标设备发送所处理的网络分组。目标设备可以是发起请求的另一个网络设备122或计算设备130,这取决于接收网络设备122位于网络基础设施120的何处。
诸如网络路由分组和音频/视频流分组的某些网络分组可能具有工作集,该工作集具有潜在地不受限制的大小和/或这样一种工作载荷类型:该工作载荷类型是在网络设备122处理网络分组之后通常不再被网络设备122使用的网络密集型的工作载荷(例如,流工作载荷类型)。即使该网络分组一旦被交付后将不会被再次利用,这样的网络分组仍可能占用网络设备122的优先数据存储位置(即,高速缓冲存储器)的大部分,这可以导致网络设备122的性能的下降。因此,可以不需要存储这样的网络分组,并且在处理之后由网络设备122丢弃那些网络分组。当然,这种类型的一些网络分组可能需要被存储以用于以后的处理。
例如,向存储器208写入与不再被处理器202需要的网络分组对应的数据可能具有负面的能量影响。此外,在使用诸如LRU高速缓冲存储器替代算法的某些高速缓冲存储器替代算法的网络设备122中,网络分组可以被标记为最近使用的(MRU),这可以导致网络分组在延长的时间段内不被从LLC逐出(即,高速缓冲存储器污染)。更进一步,因为LLC的大部分被用来存储具有大的工作集尺寸的、将不再被再次使用的这样的网络分组,所以可能需要针对原本可以驻存在LLC中、但是空间却被这样的网络分组占用的数据对存储器208进行存取。额外的负面影响可包括高存储器带宽使用、时延以及互连拥塞,
内容存储设备102可被实施为能够存储内容并且与网络控制设备110和网络基础设施120进行通信的任何类型的存储设备。在一些实施例中,内容存储设备102可被实施为能够执行本文描述的功能的任何类型的计算或计算机设备,包括但不限于计算机、多处理器系统、服务器、计算服务器(例如,数据库服务器、应用服务器、web服务器等)、机架安装式服务器、刀片服务器、膝上型计算机、笔记本计算机、网络设备、web设备、分布式计算系统、基于处理器的系统和/或附网存储(NAS)设备。内容存储设备102可以包括通常在诸如处理器、存储器、I/O子系统、通信电路和/或外围设备的这样的设备中发现的任何类型的部件。虽然说明性地示出了具有一个内容存储设备102的系统100,但是应当意识到的是,本文预期了包括多于一个的内容存储设备102的网络。内容数据库104可以是能够存储可由远程应用106检索的数据的任何类型的数据库。
说明性的内容存储设备102包括内容数据库104和远程应用106。远程应用106可以被实施为能够经由网络基础设施120的网络设备122向计算设备130发送和接收数据的任何类型的应用。在一些实施例中,远程应用106可以被实施为web应用(即,薄(thin)应用)或私人、公共或混合的基于云的应用。
虽然说明性的系统100包括单个远程应用106,但是应当意识到的是多于一个的远程应用106可以在内容存储设备102上运行或是可用的。还应当意识到的是,在某些实施例中,多于一个的内容存储设备102可以具有运行在一个或多个内容存储设备102间的相同类型的远程应用106的多于一个的实例,诸如在分布式计算环境中。
网络控制设备110可以被实施为能够执行网络控制器112、促进内容存储设备102和网络基础设施120之间的通信以及执行本文描述的功能的任何类型的计算设备。例如,网络控制设备110可以被实施为或者另外包括服务器计算机、台式计算机、膝上型计算设备、消费电子设备、移动计算设备、移动电话、智能电话、平板计算设备、个人数字助理、可穿戴计算设备、智能电视、智能设备和/或其它类型的计算或联网设备。这样,网络控制设备110可以包括通常在网络控制设备或者相似的计算设备中发现的设备和结构,诸如处理器、存储器设备、通信电路和数据存储设备(为了描述的清楚,未在图1中示出)。
网络控制器112可以被实施为或者以另外的方式包括能够控制网络基础设施120的网络流的任何类型的硬件、软件和/或固件。例如,在说明性的实施例中,网络控制器112能够在软件定义网络(SDN)环境(即,SDN控制器)和/或网络功能虚拟化(NFV)环境(即,NFV管理器和网络编排器(MANO))中操作。这样,网络控制器112可以向能够在SDN环境和/或NFV环境中操作的网络设备122发送(例如,发射等)网络流信息。在SDN架构中,SDN网络控制器作为提供用于对来自于偏远位置的网络设备122的配置进行管理的抽象的控制平面的集中式网络管理应用进行工作。
在使用中,网络控制器112被配置为向网络设备122提供策略信息,如下面更加详细地讨论的。策略信息可以包括供网络设备122在处理网络分组之后和当从高速缓冲存储器204逐出与网络分组对应的数据时使用的指令(例如,基于网络流的指令、存储器管理指令等)。策略信息可以基于网络分组类型,诸如,例如,具有在处理后将不被网络设备122再次使用的流工作载荷类型的网络分组。如将在下面以进一步的细节描述的,网络设备122基于策略信息(例如,将被认为随后不需要的分组数据从存储器逐出)来做出分组处理决定。
在SDN网络中通常被称为企业应用的网络应用114可以被实施为能够通过网络基础设施120来动态地控制网络分组的处理和流动的任何类型的网络应用。例如,网络应用114可以被实施为网络虚拟化应用、防火墙监控应用、用户标识管理应用、访问策略控制应用和/或其组合。网络应用114被配置为与网络控制器112连接、接收被转发到网络控制器112的分组以及管理被提供给网络设备122的网络流。
在使用中,网络应用114接收网络基础设施120的拓扑的抽象模型,并且调整网络基础设施120的网络设备122的行为。例如,所调整的行为可以是网络流的变化。在一些实施例中,被改变的网络流可以基于远程应用106的要求,通常被称为反应网络流。如将在下面以进一步的细节描述的,在一些实施例中,网络应用114可以是能够经由应用程序接口(API)来在系统100的抽象表现上操作的SDN应用或其它计算软件或平台。在一些实施例中,诸如网络应用114是SDN应用的实施例中,网络应用114可以提供网络虚拟化服务,诸如虚拟防火墙、虚拟应用传递控制器以及虚拟负载平衡器。
计算设备130可以被配置为经由网络设备122向远程应用106发送网络分组和/或从远程应用106接收网络分组。计算设备130可以被实施为或者另外包括能够执行本文描述的功能的任何类型的计算设备,包括但不受限于台式计算机、膝上型计算设备、服务器计算机、消费电子设备、移动计算设备、移动电话、智能电话、平板计算设备、个人数字助理、可穿戴计算设备、智能电视、智能设备和/或其它类型的计算设备。这样,计算设备130可以包括通常在计算设备中发现的设备和结构,诸如处理器、存储器设备、通信电路以及数据存储设备,为了描述的清楚,其未在图1中示出。
现在参照图2,说明性的网络设备122包括具有管芯内载(on-die)高速缓冲存储器204的处理器202、存储器208、输入/输出(IO)子系统206、通信电路212以及一个或多个外围设备214。网络设备122被实施为能够执行本文描述的功能的任何类型的计算或计算机设备,包括但不受限于通用计算设备、网络设备(例如,物理的或虚拟的)、web设备、路由器、交换机、多处理器系统、服务器(例如,独立、机架安装式、刀片等)、分布式计算系统、基于处理器的系统、台式计算机、膝上型计算机、笔记本计算机、平板计算机、智能电话、移动计算设备、可穿戴计算设备、消费电子设备或其它计算设备。
在使用中,如将在下面以进一步的细节描述的,当网络设备122中的一个网络设备122接收到网络分组时,网络分组经由I/O子系统206被写入到网络设备122的存储器208(即,主存储器)或被写入到网络设备122的处理器202的管芯内载高速缓冲存储器204。在网络分组被直接地写入到管芯内载高速缓冲存储器204的实施例中,诸如在数据直接I/O(DDIO)实施例中,管芯内载高速缓冲存储器204是网络分组的主要目的地,而非存储器208。在这样的实施例中,当网络分组被从管芯内载高速缓冲存储器204逐出时,网络分组通常被写入到网络设备122的存储器208。
处理器202可以被实施为能够执行本文描述的功能的任何类型的处理器。例如,处理器202可以被实施为单核或多核处理器、数字信号处理器、微控制器或其它处理器或处理/控制电路。存储器208可以被实施为能够执行本文描述的功能的任何类型的易失性或非易失性存储器或数据存储设备。在操作中,存储器208可以存储在网络设备122的操作期间使用的各种数据和软件。存储器208可以经由I/O子系统206通信地耦合到处理器202,所述I/O子系统206可以被实施为电路和/或部件来促进与网络设备122的处理器202、存储器208以及其它部件的输入/输出操作。I/O子系统206被配置为促进到管芯内载高速缓冲存储器204和存储器208的数据的传递。例如,I/O子系统206可以被实施为或者另外包括存储器控制器集线器、输入/输出控制集线器、固件设备、通信链路(即,点对点链路、总线链路、电线、电缆、光导、印刷电路板迹线等)和/或其它部件和子系统来促进输入/输出操作和到管芯内载高速缓冲存储器204和存储器208的数据的传递。在一些实施例中,I/O子系统206可以构成片上系统(SoC)的一部分以及与网络设备122的处理器202、存储器208以及其它部件一起合并在单个集成电路芯片上。
在一些实施例中,管芯内载高速缓冲存储器204可以具有多级架构。在这样的实施例中,网络分组一般从管芯内载高速缓冲存储器204的最低一级被逐出到通常被称为末级高速缓冲存储器(LLC)的管芯内载高速缓冲存储器204的最高一级。当网络分组从管芯内载高速缓冲存储器204的最高一级(即,LLC)被逐出时,其一般被写入存储器208中。由于网络分组被直接地写入到管芯内载高速缓冲存储器204,所以网络分组的副本不位于存储器208中。这样,与网络分组对应的高速缓冲存储器行在被写入到管芯内载高速缓冲存储器204的LLC时一般被“标记”为“脏”来指示当该高速缓冲存储器行从LLC被逐出时,该高速缓冲存储器行需要被写入到存储器208中。
高速缓冲存储器行从高速缓冲存储器204的LLC的逐出可以基于高速缓冲存储器替代算法(还通常被称为替代策略或高速缓冲存储器算法)来确定哪些数据存储在管芯内载高速缓冲存储器204中以及哪些数据被逐出到存储器208。典型的高速缓冲存储器替代算法依靠网络设备122的硬件来确定逐出哪些高速缓冲存储器行。例如,最近最少使用的(LRU)高速缓冲存储器替代算法首先逐出最近最少使用的高速缓冲存储器行,不管存储在该高速缓冲存储器行中的数据有多重要。这样的使用硬件预测来确定逐出哪个高速缓冲存储器行的高速缓冲存储器替代算法可能易于出错并且甚至小的错误可以导致相关性破坏和高速缓冲存储器污染,这仅列举了两个负面影响。如先前描述的,网络设备122基于从网络控制器112接收的策略信息来做出分组处理决定。例如,从网络控制器112接收的高速缓冲存储器管理策略可以被网络设备122用来确定当网络分组从LLC被逐出时,是向存储器208写入网络分组,还是丢弃网络分组而不向存储器208写入网络分组。
通信电路212可以被实施为能够启用内容存储设备102、网络控制设备110以及其它网络设备122之间的通过网络的通信的任何通信电路、设备或其组合。通信电路212可以被配置为使用任何一个或多个通信技术(例如,无线或有线通信)以及关联的协议(例如,以太网、WiMAX等)来实现这样的通信。在一些实施例中,通信电路212包括蜂窝通信电路和/或其它长距离无线通信电路。一个或多个外围设备214可以包括通常在计算设备、以及尤其是网络设备中发现的任何类型的外围设备,例如,诸如硬件键盘、输入/输出设备、外围通信设备和/或类似设备。在本文中可预期的是外围设备214可以额外地或替代地包括用于将外部的外围设备连接到网络设备122的一个或多个端口,例如,诸如USB。
现在参照图3,在使用中,网络设备122中的每一个网络设备122在操作期间建立环境300。说明性的环境300包括网络分组处理模块302和高速缓冲存储器管理模块308。高速缓冲存储器管理模块308包括从网络控制器112接收的逐出策略数据312。在一些实施例中,逐出策略数据312可以包括与网络分组类型对应的高速缓冲存储器逐出策略。环境300的各个模块可以被实施为硬件、固件、软件或其组合。例如,环境300的各个模块、逻辑单元和其它部件可以构成处理器202或网络设备122的其它硬件部件的一部分、或者另外由处理器202或网络设备122的其它硬件部件建立。这样,在一些实施例中,环境300的模块中的一个或多个模块可以被实施为电路或电气设备的组合(例如,网络分组处理电路、高速缓冲存储器管理电路等)。应当意识到的是,每一个网络设备122可以包括通常在计算设备中发现的其它部件、子部件、模块以及设备(为了说明书的清楚起见,未在图3中示出)。另外,应当理解的是,虽然网络设备122中的每一个网络设备122可以在操作期间建立说明性的环境300,但是为了说明书的清楚起见,具体参照单个网络设备122描述了对该说明性的环境300的下面的讨论。
网络分组处理模块302被配置为从内容存储设备102、另一个网络设备122和/或计算设备130接收和处理网络分组。在一些实施例中,网络分组处理模块302可以包括路由协议查找模块304和/或分组报头更新模块306。路由协议查找模块304被配置为当在LLC处从I/O子系统206接收到网络分组时执行查找操作来确定使用哪个路由协议来处理该网络分组。在一些实施例中,执行查找操作可以包括在网络设备122的查找表中查找路由协议。用来处理网络分组的路由协议可以被高速缓冲存储器管理模块308用来确定应用到网络分组的高速缓冲存储器逐出策略,这在下面被以进一步地细节描述。分组报头更新模块306被配置为更新网络分组的报头。经更新的报头可以包括例如经更新的流信息。
高速缓冲存储器管理模块308被配置为从网络控制器112接收高速缓冲存储器逐出策略指令。高速缓冲存储器逐出策略指令被存储为逐出策略数据312来被网络设备122用来确定在网络分组被处理后是否“标记”某些网络分组。在一些实施例中,逐出策略数据312可以包括指示网络设备122如何基于网络分组类型和/或用来处理网络分组的路由协议来“标记”存储在LLC中的某些网络分组的指令的集合。例如,指令的集合可以指示网络设备122对处理之后将不被网络设备122再次使用的被标识的工作载荷类型的流分组进行“标记”来确保其在被处理之后直接地被丢弃。应当意识到的是,逐出策略数据312可以包括与特定的高速缓冲存储器逐出策略对应的任何其它类型的信息。
在一些实施例中,高速缓冲存储器管理模块308可以包括高速缓冲存储器逐出策略标记模块310和/或高速缓冲存储器逐出实施模块314。高速缓冲存储器逐出策略标记模块310被配置为确定哪个高速缓冲存储器逐出策略应当被应用于网络分组并且将该高速缓冲存储器逐出策略应用于网络分组,如适用的话。高速缓冲存储器逐出策略标记模块310可以将逐出策略数据312与网络分组的所标识的工作载荷类型和/或路由协议进行比较来确定哪个高速缓冲存储器逐出策略应当被应用于网络分组。如将在下面以进一步的细节描述的,高速缓冲存储器逐出策略标记模块310可以随后在确定了应当应用于网络分组的高速缓冲存储器逐出策略时“标记”该网络分组。
高速缓冲存储器逐出实施模块314被配置为在高速缓冲存储器行从LLC被逐出时实施被应用于“被标记的”高速缓冲存储器行的高速缓冲存储器逐出策略。基于应用于高速缓冲存储器行的高速缓冲存储器逐出策略,在高速缓冲存储器行从LLC被逐出时,高速缓冲存储器逐出实施模块314可以将高速缓冲存储器行写入回存储器208,或者丢弃高速缓冲存储器行而不将高速缓冲存储器行写回存储器208。
现在参照图4,可以由系统100实现的SDN架构400的说明性的实施例包括应用层402、控制层410以及基础设施层420。应用层402可以包括一个或多个网络应用114,并且基础设施层420可以包括一个或多个网络设备122。在SDN架构实施例中,系统100通常是应用定义联网(ADN)网络。因此,网络应用114控制在AND网络中的网络设备122的行为。为此,网络应用114经由北向API404向网络控制器112传送其要求并且从网络控制器112接收反馈。在一些实施例中,该要求可以基于远程应用106和/或网络分组类型的要求。北向API404提供网络抽象接口来允许应用层402的网络应用114向控制层410的网络控制器112传送信息,包括网络分组流和策略信息在内。在网络控制器112处接收的信息被传递经过南向API412来定义和控制网络设备122的行为。
现在参照图5,在使用中,网络设备122中的一个或多个网络设备122可以执行用于对要从高速缓冲存储器204逐出的网络分组进行标识的方法500。换句话说,对在从高速缓冲存储器204逐出时将不被写入到存储器208的网络分组进行标识。方法500开始于框502,在该框502中,网络设备122确定是否在网络设备122的高速缓冲存储器204的LLC处接收到网络分组。如果没有,那么方法500循环回到框502来确定是否已经接收到网络分组。如果在网络设备122的高速缓冲存储器204的LLC处接收到网络分组,那么在框504处,处理网络分组的报头。处理网络分组的报头可以包括任意类型的分组处理,包括例如,在报头的至少一部分上执行哈希函数、提取关键字段、和/或执行查找来确定与网络分组类型对应的流。在一些实施例中,可以基于路由表来确定分组流,可以基于从网络控制器112接收的指令来填充该路由表的内容。从网络控制器112接收的指令可以基于网络基础设施的任意标准或方面,诸如在网络基础设施120上的当前的网络活动的级别、位于网络基础设施120上的网络设备122的量和/或类型、在网络基础设施120中的网络设备122和/或从中得到网络分组的远程应用106的当前配置、与网络分组相关联的工作载荷类型、和/或其它网络基础设施120和/或网络分组定义特性。
在框506处,网络设备122确定与网络分组对应的数据(即,有效载荷数据、开销数据等)是否将被网络设备122的处理器202再次使用。网络设备122可以基于任意适当的数据来做出这样的确定。例如,在说明性的实施例中,网络设备122可以基于网络分组的工作载荷类型(例如,流工作载荷、事项工作载荷等)进行确定。基于工作载荷类型,网络设备122可以执行查找来确定再次使用的可能性(即,在被处理之后再次被存取)。另外,从网络控制器112接收的指令可以包括随后的针对特定的工作载荷类型的存取的可能性以及基于工作载荷类型被应用于被写入到网络设备122的LLC的网络分组的逐出策略。例如,某些工作载荷类型,诸如网络路由工作载荷和音频/视频流工作载荷可能在处理之后不被再次使用(即,不被处理器202再次使用)。因此,网络控制器112可以向网络设备122提供将不再次使用这样的网络分组的指令。
如先前提到的,网络设备122从网络控制器112接收的指令可以包括逐出策略。逐出策略可以包括如何“标记”被写入到LLC的特定高速缓冲存储器行,尤其是与在处理之后将不被网络设备122的处理器202再次使用的工作载荷类型对应的那些高速缓冲存储器行。例如,在图7中示出了说明性的高速缓冲存储器行700。高速缓冲存储器行700包括标签702、数据块704以及一个或多个标志位706。标签702通常包含与存储器208中实际数据驻存的位置对应的地址。当网络分组被直接地接收进入高速缓冲存储器204的LLC中时,不存在到存储器208中的位置的地址,这是因为没有从存储器208复制与网络分组对应的数据。数据块704通常包含从存储器208取出的实际的数据(即,与被直接地接收进入到LLC中的网络分组对应的实际的数据)。高速缓冲存储器行700的标志位706通常被设置为“干净”或“脏”状态来指示当高速缓冲存储器行700从高速缓冲存储器204的LLC中被逐出时,高速缓冲存储器行700的数据块704是否将被写入存储器208。在标志位706被设置为“干净”的情况下,当高速缓冲存储器行700从高速缓冲存储器204的LLC中被逐出时,高速缓冲存储器行700将不被写入存储器208(即,丢弃)。替代地,在高速缓冲存储器行700的标志位706被设置为“脏”的情况下,当高速缓冲存储器行700从高速缓冲存储器204的LLC中被逐出时,高速缓冲存储器行700将被写入存储器208。由于高速缓冲存储器行700是在高速缓冲存储器204的LLC中的被最近存取的高速缓冲存储器行,所以通常将其放在MRU位置中。在一些实施例中,诸如网络设备122实施LRU高速缓冲存储器替代算法的那些实施例,高速缓冲存储器行700在高速缓冲存储器204的LLC中变为失效,这是因为高速缓冲存储器行700在处理之后没有从高速缓冲存储器204的LLC中被直接地逐出。在这样的状况下,现在失效的高速缓冲存储器行700继续用尽高速缓冲存储器204的LLC中的宝贵的空间,直到其最终被逐出,并且在这期间导致高速缓冲存储器污染、时延以及高速缓冲存储器性能的整体下降。应当意识到的是,高速缓冲存储器行可以具有不同于说明性的高速缓冲存储器行700的结构。具有不同结构的高速缓冲存储器行可以包括额外的和/或替代的高速缓冲存储器行位、块、标签、和/或类似元素。
返回参照图5,如果与网络分组对应的数据将被再次使用,那么方法500循环回到框502,在所述块502中,网络设备122继续针对在高速缓冲存储器204的LLC处接收到的网络分组进行监控。然而,如果与网络分组对应的数据将不被再次使用,那么方法向前进行到框508。在框508中,网络设备122基于从网络控制器112接收的指令来“标记”高速缓冲存储器204的LLC中的与该网络分组对应的高速缓冲存储器行。以这种方式,网络设备122基于从网络控制器112接收的高速缓冲存储器逐出策略来做出高速缓冲存储器管理决定,而不是仅基于高速缓冲存储器替代算法来做出硬件确定,这减小了由在处理之后将不被再次使用的网络分组造成的对高速缓冲存储器性能上的负面影响的可能。
在一些实施例中,如在框510中,“标记”与网络分组对应的高速缓冲存储器行可以包括设置高速缓冲存储器行的标志位(例如,无效位/有效位、干净位/脏位等)。标志位与高速缓冲存储器行的位状态(例如,无效、干净等)对应,该高速缓冲存储器行包括与该网络分组对应的数据。标志位指示当高速缓冲存储器行从高速缓冲存储器204的LLC中被逐出时,高速缓冲存储器行是否将被写入存储器208。如先前提到的,当网络分组被直接地写入高速缓冲存储器204的LLC中时,高速缓冲存储器行的标志位被设置为“脏”位状态(例如,脏、被修改的、有效的等)来向网络设备122指示当高速缓冲存储器行从高速缓冲存储器204的LLC中被逐出时,高速缓冲存储器行的数据块将被写入存储器208。网络设备122将高速缓冲存储器行的标志位706从“脏”位状态设置为“干净”位状态来向网络设备122指示当高速缓冲存储器行从LLC中被逐出时,高速缓冲存储器行700将被丢弃。例如,在网络设备122使用高速缓冲存储器相关和存储器相关协议(例如,MESI协议,包括被修改的、独有的、共享的以及无效的状态)的实施例中,将高速缓冲存储器行设置为“干净”状态可以包括将高速缓冲存储器行的两个标志位设置为无效的或独有的状态。
在一些实施例中,如在框512中,“标记”网络分组可以包括设置LLC中的与网络分组对应的高速缓冲存储器行的年龄位来指示该高速缓冲存储器行即将被丢弃。如先前提到的,某些工作载荷类型不被处理器202再次使用并且在处理之后可以不立即被逐出。通常,当高速缓冲存储器行被存取时,年龄位被设置来指示高速缓冲存储器行是MRU高速缓冲存储器行。在一些实施例中,诸如使用LRU高速缓冲存储器替代算法的那些实施例,高速缓冲存储器行将不被逐出,直到年龄位与LRU高速缓冲存储器行对应。将不被再次使用的高速缓冲存储器行在LLC中度过的任何时间量将降低高速缓冲存储器性能。为了确保某些被标识的网络分组在处理之后不保留在LLC中,网络设备122可以将高速缓冲存储器行的年龄位设置到LRU位置来指示该高速缓冲存储器行应是下一个从LLC中被逐出的高速缓冲存储器行。
在一些实施例中,如在框514中,“标记”网络分组可以包括将与网络分组对应的数据写入到在高速缓冲存储器204的LLC的预留范围内的高速缓冲存储器行中。如先前提到的,网络设备122从网络控制器112接收高速缓冲存储器逐出策略。高速缓冲存储器逐出策略可以包括高速缓冲存储器204的LLC的预留的范围,以写入具有诸如临时的工作载荷类型(即,在处理之后将不被再次存取)的某些特性的网络分组。在一些实施例中,所预留的范围可以是高速缓冲存储器204的LLC中的被分配作为LLC中当高速缓冲存储器行从高速缓冲存储器204的LLC中被逐出时将被丢弃的第一高速缓冲存储器行的部分。在一些实施例中,所预留的范围可以是高速缓冲存储器204的LLC的被分配的部分以使得当高速缓冲存储器行被写入到所预留的范围时,诸如标志位之类的位被改变为指示该高速缓冲存储器行处于在该高速缓冲存储器行被处理之后将不被写入存储器208的状态。
在一些实施例中,如在框516中,“标记”网络分组可以包括被网络设备122用来在高速缓冲存储器清理时使一个或多个高速缓冲存储器行无效的临时无效指令,所述临时无效指令可以被保存在逐出策略数据312中。临时无效指令是这样一种指令:其指示在高速缓冲存储器204的LLC中与网络分组对应的高速缓冲存储器行是临时的,并且在处理网络设备122的数据缓冲区之后,该高速缓冲存储器行应当被丢弃而不将该高速缓冲存储器行写入存储器208。在一些实施例中,临时无效指令可以是指令集架构(ISA)指令。例如,针对从软件被发送到网络接口控制器(NIC)或网络接口卡/适配器的数据,临时无效指令向处理器202指示该高速缓冲存储器行是临时的,并且在直接的存储器存取(DMA)之后,该高速缓冲存储器行应当被丢弃。
可以预期的是,在一些实施例中,“标记”网络分组可以包括框510、512、514以及516的“标记”实施例的任意组合。例如,如在框510中,将高速缓冲存储器行标记为“干净”,以及如在框512中,将高速缓冲存储器行的年龄位设置到指示该高速缓冲存储器行是下一个被逐出的高速缓冲存储器行的位置,该高速缓冲存储器行被定位为下一个被逐出的高速缓冲存储器行并且当被逐出时被禁止写入存储器208。还可以预期的是,可以以任何次序执行框510、512、514以及516的“标记”实施例中的每一个“标记”实施例。
在框518中,网络分组报头的报头被更新。更新网络分组可以包括更新由将向其发送网络分组的目标设备使用的网络分组的网络流。在框520中,网络分组被发送到目标设备以进一步地处理网络分组。目标设备可以是计算设备130或网络基础设施中的另一个网络设备122。
现在参照图6,在使用中,网络设备122可以执行方法600,所述方法600用于实施可以在高速缓冲存储器204的LLC上执行的高速缓冲存储器行逐出策略。方法600开始于框602,在所述框602中,网络设备122确定是否在高速缓冲存储器204的LLC上执行高速缓冲存储器清理。通常当LLC没有足够的容量(即,空间)来存储输入数据时即执行高速缓冲存储器清理,在这时一个或多个高速缓冲存储器行从存储器208被逐出,直到得到足够的容量来存储输入数据。如果不执行高速缓冲存储器清理(即,在LLC中存在足够的空间来接收输入数据),那么方法600循环回到框602来确定是否需要执行高速缓冲存储器清理。如果将要执行高速缓冲存储器清理,那么方法600向前进行到框604。
在框604中,网络设备122基于高速缓冲存储器替代算法和/或高速缓冲存储器逐出策略来确定逐出的高速缓冲存储器行。如先前提到的,高速缓冲存储器行可以被“标记”来指示基于高速缓冲存储器逐出策略何时和/或如何逐出高速缓冲存储器行。在网络设备122使用高速缓冲存储器替代算法来确定将从高速缓冲存储器204的LLC中逐出高速缓冲存储器行的一些实施例中,可以基于高速缓冲存储器逐出策略来改变高速缓冲存储器行的标志位和/或年龄位,来操纵从LLC中逐出哪个高速缓冲存储器行。还如先前提到的,可以通过将高速缓冲存储器行写入当执行高速缓冲存储器清理时将被逐出的高速缓冲存储器204中的特定的范围,和/或通过被接收以指示高速缓冲存储器行在处理之后将被逐出的临时无效指令,来“标记”高速缓冲存储器行,这些途径都基于高速缓冲存储器逐出策略。
在框606中,网络设备122确定在框604处确定的高速缓冲存储器行是否将被保存到存储器208。例如,在使用临时无效指令的实施例中,可以由网络设备122的软件(例如,TCP栈、解码软件或类似软件)来解译临时无效指令,以在高速缓冲存储器行被处理之后丢弃该高速缓冲存储器行,而非向存储器208写入该高速缓冲存储器行。如果高速缓冲存储器行将不被保存到存储器208,那么方法600向前进行到框608来丢弃高速缓冲存储器行。如果高速缓冲存储器行将被保存到存储器208,那么方法600向前进行到框610来向存储器208写入高速缓冲存储器行的数据块。在框608中丢弃高速缓冲存储器行或者在框610中向存储器208写入高速缓冲存储器行的数据块之后,方法600循环回到框602来确定是否在LLC上执行高速缓冲存储器清理。
示例
下面提供了本文公开的技术的说明性的示例。技术的实施例可以包括下面描述的示例中的任何一个或多个示例以及其组合。
示例1包括用于标识待逐出的网络分组的网络设备,该网络设备包括:处理器,包括高速缓冲存储器,其中,该高速缓冲存储器包括多个高速缓冲存储器行;网络分组处理模块,用于接收网络分组、在处理器的高速缓冲存储器的高速缓冲存储器行中存储网络分组、并且处理网络分组;以及高速缓冲存储器管理模块,用于确定网络分组是否需要进行后续处理并且响应于对网络分组不需要进行后续处理的确定来指示与该网络分组对应的高速缓冲存储器行将从高速缓冲存储器被逐出。
示例2包括示例1的主题,以及其中,对网络分组不需要进行后续处理的确定基于从通信地耦合到网络设备的网络控制器接收的逐出策略。
示例3包括示例1和示例2中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从高速缓冲存储器被逐出包括利用指示符来标记高速缓冲存储器行。
示例4包括示例1至示例3中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从高速缓冲存储器被逐出包括设置高速缓冲存储器行的标志位。
示例5包括示例1至示例4中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从高速缓冲存储器被逐出包括设置高速缓冲存储器行的年龄位。
示例6包括示例1至示例5中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从高速缓冲存储器被逐出包括向高速缓冲存储器行设置临时无效指令。
示例7包括示例1至示例6中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从高速缓冲存储器被逐出包括在高速缓冲存储器的预先确定的存储器范围处存储高速缓冲存储器行,以及其中,高速缓冲存储器的预先确定的存储器范围位于高速缓冲存储器中的当对高速缓冲存储器进行清理时将被丢弃的一部分中。
示例8包括示例1至示例7中的任意示例的主题,以及其中,对网络分组是否需要进行后续处理的确定是基于网络分组的工作载荷的类型的。
示例9包括示例1至示例8中的任意示例的主题,以及其中,工作载荷的类型包括网络路由工作载荷、流工作载荷、网络密集型工作载荷以及单次读取工作载荷中的至少一个。
示例10包括示例1至示例9中的任意示例的主题,以及还包括输入/输出(I/O)系统来直接向高速缓冲存储器提供由网络设备接收的网络分组。
示例11包括示例1至示例10中的任意示例的主题,以及其中,高速缓冲存储器管理模块还在高速缓冲存储器行从高速缓冲存储器被逐出时丢弃高速缓冲存储器行。
示例12包括示例1至示例11中的任意示例的主题,以及其中,高速缓冲存储器包括管芯内载末级高速缓冲存储器。
示例13包括一种用在包括网络控制器和内容存储设备的软件定义网络环境中的网络设备,该网络设备包括:处理器,包括高速缓冲存储器,其中,该高速缓冲存储器包括多个高速缓冲存储器行;网络分组处理模块,用于从通信地耦合到网络设备的内容存储设备接收网络分组、在高速缓冲存储器行中存储网络分组、并且处理网络分组;以及高速缓冲存储器管理模块,用于从通信地耦合到网络设备的网络控制器接收逐出策略、基于对在处理网络分组之后不需要该网络分组的确定来确定与网络分组对应的高速缓冲存储器行是否将从高速缓冲存储器被逐出、并且响应于对在处理网络分组之后不需要网络分组的确定来提供对高速缓冲存储器行将从高速缓冲存储器被逐出的指示。
示例14包括示例13的主题,以及其中,提供对高速缓冲存储器行将从高速缓冲存储器被逐出的指示包括基于从网络控制器接收的逐出策略来提供对高速缓冲存储器行将从高速缓冲存储器被逐出的指示。
示例15包括示例13和示例14中的任意示例的主题,以及其中,对在处理之后不需要网络分组的确定是基于网络分组的工作载荷的类型的。
示例16包括示例13至示例15中的任意示例的主题,以及其中,网络分组的工作载荷的类型包括网络路由工作载荷、流工作载荷、网络密集工作载荷以及单次读取工作载荷中的至少一个。
示例17包括示例13至示例16中的任意示例的主题,以及其中,提供指示包括设置高速缓冲存储器行的标志位。
示例18包括示例13至示例17中的任意示例的主题,以及其中,提供指示包括设置高速缓冲存储器行的年龄位。
示例19包括示例13至示例18中的任意示例的主题,以及其中,提供指示包括向高速缓冲存储器行设置临时无效指令。
示例20包括示例13至示例19中的任意示例的主题,以及其中,提供指示包括在高速缓冲存储器的预先确定的存储器范围处存储高速缓冲存储器行,以及其中,高速缓冲存储器的预先确定的存储器范围位于高速缓冲存储器的当对高速缓冲存储器进行清理时将在高速缓冲存储器的其它部分之前被丢弃的一部分中。
示例21包括示例13至示例20中的任意示例的主题,以及其中,高速缓冲存储器包括管芯内载末级高速缓冲存储器。
示例22包括一种用于标识待从网络设备的处理器内载高速缓冲存储器逐出的网络分组的高速缓冲存储器行的方法,方法包括:由网络设备在网络设备的处理器内载高速缓冲存储器处接收网络分组,其中,处理器内载高速缓冲存储器包括多个高速缓冲存储器行;在处理器内载高速缓冲存储器的高速缓冲存储器行中存储网络分组;处理网络分组;以及确定网络分组是否需要进行后续处理;响应于对网络分组不需要进行后续处理的确定来指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出。
示例23包括示例22的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出包括基于从通信地耦合到网络设备的网络控制器接收的逐出策略来指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出。
示例24包括示例22和示例23中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出包括利用指示符来标记高速缓冲存储器行。
示例25包括示例22至示例24中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出包括设置高速缓冲存储器行的标志位。
示例26包括示例22至示例25中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出包括设置高速缓冲存储器行的年龄位。
示例27包括示例22至示例26中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出包括向高速缓冲存储器行设置临时无效指令。
示例28包括示例22至示例27中的任意示例的主题,以及其中,指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出包括在处理器内载高速缓冲存储器的预先确定的存储器范围处存储高速缓冲存储器行,以及其中,处理器内载高速缓冲存储器的预先确定的存储器范围位于处理器内载高速缓冲存储器中的当处理器内载高速缓冲存储器的清理时将首先被丢弃的一部分中。
示例29包括示例22至示例28中的任意示例的主题,以及其中,确定网络分组是否需要进行后续处理包括基于网络分组的工作载荷的类型来确定网络分组是否需要进行后续处理。
示例30包括示例22至示例29中的任意示例的主题,以及其中,确定网络分组是否需要进行后续处理包括基于网络路由工作载荷、流工作载荷、网络密集工作载荷以及单次读取工作载荷中的至少一个来确定网络分组是否需要进行后续处理。
示例31包括示例22至示例30中的任意示例的主题,以及还包括基于对与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的指示,来当高速缓冲存储器行从处理器内载高速缓冲存储器被逐出时丢弃该高速缓冲存储器行。
示例32包括示例22至示例31中的任意示例的主题,以及其中,处理器内载高速缓冲存储器包括处理器内载的末级高速缓冲存储器。
示例33包括一种计算设备,计算设备包括处理器;以及存储器,具有存储在其上的多个指令,当多个指令被处理器执行时使得计算设备执行示例22至示例32中的任意示例的方法。
示例34包括一个或多个机器可读存储介质,该一个或多个机器可读存储介质包括存储在其上的、响应于被执行来使得计算设备执行示例22至示例32中的任意示例的方法的多个指令。
示例35包括一种用于标识待从网络设备的处理器内载高速缓冲存储器逐出的网络分组的高速缓冲存储器行的计算设备,计算设备包括:用于在网络设备的处理器内载高速缓冲存储器接收网络分组的单元,其中,处理器内载高速缓冲存储器包括多个高速缓冲存储器行;用于在处理器内载高速缓冲存储器的高速缓冲存储器行中存储网络分组的单元;用于处理网络分组的单元;以及用于确定网络分组是否需要进行后续处理的单元;用于响应于对网络分组不需要进行后续处理的确定来指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元。
示例36包括示例35的主题,以及其中,用于指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元包括用于基于从通信地耦合到网络设备的网络控制器接收的逐出策略来指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元。
示例37包括示例35和示例36中的任意示例的主题,以及其中,用于指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元包括用于利用指示符来标记高速缓冲存储器行的单元。
示例38包括示例35至示例37中的任意示例的主题,以及其中,用于指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元包括用于设置高速缓冲存储器行的标志位的单元。
示例39包括示例35至示例38中的任意示例的主题,以及其中,用于指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元包括用于设置高速缓冲存储器行的年龄位的单元。
示例40包括示例35至示例39中的任意示例的主题,以及其中,用于指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元包括用于向高速缓冲存储器行设置临时无效指令的单元。
示例41包括示例35至示例40中的任意示例的主题,以及其中,用于指示与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的单元包括用于在处理器内载高速缓冲存储器的预先确定的存储器范围处存储高速缓冲存储器行的单元,以及其中,处理器内载高速缓冲存储器的预先确定的存储器范围位于处理器内载高速缓冲存储器的当对处理器内载高速缓冲存储器进行清理时将首先被丢弃的一部分中。
示例42包括示例35至示例41中的任意示例的主题,以及其中,用于确定网络分组是否需要进行后续处理的单元包括用于基于网络分组的工作载荷的类型来确定网络分组是否需要进行后续处理的单元。
示例43包括示例35至示例42中的任意示例的主题,以及其中,用于确定网络分组是否需要进行后续处理的单元包括用于基于网络路由工作载荷、流工作载荷、网络密集工作载荷以及单次读取工作载荷中的至少一个来确定网络分组是否需要进行后续处理的单元。
示例44包括示例35至示例43中的任意示例的主题,以及还包括用于基于与网络分组对应的高速缓冲存储器行将从处理器内载高速缓冲存储器被逐出的指示来当高速缓冲存储器行从处理器内载高速缓冲存储器被逐出时丢弃高速缓冲存储器行的单元。
示例45包括示例35至示例44中的任意示例的主题,以及其中,处理器内载高速缓冲存储器包括处理器内载末级高速缓冲存储器。

Claims (25)

1.一种用于标识待逐出的网络分组的网络设备,所述网络设备包括:
处理器,包括高速缓冲存储器,其中,所述高速缓冲存储器包括多个高速缓冲存储器行;
网络分组处理模块,用于接收网络分组,在所述处理器的所述高速缓冲存储器的高速缓冲存储器行中存储所述网络分组,并且处理所述网络分组;以及
高速缓冲存储器管理模块,用于确定所述网络分组是否需要进行后续处理,以及响应于对所述网络分组不需要进行后续处理的确定来指示与所述网络分组对应的所述高速缓冲存储器行将从所述高速缓冲存储器被逐出。
2.根据权利要求1所述的网络设备,其中,指示与所述网络分组对应的所述高速缓冲存储器行将从所述高速缓冲存储器被逐出包括设置所述高速缓冲存储器行的标志位。
3.根据权利要求1所述的网络设备,其中,指示与所述网络分组对应的所述高速缓冲存储器行将从所述高速缓冲存储器被逐出包括向所述高速缓冲存储器行设置临时无效指令。
4.根据权利要求1所述的网络设备,其中,指示与所述网络分组对应的所述高速缓冲存储器行将从所述高速缓冲存储器被逐出包括在所述高速缓冲存储器的预先确定的存储器范围处存储所述高速缓冲存储器行,以及其中,所述高速缓冲存储器的所述预先确定的存储器范围位于所述高速缓冲存储器的当对所述高速缓冲存储器进行清理时将被丢弃的一部分中。
5.根据权利要求1所述的网络设备,其中,所述对所述网络分组是否需要进行后续处理的确定是基于所述网络分组的工作载荷的类型的。
6.根据权利要求1所述的网络设备,其中,所述高速缓冲存储器管理模块还在所述高速缓冲存储器行从所述高速缓冲存储器被逐出时丢弃所述高速缓冲存储器行。
7.根据权利要求1所述的网络设备,其中,所述高速缓冲存储器包括管芯内载末级高速缓冲存储器。
8.一种用在包括网络控制器和内容存储设备的软件定义网络环境中的网络设备,所述网络设备包括:
处理器,包括高速缓冲存储器,其中,所述高速缓冲存储器包括多个高速缓冲存储器行;
网络分组处理模块,用于从通信地耦合到所述网络设备的所述内容存储设备接收网络分组,在高速缓冲存储器行中存储所述网络分组、并且处理所述网络分组;以及
高速缓冲存储器管理模块,用于从通信地耦合到所述网络设备的所述网络控制器接收逐出策略,基于对在处理所述网络分组之后不需要所述网络分组的确定来确定与所述网络分组对应的所述高速缓冲存储器行是否将从所述高速缓冲存储器被逐出,并且响应于所述对在处理所述网络分组之后不需要所述网络分组的确定来提供对所述高速缓冲存储器行将从所述高速缓冲存储器被逐出的指示。
9.根据权利要求8所述的网络设备,其中,提供所述对所述高速缓冲存储器行将从所述高速缓冲存储器被逐出的指示包括基于从所述网络控制器接收的所述逐出策略来提供所述对所述高速缓冲存储器行将从所述高速缓冲存储器被逐出的指示。
10.根据权利要求8所述的网络设备,其中,所述对在处理之后不需要所述网络分组的确定是基于所述网络分组的工作载荷的类型的。
11.根据权利要求8所述的网络设备,其中,提供所述指示包括设置所述高速缓冲存储器行的标志位。
12.根据权利要求8所述的网络设备,其中,提供所述指示包括向所述高速缓冲存储器行设置临时无效指令。
13.根据权利要求8所述的网络设备,其中,提供所述指示包括在所述高速缓冲存储器的预先确定的存储器范围处存储所述高速缓冲存储器行,以及其中,所述高速缓冲存储器的所述预先确定的存储器范围位于所述高速缓冲存储器的当对所述高速缓冲存储器进行清理时将在所述高速缓冲存储器的其它部分之前被丢弃的一部分中。
14.根据权利要求8所述的网络设备,其中,所述高速缓冲存储器包括管芯内载末级高速缓冲存储器。
15.一种用于标识待从网络设备的处理器内载高速缓冲存储器逐出的网络分组的高速缓冲存储器行的方法,所述方法包括:
通过所述网络设备在所述网络设备的所述处理器内载高速缓冲存储器处接收所述网络分组,其中,所述处理器内载高速缓冲存储器包括多个高速缓冲存储器行;
在所述处理器内载高速缓冲存储器的所述高速缓冲存储器行中存储所述网络分组;
处理所述网络分组;以及
确定所述网络分组是否需要进行后续处理;
响应于对所述网络分组不需要进行后续处理的确定来指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出。
16.根据权利要求15所述的方法,其中,指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出包括基于从通信地耦合到所述网络设备的网络控制器接收的逐出策略来指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出。
17.根据权利要求15所述的方法,其中,指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出包括以下中的至少一项:设置所述高速缓冲存储器行的标志位和向所述高速缓冲存储器行设置临时无效指令。
18.根据权利要求15所述的方法,其中,指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出包括在所述处理器内载高速缓冲存储器的预先确定的存储器范围处存储所述高速缓冲存储器行,以及其中,所述处理器内载高速缓冲存储器的所述预先确定的存储器范围位于所述处理器内载高速缓冲存储器的当对所述处理器内载高速缓冲存储器进行清理时将首先被丢弃的一部分中。
19.根据权利要求15所述的方法,还包括:
基于对与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出的指示来当所述高速缓冲存储器行从所述处理器内载高速缓冲存储器被逐出时丢弃所述高速缓冲存储器行。
20.一种用于标识待从网络设备的处理器内载高速缓冲存储器逐出的网络分组的高速缓冲存储器行的计算设备,所述计算设备包括:
用于在所述网络设备的处理器内载高速缓冲存储器处接收所述网络分组的单元,其中,所述处理器内载高速缓冲存储器包括多个高速缓冲存储器行;
用于在所述处理器内载高速缓冲存储器的所述高速缓冲存储器行中存储所述网络分组的单元;
用于处理所述网络分组的单元;
用于确定所述网络分组是否需要进行后续处理的单元;以及
用于响应于对所述网络分组不需要进行后续处理的确定来指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出的单元。
21.根据权利要求20所述的计算设备,其中,所述用于指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出的单元包括用于设置所述高速缓冲存储器行的标志位的单元。
22.根据权利要求20所述的计算设备,其中,所述用于指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出的单元包括用于向所述高速缓冲存储器行设置临时无效指令的单元。
23.根据权利要求20所述的计算设备,其中,所述用于指示与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出的单元包括用于在所述处理器内载高速缓冲存储器的预先确定的存储器范围处存储所述高速缓冲存储器行的单元,以及其中,所述处理器内载高速缓冲存储器的所述预先确定的存储器范围位于所述处理器内载高速缓冲存储器的当对所述处理器内载高速缓冲存储器进行清理时将首先被丢弃的一部分中。
24.根据权利要求20所述的计算设备,其中,所述用于确定所述网络分组是否需要进行后续处理的单元包括用于基于所述网络分组的工作载荷的类型来确定所述网络分组是否需要进行后续处理的单元。
25.根据权利要求20所述的计算设备,还包括:
用于基于对与所述网络分组对应的所述高速缓冲存储器行将从所述处理器内载高速缓冲存储器被逐出的指示来当所述高速缓冲存储器行从所述处理器内载高速缓冲存储器被逐出时丢弃所述高速缓冲存储器行的单元。
CN201510816580.6A 2014-12-23 2015-11-23 用于网络分组高速缓冲存储器管理的方法及设备 Active CN105721352B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/580,792 2014-12-23
US14/580,792 US9866498B2 (en) 2014-12-23 2014-12-23 Technologies for network packet cache management

Publications (2)

Publication Number Publication Date
CN105721352A true CN105721352A (zh) 2016-06-29
CN105721352B CN105721352B (zh) 2019-04-30

Family

ID=56097731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510816580.6A Active CN105721352B (zh) 2014-12-23 2015-11-23 用于网络分组高速缓冲存储器管理的方法及设备

Country Status (4)

Country Link
US (2) US9866498B2 (zh)
JP (1) JP6193335B2 (zh)
CN (1) CN105721352B (zh)
DE (1) DE102015118711B4 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020517141A (ja) * 2017-04-13 2020-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 分散スイッチに対するスケーラブル・データ・センター・ネットワーク・トポロジ

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9866498B2 (en) * 2014-12-23 2018-01-09 Intel Corporation Technologies for network packet cache management
US9736263B2 (en) * 2015-02-16 2017-08-15 Telefonaktiebolaget L M Ericsson (Publ) Temporal caching for ICN
US10083026B1 (en) * 2016-03-31 2018-09-25 Juniper Networks, Inc. In-service software upgrade of software-defined networking controller
US10176099B2 (en) * 2016-07-11 2019-01-08 Intel Corporation Using data pattern to mark cache lines as invalid
US10523512B2 (en) 2017-03-24 2019-12-31 Cisco Technology, Inc. Network agent for generating platform specific network policies
US10789175B2 (en) * 2017-06-01 2020-09-29 Mellanox Technologies Ltd. Caching policy in a multicore system on a chip (SOC)
US10534601B1 (en) 2017-06-30 2020-01-14 Juniper Networks, Inc. In-service software upgrade of virtual router with reduced packet loss
CN111614529B (zh) * 2020-05-28 2022-04-01 深圳市欧瑞博科技股份有限公司 智能家居控制面板及其网络管理方法、电子设备
US11995000B2 (en) * 2022-06-07 2024-05-28 Google Llc Packet cache system and method

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264873A (zh) * 1999-02-26 2000-08-30 国际商业机器公司 用于提供逐出协议的方法和系统
US20030126369A1 (en) * 2001-12-27 2003-07-03 Creta Kenneth C. Cache memory eviction policy for combining write transactions
US20070073974A1 (en) * 2005-09-29 2007-03-29 International Business Machines Corporation Eviction algorithm for inclusive lower level cache based upon state of higher level cache
CN101073051A (zh) * 2004-12-10 2007-11-14 皇家飞利浦电子股份有限公司 用于高速缓冲存储器替换的数据处理系统和方法
CN101156140A (zh) * 2005-02-07 2008-04-02 Nxp股份有限公司 数据处理系统和高速缓存替换方法
CN101739357A (zh) * 2008-11-21 2010-06-16 辉达公司 多类数据高速缓存策略

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6295598B1 (en) * 1998-06-30 2001-09-25 Src Computers, Inc. Split directory-based cache coherency technique for a multi-processor computer system
US6564315B1 (en) * 2000-01-03 2003-05-13 Advanced Micro Devices, Inc. Scheduler which discovers non-speculative nature of an instruction after issuing and reissues the instruction
US7415723B2 (en) 2002-06-11 2008-08-19 Pandya Ashish A Distributed network security system and a hardware processor therefor
JP2004070860A (ja) 2002-08-09 2004-03-04 Hitachi Ltd ストリームコンテンツ配送システムおよびプロキシサーバ
US7082500B2 (en) * 2003-02-18 2006-07-25 Cray, Inc. Optimized high bandwidth cache coherence mechanism
US20050172091A1 (en) * 2004-01-29 2005-08-04 Rotithor Hemant G. Method and an apparatus for interleaving read data return in a packetized interconnect to memory
US7260082B2 (en) * 2004-02-13 2007-08-21 Yahoo! Inc. Seamless interfacing for instant messaging and internet telephony across wireless networks
US7526607B1 (en) * 2004-09-23 2009-04-28 Juniper Networks, Inc. Network acceleration and long-distance pattern detection using improved caching and disk mapping
US7848332B2 (en) * 2004-11-15 2010-12-07 Cisco Technology, Inc. Method and apparatus for classifying a network protocol and aligning a network protocol header relative to cache line boundary
US20070008989A1 (en) * 2005-06-30 2007-01-11 Intel Corporation Packet processing
US7617363B2 (en) * 2005-09-26 2009-11-10 Intel Corporation Low latency message passing mechanism
US8645632B2 (en) * 2009-02-04 2014-02-04 Oracle America, Inc. Speculative writestream transaction
US8255593B2 (en) * 2009-09-29 2012-08-28 Oracle America, Inc. Direct memory access with striding across memory
US20110228674A1 (en) 2010-03-18 2011-09-22 Alon Pais Packet processing optimization
US20120102136A1 (en) * 2010-10-21 2012-04-26 Lancaster University Data caching system
JP2012164209A (ja) * 2011-02-08 2012-08-30 Nec Corp キャッシュ制御方法、キャッシュ制御装置およびキャッシュ制御用プログラム
KR101527308B1 (ko) * 2011-03-14 2015-06-09 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 메모리 인터페이스
KR101331018B1 (ko) * 2011-10-11 2014-01-15 주식회사 시큐아이 패킷 분류 방법 및 그 장치
US9367470B2 (en) * 2013-11-01 2016-06-14 Cisco Technology, Inc. Bounded cache searches
US9866498B2 (en) * 2014-12-23 2018-01-09 Intel Corporation Technologies for network packet cache management

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1264873A (zh) * 1999-02-26 2000-08-30 国际商业机器公司 用于提供逐出协议的方法和系统
US20030126369A1 (en) * 2001-12-27 2003-07-03 Creta Kenneth C. Cache memory eviction policy for combining write transactions
CN101073051A (zh) * 2004-12-10 2007-11-14 皇家飞利浦电子股份有限公司 用于高速缓冲存储器替换的数据处理系统和方法
CN101156140A (zh) * 2005-02-07 2008-04-02 Nxp股份有限公司 数据处理系统和高速缓存替换方法
US20070073974A1 (en) * 2005-09-29 2007-03-29 International Business Machines Corporation Eviction algorithm for inclusive lower level cache based upon state of higher level cache
CN101739357A (zh) * 2008-11-21 2010-06-16 辉达公司 多类数据高速缓存策略

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020517141A (ja) * 2017-04-13 2020-06-11 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation 分散スイッチに対するスケーラブル・データ・センター・ネットワーク・トポロジ
JP6998391B2 (ja) 2017-04-13 2022-02-10 インターナショナル・ビジネス・マシーンズ・コーポレーション 分散スイッチに対するスケーラブル・データ・センター・ネットワーク・トポロジ

Also Published As

Publication number Publication date
DE102015118711B4 (de) 2023-06-15
US20170149926A1 (en) 2017-05-25
CN105721352B (zh) 2019-04-30
US9866498B2 (en) 2018-01-09
JP2016123077A (ja) 2016-07-07
US9992299B2 (en) 2018-06-05
DE102015118711A1 (de) 2016-06-23
JP6193335B2 (ja) 2017-09-06
US20160182351A1 (en) 2016-06-23

Similar Documents

Publication Publication Date Title
CN105721352A (zh) 用于网络分组高速缓冲存储器管理的技术
KR101826725B1 (ko) 네트워크 장치 흐름 룩업 관리를 위한 기술
JP4740897B2 (ja) 仮想ネットワーク構成方法及びネットワークシステム
KR101725755B1 (ko) 적응형 라우팅을 이용하여 자원 활용도를 제어하기 위한 메커니즘
US9495114B2 (en) System and method for reading and writing data with a shared memory hash table
US9154442B2 (en) Concurrent linked-list traversal for real-time hash processing in multi-core, multi-thread network processors
EP2314027B1 (en) Switching table in an ethernet bridge
WO2015078219A1 (zh) 一种信息缓存方法、装置和通信设备
EP3704589B1 (en) I/o driven data routing and cache allocation
US10397362B1 (en) Combined cache-overflow memory structure
KR20160060551A (ko) 솔리드 스테이트 드라이브 메모리 캐시 점유 예측 시스템 및 그 방법
US10733106B2 (en) I/O driven data routing and cache allocation
WO2014038070A1 (ja) 情報処理装置,並列計算機システム及び情報処理装置の制御方法
US20120131235A1 (en) Using a table to determine if user buffer is marked copy-on-write
CN107800627A (zh) 三态内容寻址存储器tcam表的写入方法及装置
US7290038B2 (en) Key reuse for RDMA virtual address space
KR20170072645A (ko) 프로세서 및 프로세서에서 데이터를 처리하는 방법
CN101984618B (zh) 一种基于边界网关协议的标签块申请方法、系统及装置
JP6766567B2 (ja) 情報処理装置、方法およびプログラム
EP4381388A1 (en) System and method for cache pooling and efficient usage and i/o transfer in disaggregated and multi-processor architectures via processor interconnect

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant