CN107920025B - 一种面向cpu-gpu异构片上网络的动态路由方法 - Google Patents

一种面向cpu-gpu异构片上网络的动态路由方法 Download PDF

Info

Publication number
CN107920025B
CN107920025B CN201711159899.1A CN201711159899A CN107920025B CN 107920025 B CN107920025 B CN 107920025B CN 201711159899 A CN201711159899 A CN 201711159899A CN 107920025 B CN107920025 B CN 107920025B
Authority
CN
China
Prior art keywords
communication
port
cpu
gpu
congestion
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
CN201711159899.1A
Other languages
English (en)
Other versions
CN107920025A (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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201711159899.1A priority Critical patent/CN107920025B/zh
Publication of CN107920025A publication Critical patent/CN107920025A/zh
Application granted granted Critical
Publication of CN107920025B publication Critical patent/CN107920025B/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/10Flow control; Congestion control
    • H04L47/11Identifying congestion
    • H04L47/115Identifying congestion using a dedicated packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • H04L47/2425Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
    • H04L47/2433Allocation of priorities to traffic types
    • 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/625Queue scheduling characterised by scheduling criteria for service slots or service orders
    • H04L47/6275Queue scheduling characterised by scheduling criteria for service slots or service orders based on priority
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • H04L49/3009Header conversion, routing tables or routing tags
    • 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)

Abstract

本发明提出一种面向CPU‑GPU异构片上网络的动态路由方法,以CPU、GPU核心所展现出的不同特性为依据,设计不同的动态路由算法,一方面保证GPU、CPU的高吞吐率低延迟以提高性能性能,另一方面考虑到简化电路复杂度、减少线路的开销,从而达到提升系统性能的目的。

Description

一种面向CPU-GPU异构片上网络的动态路由方法
技术领域
本发明属于计算机体系缓存系统结构领域,尤其涉及一种面向CPU-GPU异构片上网络的动态路由算法。
背景技术
随着半导体技术的发展,电子元器件特征尺寸越来越小,芯片集成度遵循摩尔定律不断提高。为了有效地利用和管理日益增加的片上资源,系统地对芯片进行设计变得十分必要。基于总线结构的片上系统(system on chip,SoC)成功地将多个具有不同功能的IP核(intellectual property core)集成于同一块芯片上,IP核之间可以独立地执行不同的任务,实现IP核间的并行计算,从而提升了处理器的计算能力。但是,随着芯片上集成的IP核数目的增加和用户对嵌入式电子产品功能与性能需求的日益增长,总线型结构无法满足众多的实际需求,因而产生了片上网络(network-on-chip,NoC)。NoC的核心思想是:将网络技术应用到芯片设计之中,使得IP核之间的数据交换通过路由器来实现。NoC结构与总线结构相比,不仅具有较好的可扩展性、可重用性,而且可以在支持并行通信的同时,实现全局异步局部同步(globally asynchronous locally synchronous,GALS)的时钟控制,从体系结构上彻底解决了总线结构带来的单一时钟问题。比较有代表性的诸如Tilera的TileProcessor以及Intel的Terascale chip,分别在一张芯片上集成了64核心和80核心,而Tilera已经发布了世界上第一款集成了100个核心的芯片。为了进一步提高计算性能,研究人员提出了集成CPU核心和GPU核心的芯片。比如2010年AMD发布的Accelerate ProcessingUnit(APU)以及2011年NVIDIA发布的Denver。芯片上除了CPU核心和GPU核心,还集成了其他部件如末级高速缓冲存储器(LLC)、存储控制器(MC)等。为了片上网络各部件间良好的协同工作,部件间的通信质量(QoS)就变得至关重要。目前,片上网络(NoC)已经替代了传统的总线以及点对点的通信模式。大部分的片上网络使用环状(Ring)或二维网状(Mesh)拓扑结构,这些拓扑结构设计复杂度较低,其中面向GPU-CPU异构体系结构的异构片上网络设计尚未深入研究。与CPU相比,GPU线程数量更多,并行度高,这种特性使得GPU与末级高速缓冲存储器和存储控制器间的指令与数据交换更加频繁。基于CPU多核处理器的片上网络的流量比较平均,而基于整合了GPU和CPU异构芯片的片上网络上的流量热点相对更集中,GPU迥异于CPU的特性改变了片上网络中的流量特征。CPU-GPU异构片上网络中流量集中的特点导致应用于传统基于CPU的片上网络的路由算法不在适用。
目前,为了均衡片上网络负载以及提高片上网络对于错误路径的容忍度,已有一些研究致力于CPU-like的片上网络动态路由算法,最终提高片上网络的吞吐率和性能。对于动态路由算法的研究主要集中在如何利用片上网络节点中的缓冲区状态和链路利用率信息来获知片上网络中的实时拥塞状态,不同的拥塞侦测技术和管理策略会导致截然不同的路由决策和成本开销。W.Trumler等人提出了一种自优化路由策略,使用缓冲区装载信息作为拥塞索引,为传入路由的数据包选择一个有利的路径。E.Nilsson等人提出了一种基于相邻交换器传来的应力值来避免拥塞区域的邻近拥塞感知技术。J.W等人提出了一种使用链路利用率进行流量预测的常用拥塞控制策略,以实现有效的路由资源分配。W.J.Dally等人利用输出端口上的空闲虚拟信道数量作为衡量拥塞程度的指标,将拥有最多可用虚拟信道的端口作为做高优先级的端口选择。文章作者将其与传统不具有拥塞感知机制的路由方法进行了比较,结果显示具有拥塞感知的动态路由算法可以产生更低的延迟和更高的吞吐量。D.Wu等人提出将来源于拥塞区域的数据包拥有最高优先级的方案,用于缓解上游拥塞区域的情况。前人的研究主要分两类,第一类是依靠本地路由器的拥塞信息来进行路由算法进行决策,这将导致路由算法获取的信息较少,进而对于片上网络性能的提升的帮助很小。第二类是从该路由器的相邻路由器获取广播的拥塞信息,这对于片上网络的吞吐率、性能提升明显,单曲增加了芯片电路实现的复杂度,增加了额外的线路开销。在片上网络规模不断增大的背景下,线路开销、电路复杂度也是值得考虑的问题。
发明内容
本发明提出一种面向CPU-GPU异构片上网络的动态路由方法。经过实验发现,在CPU-GPU异构片上网络中,片上网络中的流量主要存在于CPU和末级高速缓冲存储器和存储控制器之间,以及GPU和末级高速缓冲存储器(LLC)和存储控制器(MC)之间。针对CPU、GPU核心的不同特性,设计不同的动态路由算法,一方面保证GPU、CPU的高吞吐率低延迟,另一方面考虑到简化电路复杂度、减少线路的开销,从而达到提升系统性能的目的。
为达到上述目的,本发明采用以下技术方案。
一种面向CPU-GPU异构片上网络的动态路由方法,其特征在于,包括以下步骤:
步骤1,区分CPU与LLC和MC之间以及GPU与LLC和MC之间的通信,将通信类型标志为CPU-like型通信或者GPU-like型通信;
步骤2,如果是CPU-like型通信,则根据附近临近节点传入的拥塞索引建立输入端口优先级队列,其中拥塞程度最高的端口拥有最高优先级;如果是GPU-like型通信,则根据临近节点传入的拥塞索引建立输入端口优先级队列,其中拥塞程度最高的端口拥有最高优先级;
步骤3,如果是GPU-like型通信,则根据附近临近节点传入的拥塞索引建立输出端口优先级队列,其中拥塞程度最高的端口拥有最低优先级。
步骤4,路由仲裁过程,包括下步骤:
步骤4.1,输出端口选择:
头解析单元根据头数据包解析出目的地节点信息,如果是CPU-like型通信,则根据最小路径路由算法选择出下一跳的输出端口;如果是GPU-like型通信,则根据步骤3中计算得出的输出端口优先级队列中优先级最高的端口作为输出端口;
步骤4.2,输入端口选择:
如果是CPU-like型通信,则根据步骤2中建立的拥塞索引进行输入端口的选择,优先级队列中优先级最高的端口作为输入端口;如果是GPU-like型通信,则根据步骤2中建立的拥塞索引进行输入端口的选择,优先级队列中优先级最高的端口作为输入端口;
步骤4.3,建立仲裁路径:
根据步骤4.1、步骤4.2中的输出端口和输入端口选择结果,尝试建立输入端口到输出端口的路径,如果任一端口被占用,则进行下一轮仲裁,即重新执行步骤4的过程;如果输入端口、输出端口均可用,则将输入端口和输出端口分别从优先级队列中移除。
步骤5,计算下一周期片上网络中的拥塞信息,更新各节点中的拥塞索引,将拥塞索引传入临近节点。
与现有技术相比,本发明具有以下优点:
在CPU-GPU异构片上网络中,片上网络中的流量主要存在于CPU和末级高速缓冲存储器(LLC)和存储控制器(MC)之间,以及GPU和末级高速缓冲存储器和存储控制器之间,在芯片设计时,一方面要保证计算核心的吞吐量、低延迟,另一方面还要保证芯片电路的可扩展性,如果布线复杂,随着芯片规模的增大,布线所带来的开销将变得十分巨大。本发明根据CPU、GPU的不同特性,在GPU-like型通信中分别侦测了输入端口和输出端口的拥塞信息,虽然增大了芯片电路的复杂度,但是可以充分保证仲裁阶段端口选择的精确度,保证了GPU的吞吐量和低延迟。在CPU-like型通信中侦测了输入端口的拥塞信息,由于CPU-like的通信特性,本发明有效解决了向下游传播的上游拥堵问题,从而缓解了通信链路的拥塞情况。同时只侦测输入端口拥塞信息简化了电路设计,降低了布线的开销,有利于芯片规模的扩展。
附图说明
为使本发明的目的,方案更加通俗易懂,下面将结合附图对本发明进一步说明。
图1为CPU-GPU异构片上网络架构图,该异构片上网络为二维网格拓扑结构,共包含16个节点。每个节点代表CPU核心、GPU核心、末级高速缓冲存储器或存储控制器极其相连的路预期。该架构中CPU核心数量为4,GPU核心数量为6,末级高速缓冲存储器的数量为4,存储控制器的数量为2,每个片上部件与一个路由器相连。
图2为面向CPU-GPU异构片上网络的动态路由算法流程图。
具体实施方式
为使本发明的目的,技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。
本发明所涉及的是一种面向CPU-GPU异构片上网络的动态路由算法。如图1所示,以一个具有四个CPU核心、六个GPU核心,四个末级高速缓冲存储器、两个存储控制器的异构片上网络为例。运行的CPU测试程序是单线程的SPEC CPU2006,GPU应用程序为Rodinia。每一个workload由一个CPU测试程序和一个GPU应用程序组成。如图2所示,该方法的具体步骤如下:
步骤1,区分CPU与LLC和MC之间以及GPU与LLC和MC之间的通信,添加标志位CPU_REQ或者GPU_REQ,区分CPU-like型通信或者GPU-like型通信;
运行一个workload group,其中CPU的benchmark即SPEC2006的一个测试程序运行在一个CPU核心,GPU的benchmark即GPU的rodinia测试程序运行在另外一个CPU核心,由CPU核心引导GPU测试程序rodinia运行在GPU核上。在Memory Controller上新增CPU_REQ和GPU_REQ标志位,用以区分CPU-like型通信或者GPU-like型通信。
步骤2,新增输入端口优先级队列priority_input。通过记录每个端口buffer中等待的数据包的数量waiting_filts,并将其广播给周围计算节点。根据waiting_filts从大到小降序排列,其中Math.max(waiting_filts)具有最高优先级,从而得出priority_input优先级队列。
步骤3,新增输出端口优先级队列priority_output。如果是CPU_REQ,直接跳过该步骤;如果是GPU_REQ,则根据临近节点传入的waiting_filts进行从小到大的升序排列,其中Math.min(waiting_filts)具有最高优先级,从而得出priority_output优先级队列。
步骤4,路由仲裁过程,包括下步骤:
步骤4.1,输出端口选择:
通过header_parser_unit解析数据包的头信息,得到目的地节点信息des_info。头解析单元根据头数据包解析出目的地节点信息,如果是CPU-like型通信,则根据最小路径路由算法选择出下一跳的输出端口Po;如果是GPU-like型通信,则根据步骤3中计算得出的输出端口优先级队列中优先级最高的端口作为输出端口po
步骤4.2,输入端口选择:
如果是CPU-like型通信,则根据步骤2中建立的拥塞索引进行输入端口的选择,优先级队列中优先级最高的端口作为输入端口pi;如果是GPU-like型通信,则根据步骤2中建立的拥塞索引进行输入端口的选择,优先级队列中优先级最高的端口作为输入端口pi
步骤4.3,建立仲裁路径:
根据步骤4.1、步骤4.2中的输出端口和输入端口选择结果,尝试建立输入端口到输出端口的路径r,如果pi po之中任一端口被占用,则分别将pi、po重新写入priority_input和priority_output,进行下一轮仲裁,即重新执行步骤4的过程;如果pi、po均可用,则执行remove(pi,po)操作,分别将两个端口从priority_input、priority_output中移除。
步骤5,计算下一周期片上网络中的拥塞信息,更新各节点中的拥塞索引,将拥塞索引传入临近节点。
本发明根据CPU、GPU的不同特性,本发明有效解决了向下游传播的上游拥堵问题,从而缓解了通信链路的拥塞情况。根据CPU-like和GPU-like通信特性的不同才用不同的拥塞信息侦测机制在保证片上网络的吞吐量和延迟的基础上简化了电路设计,降低了布线的开销,有利于芯片规模的扩展。

Claims (1)

1.一种面向CPU-GPU异构片上网络的动态路由方法,其特征在于,包括以下步骤:
步骤1,区分CPU与末级高速缓冲存储器LLC和存储控制器MC之间以及GPU与LLC和MC之间的通信,将通信类型标志为CPU-like型通信或者GPU-like型通信;
步骤2,如果是CPU-like型通信,则根据附近临近节点传入的拥塞索引建立输入端口优先级队列,其中拥塞程度最高的端口拥有最高优先级;如果是GPU-like型通信,则根据临近节点传入的拥塞索引建立输入端口优先级队列,其中拥塞程度最高的端口拥有最高优先级;
步骤3,如果是GPU-like型通信,则根据附近临近节点传入的拥塞索引建立输出端口优先级队列,其中拥塞程度最高的端口拥有最低优先级;
步骤4,路由仲裁过程,包括下步骤:
步骤4.1,输出端口选择:
头解析单元根据头数据包解析出目的地节点信息,如果是CPU-like型通信,则根据最小路径路由算法选择出下一跳的输出端口;如果是GPU-like型通信,则根据计算得出的输出端口优先级队列中优先级最高的端口作为输出端口;
步骤4.2,输入端口选择:
如果是CPU-like型通信,则根据拥塞索引进行输入端口的选择,优先级队列中优先级最高的端口作为输入端口;如果是GPU-like型通信,则根据拥塞索引进行输入端口的选择,优先级队列中优先级最高的端口作为输入端口;
步骤4.3,建立仲裁路径:
根据步骤4.1、步骤4.2中的输出端口和输入端口选择结果,尝试建立输入端口到输出端口的路径,如果任一端口被占用,则进行下一轮仲裁;如果输入端口、输出端口均可用,则将输入端口和输出端口分别从优先级队列中移除;
步骤5,计算下一周期片上网络中的拥塞信息,更新各节点中的拥塞索引,将拥塞索引传入临近节点。
CN201711159899.1A 2017-11-20 2017-11-20 一种面向cpu-gpu异构片上网络的动态路由方法 Active CN107920025B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711159899.1A CN107920025B (zh) 2017-11-20 2017-11-20 一种面向cpu-gpu异构片上网络的动态路由方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711159899.1A CN107920025B (zh) 2017-11-20 2017-11-20 一种面向cpu-gpu异构片上网络的动态路由方法

Publications (2)

Publication Number Publication Date
CN107920025A CN107920025A (zh) 2018-04-17
CN107920025B true CN107920025B (zh) 2021-09-14

Family

ID=61896631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711159899.1A Active CN107920025B (zh) 2017-11-20 2017-11-20 一种面向cpu-gpu异构片上网络的动态路由方法

Country Status (1)

Country Link
CN (1) CN107920025B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP4009186A1 (en) 2018-10-18 2022-06-08 Shanghai Cambricon Information Technology Co., Ltd Network-on-chip data processing method and device
CN111209243B (zh) * 2018-11-21 2022-12-02 上海寒武纪信息科技有限公司 数据处理装置、方法及相关产品
CN112822124B (zh) * 2020-12-31 2022-11-22 深圳云天励飞技术股份有限公司 多芯片通信系统、方法、芯片及存储介质
CN116661976B (zh) * 2023-07-25 2023-10-03 中诚华隆计算机技术有限公司 一种基于开放式高带宽存储器接口的异构芯片集成系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927277A (zh) * 2014-04-14 2014-07-16 中国人民解放军国防科学技术大学 Cpu和gpu共享片上高速缓存的方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8310492B2 (en) * 2009-09-03 2012-11-13 Ati Technologies Ulc Hardware-based scheduling of GPU work
US20130124805A1 (en) * 2011-11-10 2013-05-16 Advanced Micro Devices, Inc. Apparatus and method for servicing latency-sensitive memory requests

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103927277A (zh) * 2014-04-14 2014-07-16 中国人民解放军国防科学技术大学 Cpu和gpu共享片上高速缓存的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
《基于GPU-like和GPU-CPU架构的异构片上网络的设计与研究》;冷镇宇;《中国优秀硕士学位论文全文数据库》;20150630;正文第16-18、35-36页 *

Also Published As

Publication number Publication date
CN107920025A (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
CN107920025B (zh) 一种面向cpu-gpu异构片上网络的动态路由方法
Trik et al. A hybrid selection strategy based on traffic analysis for improving performance in networks on chip
Carvalho et al. Congestion-aware task mapping in heterogeneous MPSoCs
US20140068132A1 (en) Automatic construction of deadlock free interconnects
Guz et al. Efficient link capacity and QoS design for network-on-chip
Xin et al. A low-latency NoC router with lookahead bypass
CN113114593B (zh) 一种片上网络中双信道路由器及其路由方法
Guz et al. Network Delays and Link Capacities in Application‐Specific Wormhole NoCs
Grot et al. A QoS-enabled on-die interconnect fabric for kilo-node chips
Cui et al. A low-cost conflict-free NoC architecture for heterogeneous multicore systems
Cheng et al. A low-cost and energy-efficient noc architecture for GPGPUs
Ben-Itzhak et al. Optimizing heterogeneous NoC design
Fang et al. TB-TBP: a task-based adaptive routing algorithm for network-on-chip in heterogenous CPU-GPU architectures
CN107205152B (zh) 基于片上网络通信量的h.265编码器建模方法
Mondal et al. Interconnect support for energy efficient and high bandwidth memory access in cmps
Zhang et al. A cellular NoC architecture based on butterfly network coding (CBNoC)
Chen et al. Contention minimization in emerging smart NoC via direct and indirect routes
Concatto et al. Two-levels of adaptive buffer for virtual channel router in nocs
Fang et al. Exploration on routing configuration of HNoC with intelligent on-chip resource management
CN117221212B (zh) 片上光网络低拥塞路由方法及相关设备
Fang et al. Exploration on routing configuration of HNoC with reasonable energy consumption
Alimi et al. Network-on-Chip Topologies: Potentials, Technical Challenges, Recent Advances and Research Direction
Shah et al. Heterogeneous photonic network-on-chip with dynamic bandwidth allocation
Kumar et al. A system-level perspective for efficient NoC design
Foroutan et al. Cost-efficient buffer sizing in shared-memory 3D-MPSoCs using wide I/O interfaces

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
GR01 Patent grant
GR01 Patent grant