CN105164664B - 多核架构中的混合路由器 - Google Patents

多核架构中的混合路由器 Download PDF

Info

Publication number
CN105164664B
CN105164664B CN201380074889.1A CN201380074889A CN105164664B CN 105164664 B CN105164664 B CN 105164664B CN 201380074889 A CN201380074889 A CN 201380074889A CN 105164664 B CN105164664 B CN 105164664B
Authority
CN
China
Prior art keywords
energy
switched channels
packet
circuit switching
circuit
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
CN201380074889.1A
Other languages
English (en)
Other versions
CN105164664A (zh
Inventor
扬·索利希恩
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.)
Empire Technology Development LLC
Original Assignee
Empire Technology Development LLC
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 Empire Technology Development LLC filed Critical Empire Technology Development LLC
Publication of CN105164664A publication Critical patent/CN105164664A/zh
Application granted granted Critical
Publication of CN105164664B publication Critical patent/CN105164664B/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
    • H04L49/60Software-defined switches
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/251Cut-through or wormhole routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • 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/101Packet switching elements characterised by the switching fabric construction using crossbar or matrix

Landscapes

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

Abstract

一般地描述了用于实现多核架构的混合路由器有效的方法和系统的技术。第一片可以包括处理器核、被配置为与所述处理器核通信的高速缓存以及被配置为与所述高速缓存通信的路由器。所述路由器可以实现来利用分组交换通道或电路交换通道来移动数据。所述第一片可以包括被配置为与所述高速缓存和所述路由器通信的交换逻辑。所述交换逻辑可以实现来接收可能与通过所述网络路由数据时的能量或延迟成本有关的路由目标。所述交换逻辑可以基于所述路由目标来选择所述分组交换通道或所述电路交换通道中的一个以通过所述网络来移动所述数据。

Description

多核架构中的混合路由器
背景技术
除非本文另外指示,否则在此部分中描述的材料对于本申请中的权利要求而言不是现有技术,并且不通过包括在此部分中被承认是现有技术。
在多核架构中,可以将多个处理器核包括在单个集成电路管芯中或在被布置在单个芯片封装中的多个集成电路管芯上。高速缓存(cache)可以被用来存储数据以供由处理器核中的一个或更多个访问。数据可以是存储在通常位于管芯外部的更大存储器中的数据的子集。各个处理器可以提供有为处理器存储数据的高速缓存。各个处理器可以提供有可以便于在处理器当中移动数据并且缓存在管芯中的路由器。
发明内容
在一些示例中,一般地描述了多核架构。所述多核架构可以包括网络、第一片(tile)和/或第二片,该第二片被配置为通过所述网络与所述第一片通信。在一些示例中,所述第一片可以包括处理器核以及被配置为与所述处理器核通信的高速缓存。在一些示例中,所述第一片可以包括被配置为与所述高速缓存通信的路由器。所述路由器可以实现来利用分组交换通道或电路交换通道来移动数据。所述第一片还可以包括被配置为与所述高速缓存和所述路由器通信的交换逻辑。所述交换逻辑可以实现来接收路由目标。所述路由目标可能与通过所述网络路由数据时的能量或延迟成本有关。所述交换逻辑可以实现来基于所述路由目标来选择所述分组交换通道或所述电路交换通道中的一个以通过所述网络来移动所述数据。
在一些示例中,一般地描述了在多核架构的网络中选择交换通道的方法。所述方法可以包括接收要在所述多核架构中执行的程序。所述多核架构可以包括第一片和第二片,该第二片被配置为通过所述网络与所述第一片通信。所述第一片可以包括处理器核。高速缓存可以被配置为与所述处理器核通信并且路由器可以被配置为与所述高速缓存通信。所述路由器可以实现来利用分组交换通道或电路交换通道来移动数据。所述方法可以包括接收用于由所述第一片中的交换逻辑执行所述程序的路由目标。所述交换逻辑可以被配置为与所述高速缓存和所述路由器通信。所述方法可以包括由所述交换逻辑基于所述路由目标来选择所述分组交换通道或所述电路交换通道中的一个以通过所述网络来移动所述数据。
在一些示例中,一般地描述了系统。示例系统可以包括存储器、硬件控制器、网络、第一片和/或第二片。所述存储器可以包括操作系统。所述操作系统可以实现来发送指令。所述指令可以包括用于利用路由目标执行程序的请求。所述路由目标可能与通过所述网络路由数据时的能量或延迟成本有关。所述第一片可以被配置为与所述存储器通信。所述第一片可以实现来接收所述指令。所述第二片可以被配置为通过所述网络与所述第一片通信。所述第一片可以包括处理器核、被配置为与所述处理器核通信的高速缓存以及被配置为与所述高速缓存通信的路由器。所述路由器可以实现来利用分组交换通道或电路交换通道来移动数据。交换逻辑可以被配置为与所述高速缓存和所述路由器通信。所述交换逻辑可以实现来接收所述路由目标。所述交换逻辑可以实现来基于所述路由目标来选择所述分组交换通道或所述电路交换通道中的一个以通过所述网络将所述数据从所述第一片移动到所述第二片。
以上的发明内容仅是例示性的,并且并不是旨在以任何方式进行限制。除以上所描述的例示性方面、实施方式和特征之外,另外的方面、实施方式和特征通过参照图和以下具体实施方式将变得显而易见。
附图说明
根据结合附图进行的以下描述和所附权利要求,本公开的前面和其它特征将变得更加完全显而易见。理解这些附图仅描绘根据本公开的数个实施方式,并且因此将不被认为限制其范围,将通过使用附图以附加特性和细节描述本公开,附图中:
图1例示了能够被利用来实现多核架构中的混合路由器的示例系统;
图2例示了能够被利用来实现图1的多核架构中的混合路由器的示例系统,图2示出包括预取器和高速缓存控制器的示例片的更多细节;
图3是示出了图1的路由器300a的附加细节的系统图;
图4是例示了图3所示的路由器的示例分组交换操作的系统图;
图5是例示了图3所示的路由器的示例电路交换操作的系统图;
图6例示了反映被使用图1的系统来分析的度量的图;
图7是例示了图1的系统中的示例交换逻辑的框图;
图8描绘了用于实现多核架构中的混合路由器的示例过程的流程图;
图9例示了能够被利用来实现多核架构中的混合路由器的计算机程序产品;以及
图10是例示了被布置为实现多核架构的混合路由器的示例计算装置的框图;
全部根据本文所描述的至少一些实施方式进行布置。
具体实施方式
在以下详细描述中,参照形成其一部分的附图。在附图中,除非上下文另外规定,否则类似的符号通常标识类似的组件。在具体实施方式、附图和权利要求中描述的例示性实施方式并不是意在进行限制。在不脱离本文所呈现的主题的精神或范围的情况下,可以利用其它实施方式,并且可以做出其它改变。应当容易地理解,如本文所一般地描述的和图中所例示的,能够按照各式各样的不同配置来布置、取代、组合、分离并且设计本公开的方面,所述不同配置中的全部在本文中被显式地设想到。
本公开一般地(尤其是)被与多核架构中的混合路由器有关的方法、设备、系统、装置和计算机程序产品所描绘。
简单来说,一般地描述了用于实现多核架构中的混合路由器有效的方法和系统的技术。第一片可以包括处理器核、被配置为与处理器核通信的高速缓存以及被配置为与高速缓存通信的路由器。路由器可以实现来利用分组交换通道或电路交换通道来移动数据。第一片可以包括被配置为与高速缓存和路由器通信的交换逻辑。交换逻辑可以实现来接收可能与通过网络路由数据时的能量或延迟成本有关的路由目标。交换逻辑可以基于路由目标来选择分组交换通道或电路交换通道中的一个以通过网络来移动数据。
图1例示了根据本文所描述的至少一些实施方式布置的、能够被利用来实现多核架构中的混合路由器的示例系统。示例系统100可以包括管芯102、硬件控制器106和/或存储器108,其中的全部可以被配置为彼此通信。硬件控制器106和/或存储器108可以物理上位于管芯102内部或外部。管芯102可以包括片200,所述片200包括片200a、片200b、片200c和/或片200d。片200可以包括核110(包括核110a、核110b、核110c、核110d)、高速缓存114(包括高速缓存114a、高速缓存114b、高速缓存114c和/或高速缓存114d)和/或路由器300(包括路由器300a、路由器300b、路由器300c和/或路由器300d)。高速缓存114例如可以是L2高速缓存或L3高速缓存。片200还可以包括交换逻辑600(包括交换逻辑600a、交换逻辑600b、交换逻辑600c和/或交换逻辑600d)。
片200a可以包括核110a、高速缓存114a、路由器300a和/或交换逻辑600a。片200b可以包括核110b、高速缓存114b、路由器300b和/或交换逻辑600b。片200c可以包括核110c、高速缓存114c、路由器300c和/或交换逻辑600c。片200d可以包括核110d、高速缓存114d、路由器300d和/或交换逻辑600d。
路由器300可以被配置为与网络150通信。如在下面更详细地讨论的,网络150和路由器300可以使用两个或更多种交换技术来移动数据、数据块或代码(以下称为“数据”)。网络150可以包括用于完成数据的移动的总线和相关元件。例如,网络150和路由器300可以使用电路交换通道或分组交换通道来移动数据。
硬件控制器106可以从操作系统104接收指令90以执行包括与程序80相关联的路由目标92的程序80。路由目标92可能与通过网络150路由数据时的能量或延迟成本有关。延迟成本可以包括例如时间延迟。硬件控制器106可以位于管芯102外或位于管芯102上,管芯102诸如与一个或更多个核相关联的一件硬件逻辑。硬件控制器106可以将指令98转发到管芯102中的关联核。然后,关联核可以鉴于路由目标92来执行程序80。交换逻辑600可以基于路由目标92来选择交换通道中的一个。在示例中,路由目标92可能与通过网络150的能量或延迟成本有关,诸如:优化的性能(以使时间延迟最小化)、优化的能量使用(能量效率)和/或优化的能量-延迟结果。
图2例示了能够被利用来实现图1的多核架构中的混合路由器的示例系统,图2示出包括根据本文所描述的至少一些实施方式布置的预取器和高速缓存控制器的示例片的更多细节。图2与图1的系统100类似,具有附加细节。出于清楚的目的,将不再描述被同样地标记于图1的组件的图2中的那些组件。
集中于作为片200b、片200c和片200d的示例的片200a,除图1中的组件之外,核110a可以包括诸如L1高速缓存的高速缓存112a。交换逻辑600a还可以包括预取器116a和/或高速缓存控制器118a。交换逻辑600a可以被配置为与路由器300a和高速缓存114a通信。预取器116a可以被配置为与高速缓存控制器118a和/或路由器300a一起操作以从存储器108请求数据。在一些示例中,预取器116可以被配置为当高速缓存114a经历高速缓存未命中(cache miss)时从存储器108请求数据的多个连续块。
在示例中,当高速缓存114a未存储块96时由核110a对于数据块96的请求可能在高速缓存114a中导致高速缓存未命中。预取器116a可以被配置为请求数据块X(图2中未示出),以及在存储器108中与X邻接的附加数量N-1个数据块。数据块的数量N可以是预取器116a的取回大小。如在下面更详细地讨论的,附加数量N-1可以由交换逻辑600a确定。
在示例中,硬件控制器106可以将指令98转发到管芯102中的关联核。然后关联核可以鉴于路由目标92来执行程序80。在接收到指令98之后,核110a可以向L1高速缓存112a和/或L2高速缓存114a发送对于数据块96的请求。如果高速缓存112a和高速缓存114a这二者经历高速缓存未命中,则高速缓存控制器118a可以使用选择交换通道从存储器108请求块96。交换逻辑600a可以基于路由目标92来选择电路交换通道或分组交换通道。交换逻辑600a还可以基于路由目标92来选择取回大小。基于由交换逻辑600a选择的交换通道和取回大小,高速缓存控制器118a可以与路由器300a进行通信以从存储器108中取回块96和N个附加数据块。
图3是示出了根据本文所描述的至少一些实施方式布置的图2的路由器300a的附加细节的系统。路由器300a可以包括两个或更多个输入逻辑电路302(包括302a和302b)以及两个或更多个输出逻辑电路304(包括304a和/或304b)。输入逻辑电路302a可以包括输入端口312。输出逻辑电路304b可以包括输出端口314。输入逻辑电路302和输出逻辑电路304可以包括复用器/解复用器316和缓冲器322。缓冲器322可以被配置为对数据块进行缓冲和/或排队。
路由器300a可以包括纵横交换机330、控制器350和交换逻辑600。控制器350可以被配置为与逻辑电路304和/或交换逻辑600通信。控制器350可以位于管芯102内或在管芯102外部。
输入端口312可以为数据提供物理通道。输入端口312可以共享两个或更多个虚拟通道:一个或更多个分组交换通道320和/或一个或更多个电路交换通道324。控制器350可以与交换逻辑600相结合地控制由管芯102用来移动管芯102中的数据的交换通道。将在下面说明路由器300的操作的示例。
图4是例示了根据本文所描述的至少一些实施方式布置的图3所示的路由器的示例分组交换操作的系统图。出于清楚的目的,将不再描述在图4中与图1、图2和图3类似地标记的那些组件。
在所示的示例中,分组交换通道可以被用来将数据从存储器108移动到路由器300a。在分组交换通道中,消息可以被分成分组并且封装在分组中。可以将短消息封装在单个分组中。然后可以在流控单元或数据片(flit)中单独地路由分组。如果分组不能容纳进一个数据片,则可以把分组分成后面有体数据片的头数据片。对于要移动的数据的各个分组来说,路由器300a可以执行四级:1)解码和路由、2)分配虚拟通道、3)分配交换机和/或4)遍历该交换机。分组可以在到达目的地路由器之前通过多个中间路由器从源路由器行进。
在第一级中,路由器可以区分头数据片和体数据片。路由器还可以对与分组交换通道320相关联的虚拟通道标识符进行解码并且将数据片缓冲在缓冲器322中。在第二级中,路由器可以为了通过虚拟通道输出数据而请求分配。在第三级中,路由器可以为了访问交换机330而请求分配。并且,在第四级中,数据片可以遍历交换机330。流水线级的实际数量可能取决于实施方式,可能存在少于或超过四级。
因为可以为各级装管道,所以四个循环可以被用来处理头数据片。在不同的流水线级中,体数据片可以跟随头数据片。从执行时间观点看,分组交换可能是高效的。但是,因为在各个级处可能消耗能量,所以从能量观点看分组交换可能是低效的。可以使用相对较大的缓冲器322。在路由器处,缓冲器可以暂时保持数据片直到虚拟通道和交换分配被执行为止。还可以保持一些数据片直到路由器确信该路由器不必重新发送这些数据片为止。大缓冲器在路由器中可能使用显著功率。
图5是例示了根据本文所描述的至少一些实施方式布置的图3所示的路由器的示例电路交换操作的系统图。出于清楚的目的,将不再描述在图5中与图1、图2、图3和图4类似地标记的那些组件。
在所示的示例中,电路交换通道可以被用来移动数据。在电路交换中,可以在数据被移动之前保留电路交换通道324。可以在数据的移动的持续时间期间定义和固定沿着电路交换通道324的连接和/或路径。例如,控制器350可以定义连接和/或路径。在另一示例中,源路由器可以向目的地路由器发送通信分组。该通信分组可以在源路由器与目的地路由器之间建立连接。因为源与目的地之间的连接是固定的,所以可以去除缓冲器从而导致单级流水线。因此,与分组交换相比,电路交换可以产生能量节约。然而,因为连接是在发送分组之前定义的,所以电路交换可以具有比分组交换更多的等待时间。
图6例示了反映使用根据本文所描述的至少一些实施方式的图1的系统调查到的度量的曲线图。曲线图510、曲线图520和/或曲线图530反映在使用分组交换来移动数据时调查到的度量。曲线图540、曲线图550和/或曲线图560反映在使用电路交换来移动数据时调查到的度量。
在各个曲线图内,M表示高速缓存未命中的数量,D1表示延迟惩罚(针对各个高速缓存未命中的执行时间的平均添加),并且E1表示各个高速缓存未命中的平均附加能量。然后可以将程序执行中的总延迟表示为M和D1的乘积(M*D1)。可以将执行程序所需要的总附加能量表示为M和E1的乘积(M*E1)。N表示如之前所描述的一样要由预取器116取回的附加数据块的数量。更具体地,
D=程序在没有高速缓存未命中情况下的执行时间+M*D1;
E=用于在没有高速缓存未命中情况下执行程序的能量+M*E1;
为了使性能最大化,应该使D最小化。为了使能量效率最大化,应该使E最小化。如果应用将使能量最大化但是不以牺牲性能为代价,则应该使E*D最小化。
曲线图510和曲线图540反映诸如路由目标92的目标与优化的性能有关的情形。曲线图510示出了来自分组交换通道的结果并且曲线图540示出了来自电路交换通道的结果。可以通过定位M*D1的最小值来选取N的优化值(“Noptd”)。曲线图520和曲线图550反映路由目标涉及能量使用的情形。曲线图520示出了来自分组交换的结果并且曲线图550示出了来自电路交换的结果。曲线图530和曲线图560反映路由目标与能量延迟乘积有关的情形。曲线图530示出了来自分组交换的结果并且曲线图560示出了来自电路交换的结果。
如曲线图510所示,随着N增加,未命中的数目(M)最初由于消除将来高速缓存未命中的预取而下降。此后,M随着可能不在将来访问的块被带入到高速缓存中从而置换更有用的块而增加。每个高速缓存未命中的惩罚D1最初缓慢地增加但是稍后迅速地使高业务引发排队延迟。M*D1最初下降以在稍后增加之前达到最优N(Noptd)。曲线图520具有与曲线图510类似的形状。包括M*M*E1*D1的曲线图530具有与曲线图510和曲线图520类似的形状,但是因为M2而具有更显著的大小。在曲线图540、曲线图550、曲线图560中,类似形状的曲线图被示出为曲线图510、曲线图520、曲线图530但是具有较低能量使用。然而,存在分组交换实现了更好的能量延迟乘积的N的范围。
再次参照图2,在取回大小N是固定的示例中,交换逻辑600a可以基于路由目标92来选择交换通道。在N是固定的这个示例中,程序的执行时间以及用于在没有高速缓存未命中情况下执行程序的能量对于两个通道来说应该是相同的。如果性能优化被选择为路由目标,则可以使用分组交换。如果能量效率将被优化,则可以基于N的大小来选择通道。如果N超过阈值数量,则当路由使用仅一个流水线级时,电路交换可以使用更少的能量。在阈值以下,可以使用分组交换。如果能量延迟乘积被选择为路由目标,则对于超过阈值的N,可以使用电路交换。如果N低于阈值,则可以使用分组交换。
图7是例示了根据本文所描述的至少一些实施方式的图1的系统中的示例交换逻辑的框图。交换逻辑600可以被用来选择交换通道和/或用来选择N的预取值。
交换逻辑600可以包括存储器650、选择逻辑620、复用器630、预取器116、高速缓存控制器118和/或收集逻辑640。存储器650可以包括表610,表610包含具有先前讨论的变量N、M、D1、E1、D1(CS)、E1(CS)和/或Succ(CS)的字段。在表610中,(CS)可以表示电路交换通道并且括弧的缺少可以表示分组交换通道。存储器650可以被配置为与如在下面更详细地说明的选择逻辑620通信。选择逻辑620可以被配置为从表610接收路由目标92和输入并且可以将取回大小N输出给复用器630。复用器630可以接收采样输入(开/关)、可以被用来最初校准表610的随机取回大小以及来自选择逻辑620的输出。预取器116可以接收未命中地址和来自复用器630的输出,并且可以将地址输出给高速缓存控制器118。高速缓存控制器118可以将用于取回数据的地址输出给路由器300。当接收到数据时,收集逻辑640可以接收该数据并且填充存储器650中的表610。
字段N可以存储要考虑的取回大小的值。可以随着数据被收集逻辑640接收到而针对N的各个值填充字段M、D1、E1、D1(CS)、E1(CS)和/或Succ(CS)。字段M、D1、E1、D1(CS)和/或E1(CS)表示如以上关于图5所提到的相同变量。字段M、D1、E1、D1(CS)和/或E1(CS)可以作为周期性地或根据需要收集的最近历史数据的平均值被计算。字段Succ(CS)可以包括与使用电路交换通道将N个连续块从源移动到目的地的成功率有关的最近历史数据。使用电路交换通道来发送数据的N个块可能牵涉沿着要在传送之前保留的路径保留通道,并且这样的保留请求可能不总是成功的。当已经保留了与这个保留冲突的其它电路交换路径时保留可能不成功(如由成功率“Succ(CS)”指示的)。成功率可以被用来调整与电路交换通道的选择有关的度量,使得如果不能够在期望的成功百分率情况下成功地实现最优取回率则不选择通道交换。
为了确定N的值,交换逻辑600可以评估N的不同值,测量表610中的度量,并且标识哪一个取回大小为在路由目标92中标识的度量提供最好结果。例如,对于在采样周期中的定义数量的数据移动,可以将随机取回大小输入到复用器630中并且可以将采样输入设定为“开(on)”。定义数量可以是可用的不同取回大小的数量的一小部分。然后,响应于随机取回大小,由收集逻辑640接收到的数据可以被用来填充表610。当定义数量的移动完成时,采样周期完成并且关于要使用的交换通道可以做出选择。在一些示例中,预取器可能不具有可调的取回大小,但是具有可调的预取进取。在这些示例中,N的值可以被用来指导预取器的进取级别。
现在将参照图2和图7。在示例中,可能在片200a中的高速缓存114a中经历块X的高速缓存未命中。处理器110a可以向交换逻辑600a通知高速缓存未命中。响应于块X的高速缓存未命中,交换逻辑600a可以选择要预取的N个数据块,包括块X。交换逻辑600a还可以选择用于移动数据块的交换通道。当交换逻辑600开始执行时,可以将表610的内容转发到选择逻辑620。选择逻辑620可以鉴于路由目标92使用来自表610的内容来计算各种度量。在完成各种度量的计算后,基于路由目标92,选择逻辑620可以确定N的优化值。选择逻辑620还可以选择分组交换通道或电路交换通道中的一个。选择逻辑620可以基于路由目标、分组交换延迟、电路交换延迟、分组交换能量成本和电路交换能量成本以N的优化值的确定和通道的选择作基础。
选择逻辑620可以向复用器630发送所确定的N值和/或向高速缓存控制器118发送选择的交换通道。如果采样模式是“关(off)”,则可以将由选择逻辑620确定的N的值发送给预取器116。如果采样模式是“开”,则复用器630可以将随机取回大小输出给预取器116。预取器116可以接收N的值(来自选择逻辑620的输出或随机取回大小)和未命中地址。未命中地址可以标识在存储器108中或在预取器可以发送对于数据的未命中块的请求的高速缓存中的地址。然后预取器116可以生成用于从存储器108请求数据的地址(未命中地址加上N个块)。
预取器116可以将地址发送给高速缓存控制器118。高速缓存控制器118可以与路由器300进行通信以使用所选择的交换通道从存储器108中取回未命中数据块。高速缓存控制器118可以每块单独地(如在分组交换中一样)或作为单个请求(如在电路交换中一样)取回在地址处的数据。
当所请求的数据块返回给路由器300时,收集逻辑640可以接收这些块并且计算表610中的值。例如,收集逻辑640可以跟踪当发送了对于数据块的请求时与当接收到该数据块时之间的时间。如果电路交换保留失败并且替代地使用分组交换通道来发送数据,则可以相应地更新成功字段(Succ)以指示电路交换保留的成功率。然后收集逻辑640可以存储和/或更新表610中的值。
当采样模式是“开”时,N的随机值可以被发送给复用器630并且被选择以用于处理。交换逻辑600可以在针对N的值做出决定之前执行采样(各采样使用N的不同值)的多个循环。可以在采样的各个循环之后更新表610中的内容。
在另一示例中,高速缓存控制器118可以为N个块保留电路交换通道。如果交换逻辑600确定因为资源正被另一电路交换连接使用所以不能够保留路径,则交换逻辑600可以切换到分组交换通道。
在其它可能的利益当中,根据本公开的系统也许能减小由多核架构中的路由器消耗的能量。路由器可以在管芯中消耗功率的显著部分。程序设计员可以选择路由器是否在管芯中路由数据以优化性能、能量效率或性能和能量的乘积。可以基于应用选取路由目标。例如,如果在保存电池寿命方面优先,则可以选取能量效率目标。如果时间优先,则可以选择性能路由目标。操作系统或应用可以控制路由器如何移动数据并且从而控制等待时间效率或延迟效率。芯片上的网络也许能在分组交换通道与电路交换通道之间选择。可以将电路交换更经常地用于较大的取回值,因为当网络传送大量的块时可以分摊在设置电路时的成本。
图8描绘了根据本文所描述的至少一些实施方式布置的、用于实现多核架构中的混合路由器的示例过程的流程图。在一些示例中,能够使用在多核架构的网络中选择交换通道的以上所讨论的系统100来实现图8中的过程。
示例过程可以包括如由块S2、块S4和/或S6中的一个或更多个例示的一个或更多个操作、动作或功能。尽管被例示为离散块,但是取决于所期望的实施方式,可以将各种块划分成附加块、组合成更少块或者消除各种块。
处理可以在块S2“接收要在多核架构中执行的程序,其中,多核架构包括第一片以及被配置为通过网络与第一片通信的第二片,其中第一片包括处理器核、被配置为与处理器核通信的高速缓存以及被配置为与高速缓存通信的路由器,路由器实现来利用分组交换通道或电路交换通道来移动数据”处开始。在块S2处,可以在多核架构中接收程序。架构可以包括第一片和第二片。第一片可以包括处理器核、高速缓存和路由器。
处理可以从块S2继续到块S4“接收用于由第一片中的交换逻辑执行程序的路由目标,交换逻辑被配置为与高速缓存和路由器通信”。在块S4处,交换逻辑可以接收用于执行程序的路由目标。可以基于路由目标为预取器确定取回大小。
处理还可以从块S4继续到块S6“由交换逻辑基于路由目标来选择分组交换通道或电路交换通道中的一个以通过网络来移动数据”。在块S6处,交换逻辑可以基于路由目标来选择分组交换通道或电路交换通道中的一个以通过网络来移动数据。交换逻辑可以确定分组交换能量、分组交换延迟、电路交换能量和电路交换延迟。交换逻辑还可以基于所确定的能量和延迟来选择分组交换通道或电路交换通道。
交换逻辑还可以基于所确定的能量和延迟为预取器确定取回大小数量的块(在取回大小是动态的示例中)。交换逻辑可以确定用于取回取回大小数量的块的成功率并且基于该成功率选择块的数量。例如,可以将成功率乘以等待时间、能量或能量延迟乘积以估计特定取回大小的电路交换的等待时间、能量和能量延迟特性。响应于块的高速缓存未命中,高速缓存控制器可以使用所选择的通道来发送通过网络对于该块的请求。
图9例示了根据本文所描述的至少一些实施方式布置的、能够被利用来实现多核架构中的混合路由器的示例计算机程序产品300。程序产品300可以包括信号承载介质302。信号承载介质302可以包括一个或更多个指令304,指令304当由例如处理器执行时,可以提供以上关于图1至图8所描述的功能性。因此,例如,参照系统100,片200a中的处理器110a可以响应于通过介质302输送给系统100的指令304来承担图9所示的块中的一个或更多个。
在一些实施方式中,信号承载介质302可以包含计算机可读介质306,诸如但不限于硬盘驱动器、紧致盘(CD)、数字视频盘(DVD)、数字磁带、存储器等。在一些实施方式中,信号承载介质302可以包含可记录介质308,诸如但不限于存储器、读/写(R/W)CD、R/W DVD等。在一些实施方式中,信号承载介质302可以包含通信介质310,诸如但不限于数字和/或模拟通信介质(例如,光纤电缆、波导、有线通信链路、无线通信链路等)。因此,例如,可以通过RF信号承载介质302将程序产品300输送给处理器100的一个或更多个模块,其中信号承载介质302是通过无线通信介质310(例如,符合IEEE 802.11标准的无线通信介质)来输送的。
图10是例示了根据本文所描述的至少一些实施方式布置的、被布置为实现多核架构中的混合路由器的示例计算装置400的框图。在极基本配置402中,计算装置400通常包括一个和更多个处理器404和系统存储器406。存储器总线408可以被用于在处理器404与系统存储器406之间进行通信。
取决于所期望的配置,处理器404可以具有任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任何组合。处理器404可以包括一级或更多级缓存(诸如一级高速缓存410和二级高速缓存412)、处理器核414和寄存器416。示例处理器核414可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任何组合。示例存储器控制器418还可以与处理器404一起使用,或者在一些实施方式中存储器控制器418可以是处理器404的内部部分。
取决于所期望的配置,系统存储器406可以具有任何类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪速存储器等)或其任何组合。系统存储器406可以包括操作系统420、一个或更多个应用422和程序数据424。应用422可以包括被布置为执行包括关于图1至图9的系统100所描述的那些如本文所描述的功能的混合路由器算法426。程序数据424可以包括也许可用于实现如本文所描述的多核架构中的混合路由器的混合路由器数据428。在一些实施方式中,应用422可以被布置为利用程序数据424在操作系统420上操作,使得可以提供多核架构的混合路由器。这个描述的基本配置402在图9中由在内部虚线内的那些组件例示。
计算装置400可以具有附加特征或功能性以及用于便于基本配置402及任何所需装置与接口之间的通信的附加接口。例如,总线/接口控制器430可以被用来经由存储接口总线434便于基本配置402与一个或更多个数据存储装置432之间的通信。数据存储装置432可以是可移动存储装置436、非可移动存储装置438或其组合。可移动存储装置和非可移动存储装置的示例包括诸如柔性盘驱动器和硬盘驱动器(HDD)的磁盘装置、诸如紧致盘(CD)驱动器或数字通用盘(DVD)驱动器的光盘驱动器、固态驱动器(SSD)以及磁带驱动器等等。示例计算机存储媒体可以包括用任何方法或技术实现以用于存储信息的易失性和非易失性、可移动和非可移动卸媒体,信息诸如计算机可读指令、数据结构、程序模块或其它数据。
系统存储器406、可移动存储装置436和非可移动存储装置438是计算机存储媒体的示例。计算机存储媒体包括但不限于RAM、ROM、EEPROM、闪速存储器或其它存储器技术、CD-ROM、数字通用盘(DVD)或其它光学存储部、磁盒、磁带、磁盘存储部或其它磁存储装置,或可以被用来存储所期望的信息并且可以由计算机400访问的任何其它介质。任何这样的计算机存储媒体可以是计算装置400的一部分。
计算装置400还可以包括接口总线440以用于经由总线/接口控制器430便于从各种接口装置(例如,输出装置442、外围接口444和通信装置446)到基本配置402的通信。示例输出装置442包括图形处理单元448和音频处理单元450,其可以被配置为经由一个或更多个AV端口452与诸如显示器或扬声器的各种外部装置进行通信。示例外围接口444包括串行接口控制器454或并行接口控制器456,其可以被配置为经由一个或更多个I/O端口458与诸如输入装置(例如,键盘、鼠标、笔、语音输入装置、触摸输入装置等)或其它外围装置(例如,打印机、扫描器等)的外部装置进行通信。示例通信装置446包括网络控制器460,其可以被布置为经由一个或更多个通信端口464通过网络通信链路来便于与一个或更多个其它计算装置462的通信。
网络通信链路可以是通信媒体的一个示例。通信媒体可以通常通过计算机可读指令、数据结构、程序模块或其它数据用诸如载波或其它传输机制的已调制数据信号加以具体实现,并且可以包括任何信息递送媒体。“已调制数据信号”可以是这样的信号,信号使其特性中的一个或更多个以这样的方式被设置或改变以将信息编码在该信号中。作为示例而非限制,通信媒体可以包括诸如有线网络或直接有线连接这样的有线媒体,以及诸如声学、射频(RF)、微波、红外线(IR)的无线媒体和其它无线媒体。如本文所使用的术语计算机可读媒体可以包括存储媒体和通信媒体这二者。
计算装置400可以作为小形状因素便携式(或移动)电子装置的一部分被实现,电子装置诸如手机、个人数据助理(PDA)、个人媒体播放器装置、无线web观看装置、个人头戴式耳机装置、专用装置,或包括上述功能中的任一个的混合装置。计算装置400还可以作为包括膝上型计算机和非膝上型计算机配置这二者的个人计算机被实现。
本公开将在旨在为各种方面的例示的本申请中所描述的特定实施方式方面不受限制。如对于本领域技术人员而言将显而易见的,在不脱离本公开的精神和范围的情况下能够做出许多修改和变化。除本文所枚举的那些之外的在本公开的范围内的功能上等效的方法和设备从前面的描述对于本领域技术人员而言将是显而易见的。这样的修改和变化旨在落入所附权利要求的范围内。本公开将仅由所附权利要求的项以及这样的权利要求享有的等同物的完全范围来限制。应当理解,本公开不限于当然能够变化的特定方法、试剂、复合物合成物或生物系统。还应当理解,本文所使用的术语是仅用于描述特定实施方式的目的的,并且不旨在为限制性的。
相对于基本上任何复数和/或单数项在本文中的使用,像适于上下文和/或应用那样本领域技术人员能够从复数向单数和/或从单数向复数平移。为了清楚起见,可以在本文中明确地阐述各种单数/复数置换。
本领域技术人员应当理解,一般而言,本文以及尤其在所附权利要求(例如,所附权利要求的正文)中所使用的术语通常意图为“开放式”术语(例如,术语“包括(including)”应该被解释为“包括但不限于”,术语“具有”应该被解释为“至少具有”,术语“包括(includes)”应该被解释为“包括但不限于”等)。本领域技术人员还应当理解,如果特定数量的引入的权利要求引用是有意图的,则这样的意图将被显式地记载在权利要求中,并且在缺少这样的引用情况下不存在这样的意图。例如,作为对理解的帮助,以下所附权利要求可以包含介绍性短语“至少一个”和“一个或更多个”的使用以引入权利要求引用。然而,即使当同一权利要求包括介绍性短语“一个或更多个”或“至少一个”以及诸如“一‘a’”或“一个‘an’”的不定冠词时(例如,“一”和/或“一个”应该被解释成意指“至少一个”或“一个或更多个”),这样的短语的使用也不应该被解释成暗示权利要求引用通过不定冠词“一”或“一个”的引入将包含这样引入的权利要求引用的任何特定权利要求限制于包含仅一个这样的引用的实施方式;相同情况适用于用于引入权利要求引用的定冠词的使用。另外,即使特定数量的引入的权利要求引用被显式地记载,本领域技术人员也应认识到,这样的引用应该被解释成至少意指所记载的数量(例如,“两个引用”的仅有引用在没有其它修饰词的情况下意指至少两个引用或两个或更多个引用)。此外,在使用了类似于“A、B和C等中的至少一个”的约定的那些实例中,一般而言这样的构造在本领域技术人员将理解该约定的意义上被打算(例如,“具有A、B和C中的至少一个的系统”将包括但不限于只有A、只有B、只有C、A和B一起、A和C一起、B和C一起和/或A、B以及C一起等的系统)。本领域技术人员还应理解,实际上呈现两个或更多个另选术语的任何转折词和/或短语(无论在说明书、权利要求还是附图中)应该被理解为设想到包括这些术语中的一个、这些术语中的任何一个或两个术语的可能性。例如,短语“A或B”将被理解为包括“A”或“B”或“A和B”的可能性。
另外,在按Markush组对本公开的特征或方面进行描述的情况下,本领域技术人员将认识到,还因此按Markush组的成员的任何单独成员或子组对本公开进行描述。
如将由本领域技术人员所理解的,出于任何和所有目的,诸如在提供撰写的说明书方面,本文所公开的所有范围还包含任何且所有可能的子范围及其子范围的组合。任何列举的范围能够被容易地识别为充分地描述并且使得能实现被分解成至少二等分、三等分、四等分、五等分、十等分等的相同范围。作为非限制性示例,本文所讨论的各个范围能够被容易地分解成下三分之一、中间三分之一和上三分之一等。如还将由本领域技术人员所理解的,诸如“多达”、“至少”、“大于”、“小于”等的所有语言包括所记载的数量并且指代能够被随后分解成如以上所讨论的子范围的范围。最后,如将由本领域技术人员所理解的,范围包括各个单独的成员。因此,例如,具有1-3个元素的组指代具有1个元素、2个元素或3个元素的组。类似地,具有1-5个元素的组指代具有1个元素、2个元素、3个元素、4个元素或5个元素的组等等。
虽然已经在本文中公开了各种方面和实施方式,但是其它方面和实施方式对于本领域技术人员而言将是显而易见的。本文所公开的各种方面和实施方式是用于例示的目的的,并且不旨在为限制性的,其中真实范围和精神由以下权利要求指示。

Claims (20)

1.一种多核架构,该多核架构包括:
第一片;
第二片,该第二片被配置为通过所述多核架构内的网络与所述第一片通信;
其中,所述第一片包括:
处理器核,该处理器核被配置为接收执行包括路由目标的程序的指令;
高速缓存,该高速缓存被配置为与所述处理器核通信;
路由器,该路由器被配置为与所述高速缓存通信,所述路由器实现来利用分组交换通道或电路交换通道来移动数据;以及
交换逻辑,该交换逻辑被配置为与所述高速缓存和所述路由器通信,其中,所述交换逻辑实现来:
接收所述路由目标,其中,所述路由目标与通过所述多核架构内的所述网络路由与所述程序相关联的数据时的能量或延迟成本有关;并且
在移动与所述程序相关联的数据之前,基于所述路由目标来选择所述分组交换通道或所述电路交换通道中的一个以通过所述网络来移动与所述程序相关联的所述数据。
2.根据权利要求1所述的多核架构,其中,所述交换逻辑实现来:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述电路交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述电路交换通道通过所述网络来移动数据的延迟;以及
基于所述分组交换能量、所述电路交换能量、所述分组交换延迟和/或所述电路交换延迟来选择所述分组交换通道或所述电路交换通道中的一个。
3.根据权利要求1所述的多核架构,其中:
所述第一片包括被配置为与所述高速缓存和所述路由器通信的预取器;并且
所述交换逻辑还被配置为基于所述路由目标为所述预取器确定取回大小。
4.根据权利要求1所述的多核架构,其中:
所述第一片包括预取器;并且
所述交换逻辑还实现来:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
基于所述分组交换能量、所述电路交换能量、所述分组交换延迟和/或所述电路交换延迟来选择所述分组交换通道或所述电路交换通道中的一个;以及
基于所述路由目标、所述分组交换能量、所述电路交换能量、所述分组交换延迟和所述电路交换延迟为所述预取器确定取回大小数量的块。
5.根据权利要求1所述的多核架构,其中,响应于通过所述高速缓存对于特定块的高速缓存未命中,高速缓存控制器实现来通过所述分组交换通道或所述电路交换通道中的所选择的一个来生成对于所述特定块的请求。
6.根据权利要求1所述的多核架构,其中:
所述第一片包括预取器;
所述交换逻辑还实现来
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
基于所述路由目标、所述分组交换能量、所述电路交换能量、所述分组交换延迟和所述电路交换延迟来确定取回大小数量的块;
确定用于取回所述取回大小数量的块的成功率;并且
基于所述分组交换能量、所述电路交换能量、所述分组交换延迟、所述电路交换延迟和/或所述成功率来选择所述分组交换通道或所述电路交换通道中的一个。
7.根据权利要求1所述的多核架构,其中:
所述交换逻辑实现来通过以下各项来选择所述分组交换通道或所述电路交换通道中的一个:
两个或更多个随机选择的取回大小的标识;
随机选择的通道的标识;
对于所述随机选择的取回大小的所述随机选择的通道的测量延迟的确定;
对于所述随机选择的取回大小的所述随机选择的通道的测量能量的确定;以及
基于所述测量延迟和所述测量能量的所述分组交换通道或所述电路交换通道中的一个的选择。
8.一种在多核架构的网络中选择交换通道的方法,该方法包括以下步骤:
接收在所述多核架构中执行程序的指令,其中,所述程序包括路由目标,所述多核架构包括第一片以及被配置为通过所述多核架构的所述网络与所述第一片通信的第二片,其中,所述第一片包括处理器核、被配置为与所述处理器核通信的高速缓存以及被配置为与所述高速缓存通信的路由器,其中,所述路由器实现来利用分组交换通道或电路交换通道来移动数据,并且其中,所述路由目标与通过所述多核架构的网络路由与所述程序相关联的数据时的能量或延迟成本有关;
由所述第一片中的交换逻辑接收所述路由目标,所述交换逻辑被配置为与所述高速缓存和所述路由器通信;以及
在移动与所述程序相关联的数据之前,由所述交换逻辑基于所述路由目标来选择所述分组交换通道或所述电路交换通道中的一个以通过所述网络来移动与所述程序相关联的所述数据。
9.根据权利要求8所述的方法,该方法还包括由所述交换逻辑执行的以下步骤:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述电路交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述电路交换通道通过所述网络来移动数据的延迟;以及
其中,选择所述分组交换通道或所述电路交换通道中的一个包括:基于所述分组交换能量、所述电路交换能量、所述分组交换延迟和/或所述电路交换延迟来选择所述分组交换通道或所述电路交换通道中的一个。
10.根据权利要求8所述的方法,该方法还包括以下步骤:基于所述路由目标为预取器确定取回大小。
11.根据权利要求10所述的方法,该方法还包括由所述交换逻辑执行的以下步骤:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
其中,选择所述分组交换通道或所述电路交换通道中的一个包括:基于所述分组交换能量、所述电路交换能量、所述分组交换延迟和/或所述电路交换延迟来选择所述分组交换通道或所述电路交换通道中的一个;以及
基于所述路由目标、所述分组交换能量、所述电路交换能量、所述分组交换延迟和所述电路交换延迟为所述预取器确定取回大小数量的块。
12.根据权利要求8所述的方法,该方法还包括以下步骤:
检测通过所述高速缓存对于特定块的高速缓存未命中;以及
通过所述分组交换通道或所述电路交换通道中的所选择的一个来发送由高速缓存控制器对于所述特定块的请求。
13.根据权利要求8所述的方法,该方法还包括由所述交换逻辑执行的以下步骤:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
基于所述路由目标、所述分组交换能量、所述电路交换能量、所述分组交换延迟和所述电路交换延迟来确定取回大小数量的块;
确定用于取回所述取回大小数量的块的成功率;以及
其中,选择所述分组交换通道或所述电路交换通道中的一个包括:基于所述分组交换能量、所述电路交换能量、所述分组交换延迟、所述电路交换延迟和/或所述成功率来选择所述分组交换通道或所述电路交换通道中的一个。
14.根据权利要求8所述的方法,其中,由所述交换逻辑选择的步骤包括以下步骤:
标识两个或更多个随机选择的取回大小;
标识随机选择的通道;
确定针对所述随机选择的取回大小的所述随机选择的通道的测量延迟;
确定针对所述随机选择的取回大小的所述随机选择的通道的测量能量;以及
基于所述测量延迟和所述测量能量来选择所述分组交换通道或所述电路交换通道中的一个。
15.一种多核架构系统,该系统包括:
第一片;以及
第二片,该第二片被配置为通过所述多核架构系统内的网络与所述第一片通信;
其中,所述第一片包括:
处理器核;
高速缓存,该高速缓存被配置为与所述处理器核通信;
路由器,该路由器被配置为与所述高速缓存通信,所述路由器实现来利用分组交换通道或电路交换通道来移动数据;以及
交换逻辑,该交换逻辑被配置为与所述高速缓存和所述路由器通信,其中,所述交换逻辑实现来
接收与执行程序相关的路由目标,其中,所述路由目标与通过所述多核架构系统中的所述网络路由与所述程序相关联的数据时的能量或延迟成本有关;以及
在移动与所述程序相关联的数据之前,基于所述路由目标来选择所述分组交换通道或所述电路交换通道中的一个以通过所述网络来移动与所述程序相关联的所述数据。
16.根据权利要求15所述的系统,其中,所述交换逻辑实现来:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述电路交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述电路交换通道通过所述网络来移动数据的延迟;以及
其中,为了基于所述路由目标选择所述分组交换通道或所述电路交换通道中的一个,所述交换逻辑实现来基于所述分组交换能量、所述电路交换能量、所述分组交换延迟和/或所述电路交换延迟来选择所述分组交换通道或所述电路交换通道中的一个。
17.根据权利要求15所述的系统,其中:
所述第一片包括预取器;并且
所述交换逻辑实现来:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
其中,为了基于所述路由目标选择所述分组交换通道或所述电路交换通道中的一个,所述交换逻辑实现来基于所述分组交换能量、所述电路交换能量、所述分组交换延迟和/或所述电路交换延迟来选择所述分组交换通道或所述电路交换通道中的一个;以及
基于所述路由目标、所述分组交换能量、所述电路交换能量、所述分组交换延迟和所述电路交换延迟为所述预取器确定取回大小数量的块。
18.根据权利要求15所述的系统,其中,响应于通过所述高速缓存对于特定块的高速缓存未命中,所述高速缓存控制器实现来通过所述分组交换通道或所述电路交换通道中的所选择的一个来生成对于所述特定块的请求。
19.根据权利要求15所述的系统,其中:
所述第一片包括预取器;
所述交换逻辑还实现来:
确定分组交换能量,所述分组交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定电路交换能量,所述电路交换能量是用于使用所述分组交换通道通过所述网络来移动数据的能量;
确定分组交换延迟,所述分组交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
确定电路交换延迟,所述电路交换延迟是用于使用所述分组交换通道通过所述网络来移动数据的延迟;
基于所述路由目标、所述分组交换能量、所述电路交换能量、所述分组交换延迟和所述电路交换延迟来确定取回大小数量的块;
确定用于取回所述取回大小数量的块的成功率;以及
其中,为了基于所述路由目标选择所述分组交换通道或所述电路交换通道中的一个,所述交换逻辑实现来基于所述分组交换能量、所述电路交换能量、所述分组交换延迟、所述电路交换延迟和/或所述成功率来选择所述分组交换通道或所述电路交换通道中的一个。
20.根据权利要求15所述的系统,其中:
所述交换逻辑实现来通过以下各项来选择所述分组交换通道或所述电路交换通道中的一个:
两个或更多个随机选择的取回大小的标识;
随机选择的通道的标识;
对于所述随机选择的取回大小的所述随机选择的通道的测量延迟的确定;
对于所述随机选择的取回大小的所述随机选择的通道的测量能量的确定;以及
基于所述测量延迟和所述测量能量的所述分组交换通道或所述电路交换通道中的一个的选择。
CN201380074889.1A 2013-03-20 2013-03-20 多核架构中的混合路由器 Active CN105164664B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2013/033115 WO2014149040A1 (en) 2013-03-20 2013-03-20 Hybrid routers in multicore architectures

Publications (2)

Publication Number Publication Date
CN105164664A CN105164664A (zh) 2015-12-16
CN105164664B true CN105164664B (zh) 2018-06-15

Family

ID=51569074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380074889.1A Active CN105164664B (zh) 2013-03-20 2013-03-20 多核架构中的混合路由器

Country Status (4)

Country Link
US (1) US9473426B2 (zh)
CN (1) CN105164664B (zh)
TW (1) TWI565265B (zh)
WO (1) WO2014149040A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9553762B1 (en) 2014-06-26 2017-01-24 Altera Corporation Network-on-chip with fixed and configurable functions
US11321263B2 (en) * 2014-12-17 2022-05-03 Intel Corporation High bandwidth core to network-on-chip interface
US9961019B2 (en) * 2014-12-22 2018-05-01 Intel Corporation Adaptively switched network-on-chip
CN104980358A (zh) * 2015-05-29 2015-10-14 上海斐讯数据通信技术有限公司 一种无线路由器及其无线网络管理方法
CN107094118B (zh) * 2017-06-26 2020-10-23 太仓市同维电子有限公司 利用1200m传输速率模块搭配成无线2400m传输速率的无线路由器

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650255A (zh) * 2002-06-24 2005-08-03 美国多科摩通讯研究所股份有限公司 移动应用环境

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5729544A (en) * 1994-05-09 1998-03-17 Motorola, Inc. Method for transmitting data packets based on message type
TW516294B (en) * 2000-05-22 2003-01-01 Ericsson Telefon Ab L M Combining differing transport technologies in a telecommunications system
US6882640B1 (en) * 2000-09-22 2005-04-19 Siemens Communications, Inc. System and method for utilizing circuit switched and packet switched resources
US6512784B2 (en) * 2001-03-01 2003-01-28 Linex Technologies, Inc. Efficient sharing of capacity by remote stations using circuit switching and packet switching
US20040225771A1 (en) * 2000-12-28 2004-11-11 Riesenman Robert J. Data pre-fetch control mechanism and method for retaining pre-fetched data after PCI cycle termination
US20020191588A1 (en) * 2001-06-13 2002-12-19 Drexel University Integrated circuit and packet switching system
US20040001476A1 (en) * 2002-06-24 2004-01-01 Nayeem Islam Mobile application environment
US20030236826A1 (en) * 2002-06-24 2003-12-25 Nayeem Islam System and method for making mobile applications fault tolerant
US7471951B2 (en) * 2003-04-04 2008-12-30 Alcatel-Lucent Usa, Inc. Signaling of multi-task calls carried by a hybrid circuit/packet network
JP2009531771A (ja) * 2006-05-21 2009-09-03 インターナショナル・ビジネス・マシーンズ・コーポレーション 集積回路においてコア間でデータを転送する方法及び装置
US8284766B2 (en) * 2007-12-28 2012-10-09 Intel Corporation Multi-core processor and method of communicating across a die

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1650255A (zh) * 2002-06-24 2005-08-03 美国多科摩通讯研究所股份有限公司 移动应用环境

Also Published As

Publication number Publication date
WO2014149040A1 (en) 2014-09-25
TW201507408A (zh) 2015-02-16
CN105164664A (zh) 2015-12-16
US9473426B2 (en) 2016-10-18
US20140286179A1 (en) 2014-09-25
TWI565265B (zh) 2017-01-01

Similar Documents

Publication Publication Date Title
CN105164664B (zh) 多核架构中的混合路由器
CN105393240B (zh) 具有辅助异步向量处理器的异步处理器的方法和装置
CN105706403B (zh) 片上网络与片上网络中发送数据的方法
CN105493053B (zh) 多核处理器及更新多核处理器中的高速缓存的方法
Dong et al. Rule caching in SDN-enabled mobile access networks
KR101361928B1 (ko) 스레드 이송 시의 캐시 프리필링
CN108885590A (zh) 开销感知高速缓存替换
CN1952877B (zh) 用于软件可配置预取器的方法、装置和系统
JP5487307B2 (ja) 異種のリソース上へのコンピュータスレッドのマッピング
CN105407055B (zh) 一种内容中心网络的能耗控制方法
CN102841777B (zh) 数据处理器中的分支目标缓存器寻址
US9348756B2 (en) Active memory processor system
KR20160079646A (ko) 비대칭적 프로세서 코어 간의 협력적 실행을 위한 기법
US9251048B2 (en) Memory page management
CN105393218B (zh) 用来重构可编程电路的方法、设备以及系统
CN108259929A (zh) 一种视频活跃期模式的预测及缓存方法
CN107291629A (zh) 一种用于访问内存的方法和装置
CN107111557A (zh) 在共享高速缓存存储器系统中提供共享高速缓存存储器分配控制
CN105824604B (zh) 多输入多输出处理器流水线数据同步装置及方法
DE60238837D1 (de) Paketvermittlung mit verteiltem gemeinsam benutztem speicher
Yamaki et al. Data prediction for response flows in packet processing cache
CN106155936B (zh) 一种缓存替换方法与相关装置
CN104360961A (zh) 一种基于对象存储的自适应分级处理方法及系统
CN107277062A (zh) 数据包的并行处理方法及装置
CN108810935A (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
GR01 Patent grant
GR01 Patent grant