CN111985181A - 一种节点布局方法、装置、计算机设备及存储介质 - Google Patents
一种节点布局方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN111985181A CN111985181A CN202010868916.4A CN202010868916A CN111985181A CN 111985181 A CN111985181 A CN 111985181A CN 202010868916 A CN202010868916 A CN 202010868916A CN 111985181 A CN111985181 A CN 111985181A
- Authority
- CN
- China
- Prior art keywords
- node
- vacancy
- network
- network edge
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/398—Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/392—Floor-planning or layout, e.g. partitioning or placement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
- G06F15/7825—Globally asynchronous, locally synchronous, e.g. network on chip
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2115/00—Details relating to the type of the circuit
- G06F2115/02—System on chip [SoC] design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/502—Proximity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/39—Circuit design at the physical level
- G06F30/394—Routing
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Geometry (AREA)
- Evolutionary Computation (AREA)
- Architecture (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例公开了一种节点布局方法、装置、计算机设备及存储介质。所述方法包括:获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。本发明实施例的技术方案基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
Description
技术领域
本发明实施例涉及计算机技术,具体涉及神经网络以及人工智能技术领域,尤其涉及一种节点布局方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的不断发展,目前已研发得到了各种高性能计算芯片。节点(也可以成为计算核)是高性能计算芯片的最基本的计算元素,承担了逻辑运算、控制处理、存储访问以及互连通信等重要功能。一个高性能计算芯片上,一般布局有多个节点,各节点间共同组成静态网络,以实现数据在芯片上的有效传输。
现有技术中,各节点通过静态布局的方式进行芯片内布局,也就是说,预先在芯片中的可选节点空位上实现对各节点的布局,并在布局后不会对节点的位置进行再次调整。
发明人在实现本发明的过程中,发现,现有技术没有对芯片中的各节点进行有效的布局,因此,会造成整个网络中有些节点的负载过大,而有些节点负载不饱和情况的发生,无法充分发挥芯片中各节点的最大效能,进而会降低芯片的处理效率。
发明内容
本发明实施例提供了一种节点布局方法、装置、计算机设备及存储介质,以提供一种节点的芯片内布局方式,用以提高整个芯片的处理效率。
第一方面,本发明实施例提供了一种节点布局方法,芯片包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
第二方面,本发明实施例还提供了一种节点布局方法,芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述芯片中预布局有至少一个节点,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
第三方面,本发明实施例提供了一种节点布局装置,芯片包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述装置包括:
路由信息获取模块,用于获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
节点布局模块,用于按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
第四方面,本发明实施例还提供了一种节点布局装置,芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述芯片中预布局有至少一个节点,所述装置包括:
路由信息获取模块,用于获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
节点移动布局模块,用于按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
第五方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如本发明任一实施例所述的节点布局方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明任一实施例所述的节点布局方法。
本发明实施例通过获取与芯片中各节点对应的多个路由信息,按照路由信息中数据传输量从大到小的顺序,将芯片中的各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式,基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
附图说明
图1为本发明实施例一中的一种节点布局方法的实现流程图;
图2a是本发明实施例二中的一种节点布局方法的实现流程图;
图2b是发明实施例所适用的一种节点布局过程的应用场景示意图;
图2c是本发明实施例所适用的一种节点布局过程的场景示意图;
图2d本发明实施例所适用的一种节点布局过程的场景示意图;
图2e是本发明实施例所适用的一种节点布局过程的场景示意图;
图3是本发明实施例三中的一种节点布局方法的实现流程图;
图4是本发明实施例四中的一种节点布局方法的实现流程图;
图5是本发明实施例五中的一种节点布局装置的结构图;
图6是本发明实施例六中的一种节点布局装置的结构图;
图7a是本发明实施例七中的一种计算机设备的结构图;
图7b是是本发明实施例七所适用的处理器的内部结构图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
首先,为了便于理解本发明的各实施例,首先将本发明实施例的实现构思进行简单介绍。
如前所述,一个芯片中包括有多个节点,各节点之间可以共同组成一个传输网络,以实现任意两个节点之间的数据交互。一般来说,相邻的两个节点之间可以直接进行数据交互,而不相邻的两个节点之间需要经过一个或者多个中继节点的转发,间接的进行数据交互。发明人通过研究发现,为了保证较小的节点中继次数,在一个传输网络中,越接近中间位置的节点,越有可能会被选择作为中继节点来转发数据,也即,在整个数据计算处理过程中,中间位置的节点会频繁的作为中继节点来转发数据。
同时,当在一个芯片中布局一个计算任务(例如,一个神经网络)时,会为芯片中的各个节点对应分配相应的计算子任务(例如,神经网络中的某一层)。此时,由于计算任务预先确定,各个节点之间的数据传输量也是可以预先确定的。现有技术由于没有一个行之有效的节点布局方式,因此,可能会出现这样一种局面,数据传输量大的节点被布局到了传输网络的中心位置,而数据传输量小的节点被布局到了传输网络的边缘位置。此时,中间位置的节点既承担了繁重的数据传输任务,又承担了繁重的数据中继任务,处于过负载状态;而边缘位置的节点既不需要传输大量的数据,也不会优先选择作为中继节点,处于负载不饱和状态。
基于此,发明人创造性的提出:在节点布局过程中引入节点的数据传输量作为布局参考因素的新方式,将数据传输量大的节点优先向传输网络的边缘位置进行布局,而将数据传输量小的节点优先向传输网络的中心位置进行布局,以使得各个节点最大程度的实现负载均衡。
实施例一
图1为本发明实施例一提供的一种节点布局方法的实现流程图,本实施例可适用于根据各节点的数据传输量大小,将各节点布局在芯片的各节点空位中,且各节点空位中预先未布局任一节点的情况,该方法可以由节点布局装置来执行,该装置可以由软件,和/或硬件的方式实现,并一般可以集成在具有数据计算功能的计算机设备上。
在本实施例中,待布局的芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络。
一般来说,各个节点在芯片中的布局位置均是合理配置好的,也即,各个节点空位在芯片中的位置是预置好的。且相邻的节点空位之间是可以进行通信的。其中,所述节点是指芯片中执行数据计算任务的计算核。相应的,本发明实施例的方法具体包括如下步骤:
S110、获取多个路由信息。
在一个具体的例子中,当某一个芯片预先布局一个计算任务后,会将芯片中的各个节点对应分配相应的计算子任务。此时,由于这个计算任务已知,各个节点之间的数据传输量也是已知的。换句话说,当将芯片中的各个节点分配了明确的计算子任务后,可以确定多条路由信息,每条路由信息中记录了发生数据交互的两个节点,以及在这两个节点之间传输的数据量(也即,数据传输量)。
相应的,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量。
S120、按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
其中,由于各个节点空位在芯片中的位置是预置好的,因此,将各节点对应布局于节点空位中构成的传输网络是具有设定的物理形状,例如,矩形、星形或者蜂巢型等。
不论该传输网络属于何种形状,以传输网络中的中间节点为中继节点时,一般会减少中继次数,因此,在通过该芯片中的各节点进行协同的数据处理过程中,传输网络中的网络中间节点作为中继节点的频度是会远远高于网络边缘节点的。
基于此,为了使得各个节点最大程度的实现负载均衡,本发明各实施例按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
在本实施例的一个可选的实施方式中,按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局可以包括:
按照数据传输量从大到小的顺序,将各所述路由信息进行排序,并按照排序结果,依次获取当前路由信息;获取当前路由信息中的当前源节点和当前目标节点,并将当前源节点和当前目标节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局;返回执行按照排序结果,依次获取当前处理路由信息的操作,直至完成对全部节点的布局。
在本实施方式中,可以首先将路由信息按照数据传输量从大到小的顺序进行排序,并根据排序后的路由信息,依次获取相应的源节点和目标节点进行布局,直至完成对芯片中全部节点的布局。
在本实施例的另一个可选的实施方式中,按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局可以包括:
按照数据传输量从大到小的顺序,对各所述路由信息进行排序;按照排序结果,顺序从各所述路由信息中分别获取源节点和目标节点不重叠的加入至节点集合中,以得到与所述芯片中的全部节点对应的节点集合;其中,在所述节点集合中标识有属于同一路由信息的源节点和目标节点;按照所述节点集合中的节点顺序以及节点间的路由信息关系,将各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
在本实施方式中,在将路由信息按照数据传输量从大到小的顺序进行排序后,根据排序结果,得到各节点的布局顺序,并按照该布局顺序,对各个节点进行布局。
本发明实施例通过获取与芯片中各节点对应的多个路由信息,按照路由信息中数据传输量从大到小的顺序,将芯片中的各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式,基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
实施例二
图2a为本发明实施例二提供的一种节点布局方法的实现流程图,本实施例以上述实施例为基础进行细化,在本实施例中,将按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局这一操作进行细化,相应的,本实施例的方法具体包括:
S210、获取多个路由信息。
其中,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量。
S220、按照数据传输量从大到小的顺序,将各所述路由信息进行排序。
S230、按照排序结果,依次获取当前路由信息。
S240、判断当前源节点与当前目标节点是否均未布局在节点空位:若是,执行S250;否则,执行S260。
S250、判断当前是否存在未布局的相邻网络边缘节点空位对:若是,执行S270;否则,执行S280。
在本实施例中,如果确定当前源节点与当前目标节点均未布局在节点空位中,则此次布局过程需要将上述两个节点均布局在对应的节点空位上。由于是按照沿网络边缘节点空位朝向网络中心节点空位的方向进行的布局,因此,可以首先检测是否存在网络边缘节点空位布局上述两个节点。
可以理解的是,待布局的当前源节点与当前目标节点之间的距离越小,则两者之间的数据传输量的中继次数也就越小,传输效率也就越高。因此,考虑优先将当前源节点与当前目标节点进行相邻布局。因此,可以首先判断当前是否存在未布局的相邻网络边缘节点空位对。
所谓相邻网络边缘节点空位对,具体是指两个相邻的网络边缘节点空位。其中,在图2b中示出了发明实施例所适用的一种节点布局过程的应用场景示意图。如图2b所示,A2和A3两个节点空位即为一个相邻网络边缘节点空位对。
如果在当前未布局的节点空位中检测到存在多个上述相邻网络边缘节点空位对,则可以通过随机选择,或者以设定节点空位作为参考定点,顺时针或者逆时针选择的方式,确定一个相邻网络边缘节点空位对,布局当前源节点与当前目标节点。
S260、判断是否仅当前源节点或者当前目标节点未布局在节点空位:若是,执行S2130;否则,执行S2140。
在本实施例中,如果当前源节点或者当前目标节点中有一个已经布局在节点空位上,则只需要将另外一个没有布局的节点进行布局即可,此时的布局方式请参考S2130。
S270、将所述当前源节点与所述当前目标节点布局在所述相邻网络边缘节点空位对中,执行S2140。
其中,布局方式可以为先布局当前源节点,后布局当前目标节点;也可以为先布局当前目标节点,后布局当前源节点等,本实施例对此并不进行限制。
S280、判断当前是否存在两个不相邻的网络边缘节点空位:若是,执行S290;否则,执行S2100。
续前例,如果当前源节点与当前目标节点均未布局在节点空位,且当前不存在相邻网络边缘节点空位对,则可以继续检测是否可以将当前源节点与当前目标节点均布局在网络边缘节点空位处,也即,判断当前是否存在两个不相邻的网络边缘节点空位。如果存在,则可以将上述当前源节点与当前目标节点均布局在网络边缘节点空位;如果不存在,则需要向传输网络的内部进行布局。
所谓两个不相邻网络边缘节点空位,具体是指两个网络边缘节点空位之间需要通过一个或者多个其他网络边缘节点的中继才能进行数据交互。其中,在图2c中示出了发明实施例所适用的一种节点布局过程的应用场景示意图。如图2c所示,B1和D1这两个节点空位即为两个不相邻的网络边缘节点空位。
如果在当前未布局的节点空位中检测到存在大于两个的不相邻网络边缘节点空位,则可以以设定节点空位作为参考定点,通过随机选择,或者顺时针或者逆时针选择的方式,确定出两个不相邻网络边缘节点空位,布局当前源节点与当前目标节点。
S290、将所述当前源节点与所述当前目标节点布局在所述不相邻的网络边缘节点空位中,执行S2140。
其中,布局方式可以为先布局当前源节点,后布局当前目标节点;也可以为先布局当前目标节点,后布局当前源节点等,本实施例对此并不进行限制。
S2100、判断当前是否存在唯一网络边缘节点空位:若是,执行S2110;否择,执行S2120。
进一步,如果确定当前不存在两个不相邻的网络边缘节点空位,则无法将当前源节点与当前目标节点均布局在网络边缘节点空位处,此时,可以进一步判断当前是否存在唯一网络边缘节点空位,以保证将传输网络中的网络边缘空位全部占满后,再继续向传输网络的内部进行布局。
S2110、将所述当前源节点和当前目标节点中的任一者布局在所述唯一网络边缘节点空位中,并将所述当前源节点和当前目标节点布局中的另一者布局在与所述唯一网络边缘节点空位最接近的非网络边缘节点空位中,执行S2140。
如果确定存在唯一网络边缘节点空位,则可以选择将当前源节点和当前目标节点布局中的一个,布局在该唯一网络边缘节点空位,为了尽可能缩短当前源节点和当前目标节点之间的中继次数,进而可以将当前源节点和当前目标节点布局中的另一个,布局在与所述唯一网络边缘节点空位最接近的非网络边缘节点空位中。
与一个空位最接近的空位,具体是指与该空位的中继次数最小的空位。其中,在图2d中示出了发明实施例所适用的一种节点布局过程的应用场景示意图。如图2d所示,在布局当前源节点与当前目标节点之前,发现仅存在唯一网络边缘节点空位A2,此时,将当前源节点和当前目标节点中的一个布局在A2处,并在非边缘网络节点空位B2、B3、C2和C3中,选择一个与A2中继次数最少的节点空位布局当前源节点和当前目标节点中的另一个。显然,B2与A2之间不需要中继可以直接互传,而B3与A2之间需要经过一次中继(A3或者B2)才能实现数据交互,C2与A2之间需要经过一次中继(B2)才能实现数据交互,C3与A2之间需要经过两次中继(C3->C2->B2->A2,或者,C3->B3->A3->A2)才能实现数据交互,因此,B2是与A2中继次数最少(最接近)的节点空位,因此,可以选择A2和B2布局当前源节点与当前目标节点。
S2120、根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前源节点和当前目标节点进行布局,执行S2140。
具体的,如果全部网络边缘节点空位均已经被节点布满,则需要将当前源节点和当前目标节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。本领域技术人员可以理解的是,可以采取任意方式将节点沿边缘位置朝向中心位置的方向进行布局。
例如,可以将当前已布局完成的全部的网络边缘节点空位首先屏蔽,在传输网络中确定新的网络边缘节点空位,并继续按照之前的方式进行网络边缘节点空位的布局;或者,也可以确定与整个传输网络的轮廓匹配的中心点,并沿距离中心点由远及近的顺序,布局各个节点等,本实施例对此并不进行限制。其中,S2120仅示出了一种可选的,沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式。
具体的,根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前源节点和当前目标节点进行布局的方式,可以为:
分别获取各当前未布局的节点空位的最小边缘距离差;
将当前源节点和当前目标节点中的任一者布局在所述网络边缘位置差最小的未布局的第一目标节点空位中,并将当前源节点和当前目标节点中的另一者布局在与所述第一目标节点空位最接近的未布局的节点空位中。
可选的,在分别获取与各当前未布局的节点空位分别对应的最小边缘距离差之前,还包括:
分别计算每个非网络边缘节点空位与各所述网络边缘节点空位之间的多个距离值,并获取与每个非网络边缘节点空位分别对应的最小距离值,作为非网络边缘节点空位的最小边缘距离差。
在本可选实施方式中,可以首先计算与每个非网络边缘节点空位分别对应的最小边缘距离差,所谓最小边缘距离差,具体是指该非网络边缘节点空位与网络边缘节点空位的最小距离值,该最小距离值可以通过中继次数+1来衡量。例如,如图2d所示,非网络边缘节点空位B2与各个网络边缘节点之间的中继次数为0、1、2、3和4,则可以取得最小值0+1=1,作为B2的最小边缘距离差。
显然,距离网络边缘节点越近的非边缘网络节点,其最小边缘距离差越小,因此,可以通过最小边缘距离差由小到大的顺序,对各节点进行布局,已达到本发明各实施例所需的布局效果。
S2130、将当前目标节点或当前源节点布局在与当前已布局的当前源节点或当前目标节点匹配的未布局的节点空位中,执行S2140。
如前所述,在当前源节点或者当前目标节点中有一个已经布局在节点空位上时,可以根据当前已布局的当前源节点或当前目标节点,确定另一个节点的布局位置。
具体的,以当前已布局的节点为当前源节点为例,如果当前源节点布局在网络边缘节点空位处,则首先检测与该网络边缘节点空位相邻的网络边缘节点空位是否布局有节点,如果该位置没有布局节点,则可以将当前目标节点布局在该相邻的网络边缘节点空位处。如果该位置布局有节点,则可以继续检测是否仍然存在未布局的网络边缘节点空位,如果存在,则可以将当前目标节点布局在该网络边缘节点空位处,如果不存在,则可以将当前目标节点布局在与该当前源节点所布局的节点空位最接近的非网络边缘节点空位处。
其中,在图2e中示出了发明实施例所适用的一种节点布局过程的应用场景示意图。如图2e所示,在获取当前源节点与当前目标节点之后,确定当前源节点已经布局在网络边缘节点空位C1处,此时,首先检测是否存在B1和D1位置处是否布局有节点,在确定上述位置均已布局节点后,继续检测是否存在未布局的网络边缘节点空位,如果确定不存在,则在当前未布局的各非网络边缘节点空位中,选择距离C1最近的一个未布局的节点空位C2,并将当前目标节点布局在C2处。
S2140、判断是否完成对全部节点的布局,若是,结束流程,否则,返回执行S230。
本发明实施例通过获取与芯片中各节点对应的多个路由信息,按照路由信息中数据传输量从大到小的顺序,将芯片中的各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式,基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
实施例三
图3为本发明实施例三提供的一种节点布局方法的实现流程图,本实施例以上述实施例为基础进行细化,在本实施例中,将按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局这一操作进行细化,相应的,本实施例的方法具体包括:
S310、获取多个路由信息。
其中,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量。
S320、按照数据传输量从大到小的顺序,对各所述路由信息进行排序。
S330、按照排序结果,顺序从各所述路由信息中分别获取源节点和目标节点不重叠的加入至节点集合中,以得到与所述芯片中的全部节点对应的节点集合。
在本实施例中,所述节点集合中不重叠的包括有所述芯片中的全部节点,且节点集合中的节点排布顺序,同时反映了各节点的数据传输量从大到小的顺序。因此,依次按照节点集合中的节点顺序进行沿网络边缘节点空位朝向网络中心节点空位的方向,即可实现本发明各实施例的技术效果。
其中,在所述节点集合中标识有属于同一路由信息的源节点和目标节点。这样设置的原因在于,在布局从节点集合中获取的每个节点时,如果与当前布局的节点属于同一路由信息的节点已经被完成布局,则可以将当前布局的节点贴近属于同一路由信息的已布局节点所在的节点空位布局,以最大程度的减少上述两个节点间的中继次数,进而可以提高整个芯片的处理效率。
S340、依次从所述节点集合中获取一个节点作为当前处理节点。
S350、判断当前已布局的节点空位中,是否存在与所述当前处理节点属于同一路由信息的目标关联节点:若是,执行S360;否则执行S370。
S360、将所述当前处理节点布局在与所述目标关联节点所布局的节点空位匹配的未布局的节点空位中,执行S3100。
在本实施例中,如果确定与当前处理节点处于同一路由信息的目标关联节点已经布局在某一个节点空位(例如节点空位A)中,则可以首先检测节点空位A是否为网络边缘节点空位;
若确定节点空位A为网络边缘节点空位,则继续判断是否存在与节点空位A相邻的未布局网络边缘节点空位:若是,则可以直接将当前处理节点直接布局在该未布局网络边缘节点空位;若否,则继续判断是否存在其他未布局的网络节点空位,如果确定存在,则可以直接将该当前处理节点布局在该其他未布局的网络节点空位中,如果确定不存在,则可以将当前处理节点布局在距离节点空位A最近的一个未布局的非网络边缘节点空位中。
若确定节点空位A不为网络边缘节点空位,则确定当前已经不存在未布局的网络边缘节点空位,此时,可以将当前处理节点布局在距离节点空位A最近的一个未布局的非网络边缘节点空位中。
S370、判断当前是否存在网络边缘节点空位:若是,执行S380;否则。执行S390。
S380、将所述当前处理节点布局在所述网络边缘节点空位中,执行S3100。
可选的,如果确定当前布局的各节点中,不存在与当前处理节点处于同一路由信息的节点,则可以仅对当前处理节点按照沿网络边缘节点空位朝向网络中心节点空位的方向进行布局,也即,优先在网络边缘节点空位布局该当前处理节点,如果确定不存在网络边缘节点空位,则可以根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前处理节点进行布局。
S390、根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前处理节点进行布局,执行S3100。
具体的,根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前处理节点进行布局,可以包括:
分别获取各当前未布局的节点空位(非网络边缘节点空位)的最小边缘距离差;将当前处理节点布局在所述网络边缘位置差最小的未布局的节点空位中。
可选的,在分别获取与各当前未布局的节点空位分别对应的最小边缘距离差之前,还可以包括:
分别计算每个非网络边缘节点空位与各所述网络边缘节点空位之间的多个距离值,并获取与每个非网络边缘节点空位分别对应的最小距离值,作为非网络边缘节点空位的最小边缘距离差。
S3100、判断是否完成对节点集合中全部节点的布局:若是,结束流程,否则,返回执行S340。
本发明实施例通过获取与芯片中各节点对应的多个路由信息,按照路由信息中数据传输量从大到小的顺序,将芯片中的各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式,基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
实施例四
图4为本发明实施例四提供的一种节点布局方法的实现流程图,本实施例可适用于根据各节点的数据传输量大小,将各节点布局在芯片的各节点空位中,且各节点空位中预先布局有至少一个节点的情况,该方法可以由节点布局装置来执行,该装置可以由软件,和/或硬件的方式实现,并一般可以集成在具有数据计算功能的计算机设备上,本发明实施例的方法具体包括如下步骤:
S410、获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
S420、按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
本实施例的技术方案适用于芯片中的节点空位已经预布局了一个或者多个节点空位的情况。此时,可以根据路由信息将未布局的节点进行布局,并将预布局的节点调整至最佳节点空位处,以使得每个节点都能在最适宜的位置发挥最大的效能。
具体的,可以按照数据传输量从大到小的顺序,将各所述路由信息进行排序,并按照排序结果,依次获取当前路由信息;
获取当前路由信息中的当前源节点和当前目标节点,如果当前源节点和当前目标节点中的至少一个未布局在节点空位处,则可以在当前未布局的节点空位处或者预布局的节点空位处,确定最适宜当前源节点和当前目标节点布局的节点空位进行布局,并在检测到所确定布局的节点空位处预布局有其他节点时,按照预设的移动规则对其他节点进行移动处理(例如,平移,或者沿某一方向进行移动等),以将其他节点移动至新的未布局的节点空位处进行预布局。
返回执行按照排序结果,依次获取当前处理路由信息的操作,直至完成对全部节点的布局。
本发明实施例通过获取与芯片中各节点对应的多个路由信息,按照路由信息中数据传输量从大到小的顺序,将芯片中的各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式,基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
实施例五
图5是本发明实施例五提供的一种节点布局装置的结构图。芯片包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述装置包括:路由信息获取模块510以及节点布局模块520,其中:
路由信息获取模块510,用于获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
节点布局模块520,用于按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
本发明实施例通过获取与芯片中各节点对应的多个路由信息,按照路由信息中数据传输量从大到小的顺序,将芯片中的各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式,基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
在上述各实施例的基础上,节点布局模块520具体可以包括:
路由信息排序单元,用于按照数据传输量从大到小的顺序,将各所述路由信息进行排序,并按照排序结果,依次获取当前路由信息;
单节点布局单元,用于获取当前路由信息中的当前源节点和当前目标节点,并将当前源节点和当前目标节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局;
重复执行单元,用于返回执行按照排序结果,依次获取当前处理路由信息的操作,直至完成对全部节点的布局。
在上述各实施例的基础上,所述单节点布局单元,可以具体包括:
相邻网络边缘节点空位对判断子单元,用于如果确定当前源节点与当前目标节点均未布局在节点空位中,则判断当前是否存在未布局的相邻网络边缘节点空位对;
相邻网络边缘节点空位对布局子单元,用于如果确定存在未布局的相邻网络边缘节点空位对,则将所述当前源节点与所述当前目标节点布局在所述相邻网络边缘节点空位对中。
在上述各实施例的基础上,还可以包括:
不相邻的网络边缘节点空位判断子单元,用于在判断当前是否存在未布局的相邻网络边缘节点空位对之后,如果确定不存在未布局的相邻网络边缘节点空位对,则判断当前是否存在两个不相邻的网络边缘节点空位;
唯一网络边缘节点空位判断子单元,用于如果当前存在两个不相邻的网络边缘节点空位,则将所述当前源节点与所述当前目标节点布局在所述不相邻的网络边缘节点空位中;如果当前不存在两个不相邻的网络边缘节点空位,继续判断当前是否存在唯一网络边缘节点空位;
唯一网络边缘节点空位布局子单元,用于如果确定存在唯一网络边缘节点空位,则将所述当前源节点和当前目标节点中的任一者布局在所述唯一网络边缘节点空位中,并将所述当前源节点和当前目标节点布局中的另一者布局在与所述唯一网络边缘节点空位最接近的非网络边缘节点空位中;
无网络边缘节点空位布局子单元,用于如果确定不存在网络边缘节点空位,则根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前源节点和当前目标节点进行布局。
在上述各实施例的基础上,所述无网络边缘节点空位布局子单元,具体可以用于:
分别获取各当前未布局的节点空位的最小边缘距离差;
将当前源节点和当前目标节点中的任一者布局在所述网络边缘位置差最小的未布局的第一目标节点空位中,并将当前源节点和当前目标节点中的另一者布局在与所述第一目标节点空位最接近的未布局的节点空位中。
在上述各实施例的基础上,所述无网络边缘节点空位布局子单元,还可以用于:在分别获取与各当前未布局的节点空位分别对应的最小边缘距离差之前,分别计算每个非网络边缘节点空位与各所述网络边缘节点空位之间的多个距离值,并获取与每个非网络边缘节点空位分别对应的最小距离值,作为非网络边缘节点空位的最小边缘距离差。
在上述各实施例的基础上,所述单节点布局单元,还可以用于:
如果确定所述当前源节点已布局在第二目标节点空位中,且所述当前目标节点未布局在任一节点空位中,则将所述当前目标节点布局在与所述第二目标节点空位匹配的未布局的节点空位中;或者
如果确定所述当前目标节点已布局在第三目标节点空位中,且所述当前源节点未布局在任一节点空位中,则将所述当前源节点布局在与所述第三目标节点空位匹配的未布局的节点空位中。
在上述各实施例的基础上,所述单节点布局单元,还可以用于:
如果确定所述当前源节点和所述当前目标节点均已布局在节点空位中,则返回执行按照排序结果,获取当前处理路由信息的操作。
在上述各实施例的基础上,节点布局模块520具体可以包括:
路由信息排序单元,用于按照数据传输量从大到小的顺序,对各所述路由信息进行排序;
节点集合生成单元,用于按照排序结果,顺序从各所述路由信息中分别获取源节点和目标节点不重叠的加入至节点集合中,以得到与所述芯片中的全部节点对应的节点集合;
其中,在所述节点集合中标识有属于同一路由信息的源节点和目标节点;
节点布局单元,用于按照所述节点集合中的节点顺序以及节点间的路由信息关系,将各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
在上述各实施例的基础上,所述节点布局单元可以具体用于:
依次从所述节点集合中获取一个节点作为当前处理节点;
判断当前已布局的节点空位中,是否存在与所述当前处理节点属于同一路由信息的目标关联节点;
如果确定存在所述目标关联节点,将所述当前处理节点布局在与所述目标关联节点所布局的节点空位匹配的未布局的节点空位中;
如果确定不存在所述目标关联节点,则判断当前是否存在网络边缘节点空位:
若是,则将所述当前处理节点布局在所述网络边缘节点空位中;否则,根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前处理节点进行布局;
返回执行依次从所述节点集合中获取一个节点作为当前处理节点,直至完成对所述节点集合中全部节点的布局。
本发明实施例通过获取与芯片中各节点对应的多个路由信息,按照路由信息中数据传输量从大到小的顺序,将芯片中的各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局的方式,基于节点在网络中的布局位置决定了节点在数据传输过程中的使用频度这一结论,创造性的提出了根据节点的数据传输量对各节点进行芯片内布局的新方式,充分利用了芯片中各节点的最大效能,进而可以提高整个芯片的处理效率。
本发明实施例所提供的节点布局装置可执行本发明任意实施例所提供的节点布局方法,具备执行方法相应的功能模块和有益效果。
实施例六
图6是本发明实施例六提供的一种节点布局装置的结构图。芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述芯片中预布局有至少一个节点,所述装置包括:路由信息获取模块610以及节点移动布局模块620,其中:
路由信息获取模块610,用于获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
节点移动布局模块620,用于按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
本发明实施例所提供的节点布局装置可执行本发明任意实施例所提供的节点布局方法,具备执行方法相应的功能模块和有益效果。
实施例七
图7a为本发明实施例七提供的一种计算机设备的结构示意图,如图7a所示,该计算机设备包括处理器70、存储器71、输入装置72和输出装置73;计算机设备中处理器70的数量可以是一个或多个,图7a中以四个处理器70为例;计算机设备中的处理器70、存储器71、输入装置72和输出装置73可以通过总线或其他方式连接,图7a中以通过总线连接为例。
在图7a中,四个处理器70之间可以共同配合,实现本发明任意实施例所述的方法。
其中,在图7b中示出了本发明实施例所适用的一种处理器的内部结构图,如图7b所示,该处理器70对应本发明任一实施例所述的芯片,每个芯片中包括一个或者多个节点(也可以称为计算核)703,图7b中示出的4个节点仅作为示例,实际上,可以根据实际需要在芯片上设置所需数量的节点,本实施例对此并不进行限制。每个节点703中,包括计算单元701和存储单元702,计算单元701用于实现节点703内的核心计算,存储单元702用于对节点703内计算得到的数据进行片内存储。
存储器71作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的节点布局方法对应的程序指令/模块(例如,一种节点布局装置中的路由信息获取模块510以及节点布局模块520,或者另一种节点布局装置中的路由信息获取模块610以及节点移动布局模块620)。处理器70通过运行存储在存储器71中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的节点布局方法。
也即:实现如本发明任意实施例所述的节点布局方法,芯片包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
或者,实现如本发明任意实施例所述的节点布局方法,芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述芯片中预布局有至少一个节点,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
存储器71可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器71可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器71可进一步包括相对于处理器70远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置72可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入。输出装置73可包括显示屏等显示设备。
实施例八
本发明实施例八还提供一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行一种节点布局方法,芯片包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
或者,计算机可执行指令在由计算机处理器执行时用于执行另一种节点布局方法,芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述芯片中预布局有至少一个节点,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
当然,本发明实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的节点布局方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述节点布局装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (15)
1.一种节点布局方法,其特征在于,芯片包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
2.根据权利要求1所述的方法,其特征在于,按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局,包括:
按照数据传输量从大到小的顺序,将各所述路由信息进行排序,并按照排序结果,依次获取当前路由信息;
获取当前路由信息中的当前源节点和当前目标节点,并将当前源节点和当前目标节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局;
返回执行按照排序结果,依次获取当前处理路由信息的操作,直至完成对全部节点的布局。
3.根据权利要求2所述的方法,其特征在于,将当前源节点和当前目标节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局,包括:
如果确定当前源节点与当前目标节点均未布局在节点空位中,则判断当前是否存在未布局的相邻网络边缘节点空位对;
如果确定存在未布局的相邻网络边缘节点空位对,则将所述当前源节点与所述当前目标节点布局在所述相邻网络边缘节点空位对中。
4.根据权利要求3所述的方法,其特征在于,在判断当前是否存在未布局的相邻网络边缘节点空位对之后,还包括:
如果确定不存在未布局的相邻网络边缘节点空位对,则判断当前是否存在两个不相邻的网络边缘节点空位;
若是,则将所述当前源节点与所述当前目标节点布局在所述不相邻的网络边缘节点空位中;否则,继续判断当前是否存在唯一网络边缘节点空位;
如果确定存在唯一网络边缘节点空位,则将所述当前源节点和当前目标节点中的任一者布局在所述唯一网络边缘节点空位中,并将所述当前源节点和当前目标节点布局中的另一者布局在与所述唯一网络边缘节点空位最接近的非网络边缘节点空位中;
如果确定不存在网络边缘节点空位,则根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前源节点和当前目标节点进行布局。
5.根据权利要求4所述的方法,其特征在于,根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前源节点和当前目标节点进行布局,包括:
分别获取各当前未布局的节点空位的最小边缘距离差;
将当前源节点和当前目标节点中的任一者布局在所述网络边缘位置差最小的未布局的第一目标节点空位中,并将当前源节点和当前目标节点中的另一者布局在与所述第一目标节点空位最接近的未布局的节点空位中。
6.根据权利要求5所述的方法,其特征在于,在分别获取与各当前未布局的节点空位分别对应的最小边缘距离差之前,还包括:
分别计算每个非网络边缘节点空位与各所述网络边缘节点空位之间的多个距离值,并获取与每个非网络边缘节点空位分别对应的最小距离值,作为非网络边缘节点空位的最小边缘距离差。
7.根据权利要求3所述的方法,其特征在于,将当前源节点和当前目标节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局,还包括:
如果确定所述当前源节点已布局在第二目标节点空位中,且所述当前目标节点未布局在任一节点空位中,则将所述当前目标节点布局在与所述第二目标节点空位匹配的未布局的节点空位中;或者
如果确定所述当前目标节点已布局在第三目标节点空位中,且所述当前源节点未布局在任一节点空位中,则将所述当前源节点布局在与所述第三目标节点空位匹配的未布局的节点空位中。
8.根据权利要求3所述的方法,其特征在于,将当前源节点和当前目标节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局,还包括:
如果确定所述当前源节点和所述当前目标节点均已布局在节点空位中,则返回执行按照排序结果,获取当前处理路由信息的操作。
9.根据权利要求1所述的方法,其特征在于,按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局,包括:
按照数据传输量从大到小的顺序,对各所述路由信息进行排序;
按照排序结果,顺序从各所述路由信息中分别获取源节点和目标节点不重叠的加入至节点集合中,以得到与所述芯片中的全部节点对应的节点集合;
其中,在所述节点集合中标识有属于同一路由信息的源节点和目标节点;
按照所述节点集合中的节点顺序以及节点间的路由信息关系,将各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
10.根据权利要求9所述的方法,其特征在于,按照所述节点集合中的节点顺序以及节点间的路由信息关系,将各节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局,包括:
依次从所述节点集合中获取一个节点作为当前处理节点;
判断当前已布局的节点空位中,是否存在与所述当前处理节点属于同一路由信息的目标关联节点;
如果确定存在所述目标关联节点,将所述当前处理节点布局在与所述目标关联节点所布局的节点空位匹配的未布局的节点空位中;
如果确定不存在所述目标关联节点,则判断当前是否存在网络边缘节点空位:
若是,则将所述当前处理节点布局在所述网络边缘节点空位中;否则,根据当前未布局的节点空位与各所述网络边缘节点空位的位置关系,对所述当前处理节点进行布局;
返回执行依次从所述节点集合中获取一个节点作为当前处理节点,直至完成对所述节点集合中全部节点的布局。
11.一种节点的布局方法,其特征在于,芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述芯片中预布局有至少一个节点,所述方法包括:
获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
12.一种节点布局装置,其特征在于,芯片包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述装置包括:
路由信息获取模块,用于获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
节点布局模块,用于按照所述数据传输量从大到小的顺序,将各所述节点沿网络边缘节点空位朝向网络中心节点空位的方向进行布局。
13.一种节点的布局装置,其特征在于,芯片中包括多个节点和多个节点空位,各节点对应布局于节点空位中构成传输网络,所述芯片中预布局有至少一个节点,所述装置包括:
路由信息获取模块,用于获取多个路由信息,所述路由信息包括:发送数据的源节点、接收数据的目标节点和数据传输量;
节点移动布局模块,用于按照所述数据传输量从大到小顺序以及沿网络边缘节点空位朝向网络中心节点空位方向的布局方式,对预布局的各节点进行移动处理,并将未布局的各节点进行布局。
14.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-10中任一所述的节点布局方法,或者,实现如权利要求11中所述的节点布局方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-10中任一所述的节点布局方法,或者,实现如权利要求11中所述的节点布局方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010868916.4A CN111985181B (zh) | 2020-08-25 | 2020-08-25 | 一种节点布局方法、装置、计算机设备及存储介质 |
PCT/CN2021/112964 WO2022042368A1 (zh) | 2020-08-25 | 2021-08-17 | 一种逻辑节点布局方法、装置、计算机设备及存储介质 |
US17/909,417 US11694014B2 (en) | 2020-08-25 | 2021-08-17 | Logical node layout method and apparatus, computer device, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010868916.4A CN111985181B (zh) | 2020-08-25 | 2020-08-25 | 一种节点布局方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111985181A true CN111985181A (zh) | 2020-11-24 |
CN111985181B CN111985181B (zh) | 2023-09-22 |
Family
ID=73444136
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010868916.4A Active CN111985181B (zh) | 2020-08-25 | 2020-08-25 | 一种节点布局方法、装置、计算机设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11694014B2 (zh) |
CN (1) | CN111985181B (zh) |
WO (1) | WO2022042368A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022042368A1 (zh) * | 2020-08-25 | 2022-03-03 | 北京灵汐科技有限公司 | 一种逻辑节点布局方法、装置、计算机设备及存储介质 |
CN114338506A (zh) * | 2022-03-15 | 2022-04-12 | 之江实验室 | 一种类脑计算机操作系统的神经任务片内路由方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035023A (zh) * | 2007-03-07 | 2007-09-12 | 华为技术有限公司 | 一种网络结构拓扑布局的方法及网管设备 |
US20140369179A1 (en) * | 2012-01-27 | 2014-12-18 | Omron Corporation | Data relay device, data transmission device, and network system |
CN105450481A (zh) * | 2014-07-10 | 2016-03-30 | 龙芯中科技术有限公司 | 片上网络的布局优化方法及装置 |
US20170366426A1 (en) * | 2016-06-15 | 2017-12-21 | Algoblu Holdings Limited | Dynamic switching between edge nodes in autonomous network system |
CN110166279A (zh) * | 2019-04-09 | 2019-08-23 | 中南大学 | 一种非结构化云数据管理系统的动态布局方法 |
CN111194064A (zh) * | 2019-11-06 | 2020-05-22 | 周口师范学院 | 数据传输方法、装置、计算机设备和存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101210273B1 (ko) * | 2008-12-18 | 2012-12-10 | 한국전자통신연구원 | 온칩 네트워크 토폴로지 합성 방법 |
CN106339350B (zh) | 2016-08-23 | 2019-01-11 | 中国科学院计算技术研究所 | 众核处理器片上访存距离优化的方法及其装置 |
US10891132B2 (en) * | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Flow convergence during hardware-software design for heterogeneous and programmable devices |
US10891414B2 (en) * | 2019-05-23 | 2021-01-12 | Xilinx, Inc. | Hardware-software design flow for heterogeneous and programmable devices |
US11188312B2 (en) * | 2019-05-23 | 2021-11-30 | Xilinx, Inc. | Hardware-software design flow with high-level synthesis for heterogeneous and programmable devices |
CN110955463B (zh) | 2019-12-03 | 2022-07-29 | 缀初网络技术(上海)有限公司 | 支持边缘计算的物联网多用户计算卸载方法 |
CN111985181B (zh) * | 2020-08-25 | 2023-09-22 | 北京灵汐科技有限公司 | 一种节点布局方法、装置、计算机设备及存储介质 |
-
2020
- 2020-08-25 CN CN202010868916.4A patent/CN111985181B/zh active Active
-
2021
- 2021-08-17 WO PCT/CN2021/112964 patent/WO2022042368A1/zh active Application Filing
- 2021-08-17 US US17/909,417 patent/US11694014B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101035023A (zh) * | 2007-03-07 | 2007-09-12 | 华为技术有限公司 | 一种网络结构拓扑布局的方法及网管设备 |
US20140369179A1 (en) * | 2012-01-27 | 2014-12-18 | Omron Corporation | Data relay device, data transmission device, and network system |
CN105450481A (zh) * | 2014-07-10 | 2016-03-30 | 龙芯中科技术有限公司 | 片上网络的布局优化方法及装置 |
US20170366426A1 (en) * | 2016-06-15 | 2017-12-21 | Algoblu Holdings Limited | Dynamic switching between edge nodes in autonomous network system |
CN110166279A (zh) * | 2019-04-09 | 2019-08-23 | 中南大学 | 一种非结构化云数据管理系统的动态布局方法 |
CN111194064A (zh) * | 2019-11-06 | 2020-05-22 | 周口师范学院 | 数据传输方法、装置、计算机设备和存储介质 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022042368A1 (zh) * | 2020-08-25 | 2022-03-03 | 北京灵汐科技有限公司 | 一种逻辑节点布局方法、装置、计算机设备及存储介质 |
US11694014B2 (en) | 2020-08-25 | 2023-07-04 | Lynxi Technologies Co., Ltd. | Logical node layout method and apparatus, computer device, and storage medium |
CN114338506A (zh) * | 2022-03-15 | 2022-04-12 | 之江实验室 | 一种类脑计算机操作系统的神经任务片内路由方法及装置 |
CN114338506B (zh) * | 2022-03-15 | 2022-08-05 | 之江实验室 | 一种类脑计算机操作系统的神经任务片内路由方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111985181B (zh) | 2023-09-22 |
WO2022042368A1 (zh) | 2022-03-03 |
US11694014B2 (en) | 2023-07-04 |
US20230089320A1 (en) | 2023-03-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109408257B (zh) | 用于片上网络noc的数据传输方法、装置及电子设备 | |
CN110012044B (zh) | 动态工作移转方法及服务器 | |
CN109451540B (zh) | 一种网络切片的资源分配方法和设备 | |
JP2016527636A (ja) | ネットワークオンチップアーキテクチャにおけるシステムレベルシミュレーション | |
EP0533835A1 (en) | Generating communication arrangements for massively parallel processing systems | |
CN104298541A (zh) | 云存储系统的数据分布算法及其装置 | |
CN111985181A (zh) | 一种节点布局方法、装置、计算机设备及存储介质 | |
CN108304256B (zh) | 一种边缘计算中低开销的任务调度方法及装置 | |
CN105634974A (zh) | 软件定义网络中的路由确定方法和装置 | |
CN103914556A (zh) | 大规模图数据处理方法 | |
US10547514B2 (en) | Automatic crossbar generation and router connections for network-on-chip (NOC) topology generation | |
Miura et al. | An adaptive routing of the 2-D torus network based on turn model | |
Liszka et al. | Problems with comparing interconnection networks: Is an alligator better than an armadillo? | |
CN103299298A (zh) | 处理业务的方法和系统 | |
CN117176638A (zh) | 一种路由路径确定方法及相关组件 | |
CN108541365B (zh) | 用于交换机中拥塞信息的分发的设备和方法 | |
Dorier et al. | Evaluation of topology-aware broadcast algorithms for dragonfly networks | |
Saravanakumar et al. | Cluster based hierarchical routing algorithm for network on chip | |
CN114416329A (zh) | 计算任务部署方法、装置、电子设备及存储介质 | |
Afsharpour et al. | Performance/energy aware task migration algorithm for many‐core chips | |
US10084725B2 (en) | Extracting features from a NoC for machine learning construction | |
Momeni et al. | Improved-XY: A High Performance Wormhole-Switched Routing Algorithm for Irregular 2-D Mesh NoC | |
Karlsson et al. | Optimizing process-to-core mappings for two dimensional broadcast/reduce on multicore architectures | |
CN115865783B (zh) | 目标节点的确定方法、装置及计算机可读存储介质 | |
Prasad et al. | High-speed virtual logic network on chip router architecture for various topologies |
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 |