CN108694156B - 一种基于缓存一致性行为的片上网络流量合成方法 - Google Patents
一种基于缓存一致性行为的片上网络流量合成方法 Download PDFInfo
- Publication number
- CN108694156B CN108694156B CN201810337335.0A CN201810337335A CN108694156B CN 108694156 B CN108694156 B CN 108694156B CN 201810337335 A CN201810337335 A CN 201810337335A CN 108694156 B CN108694156 B CN 108694156B
- Authority
- CN
- China
- Prior art keywords
- network
- trace
- chip
- state
- grained
- 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
Links
Images
Classifications
-
- 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/781—On-chip cache; Off-chip memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于缓存一致性行为的片上网络流量合成方法。步骤为,将CPU、缓存和目录抽象为一个节点模型;经全系统仿真,统计片上网络架构中由缓存一致性约束产生的路由节点数据包收发情况;提取体现应用流量时间分布特性和空间分布特性的特征向量;基于特征向量,使用马尔科夫调制模型合成片上网络流量。本发明能够快速提供准确的片上网络流量,节约全系统仿真采集流量的时间,加速片上网络架构的探索进程。该方法合成的网络流量在时间分布和空间分布特性上与真实的网络流量一致,足以用来辅助片上网络架构的设计。
Description
技术领域
本发明属于片上网络流量合成技术,特别涉及了一种基于缓存一致性行为的片上网络流量合成方法。
背景技术
片上系统(System On Chip,SoC)以其集成度高、体积小、功耗低等优点得到了非常广泛的应用。随着半导体工艺技术的飞速进步和体系结构的不断发展,单核处理器的设计技术已经无法满足性能、成本等方面的设计需求,多核处理器技术的发展是必然趋势,但是目前的总线模型限制了核间通信性能,所以片上网络架构的研究被提上日程。
学术界和工业界对于片上网络的研究主要是为了提高片上网络的性能。网络性能评估极大地依赖于网络流量,对网络架构、协议以及实现等广泛的设计空间的透彻理解,针对片上网络中流量的生成的研究是必不可少的。然而,目前还没有完备的NoC网络流量生成技术。在已有的研究中,设计者通常是依靠简单的合成流量模式,例如均匀流量模型,泊松流量模型,ON/OFF流量模型等,在设计初期对片上网络架构进行“压力测试”。这些流量模型的流量合成形式简单,使用时灵活性很强,但是它们仅仅是用很简单的函数拟合形成的,精确度很低,不适用于对未来片上网络性能的评估以及网络架构的探索。使用基于全系统仿真生成的流量直接作为片上网络架构探索研究的输入,虽然精确度很高,但是流量获取复杂度高,灵活性很差,导致了架构评估耗时的增加。以应用程序时间和空间特性为依据的合成流量,可以真实反映应用程序对片上网络架构产生的压力,为早期架构探索缩短了时间,因此基于真实应用程序特性的网络流量合成显得尤为重要。
为了保证片上系统性能评估的精确性以及网络架构探索的准确性,片上网络流量合成依据应该在片上网络架构中运行具体的应用程序来提取,借助数学的方法进行科学的分析,得到准确的合成流量。
发明内容
为了解决上述背景技术提出的技术问题,本发明旨在提供一种基于缓存一致性行为的片上网络流量合成方法,缩减流量合成的时间花费,提高流量合成的精确度。
为了实现上述技术目的,本发明的技术方案为:
一种基于缓存一致性行为的片上网络流量合成方法,包括以下步骤:
(1)将CPU、缓存和目录抽象为一个节点模型;
(2)经全系统仿真,统计片上网络架构中由缓存一致性约束产生的路由节点数据包收发情况;
(3)提取体现应用流量时间分布特性和空间分布特性的特征向量;
(4)基于特征向量,使用马尔科夫调制模型合成片上网络流量。
进一步地,步骤(1)的具体步骤如下:
(101)忽略CPU核、一级缓存和二级缓存之间的细节区别,把CPU、缓存和目录分别抽象为网络架构中的节点模型;
(102)抽象的节点模型通过网络接口与片上网络架构中的路由节点连接,从而构成一个同构多核的SoC。
进一步地,步骤(2)的具体步骤如下:
(201)选择缓存性一致性协议;
(202)选择全系统仿真平台和benchmark;
(203)设计trace中需要统计的信息,这些信息包括但不限于:每个路由节点接收或发送的数据包数量,每个数据包的最初发送源和最终目的路由节点,片上网络中路由节点的总数量;
(204)修改全系统仿真平台的trace统计代码,然后在仿真平台上运行benchmark中的程序,获取trace。
进一步地,步骤(3)的具体步骤如下:
(301)根据时间分布特定和空间分布特性定义特征向量;
(302)通过低频采样将仿真获取的trace分隔成片段,根据trace中记录的信息,定义每个trace片段的特征向量;
(303)通过聚类算法,从低频采样所得的trace片段中根据其代表空间分布特性的特征向量分类,并筛选出特征明显的粗粒度trace片段,将这些粗粒度trace片段定义为不同的状态类型;
(304)对筛选出来的粗粒度trace片段进行高频采样,将获取的粗粒度trace片段分隔成新的片段,根据trace中记录的信息,定义每个新片段的特征向量;
(305)通过聚类算法,从高频采样所得的trace片段中根据其代表时间分布特性的特征向量分类,并进一步筛选出特征明显的细粒度trace片段,将这些细粒度trace片段定义为不同的状态类型。
进一步地,在步骤(301)中,定义2个代表时间分布特性的特征向量:
①采样时间间隔内,片上网络中所有路由节点的数据包总和;
②采样时间间隔内,片上网络中每个路由节点的数据包数量;
定义2个代表空间分布特性的特征向量:
①采样时间间隔内,片上网络中每行或者每列路由节点的数据包数量之和;
②采样时间间隔内,片上网络中对应每对源路由节点和目的路由节点的数据包数量之和。
进一步地,步骤(4)的具体步骤如下:
(401)定义状态转移概率矩阵,根据粗、细粒度trace片段中的信息,分别计算各自的状态转移概率矩阵;
(402)确定初始状态;
(403)在当前的粗粒度状态中确定下一个细粒度状态,方法是:产生一个0-1之间的随机数,根据细粒度trace片段对应的状态转移概率矩阵,选择跳转概率最接近随机数的下一个细粒度状态;重复步骤(403),直到满足运行时间等于低频采样间隔时间,转入步骤(404);
(404)产生一个0-1之间的随机数,根据粗粒度trace片段对应的状态转移概率矩阵,选择跳转概率最接近随机数的下一粗粒度状态,判断运行时间的总和是否等于设定的总运行时间,若是,则结束合成,若否,则跳转到步骤(403)。
进一步地,所述状态转移概率矩阵为K行K列的方阵,其中K由trace片段聚类后所得类别数决定,矩阵中第i行第j列的元素Pij计算公式如下:
上式中,Nij表示trace片段中从i状态到j状态转换的总次数,Nim表示trace片段中从i状态到任意m状态转换的总次数。
采用上述技术方案带来的有益效果:
本发明快速提供准确的片上网络流量,节约全系统仿真采集流量的时间,加速片上网络架构的探索进程。本发明合成的网络流量在时间分布和空间分布特性上与真实的网络流量一致,足以用来辅助片上网络架构的设计。实验证明,在时间指标上,本发明与传统全系统仿真相比,可以节约50倍仿真时间;在性能指标上,与传统全系统仿真相比,精度误差控制在10%以内。
附图说明
图1是本发明的基本流程图;
图2是以一颗同构多核SoC为例建立的抽象节点模型示意图;
图3是粗细粒度的状态整体转换示意图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
本发明设计一种基于缓存一致性行为的片上网络流量合成方法,如图1所示,步骤如下。
步骤1:将CPU、缓存和目录抽象为一个节点模型。
忽略CPU核、一级缓存和二级缓存之间的细节区别,把CPU、缓存和目录分别抽象为网络架构中的节点模型,抽象的节点模型通过网络接口(NI)与片上网络架构中的路由节点相连接,从而构成了一个同构多核的SoC。如图2所示,图中大方格分别表示CPU、缓存和目录的抽象节点模型,小方格表示路由节点,小方格之间的连线表示路由节点之间传递数据的通道。图2的右侧表示一个抽象的节点模型中包括CPU核,一级缓存,二级缓存,目录一级网络接口。
步骤2:经全系统仿真,统计片上网络架构中由缓存一致性约束产生的路由节点数据包收发情况。
选择缓存一致性协议,本实施例选择的一致性协议是MOESI协议,其中使用的CMP架构组合的SoC布局模式;选择全系统仿真平台,同时选择要使用的benchmark——Splash-2;设计trace中需要统计的信息,trace中记录的信息包括但不局限于:每个路由节点接收或发送的数据包数量,每个数据包的最初发送源以及最终目的路由节点,片上网络中路由节点的总数量等;修改仿真平台的trace统计代码,之后在仿真平台上运行Splash-2中的程序,获取trace。
步骤3:提取体现应用流量时间分布和空间分布特性的特征向量。
采用高低频两种采样率以降低trace中数据包时空特征的处理量。低频采样率推荐选择数万cycles为间隔。通过聚类算法,从低频采样所得trace片段中根据其代表空间分布特性的特征向量分类,并筛选出特征明显的片段。将这些粗粒度特征片段定义为不同状态类型,如图3中大圆表示。接着对筛选出来的粗粒度片段进行高频采样,推荐以数百cycles为间隔。由聚类算法,从高频采样所得trace片段中根据其代表时间分布特性的特征向量分类,再进一步筛选出特征明显的细粒度片段。将这些细粒度特征片段定义为不同状态类型,如图3中小圆表示。
步骤4:基于特征向量,使用马尔科夫调制模型合成片上网络流量。
首先定义状态转移概率矩阵,根据粗、细粒度trace片段中的信息,分别计算各自的状态转移概率矩阵。状态转移概率矩阵为K行K列的方阵,其中K由trace片段聚类后所得类别数决定,矩阵中第i行第j列的元素Pij计算公式如下:
上式中,Nij表示trace片段中从i状态到j状态转换的总次数,Nim表示trace片段中从i状态到任意m状态转换的总次数。
然后使用马尔科夫调制模型的流量合成过程:
(1)确定初始状态,例如图3中A-1小圆;
(2)在当前的粗粒度状态中确定下一个细粒度状态。产生一个0-1之间的随机数,根据细粒度trace片段对应的状态转移概率矩阵,选择跳转概率最接近随机数的下一细粒度状态。重复步骤(2),直到满足运行时间(在细粒度下执行所花费的总时间)等于低频采样率间隔时间,执行下一步;
(3)产生一个0-1之间的随机数,根据粗粒度trace片段对应的状态转移概率矩阵,选择跳转概率最接近随机数的下一粗粒度状态。判断运行时间的总和(粗粒度状态转换的次数与粗粒度运行时间的乘积)是否等于设定的运行时间(设定的运行时间至少是粗粒度状态个数与低频采样间隔时间乘积的两倍,以达到最佳合成效果),如果满足,执行下一步,如不满足,跳转到步骤(2);
(4)结束合成。
合成的网络流量具备以下特征:
1、在任意时刻任意网络节点处的合成流量均符合应用程序在片上网络架构上的时间与空间分布特性;
2、缩短了真实应用程序在片上网络架构中产生流量的时间开销;
3、生成合成流量的时间可控,由于合成流量的大小比真实应用产生的流量小,并且数据包包含的信息量也比真实应用产生的数据包少。
实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。
Claims (5)
1.一种基于缓存一致性行为的片上网络流量合成方法,其特征在于,包括以下步骤:
(1)将CPU、缓存和目录抽象为一个节点模型;
(2)经全系统仿真,统计片上网络架构中由缓存一致性约束产生的路由节点数据包收发情况;该步骤的具体步骤如下:
(201)选择缓存性一致性协议;
(202)选择全系统仿真平台和benchmark;
(203)设计trace中需要统计的信息,这些信息包括但不限于:每个路由节点接收或发送的数据包数量,每个数据包的最初发送源和最终目的路由节点,片上网络中路由节点的总数量;
(204)修改全系统仿真平台的trace统计代码,然后在仿真平台上运行benchmark中的程序,获取trace;
(3)提取体现应用流量时间分布特性和空间分布特性的特征向量;该步骤的具体步骤如下:
(301)根据时间分布特定和空间分布特性定义特征向量;
(302)通过低频采样将仿真获取的trace分隔成片段,根据trace中记录的信息,定义每个trace片段的特征向量;
(303)通过聚类算法,从低频采样所得的trace片段中根据其代表空间分布特性的特征向量分类,并筛选出特征明显的粗粒度trace片段,将这些粗粒度trace片段定义为不同的状态类型;
(304)对筛选出来的粗粒度trace片段进行高频采样,将获取的粗粒度trace片段分隔成新的片段,根据trace中记录的信息,定义每个新片段的特征向量;
(305)通过聚类算法,从高频采样所得的trace片段中根据其代表时间分布特性的特征向量分类,并进一步筛选出特征明显的细粒度trace片段,将这些细粒度trace片段定义为不同的状态类型;
(4)基于特征向量,使用马尔科夫调制模型合成片上网络流量。
2.根据权利要求1所述基于缓存一致性行为的片上网络流量合成方法,其特征在于,步骤(1)的具体步骤如下:
(101)忽略CPU核、一级缓存和二级缓存之间的细节区别,把CPU、缓存和目录分别抽象为网络架构中的节点模型;
(102)抽象的节点模型通过网络接口与片上网络架构中的路由节点连接,从而构成一个同构多核的SoC。
3.根据权利要求1所述基于缓存一致性行为的片上网络流量合成方法,其特征在于,在步骤(301)中,定义2个代表时间分布特性的特征向量:
①采样时间间隔内,片上网络中所有路由节点的数据包总和;
②采样时间间隔内,片上网络中每个路由节点的数据包数量;
定义2个代表空间分布特性的特征向量:
①采样时间间隔内,片上网络中每行或者每列路由节点的数据包数量之和;
②采样时间间隔内,片上网络中对应每对源路由节点和目的路由节点的数据包数量之和。
4.根据权利要求1所述基于缓存一致性行为的片上网络流量合成方法,其特征在于,步骤(4)的具体步骤如下:
(401)定义状态转移概率矩阵,根据粗、细粒度trace片段中的信息,分别计算各自的状态转移概率矩阵;
(402)确定初始状态;
(403)在当前的粗粒度状态中确定下一个细粒度状态,方法是:产生一个0-1之间的随机数,根据细粒度trace片段对应的状态转移概率矩阵,选择跳转概率最接近随机数的下一个细粒度状态;重复步骤(403),直到满足运行时间等于低频采样间隔时间,转入步骤(404);
(404)产生一个0-1之间的随机数,根据粗粒度trace片段对应的状态转移概率矩阵,选择跳转概率最接近随机数的下一粗粒度状态,判断运行时间的总和是否等于设定的总运行时间,若是,则结束合成,若否,则跳转到步骤(403)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810337335.0A CN108694156B (zh) | 2018-04-16 | 2018-04-16 | 一种基于缓存一致性行为的片上网络流量合成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810337335.0A CN108694156B (zh) | 2018-04-16 | 2018-04-16 | 一种基于缓存一致性行为的片上网络流量合成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108694156A CN108694156A (zh) | 2018-10-23 |
CN108694156B true CN108694156B (zh) | 2021-12-21 |
Family
ID=63845551
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810337335.0A Active CN108694156B (zh) | 2018-04-16 | 2018-04-16 | 一种基于缓存一致性行为的片上网络流量合成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108694156B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958834A (zh) * | 2010-09-27 | 2011-01-26 | 清华大学 | 支持高速缓存一致的片上网络系统及数据请求方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013095664A1 (en) * | 2011-12-23 | 2013-06-27 | Intel Corporation | Traffic control on an on-chip network |
CN104156267B (zh) * | 2013-05-14 | 2017-10-10 | 华为技术有限公司 | 任务分配方法、任务分配装置及片上网络 |
US9294354B2 (en) * | 2013-10-24 | 2016-03-22 | Netspeed Systems | Using multiple traffic profiles to design a network on chip |
US20150186277A1 (en) * | 2013-12-30 | 2015-07-02 | Netspeed Systems | Cache coherent noc with flexible number of cores, i/o devices, directory structure and coherency points |
-
2018
- 2018-04-16 CN CN201810337335.0A patent/CN108694156B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101958834A (zh) * | 2010-09-27 | 2011-01-26 | 清华大学 | 支持高速缓存一致的片上网络系统及数据请求方法 |
Non-Patent Citations (4)
Title |
---|
Efficient synthetic traffic models for large, complex SoCs;Jieming Yin;《2016 IEEE International Symposium on High Performance Computer Architecture (HPCA)》;20160312;1-12 * |
SynFull: synthetic traffic models capturing cache coherent behaviour;Mario Badr;《ACM SIGARCH Computer Architecture News》;20140614;第42卷(第3期);109–120 * |
Xuexiang Wang ; Weiwei Shan ; Hao Liu.Uniform SystemC Co-Simulation Methodology for System-on-Chip Designs.《2012 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery》.2012,1-7. * |
片上网络IP核流量模型研究与VLSI设计;支亚军等;《计算机工程》;20101220;第36卷(第24期);239-240+243 * |
Also Published As
Publication number | Publication date |
---|---|
CN108694156A (zh) | 2018-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Palesi et al. | Multi-objective design space exploration using genetic algorithms | |
US8073820B2 (en) | Method and system for a database to monitor and analyze performance of an electronic design | |
US11726899B2 (en) | Waveform based reconstruction for emulation | |
CN112818035B (zh) | 一种网络故障预测方法及终端设备及存储介质 | |
CN113780436B (zh) | 一种基于综合度的复杂网络关键节点识别方法 | |
JP2003535343A (ja) | テストカバレージを最大にするための方法および装置 | |
CN106803799B (zh) | 一种性能测试方法和装置 | |
CN115315702A (zh) | 早期阶段电路设计中基于机器学习的度量的预测 | |
CN103226595A (zh) | 基于贝叶斯混合公共因子分析器的高维数据的聚类方法 | |
Ascia et al. | Mapping cores on network-on-chip | |
CN109088776A (zh) | 一种基于超级计算机的并行cfd计算与通信重叠优化方法 | |
Wang et al. | ANN based admission control for on-chip networks | |
CN108694156B (zh) | 一种基于缓存一致性行为的片上网络流量合成方法 | |
Fang et al. | MasterRTL: A Pre-Synthesis PPA Estimation Framework for Any RTL Design | |
CN116090568B (zh) | 量子数据与经典浮点型数据的大小关系确定方法及装置 | |
Xu et al. | Construction and evaluation of coordinated performance skeletons | |
CN111930471B (zh) | 一种基于gpu的并行仿真评估选择方法 | |
CN116739094A (zh) | 量子线路的串扰优化方法、装置、存储介质及电子装置 | |
CN114519429A (zh) | 获取目标体系的可观测量的方法、装置及介质 | |
CN114416460A (zh) | 分析基带性能的方法和仿真系统 | |
CN117872097B (zh) | 基于强化学习的数字电路自动测试向量生成方法和装置 | |
Kumar et al. | Accurate router level estimation of network-on-chip architectures using learning algorithms | |
Lyuh et al. | An integrated data path optimization for low power based on network flow method | |
Klarhorst et al. | Development of energy models for design space exploration of embedded many-core systems | |
Chi et al. | Hardware Architecture Design of the Deep-learning-based Machine Vision Chip |
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 |