CN108028808B - 单芯片服务器中的讯流钉扎 - Google Patents

单芯片服务器中的讯流钉扎 Download PDF

Info

Publication number
CN108028808B
CN108028808B CN201580082192.8A CN201580082192A CN108028808B CN 108028808 B CN108028808 B CN 108028808B CN 201580082192 A CN201580082192 A CN 201580082192A CN 108028808 B CN108028808 B CN 108028808B
Authority
CN
China
Prior art keywords
packet
packets
metadata
queue
data structure
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.)
Active
Application number
CN201580082192.8A
Other languages
English (en)
Other versions
CN108028808A (zh
Inventor
K·丘德加尔
K·桑卡兰
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.)
Denver Intermediate Holdings LLC
Original Assignee
Ampere Computing Co ltd
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 Ampere Computing Co ltd filed Critical Ampere Computing Co ltd
Publication of CN108028808A publication Critical patent/CN108028808A/zh
Application granted granted Critical
Publication of CN108028808B publication Critical patent/CN108028808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/62Queue scheduling characterised by scheduling criteria
    • H04L47/621Individual queue per connection or flow, e.g. per VC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种进行讯流钉扎的单芯片系统或单芯片服务器,于此,使封包或封包串流进入特定队列,其中各队列与多处理器/多核心系统或单芯片服务器中的相应核心相关联。凭借指定予特定处理器的各封包串流、或讯流,该单芯片服务器可从来自相同单一以太网络接口的多条串流平行处理及摄取出自多个队列的封包。该等队列各可对其指定的处理器发布中断,容许该等处理器各同时自其相应队列接收封包。

Description

单芯片服务器中的讯流钉扎
技术领域
本揭露关于单芯片服务器(a server on a chip)中的讯流钉扎(flow pinning)。
背景技术
在运算网络中,以太网络接口(Ethernet interface)可自许多不同以太网络连接或讯流接收封包。在一些系统中,这些封包的讯流因为是通过专用处理器来接收,而遭受串行式处理。在其它传统系统中,这些封包的讯流是通过使该等封包及/或讯流进入特定队列(queue)的外围网络接口卡(network interface card)来处理,该等特定队列与多核心处理器中的给定CPU(中央处理单元)相关联。然而,网络接口卡就成本、电力及潜时而言都很昂贵,而且还在系统中占用大量空间。
上述说明仅就单芯片系统(a system on a chip)中进行讯流钉扎提供目前技术的内容相关概述,并非穷举。
发明内容
在一例示具体实施例中,单芯片服务器包含第一数据结构,其通过处理器来执行,经组配用于自封包撷取元数据字符串(metadata string)。该单芯片服务器包括第二数据结构,其通过该处理器来执行,经组配用于基于该元数据字符串使该封包与结果数据库相关联。该单芯片服务器包括以太网络直接存储器存取引擎,其经组配用于基于该结果数据库将该封包指定予队列,其中,该队列与多处理器的相应核心相关联。
在另一例示具体实施例中,用于将封包串流(packet stream)讯流钉扎至多处理器的核心的计算机实施方法包含通过执行第一数据结构的处理器,自封包撷取元数据字符串。本方法包含通过执行第二数据结构的该处理器,基于该元数据字符串而使该封包与相应结果数据库相关联。本方法包括通过以太网络直接存储器存取引擎,基于该结果数据库将该封包指定予队列,其中,该队列与该多处理器的相应核心相关联。
在另一例示具体实施例中,单芯片服务器包含用于自封包撷取元数据字符串的手段、以及用于基于该元数据字符串而使该封包与多处理器的相应核心相关联的手段。该单芯片服务器可包括用于将该封包指定予与该处理器相关联的队列的手段。
附图说明
图1为方块图,其绘示进行讯流钉扎的系统的一具体实施例。
图2为方块图,其绘示进行讯流钉扎的系统的一具体实施例。
图3为方块图,其绘示自封包标头进行元数据撷取的系统的一具体实施例。
图4为方块图,其绘示进行封包进入队列的系统的一具体实施例。
图5为方块图,其绘示进行讯流钉扎的系统的一具体实施例。
图6绘示用于讯流钉扎的方法的一具体实施例的流程图。
图7绘示用于自封包数据撷取元数据字符串的手段的一具体实施例的流程图。
图8绘示用于基于元数据字符串而使封包与处理器相关联的手段的一具体实施例的流程图。
图9绘示用于将封包指定予与处理器相关联的队列的手段的一具体实施例的流程图。
图10绘示电子运算环境的方块图。
图11绘示数据通讯网络的方块图。
主要组件符号说明:
100,200,300,400,500 系统
102,402,502 SoC(单芯片系统或单芯片服务器)
104 以太网络接口
106,202,506 讯流钉扎组件
108,508 队列管理器
110,510 系统CPU
112,114,116,118,512,514,516,518 队列
204,410 AVL搜索树或第二数据结构
206,304 Patricia树或第一数据结构
302,306,406 封包标头
404 封包
412 以太网络直接存储器存取(DMA)引擎
414 结果数据库
416,504 存储器
418,420,422,424 缓冲池
600 方法
602至604,702至706,802至806,902至906 步骤
1000 运算系统环境
1010 计算机
1020 处理单元
1021 系统总线
1030 系统存储器
1070 远程计算机
1071 网络
1110,1112 运算物件
1120,1122,1124,1126,1128 运算物件或装置
1142 通讯网络。
具体实施方式
各项具体实施例系就一种进行讯流钉扎的单芯片系统或单芯片服务器而提供,于此,使封包或封包串流进入特定队列,其中各队列与多处理器/多核心系统或单芯片服务器中的相应核心相关联。凭借指定予特定处理器的各封包串流、或讯流,该单芯片服务器可从来自相同单一以太网络接口的多条串流平行处理及摄取出自多个队列的封包。该等队列各可对其指定的处理器发布中断,容许该等处理器各者同时自其相应队列接收封包。因此,封包处理速度通过就不同串流平行接收及处理封包而提升。
按照这种使各队列与相应核心相关联的方式进行讯流钉扎,容许提升具有多条串流的内送讯务的流通量。高速缓存(cache)与CPU使用率亦得以提升,因为各核心都有用到,而且各核心可存取其自有高速缓存存储器。这容许降低硬件成本,同时有效率地提升系统流通量。
图1根据本文所述的具体实施例,绘示进行讯流钉扎的系统100。系统100包括内含以太网络接口104的单芯片系统及/或单芯片服务器(SoC)102。以太网络接口104透过网络接收内送封包。该等封包可形成与该网络上一或多个其它运算装置相关联的一或多条数据的串流或讯流。在一些具体实施例中,可自单一的运算装置接收多条封包的讯流,而在其它具体实施例中,可自对应的运算装置接收多条封包的讯流。运算装置包括但不限于自路由器(router)、交换器(switch)、直接来自其它SoC接收封包,并且该等封包可经由局部网络、内部网络或因特网来接收。在一些具体实施例中,SoC 102可包括多个以太网络接口。
以太网络接口104可将封包串流及/或讯流传递至讯流钉扎组件106。基于与该等封包相关联的第3层及/或第4层标头数据及/或元数据信息,讯流钉扎组件106可使封包的讯流与系统CPU 110的一或多个核心相关联。可将各讯流指定予系统CPU 110的相应核心,或替代地,系统CPU 110的各核心可指定有一个或一组在以太网络接口104处收到的封包串流。
一旦将封包串流/讯流指定予系统CPU 110的相应核心,讯流钉扎组件106便可将封包或封包标头信息传递至队列管理器118,其使该封包及/或封包标头信息进入各与系统CPU 110的诸核心中的一个相应者相关联的队列112、114、116及118。在一具体实施例中,封包储存于存储器中(图4及图5中更加详细展示),而与封包相关联的描述符讯息(descriptor message)则进入队列112、114、116及118。该等描述符讯息在系统CPU 110自队列管理器108接收其中断时,提供与存储器中所储存封包的存储器地址有关的信息。
尽管图1中所示的具体实施例在CPU 110中绘示4个核心,在其它具体实施例中,其它核心数目是有可能的,而且队列数目可对应于核心数目。
图2绘示进行讯流钉扎的系统200的一具体实施例的方块图。系统200包括可经组配用于基于与封包相关联的元数据而使封包及/或封包串流与相应核心相关联的讯流钉扎组件202(例如讯流钉扎组件106)。
讯流钉扎组件202可包括第一数据结构206,其在一具体实施例中可以是Patricia树。Patricia树206可以是空间优化的树状数据结构,其中仅具有一个子代(child)的各节点与其子代合并。Patricia树大体上可用于建构具有索引键(key)的相联阵列(array),可将该等索引键表示为字符串(string)。在本揭露的一具体实施例中,Patricia树206可经组配用于自封包或封包标头撷取元数据字符串。Patricia树206所撷取的元数据字符串可以是包括来源因特网协议地址、目的地因特网协议地址、来源端口及目的端口的4元组(tuple)字符串。Patricia树206可用其需撷取的封包数据来预编程,并且在其它具体实施例中,可用其它值来撷取元数据字符串。在一具体实施例中,该元数据字符串可以是12字节(byte)数据字符串,但其它元数据字符串的大小是有可能的,其中该等元数据字符串的大小可取决于所撷取的信息。在一具体实施例中,AVL搜索树204可用目前及其它所有支持会话(supporting session)来预编程。
在一具体实施例中,Patricia树206及讯流钉扎组件202独自接收封包标头,并且在AVL搜索树204判定要将封包复制到哪些缓冲池的前先保持该等封包。在其它具体实施例中,讯流钉扎组件202接收封包,并且在板载(onboard)以太网络直接存储器存取引擎上,基于AVL搜索树204判定的结果,将该等封包复制到存储器。
图3绘示自封包标头进行元数据撷取的系统300的一具体实施例。系统300就参照图2所述的元数据字符串撷取提供补充细节。Patricia树304接收封包标头302。封包标头可含有与封包的起源处、置放标头处、及传送模式有关的信息。基于要撷取的数据类型的预编程判定,Patricia树304可接着撷取、及形成由4个值(在封包标头306中表示成[W,X,Y,Z])构成的元数据字符串。该等值[W,X,Y,Z]可对应于来源IP地址、目的IP地址、来源端口、及目的端口。
在其它具体实施例中,该等值可对应于与该等封包有关的其它信息。另外,在其它具体实施例中,该元数据字符串可包括少于4个值、或大于4个值。
图4绘示进行封包进入队列的系统400的一具体实施例。系统400包括经由SoC 402的以太网络接口接收封包404的SoC 402。封包404包括具有元数据字符串[W,X,Y,Z]的封包标头406,Patricia树(例如Patricia树206与304)己撷取该元数据字符串。AVL搜索树410使用该Patricia树来撷取该元数据字符串,以就封包标头406与封包404判定相关联的结果数据库414。
该等相关联的结果数据库包括诸如以下信息:要将封包复制到存储器416中的哪个自由缓冲池(418、420、422及/或422)、以及用以向CPU告知新封包的讯息要进入哪个队列。AVL搜索树410因而用结果数据库414使来源地址及目的地地址与来源端口及目的端口产生相关性,以便判定封包404应该与CPU的哪个核心相关联及/或应该将该封包指定予哪个核心。在一具体实施例中,AVL搜索树410可用目前及其它所有支持会话来预编程。
一旦AVL搜索树410判定封包404及封包标头406是与哪个结果数据库414相关联,便可将以太网络DMA引擎412组配成用来将封包404指定予及/或复制到与封包404相关联的缓冲池418、410、422或424。各缓冲池418、410、422及424可与系统CPU的一或多个相应核心相关联。
亦可将以太网络DMA引擎412组配成用来基于结果数据库而将封包指定予队列,其中该队列与CPU的相应核心相关联。一旦指定,以太网络DMA引擎412便使描述符讯息进入所指定的队列。
图5绘示进行讯流钉扎的系统500的一具体实施例。系统500包括经由SoC 402的以太网络接口接收封包的SoC 502。该封包可包括具有元数据字符串[W,X,Y,Z]的封包标头,讯流钉扎组件506(例如Patricia树206或304及AVL搜索树204或410)可撷取该元数据字符串,并且将该元数据字符串用于使该封包与存储器504中的结果数据库及缓冲池相关联。
SoC 502上的以太网络DMA引擎(图未示)可接着将该封包复制到存储器504中该相关联的缓冲池,同时还将描述符讯息发送至队列管理器508。可使该描述符讯息进入队列512、514、516或518其中一者,该等队列对应于系统CPU 510的核心,已将该封包指定予该核心。队列512、514、516及518各可组配成用来对系统CPU 510的其相应核心发布唯一中断。一旦中断,该描述符讯息便提供与该封包的存在性、及其位于存储器504中何处有关的细节。
SoC 502及其组件能够平行接收多个封包。当同时收到不同讯流时,使诸描述符讯息平行进入队列512、514、516及518,从而系统CPU 510的各核心平行接收其相关联的封包串流。这导致不需要使用全局锁定(global locking)也能防止多个核心因为有多个队列而读取单一队列,各队列专用于系统CPU 510的各处理器。
图6至图9绘示涉及前述系统的程序。图6至图9中的程序举例而言,可分别通过图1至图5中所示的系统100、200、300、400及500来实施。尽管是为了简单阐释的目的而以一连串程序块展示并说明方法,仍要了解的是,本案的专利目标不受限于程序块的顺序,因为有一些程序块可按照不同顺序出现、及/或与其它在本文中所绘示并说明的程序块并行出现。此外,并非需要所有绘示的程序块才可实施下文中所述的方法。
图6绘示一种计算机实施方法的一具体实施例的流程图,其用于对多处理器的核心进行封包串流的讯流钉扎。
方法600可始于602,于此,可通过执行第一数据结构的第一处理器进行自封包撷取元数据字符串。第一数据结构可以是Patricia树(例如Patricia树206或304)。Patricia树可以是空间优化的树数据结构,其中仅具有一个子代的各节点与其子代合并。Patricia树大体上可用于建构具有索引键的相联阵列,可将该等索引键表示为字符串。在一具体实施例中,Patricia树可经组配用于自封包或封包标头撷取元数据字符串。Patricia树所撷取的元数据字符串可以是包括来源因特网协议地址、目的地因特网协议地址、来源端口及目的端口的4元组字符串。Patricia树可用其需撷取的封包数据来预编程,并且在其它具体实施例中,可用其它值来撷取元数据字符串。
于604,可通过执行第二数据结构的处理器使封包与相应结果数据库相关联,其中该相关联是基于元数据字符串。第二数据结构可以是AVL搜索树(例如AVL搜索树204或410)。AVL搜索树为第二数据结构,其接着使用该Patricia树来撷取该元数据字符串,以就各封包与/封包标头判定相关联的结果数据库。该等相关联的结果数据库包括诸如以下信息:要将封包复制到存储器中的哪个自由缓冲池、以及用以向CPU告知新封包的讯息要进入哪个队列。AVL搜索树因而用结果数据库使来源地址及目的地地址与来源端口及目的端口产生相关性,以便判定封包应该与哪个CPU相关联及/或应该将该封包指定予哪个CPU。在一具体实施例中,AVL搜索树基于以元数据字符串标引(indexing)查询表(lookup table)而使封包与相关联的结果数据库相关联。
于606,可基于结果数据库,通过以太网络DMA引擎(例如以太网络DMA引擎412)将封包指定予队列,其中该队列与多处理器的相应核心相关联。以太网络DMA引擎可将封包复制到通过结果数据库所判定的自由缓冲池,并且就CPU使描述符讯息进入队列。该描述符讯息提供与该封包的存在性、及其位于存储器中何处有关的细节。
图7绘示用于自封包数据撷取元数据字符串的手段的一具体实施例的流程图。于702,自以太网络接口(例如以太网络接口104)的MAC模块接收封包。以太网络接口具有一或多个与其附接的以太网络线,并且在一具体实施例中,亦可耦接至无线(例如WIFI802.11a/b/g/n/ac)配接器。以太网络接口可透过网络接收内送封包。该等封包可形成与该网络上一或多个其它运算装置相关联的一或多条数据的串流或讯流。在一些具体实施例中,可自单一的运算装置接收多条封包的讯流,而在其它具体实施例中,可自对应的运算装置接收多条封包的讯流。运算装置可包括自路由器、交换器、直接来自其它SoC其中的一或多者接收封包,并且该等封包可经由局部网络、内部网络或因特网来接收。
于704,可将该封包的标头馈送到Patricia树内。于706,基于该Patricia树的预定编程而自该封包的该标头撷取元数据字符串。Patricia树所撷取的元数据字符串可以是包括来源因特网协议地址、目的地因特网协议地址、来源端口及目的端口的4元组字符串。
图8绘示用于基于元数据字符串而使封包与相应处理器相关联的手段的一具体实施例的流程图。于802,接收载明来源IP、目的IP、来源端口、及目的端口的元数据字符串。此信息可用于判定封包源自于何处、属意的接受者、以及与封包内容本质有关的某些内容(基于端口)。
于804,基于该元数据字符串而查询相关联结果数据库。该查询可通过AVL搜索树数据结构来进行。在一具体实施例中,AVL搜索树查询每个讯流的一个单项目内容,并且可用所有支持会话来编程。
于806,可基于该相关联结果表来判定相关联处理器。AVL搜索树可基于以元数据字符串标引查询表而使封包与该者相关联。
图9绘示用于将封包指定予与处理器相关联的队列的手段的一具体实施例的流程图。于902,基于该元数据字符串而判定相关联结果数据库。AVL搜索树可基于以元数据字符串标引查询表而使封包与该者相关联。
于904,可基于该元数据字符串而判定描述符队列,其中该描述符队列与处理器相关联。通过使该元数据字符串与该相关联结果数据库产生相关性,可判定封包所属、或应该接受指定的处理器。由于各队列与相应处理器相关联,可将封包递送至合适的描述符队列。
于906,将讯息发送至指出封包已抵达的该描述符队列。该讯息可通过以太网络DMA引擎来发送,并且可指出封包的位置、以及已将该封包储存于哪个缓冲池。
有帮助的是,本文所述的技术可应用于希望有助于执行讯流钉扎的任何装置。因此,所有种类的手持式、可携式及其它运算装置及运算物件都是为了搭配各项非限制性具体实施例使用而列入考虑范围内。图9中下文所述的通用远程计算机从而只是一项实施例,并且所揭示的专利目标可利用具有网络/总线可交互运作性及互动的任何客户端(client)来实施。因此,所揭示的专利目标可在网络链接托管服务(networked hosted service)环境中实施,该环境中牵连非常少量或极少客户端资源,例如,在网络链接环境中,客户端装置仅作用为连至网络/总线的接口,诸如置放于电器中的物件。
图10绘示运算系统环境1000的一实施例,可于其中实施所揭示专利目标的态样,但运算系统环境1000只是装置用运算环境的一项实施例,而且并非任何属意的限制。此外,不应该将运算环境1000诠释为具有与例示性操作环境1000中所示诸组件的任一者或组合有关的任何相依性或要求。
图10绘示用于实施所揭示专利目标的一例示性装置,其包括形式为计算机1010的通用运算装置。计算机1010的组件可包括处理单元1020、系统存储器1030、以及将包括该系统存储器在内的各种系统组件耦接至处理单元1020的系统总线1021中的任一者。
计算机1010一般包括可用于储存所欲信息、及可通过计算机1010来存取的各种计算机可读媒体。
计算机1010可使用连至诸如远程计算机1070等一或多个其它远程计算机的逻辑连接而在网络链接或分布式环境中操作,该远程计算机可进而具有与装置1010不同的媒体功能。远程计算机1070可以是个人计算机、服务器、路由器、网络PC、对等装置(peerdevice)、个人数字助理(PDA)、移动电话、手持式运算装置、投影显示设备、观视(viewing)装置、或其它常见网络节点、或任何其它远程媒体消耗或传输装置,并且可包括相对于计算机1010的上述组件的任一者或全部。图10中所示的逻辑连接包括网络1071,诸如局域网络(LAN)或广域网(WAN),但亦可包括其它有线或无线的网络/总线。此类网络链接环境为居家、办公室、企业计算机网络、内部网络及因特网中的常见的物。
图11提供例示性网络链接或分布式计算环境的示意图。各运算物件1110、1112等、及运算物件或装置1120、1122、1124、1126、1128等可直接或间接地通过通讯网络1142与一或多个其它运算物件1110、1112等、及运算物件或装置1120、1122、1124、1126、1128等进行通讯。
举另一实施例来说,架构可包括下列的配置:电子硬件(例如:并联或串联晶体管)、处理指令及处理器,该处理器以适用于电子硬件配置的方式实施处理指令。
可使用一般制造、编程或工程技术将所揭示的专利目标实施为方法、设备、或制品,用以产生硬件、固件、软件、或以上的任何适当组合以控制用以实施所揭示专利目标的电子装置。另外,媒体可包括非暂存媒体、或传送媒体。在一项实施例中,非暂存媒体可包括计算机可读硬件媒体。

Claims (8)

1.一种单芯片服务器,其包含:
第一数据结构,其通过处理器来执行,经组配用于自封包撷取元数据字符串及自第一封包撷取第一元数据字符串;
第二数据结构,其通过该处理器来执行,经组配用于基于该元数据字符串使该封包与结果数据库相关联及基于该第一元数据字符串使该第一封包与结果数据库相关联;以及
以太网络直接存储器存取引擎,其经组配用于基于相关联结果数据库将各个该封包指定予多个队列中的相应队列及经组配用于传递该封包的描述符讯息且经组配用于基于该相关联结果数据库将该第一封包指定予第一队列及传递该第一封包的第一描述符讯息,其中,该多个队列的各个与多处理器的相应核心相关联且将该多处理器的各个核心指定予该多个队列的其中一个,以及其中,将该第一队列与该多处理器的第一核心相关联,该以太网络直接存储器存取引擎更经组配以用于使该描述符讯息进入队列,其中,该描述符讯息的各个包含指示相应封包的存在性、及该相应封包于存储器中的位置的数据,以及其中,该第一描述符讯息包含指示该第一封包的存在性、及该第一封包于存储器中的位置的数据。
2.如权利要求1所述的单芯片服务器,其中,该第一数据结构为Patricia树且该第二数据结构为AVL搜索树。
3.如权利要求1所述的单芯片服务器,其中,该元数据字符串的各个为12字节长字符串。
4.如权利要求1所述的单芯片服务器,其中,该第二数据结构基于以该元数据字符串标引查询表而使该封包与该相关联结果数据库相关联,并且该第一数据结构自多个封包撷取多个元数据字符串。
5.如权利要求1所述的单芯片服务器,其更包含经组配用于对该多处理器的核心发布中断的队列管理器,其中,
该队列对该相应核心发布中断;以及
该以太网络直接存储器存取引擎经进一步组配用于基于该相关联结果数据库将该封包的各个复制到自由缓冲池。
6.一种计算机实施方法,用于对多处理器的核心进行封包串流的讯流钉扎,其包含:
通过执行第一数据结构的处理器,自封包串流的封包撷取元数据字符串及自该封包串流的第一封包撷取第一元数据字符串,其中,该第一数据结构为基于该元数据字符串预编程的Patricia树;
通过执行第二数据结构的该处理器,基于相应元数据字符串而使该封包的各个与结果数据库相关联,以及基于该第一元数据字符串而使该第一封包与相应结果数据库相关联;
通过以太网络直接存储器存取引擎,基于相关联结果数据库将该封包的各个指定予多个队列的相应队列及传递该封包的描述符讯息,以及通过以太网络直接存储器存取引擎,基于该相关联结果数据库将该第一封包指定予第一队列及传递该第一封包的第一描述符讯息,其中,该多个队列的各个与多处理器的相应核心相关联,以及其中,该第一队列与该多处理器的第一核心相关联;以及
通过该以太网络直接存储器存取引擎,使该描述符讯息进入该队列,其中,该描述符讯息的各个包含指示相应封包的存在性、及该相应封包于存储器中的位置的数据,以及其中,该第一描述符讯息包含指示该第一封包的存在性、及该第一封包于存储器中的位置的数据。
7.如权利要求6所述的计算机实施方法,其中,该元数据字符串的各个为12字节长字符串。
8.如权利要求6所述的计算机实施方法,其更包含:
经由该指定的队列对该相应核心发布中断;
其中,所述撷取更包含自多个封包撷取多个元数据字符串;以及
基于该结果数据库将该封包复制到自由缓冲池。
CN201580082192.8A 2015-07-24 2015-07-24 单芯片服务器中的讯流钉扎 Active CN108028808B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2015/041911 WO2017018980A1 (en) 2015-07-24 2015-07-24 Flow pinning in a server on a chip

Publications (2)

Publication Number Publication Date
CN108028808A CN108028808A (zh) 2018-05-11
CN108028808B true CN108028808B (zh) 2022-07-26

Family

ID=57884807

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580082192.8A Active CN108028808B (zh) 2015-07-24 2015-07-24 单芯片服务器中的讯流钉扎

Country Status (4)

Country Link
EP (1) EP3326338B1 (zh)
JP (1) JP6923510B2 (zh)
CN (1) CN108028808B (zh)
WO (1) WO2017018980A1 (zh)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030007489A1 (en) * 2001-07-09 2003-01-09 Ram Krishnan Data extraction system for packet analysis
US7784094B2 (en) * 2005-06-30 2010-08-24 Intel Corporation Stateful packet content matching mechanisms
US7715428B2 (en) 2007-01-31 2010-05-11 International Business Machines Corporation Multicore communication processing
US8874876B2 (en) * 2011-03-22 2014-10-28 Texas Instruments Incorporated Method and apparatus for packet switching
US8762362B1 (en) * 2011-10-21 2014-06-24 Applied Micro Circuits Corporation System and method for updating a data structure
US8767757B1 (en) * 2012-02-15 2014-07-01 Applied Micro Circuits Corporation Packet forwarding system and method using patricia trie configured hardware
US9588923B2 (en) * 2014-01-24 2017-03-07 Applied Micro Circuits Corporation Flow pinning in a server on a chip

Also Published As

Publication number Publication date
EP3326338A4 (en) 2019-03-13
JP6923510B2 (ja) 2021-08-18
WO2017018980A1 (en) 2017-02-02
EP3326338A1 (en) 2018-05-30
CN108028808A (zh) 2018-05-11
JP2018521596A (ja) 2018-08-02
EP3326338B1 (en) 2021-03-24

Similar Documents

Publication Publication Date Title
US20220229800A1 (en) System and method for facilitating efficient message matching in a network interface controller (nic)
TWI392288B (zh) 用於多核心通訊處理的系統及方法
CN103117931B (zh) 基于哈希表和tcam表的mac地址硬件学习方法及系统
WO2017067391A1 (zh) 虚拟机的数据共享方法及装置
US10547559B2 (en) Application-level network queueing
JP5518135B2 (ja) データセンター向けの拡張可能なマルチキャスト転送方法および装置
US9588923B2 (en) Flow pinning in a server on a chip
WO2016000362A1 (zh) 一种配置流表项的方法、装置和系统
US20160277297A1 (en) Sdn packet forwarding
US20150049769A1 (en) Socket management with reduced latency packet processing
JP2005507212A (ja) パケット分類のための方法および装置
US20140280827A1 (en) Scalable distributed control plane for network switching systems
WO2012055319A1 (zh) 调度tcam查询和刷新消息的方法和装置
EP2919426B1 (en) Concurrent hashes and sub-hashes on data streams
US9491099B2 (en) Look-aside processor unit with internal and external access for multicore processors
US9755978B1 (en) Method and system for enforcing multiple rate limits with limited on-chip buffering
US20110142050A1 (en) Hashing packet contents to determine a processor
US20160210366A1 (en) Method and apparatus for providing media resource
US10498672B2 (en) Mechanism for distributing MPI tag matching
CN109617833B (zh) 多线程用户态网络协议栈系统的nat数据审计方法和系统
WO2016070478A1 (zh) 一种用于报文处理的规则表项的优化方法及装置
CN108028808B (zh) 单芯片服务器中的讯流钉扎
WO2015176212A1 (zh) 一种基于tcam和fpga的报文处理方法及装置
US20220141136A1 (en) Optimizing entries in a contentaddressable memory of a network device
CN103999435B (zh) 用于高效的网络地址转换和应用层网关处理的装置和方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: California, USA

Applicant after: Ampere Computing Co.,Ltd.

Address before: California, USA

Applicant before: Denver intermediate holdings LLC

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20180813

Address after: California, USA

Applicant after: Denver intermediate holdings LLC

Address before: Massachusetts, USA

Applicant before: APPLIED MICRO CIRCUITS Corp.

GR01 Patent grant
GR01 Patent grant