CN116383134B - 多核片上网络评测的踪迹生成方法、系统、设备及介质 - Google Patents

多核片上网络评测的踪迹生成方法、系统、设备及介质 Download PDF

Info

Publication number
CN116383134B
CN116383134B CN202310445613.5A CN202310445613A CN116383134B CN 116383134 B CN116383134 B CN 116383134B CN 202310445613 A CN202310445613 A CN 202310445613A CN 116383134 B CN116383134 B CN 116383134B
Authority
CN
China
Prior art keywords
trace
request
trace file
network
evaluation
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
CN202310445613.5A
Other languages
English (en)
Other versions
CN116383134A (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 Hexin Digital Technology Co ltd
Hexin Technology Co ltd
Original Assignee
Beijing Hexin Digital Technology Co ltd
Hexin Technology 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 Beijing Hexin Digital Technology Co ltd, Hexin Technology Co ltd filed Critical Beijing Hexin Digital Technology Co ltd
Priority to CN202310445613.5A priority Critical patent/CN116383134B/zh
Publication of CN116383134A publication Critical patent/CN116383134A/zh
Application granted granted Critical
Publication of CN116383134B publication Critical patent/CN116383134B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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/7825Globally asynchronous, locally synchronous, e.g. network on chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0806Multiuser, multiprocessor or multiprocessing cache systems
    • G06F12/0811Multiuser, multiprocessor or multiprocessing cache systems with multilevel cache hierarchies
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种多核片上网络评测的踪迹生成方法、系统、设备与介质,所述方法包括:通过计算机系统模拟器模拟运行预设二进制程序,并监测所述计算机系统模拟器的二级缓存发出的指令请求;响应于二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据请求信息,生成请求踪迹文件;将请求踪迹文件按照预设要求进行踪迹转换,得到满足多核片上网络模拟器中访存请求节点的使用需求的网络评测踪迹文件,以使多核片上网络模拟器根据网络测评踪迹文件完成相应的网络评测。本发明能够简单可靠的生成多核片上网络评测所需踪迹的同时,还能根据多核片上网络模拟器的评测需求灵活调整踪迹,为片上网络精准测评提供可靠保障。

Description

多核片上网络评测的踪迹生成方法、系统、设备及介质
技术领域
本发明涉及多核片上网络评测技术领域,特别是涉及一种多核片上网络评测的踪迹生成方法、系统、设备及介质。
背景技术
多核片上网络的性能评测是多核微处理器性能评测中的重要部分。基于模拟器的性能评测通常使用二进制程序或者踪迹,对应支持多核片上网络评测的模拟器分别有Gem5和CMN Performance Model(以下简称CPM):其中,Gem5是一个支持二进制程序的模拟器,虽然二进制程序使用方便且能够保证与在真机上运行的方式一致,但使用过程中需要的支持相对比较复杂,如对用户态指令和系统调用的支持,且片上网络部分相对比较简单,并不能满足实际网络评测的应用需求;而CPM是一个使用踪迹的专用片上网络模拟器,虽然使用过程中只需要支持所关心的那一部分功能,相对而言所需的支持比较简单,且对片上网络建模比较准确,但其只支持踪迹,因此如何为其提供可靠的踪迹是一个难题。
因此,亟需提供一种能够综合二进制程序和踪迹的评测优势,为片上网络精准测评提供有效保障的,简单、灵活且可靠的多核片上网络评测踪迹生成方法。
发明内容
本发明的目的是提供一种多核片上网络评测的踪迹生成方法,通过利用二进制程序模拟器生成请求踪迹,并对请求踪迹按需进行简单、灵活且可靠的踪迹转换,得到了踪迹模拟器所需的踪迹文件,解决了现有多核片上网络评测的应用缺陷,为片上网络精准测评提供可靠保障。
为了实现上述目的,有必要针对上述技术问题,提供一种多核片上网络评测的踪迹生成方法、系统、设备及介质。
第一方面,本发明实施例提供了一种多核片上网络评测的踪迹生成方法,所述方法包括以下步骤:
通过计算机系统模拟器模拟运行预设二进制程序,并监测所述计算机系统模拟器的二级缓存发出的指令请求;所述计算机系统模拟器为包括至少一个二级缓存,且支持缓存一致性协议的模拟器;所述预设二进制程序为多线程程序,或至少一个单线程程序;
响应于所述二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据所述请求信息,生成请求踪迹文件;所述请求信息包括时间戳、请求地址、请求类型和二级缓存编号;
将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件,以使多核片上网络模拟器根据所述网络测评踪迹文件完成相应的网络评测;所述网络评测踪迹文件满足多核片上网络模拟器中访存请求节点的使用需求。
进一步地,所述根据所述请求信息,生成请求踪迹文件的步骤包括:
将所述请求信息依次打印保存,并在所述预设二进制程序运行完成时,得到所述请求踪迹文件。
进一步地,所述将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件的步骤包括:
获取预设二进制程序的程序类型;
当所述程序类型为单线程程序时,将所述请求踪迹文件作为待转换踪迹文件,并按照第一预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件;
当所述程序类型为多线程程序时,根据所述请求踪迹文件中请求信息的二级缓存编号将所述请求踪迹文件划分为若干个请求踪迹子文件,并将所述各个请求踪迹子文件作为待转换踪迹文件,以及按照第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件。
进一步地,按照第一预设要求或第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤包括:
响应于调整请求发送速率,通过将各个所述待转换踪迹文件中所有请求消息的时间戳同时乘以或除以预设数值的方式,更新所述待转换踪迹文件;
将更新后的所述待转换踪迹文件,按照预设格式要求进行踪迹转换,得到所述网络评测踪迹文件。
进一步地,按照第一预设要求或第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤,还包括:
响应于踪迹分段请求,将各个所述待转换踪迹文件进行分段;
调整各个分段的起始时间戳,得到若干个待转换踪迹子文件,以及根据各个待转换踪迹子文件,更新所述待转换踪迹文件;
将更新后的所述待转换踪迹文件,按照预设格式要求进行踪迹转换,得到所述网络评测踪迹文件。
进一步地,所述根据所述请求踪迹文件中请求信息的二级缓存编号将所述请求踪迹文件划分为若干个请求踪迹子文件的步骤包括:
遍历所述请求踪迹文件,获取所述请求踪迹文件中各个请求信息的二级缓存编号,并将所述请求信息按照对应的二级缓存编号进行分类存储,得到若干个请求踪迹子文件。
进一步地,按照第一预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤,还包括:
响应于所述待转换踪迹文件更新完成,获取所述多核片上网络模拟器的预设访存请求节点数目;
当所述预设二进制程序仅为一个单线程程序时,对所述待转换踪迹文件进行踪迹复制,并按照间隔设置时间戳和请求地址的方式,得到预设访存请求节点数目的待转换踪迹复制文件;
当所述预设二进制程序为多个单线程程序时,对各个单线程程序对应的所述待转换踪迹文件分别进行踪迹复制,并按照间隔设置时间戳和请求地址的方式,得到总数为预设访存请求节点数目的待转换踪迹复制文件;
将各个待转换踪迹复制文件,按照预设格式要求进行踪迹转换,得到对应的网络评测踪迹文件。
第二方面,本发明实施例提供了一种多核片上网络评测的踪迹生成系统,所述系统包括:
计算机系统模拟器,用于模拟运行预设二进制程序,并监测所述计算机系统模拟器的二级缓存发出的指令请求;所述计算机系统模拟器为包括至少一个二级缓存,且支持缓存一致性协议的模拟器;所述预设二进制程序为多线程程序,或至少一个单线程程序;
还用于响应于所述二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据所述请求信息,生成请求踪迹文件;所述请求信息包括时间戳、请求地址、请求类型和二级缓存编号;
踪迹转换模块,用于将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件;所述网络评测踪迹文件满足多核片上网络模拟器中访存请求节点的使用需求;
多核片上网络模拟器,用于根据所述网络测评踪迹文件完成相应的网络评测。
第三方面,本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
上述本申请提供了一种多核片上网络评测的踪迹生成方法、系统、设备及介质,通过所述方法,实现了通过包括至少一个二级缓存,且支持缓存一致性协议的模拟器的计算机系统模拟器模拟运行预设二进制程序,并监测计算机系统模拟器的二级缓存发出的指令请求,响应于二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据包括时间戳、请求地址、请求类型和二级缓存编号的请求信息,生成请求踪迹文件,以及将请求踪迹文件按照预设要求进行踪迹转换,得到满足多核片上网络模拟器中访存请求节点的使用需求的网络评测踪迹文件,以使多核片上网络模拟器根据网络测评踪迹文件完成相应的网络评测的技术方案。与现有技术相比,该多核片上网络评测的踪迹生成方法,能够简单可靠的生成多核片上网络评测所需踪迹的同时,还能根据多核片上网络模拟器的评测需求灵活调整踪迹,为片上网络精准测评提供可靠保障。
附图说明
图1是本发明实施例中多核片上网络评测的踪迹生成方法的流程示意图;
图2是本发明实施例中将请求踪迹文件转换为网络评测踪迹文件的流程示意图;
图3是本发明实施例中多核片上网络评测的踪迹生成系统的结构示意图;
图4是本发明实施例中多核片上网络评测的踪迹生成系统的另一结构示意图;
图5是本发明实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案和有益效果更加清楚明白,下面结合附图及实施例,对本发明作进一步详细说明,显然,以下所描述的实施例是本发明实施例的一部分,仅用于说明本发明,但不用来限制本发明的范围。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的多核片上网络评测的踪迹生成方法是基于现有基于二进制程序或者踪迹的网络测评模拟器的应用缺陷,而提出的一种简单、灵活且可靠的多核片上网络评测踪迹生成方法,能够综合二进制程序和踪迹的评测优势,为片上网络精准测评提供有效保障的。下述实施例将对本发明的多核片上网络评测的踪迹生成方法进行详细说明。
在一个实施例中,如图1所示,提供了一种多核片上网络评测的踪迹生成方法,包括以下步骤:
S11、通过计算机系统模拟器模拟运行预设二进制程序,并监测所述计算机系统模拟器的二级缓存发出的指令请求;其中,所述计算机系统模拟器可理解为基于缓存一致性协议(比如,CHI(Coherent Hub Interface)协议和MESI协议等),且支持二进制程序的模拟器,包括但不限于Gem5模拟器,在实际应用中根据应用需求可挂载至少一个二级缓存(L2Cache);对应的,该计算机系统模拟器模拟运行的预设二进制程序可为单一的多线程程序,或为单一的单线程程序,或者多个单线程程序,具体设置可根据实际网络评测需求选择,此处不作具体限定。
S12、响应于所述二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据所述请求信息,生成请求踪迹文件;所述请求信息包括时间戳、请求地址、请求类型和二级缓存编号;其中,时间戳和请求地址既是请求信息中的关键信息,也是考虑到基于一份请求踪迹文件能灵活支持网络评测的请求发送速率调整及踪迹分段等需求而优选的踪迹信息设置;请求类型可根据预设二进制程序的功能以及对应的网络评测需求进行设定,如包括CleanUnique、Evict、ReadShared、ReadUnique、WriteBack和WriteEvict;二级缓存编号是用于标识指令请求来源的标识,在实际应用中,若运行的二进制程序为多线程程序时,会出现同时使用多个二级缓存的情况,就需要通过该标识进行分类处理,便于后续网络评测使用;
实际应用中,获取各个指令请求对应的请求信息后,可以通过直接写文件或者打印的方式对请求信息进行存储,但为了实现简便高效的存储,本实施例优选的采用打印信息的方式对请求信息进行存储。具体的,所述根据所述请求信息,生成请求踪迹文件的步骤包括:
将所述请求信息依次打印保存,并在所述预设二进制程序运行完成时,得到所述请求踪迹文件;其中,请求踪迹文件可理解为是通过计算机系统模拟器模拟运行预设二进制程序所得到的原始踪迹文件,后续需要根据多核片上网络模拟器进行网络评测的实际应用场景进行处理和转换。
S13、将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件,以使多核片上网络模拟器根据所述网络测评踪迹文件完成相应的网络评测;所述网络评测踪迹文件满足多核片上网络模拟器中访存请求节点的使用需求;多核片上网络模拟器原则上可选用任何可基于踪迹进行网络评测的模拟器,如现有的CPM片上网络模拟器,对应的,用于踪迹转换的预设要求也因所选多核片上网络模拟器的实际网络评测需求不同而进行有针对性的合理设置。
考虑到单线程程序和多线程程序的运行机制的不同,对应得到的请求踪迹文件的情况也不相同:单线程程序(如SPEC2017 rate)对应请求踪迹文件中的请求信息均是来自同一个二级缓存可直接通过格式转换等满足多核片上网络模拟器的踪迹使用需求,而多线程程序(如PARSEC 3.0)对应请求踪迹文件中的请求信息来自不同二级缓存,若直接进行格式转换,就会得到来源并不唯一踪迹文件而无法用于有效的网络评测。基于此,本实施例优选的,先根据预设二进制程序的程序类型,对得到请求踪迹文件进行预处理,以保证踪迹转换后得到的网络评测踪迹文件的可用性。
具体的,如图2所示,所述将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件的步骤包括:
获取预设二进制程序的程序类型;
当所述程序类型为单线程程序时,将所述请求踪迹文件作为待转换踪迹文件,并按照第一预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件;
当所述程序类型为多线程程序时,根据所述请求踪迹文件中请求信息的二级缓存编号将所述请求踪迹文件划分为若干个请求踪迹子文件,并将所述各个请求踪迹子文件作为待转换踪迹文件,以及按照第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件;其中,所述根据所述请求踪迹文件中请求信息的二级缓存编号将所述请求踪迹文件划分为若干个请求踪迹子文件的步骤包括:
遍历所述请求踪迹文件,获取所述请求踪迹文件中各个请求信息的二级缓存编号,并将所述请求信息按照对应的二级缓存编号进行分类存储,得到若干个请求踪迹子文件;其中,请求踪迹子文件可理解为将请求踪迹文件中二级缓存编号相同的请求信息单独存储在一个文件内得到的不同二级缓存对应的请求踪迹文件;下面以请求踪迹文件中有C1和C2两个不同的二级缓存编号的trace划分为两个请求踪迹子文件为例进行说明,其中,Ci、Ti、Ai和Si分别表示第i个请求信息的二级缓存编号、时间戳、请求地址和请求类型:
请求踪迹文件trace1:
请求信息1:C1:T1:A1:S1
请求信息2:C2:T2:A2:S2
请求信息3:C1:T3:A3:S3
请求信息4:C2:T4:A4:S4
请求信息5:C1:T5:A5:S5
请求信息6:C2:T6:A6:S6
对应转换成请求踪迹子文件(trace1_1和trace1_2):
第一请求踪迹子文件trace1_1(二级缓存编号C1):
请求信息1:C1:T1:A1:S1
请求信息3:C1:T3:A3:S3
请求信息5:C1:T5:A5:S5
第二请求踪迹子文件trace1_2(二级缓存编号C2):
请求信息2:C2:T2:A2:S2
请求信息4:C2:T4:A4:S4
请求信息6:C2:T6:A6:S6
需要说明的是,上述请求踪迹文件中的二级缓存编号、时间戳、请求地址和请求类型的排列方式可以根据需求调整,对应不同二级缓存编号的请求信息排列顺序也仅为示例性描述;
通过上述方法步骤处理得到的每个待转换踪迹文件可以理解为均是同一二级缓存编号对应的踪迹文件,后续处理步骤中同一踪迹文件中请求信息的二级缓存编号均以Ci表示二级缓存编号相同但不限定编号值;
上述对单线程程序和多线程程序的请求踪迹文件进行踪迹转换的处理,原则上可理解为是将请求踪迹文件中的请求信息转换成多核片上网络模拟器所能识别的格式,但考虑到实际网络评测场景的需求,本实施例的踪迹转换处理优选的,还包括在进行格式转换时还支持调整请求发送速率和请求信息分时段处理,以满足不同的评测需求,提供精准有效的评测结果。
需要说明的是,踪迹转换处理中的格式转换、调整请求发送速率和请求信息分时段处理的具体处理过程,不区分二进制程序的程序类型,均采用下述方法步骤实现;具体的,按照第一预设要求或第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤包括:
响应于调整请求发送速率,通过将各个所述待转换踪迹文件中所有请求消息的时间戳同时乘以或除以预设数值的方式,更新所述待转换踪迹文件;其中,预设数值可根据实际调整请求发送速率的需求进行设置,若将速率调快,则将时间戳同时除以预设数值,反之,若将速率调慢,则将时间戳同时乘以预设数值;
将更新后的所述待转换踪迹文件,按照预设格式要求进行踪迹转换,得到所述网络评测踪迹文件。
上述响应调整请求发送速率而更新待转换踪迹文件的处理过程可理解为通过乘法或者除法来调整每个请求信息的时间戳。比如,若需将请求发送速率翻一倍,则将每个待转换踪迹文件中的所有请求信息的时间戳均除以2;若需将请求发送速率减半,则将每个待转换踪迹文件中的所有请求信息的时间戳均乘以2。为了便于理解,此处以将请求发送速率翻倍为例对更新待转换踪迹文件进行详细说明:假设有如下待转换踪迹文件,其中Ci、Ti、Ai和Si分别表示第i个请求信息的二级缓存编号、时间戳、请求地址和请求类型:
请求信息1:Ci:T1:A1:S1
请求信息2:Ci:T2:A2:S2
请求信息3:Ci:T3:A3:S3
若需将请求发送速率翻倍,则可转换成如下踪迹文件,并将此文件作为对应的更新后待转换踪迹文件,其中int()表示向下取整:
请求信息1:Ci:int(T1/2):A1:S1
请求信息2:Ci:int(T2/2):A2:S2
请求信息3:Ci:int(T3/2):A3:S3
需要说明的是,上述发送速率翻倍的情况仅为示例性描述,实际应用中,时间戳除以的预设数字也可以为除了2之外的其他数值;具体将请求发送速率减少时对更新待转换踪迹文件也可以参照上述示例来实现,此处不再赘述。
此外,考虑到网络评测存在仅需要以待转换踪迹文件中的部分踪迹为依据进行评测的情况,为了缩短评测时间,提高评测效率,本实施例优选的在踪迹转换中增加分段处理的过程,将待转换踪迹文件中的请求信息分成便于选取关心踪迹段的多个文件;具体的,按照第一预设要求或第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤,还包括:
响应于踪迹分段请求,将各个所述待转换踪迹文件进行分段;其中,分段的时长和方式根据实际需求设置,此处不作具体限定;
调整各个分段的起始时间戳,得到若干个待转换踪迹子文件,以及根据各个待转换踪迹子文件,更新所述待转换踪迹文件;其中,调整各个分段的起始时间戳,得到若干个待转换踪迹子文件的过程如下:
假设待进行分段处理的待转换踪迹文件trace1为:
请求信息1:Ci:T1:A1:S1
请求信息2:Ci:T2:A2:S2
请求信息3:Ci:T3:A3:S3
请求信息4:Ci:T4:A4:S4
请求信息5:Ci:T5:A5:S5
请求信息6:Ci:T6:A6:S6
若网络评测仅需关心前三请求信息或后三个请求信息,则可将待转换踪迹文件拆成对应的两个待转换踪迹子文件,并选取需要关心的信息对应的待转换踪迹子文件作为后续的待转换踪迹文件使用;当然,下述示例得到两个待转换踪迹子文件也可以同时作为后续处理的待转换踪迹文件使用,具体根据实际评价需求灵活选择和确定,此处不作具体限制:
trace1_1:
请求信息1:Ci:0:A1:S1
请求信息2:Ci:T2-T1:A2:S2
请求信息3:Ci:T3-T1:A3:S3
trace1_2:
请求信息1:Ci:0:A4:S4
请求信息2:Ci:T5-T4:A5:S5
请求信息3:Ci:T6-T4:A6:S6
将更新后的所述待转换踪迹文件,按照预设格式要求进行踪迹转换,得到所述网络评测踪迹文件;
需要说明的是,通过上述调整请求发送速率步骤更新得到的待转换踪迹文件可以直接按预设格式转换得到所需的网络评测踪迹文件,也可以作为下述分段处理时的文件输入,继续进行踪迹分段处理;同样,通过上述分段处理步骤更新得到的待转换踪迹文件可以直接按预设格式转换得到所需的网络评测踪迹文件,也可以作为上述调整请求发送速率时的文件输入,继续进行速率调整;即,上述调整请求发送速率和请求信息分时段处理可以组合使用,也可单独使用,具体如何选取可根据实际网络评测需求确定,若将二者组合使用,即完成某个处理的更新待转换踪迹文件步骤后,执行另一处理的更新待转换踪迹文件步骤,再将得到综合更新后的待转换踪迹文件(不止一个),按照多核片上网络模拟器所能识别的格式要求进行转换,得到所需踪迹文件。
由于实际应用中多核片上网络模拟器对应的访存请求节点有多个,则需要同时为多个访存请求节点提供所需踪迹文件才能执行相应的网络评测,若基于单线程程序得到待转换踪迹文件数目不满足已配置访存请求节点数目,则需要根据情况对单个待转换踪迹文件进行复制,以提供给多个访存请求节点使用;具体的,所述按照第一预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤,还包括:
响应于所述待转换踪迹文件更新完成,获取所述多核片上网络模拟器的预设访存请求节点数目;其中,多核片上网络模拟器的访存请求节点可理解为用于根据网络评测踪迹文件生成访存请求(如RNF请求),以实现对应网络测评;
当所述预设二进制程序仅为一个单线程程序时,对所述待转换踪迹文件进行踪迹复制,并按照间隔设置时间戳和请求地址的方式,得到预设访存请求节点数目的待转换踪迹复制文件;
当所述预设二进制程序为多个单线程程序时,对各个单线程程序对应的所述待转换踪迹文件分别进行踪迹复制,并按照间隔设置时间戳和请求地址的方式,得到总数为预设访存请求节点数目的待转换踪迹复制文件;
将各个待转换踪迹复制文件,按照预设格式要求进行踪迹转换,得到对应的网络评测踪迹文件。
其中,按照间隔设置时间戳和请求地址的方式,得到预设访存请求节点数目的待转换踪迹复制文件的过程可理解为以原待转换踪迹文件为模板进行复制时,需要调整各个请求信息的请求地址,通过给原始请求地址加上不同基址的方式隔离开不同请求信息的请求地址,以模拟多核运行多个进程的场景;同时,还需要根据情况对复制文件中的各个时间戳进行微调,以错开不同访存请求节点同一个请求的发出时间。下面以具体示例进行说明:假如现有一个待转换踪迹文件(trace1),且多核片上网络模拟器配置有3个访存请求节点,则需要通过复制得到3份踪迹文件。
原始待转换踪迹文件trace1:
请求信息1:Ci:T1:A1:S1
请求信息2:Ci:T2:A2:S2
请求信息3:Ci:T3:A3:S3
则可通过隔离访存地址的同时微调时间戳,生成3份踪迹文件(trace1_1、trace1_2和trace1_3):
第一份待转换踪迹复制文件trace1_1:
请求信息1:Ci:T1:A1:S1
请求信息2:Ci:T2:A2:S2
请求信息3:Ci:T3:A3:S3
第二份待转换踪迹复制文件trace1_2:
请求信息1:Ci:T1+1个时间单位:B+A1:S1
请求信息2:Ci:T2+1个时间单位:B+A2:S2
请求信息3:Ci:T3+1个时间单位:B+A3:S3
第三份待转换踪迹复制文件trace1_3:
请求信息1:Ci:T1+2个时间单位:2*B+A1:S1
请求信息2:Ci:T2+2个时间单位:2*B+A2:S2
请求信息3:Ci:T3+2个时间单位:2*B+A3:S3
需要说明的是,trace1_2和trace1_3中的B+和2*B+是隔离访存地址,B是一个能够满足复制后得到的踪迹文件不会出现地址冲突的较大数,具体选取可以根据实际情况设置,本实施例优选地,将B设为4G(2^32,也就是2的32次方);时间戳中的“+1”可理解为是增加一个时间单位来调整时间戳。在实际应用中,时间戳并不一定要以一个时间单位为步长进行调整,同时,隔离访存地址也不一定要以一个B为步长进行调整,可根据实际需求进行调整,此处不作具体限制;
此外,上述处理步骤中对基于多线程程序得到请求踪迹文件,经过调整请求发送速率和请求信息分时段处理后得到待转换踪迹文件就可以直接进行格式转换后用于网络评测,为了避免无效评测,在获取请求踪迹文件之前,预先根据待网络评测的网络结构配置计算机系统模拟器的二级缓存数量和多核片上网络模拟器访存请求节点(网络结构确定后,对应的访存请求节点也确定),以保证得到的网络评测踪迹文件可直接满足网络评测所需的数量要求,而不需要考虑单线程程序情况下通过对待转换踪迹文件进行复制以满足多核片上网络模拟器的所有访存请求节点运作的处理。
本申请实施例通过对现有的计算机系统模拟器进行改造,在监测到二级缓存发出的指令请求时,获取各个指令请求对应的包括时间戳、请求地址、请求类型和二级缓存编号的请求信息,并将请求信息依次打印保存,在预设二进制程序运行完成时得到原始的请求踪迹文件,再将请求踪迹文件通过预设的中间转换,得到满足多核片上网络模拟器评测需求的踪迹的技术方案,能够简单可靠的生成多核片上网络评测所需踪迹的同时,还能根据多核片上网络模拟器的评测需求灵活调整踪迹,为片上网络精准测评提供可靠保障。
需要说明的是,虽然上述流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。
在一个实施例中,如图3所示,提供了一种多核片上网络评测的踪迹生成系统,所述系统包括:
计算机系统模拟器1,用于模拟运行预设二进制程序,并监测所述计算机系统模拟器的二级缓存发出的指令请求;所述计算机系统模拟器为包括至少一个二级缓存,且支持缓存一致性协议的模拟器;所述预设二进制程序为多线程程序,或至少一个单线程程序;
还用于响应于所述二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据所述请求信息,生成请求踪迹文件;所述请求信息包括时间戳、请求地址、请求类型和二级缓存编号;
踪迹转换模块2,用于将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件;所述网络评测踪迹文件满足多核片上网络模拟器中访存请求节点的使用需求;
多核片上网络模拟器3,用于根据所述网络测评踪迹文件完成相应的网络评测。
在一个实施例中,如图4所示,提供了一种优选的多核片上网络评测的踪迹生成系统,其中,计算机系统模拟器1采用经过改进后可生成原始请求踪迹文件的Gem5模拟器,多核片上网络模拟器3采用CPM模拟器。在实际应用中,CPM需要的踪迹是RNF发出的请求,对应于Gem5使用CHI模型时L2 Cache发出的请求;具体的,改进的Gem5模拟器用于在L2Cache(二级缓存)发出请求处以打印或写文件的方式保存各个请求信息,生成对应的请求踪迹文件,再通过踪迹转换模块2进行一定的中间转换,产生CPM模拟器中RNF发出请求所需的网络测评踪迹文件。
关于一种多核片上网络评测的踪迹生成系统的具体限定可以参见上文中对于一种多核片上网络评测的踪迹生成方法的限定,对应的技术效果也可等同得到,在此不再赘述。上述一种多核片上网络评测的踪迹生成系统中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图5示出一个实施例中计算机设备的内部结构图,该计算机设备具体可以是终端或服务器。如图5所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示器和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种多核片上网络评测的踪迹生成方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域普通技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。
综上,本发明实施例提供的一种多核片上网络评测的踪迹生成方法、系统、设备及介质,其多核片上网络评测的踪迹生成方法实现了通过包括至少一个二级缓存,且支持缓存一致性协议的模拟器的计算机系统模拟器模拟运行预设二进制程序,并监测计算机系统模拟器的二级缓存发出的指令请求,响应于二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据包括时间戳、请求地址、请求类型和二级缓存编号的请求信息,生成请求踪迹文件,以及将请求踪迹文件按照预设要求进行踪迹转换,得到满足多核片上网络模拟器中访存请求节点的使用需求的网络评测踪迹文件,以使多核片上网络模拟器根据网络测评踪迹文件完成相应的网络评测的技术方案,该方法能够简单可靠的生成多核片上网络评测所需踪迹的同时,还能根据多核片上网络模拟器的评测需求灵活调整踪迹,为片上网络精准测评提供可靠保障。
本说明书中的各个实施例均采用递进的方式描述,各个实施例直接相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。需要说明的是,上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本申请的保护范围。因此,本申请专利的保护范围应以所述权利要求的保护范围为准。

Claims (9)

1.一种多核片上网络评测的踪迹生成方法,其特征在于,所述方法包括以下步骤:
通过计算机系统模拟器模拟运行预设二进制程序,并监测所述计算机系统模拟器的二级缓存发出的指令请求;所述计算机系统模拟器为包括至少一个二级缓存,且支持缓存一致性协议的模拟器;所述预设二进制程序为多线程程序,或至少一个单线程程序;
响应于所述二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据所述请求信息,生成请求踪迹文件;所述请求信息包括时间戳、请求地址、请求类型和二级缓存编号;
将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件,以使多核片上网络模拟器根据所述网络评测踪迹文件完成相应的网络评测;所述网络评测踪迹文件满足多核片上网络模拟器中访存请求节点的使用需求;
其中,所述将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件的步骤包括:
获取预设二进制程序的程序类型;
当所述程序类型为单线程程序时,将所述请求踪迹文件作为待转换踪迹文件,并按照第一预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件;
当所述程序类型为多线程程序时,根据所述请求踪迹文件中请求信息的二级缓存编号将所述请求踪迹文件划分为若干个请求踪迹子文件,并将所述各个请求踪迹子文件作为待转换踪迹文件,以及按照第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件。
2.如权利要求1所述的多核片上网络评测的踪迹生成方法,其特征在于,所述根据所述请求信息,生成请求踪迹文件的步骤包括:
将所述请求信息依次打印保存,并在所述预设二进制程序运行完成时,得到所述请求踪迹文件。
3.如权利要求1所述的多核片上网络评测的踪迹生成方法,其特征在于,按照第一预设要求或第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤包括:
响应于调整请求发送速率,通过将各个所述待转换踪迹文件中所有请求消息的时间戳同时乘以或除以预设数值的方式,更新所述待转换踪迹文件;
将更新后的所述待转换踪迹文件,按照预设格式要求进行踪迹转换,得到所述网络评测踪迹文件。
4.如权利要求1所述的多核片上网络评测的踪迹生成方法,其特征在于,按照第一预设要求或第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤,还包括:
响应于踪迹分段请求,将各个所述待转换踪迹文件进行分段;
调整各个分段的起始时间戳,得到若干个待转换踪迹子文件,以及根据各个待转换踪迹子文件,更新所述待转换踪迹文件;
将更新后的所述待转换踪迹文件,按照预设格式要求进行踪迹转换,得到所述网络评测踪迹文件。
5.如权利要求1所述的多核片上网络评测的踪迹生成方法,其特征在于,所述根据所述请求踪迹文件中请求信息的二级缓存编号将所述请求踪迹文件划分为若干个请求踪迹子文件的步骤包括:
遍历所述请求踪迹文件,获取所述请求踪迹文件中各个请求信息的二级缓存编号,并将所述请求信息按照对应的二级缓存编号进行分类存储,得到若干个请求踪迹子文件。
6.如权利要求3或4所述的多核片上网络评测的踪迹生成方法,其特征在于,按照第一预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件的步骤,还包括:
响应于所述待转换踪迹文件更新完成,获取所述多核片上网络模拟器的预设访存请求节点数目;
当所述预设二进制程序仅为一个单线程程序时,对所述待转换踪迹文件进行踪迹复制,并按照间隔设置时间戳和请求地址的方式,得到预设访存请求节点数目的待转换踪迹复制文件;
当所述预设二进制程序为多个单线程程序时,对各个单线程程序对应的所述待转换踪迹文件分别进行踪迹复制,并按照间隔设置时间戳和请求地址的方式,得到总数为预设访存请求节点数目的待转换踪迹复制文件;
将各个待转换踪迹复制文件,按照预设格式要求进行踪迹转换,得到对应的网络评测踪迹文件。
7.一种多核片上网络评测的踪迹生成系统,其特征在于,所述系统包括:
计算机系统模拟器,用于模拟运行预设二进制程序,并监测所述计算机系统模拟器的二级缓存发出的指令请求;所述计算机系统模拟器为包括至少一个二级缓存,且支持缓存一致性协议的模拟器;所述预设二进制程序为多线程程序,或至少一个单线程程序;
还用于响应于所述二级缓存发出的各个指令请求,获取各个指令请求对应的请求信息,并根据所述请求信息,生成请求踪迹文件;所述请求信息包括时间戳、请求地址、请求类型和二级缓存编号;
踪迹转换模块,用于将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件;所述网络评测踪迹文件满足多核片上网络模拟器中访存请求节点的使用需求;
多核片上网络模拟器,用于根据所述网络评测踪迹文件完成相应的网络评测;
其中,所述将所述请求踪迹文件按照预设要求进行踪迹转换,得到网络评测踪迹文件,包括:
获取预设二进制程序的程序类型;
当所述程序类型为单线程程序时,将所述请求踪迹文件作为待转换踪迹文件,并按照第一预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件;
当所述程序类型为多线程程序时,根据所述请求踪迹文件中请求信息的二级缓存编号将所述请求踪迹文件划分为若干个请求踪迹子文件,并将所述各个请求踪迹子文件作为待转换踪迹文件,以及按照第二预设要求对所述待转换踪迹文件进行踪迹转换,得到所述网络评测踪迹文件。
8.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一所述方法的步骤。
CN202310445613.5A 2023-04-23 2023-04-23 多核片上网络评测的踪迹生成方法、系统、设备及介质 Active CN116383134B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310445613.5A CN116383134B (zh) 2023-04-23 2023-04-23 多核片上网络评测的踪迹生成方法、系统、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310445613.5A CN116383134B (zh) 2023-04-23 2023-04-23 多核片上网络评测的踪迹生成方法、系统、设备及介质

Publications (2)

Publication Number Publication Date
CN116383134A CN116383134A (zh) 2023-07-04
CN116383134B true CN116383134B (zh) 2024-05-07

Family

ID=86971029

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310445613.5A Active CN116383134B (zh) 2023-04-23 2023-04-23 多核片上网络评测的踪迹生成方法、系统、设备及介质

Country Status (1)

Country Link
CN (1) CN116383134B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6055492A (en) * 1997-12-12 2000-04-25 International Business Machines Corporation System and method for providing trace information data reduction
US6059835A (en) * 1997-06-13 2000-05-09 International Business Machines Corporation Performance evaluation of processor operation using trace pre-processing
CN103455364A (zh) * 2013-09-05 2013-12-18 北京航空航天大学 一种多核环境并行程序Cache性能在线获取系统及方法
US10740210B1 (en) * 2017-11-28 2020-08-11 Xilinx, Inc. Kernel tracing for a heterogeneous computing platform and data mining
CN115955557A (zh) * 2022-12-20 2023-04-11 维沃移动通信有限公司 卡顿分析方法及其装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110289485A1 (en) * 2010-05-21 2011-11-24 International Business Machines Corporation Software Trace Collection and Analysis Utilizing Direct Interthread Communication On A Network On Chip
DE102015121940A1 (de) * 2015-12-16 2017-06-22 Intel IP Corporation Eine Schaltung und ein Verfahren zum Anhängen eines Zeitstempels an eine Tracenachricht
US10063496B2 (en) * 2017-01-10 2018-08-28 Netspeed Systems Inc. Buffer sizing of a NoC through machine learning
US10209962B2 (en) * 2017-02-06 2019-02-19 International Business Machines Corporation Reconstructing a high level compilable program from an instruction trace
US20230056423A1 (en) * 2021-08-18 2023-02-23 International Business Machines Corporation Processor core simulator including trace-based coherent cache driven memory traffic generator

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6059835A (en) * 1997-06-13 2000-05-09 International Business Machines Corporation Performance evaluation of processor operation using trace pre-processing
US6055492A (en) * 1997-12-12 2000-04-25 International Business Machines Corporation System and method for providing trace information data reduction
CN103455364A (zh) * 2013-09-05 2013-12-18 北京航空航天大学 一种多核环境并行程序Cache性能在线获取系统及方法
US10740210B1 (en) * 2017-11-28 2020-08-11 Xilinx, Inc. Kernel tracing for a heterogeneous computing platform and data mining
CN115955557A (zh) * 2022-12-20 2023-04-11 维沃移动通信有限公司 卡顿分析方法及其装置

Also Published As

Publication number Publication date
CN116383134A (zh) 2023-07-04

Similar Documents

Publication Publication Date Title
EP3754496B1 (en) Data processing method and related products
US8069446B2 (en) Parallel programming and execution systems and techniques
CN101802798B (zh) 在多核处理器中使用干预消息来避免活锁
CN114580344B (zh) 测试激励生成方法、验证方法、验证系统及相关设备
CN116541227B (zh) 故障诊断方法、装置、存储介质、电子装置及bmc芯片
Yu et al. System-wide trade-off modeling of performance, power, and resilience on petascale systems
CN113448988B (zh) 算法模型的训练方法、装置、电子设备及存储介质
CN113204425B (zh) 供进程管理内部线程的方法、装置、电子设备及存储介质
US11467836B2 (en) Executing cross-core copy instructions in an accelerator to temporarily store an operand that cannot be accommodated by on-chip memory of a primary core into a secondary core
CN116383134B (zh) 多核片上网络评测的踪迹生成方法、系统、设备及介质
WO2024103927A1 (zh) 混合部署场景下的作业调度方法、装置及电子设备
CN116167310A (zh) 一种验证多核心处理器缓存一致性的方法及装置
CN112817922B (zh) 日志动态打印方法、装置、计算机设备及存储介质
CN114090242A (zh) 模型训练方法、装置、设备、存储介质及程序产品
CN109491987B (zh) 数据管理方法与装置
CN112882960A (zh) 一种数据获取方法和装置
CN102253940B (zh) 树形控件处理数据的方法和装置
Jeannot et al. An introspection monitoring library to improve MPI communication time
Russinovich Inside windows server 2008 kernel changes
JP5459021B2 (ja) シミュレーション装置
CN111782482B (zh) 接口压力测试方法及相关设备
CN110689137B (zh) 参数确定方法、系统、介质和电子设备
CN115757130A (zh) 模拟器生成方法、装置、设备及存储介质
Yalamanchili et al. Modeling and analysis of multiprocessor architectures
Daoudi et al. Improving Simulations of Task-Based Applications on Complex NUMA Architectures

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