CN115757204A - 一种应用于自动驾驶的nuca架构硬件性能优化方法、系统及介质 - Google Patents
一种应用于自动驾驶的nuca架构硬件性能优化方法、系统及介质 Download PDFInfo
- Publication number
- CN115757204A CN115757204A CN202211533458.4A CN202211533458A CN115757204A CN 115757204 A CN115757204 A CN 115757204A CN 202211533458 A CN202211533458 A CN 202211533458A CN 115757204 A CN115757204 A CN 115757204A
- Authority
- CN
- China
- Prior art keywords
- cache
- nuca
- accessed
- automatic driving
- hardware performance
- 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.)
- Pending
Links
Images
Classifications
-
- 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
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明属于自动驾驶领域,公开了一种应用于自动驾驶的NUCA架构硬件性能优化方法、系统及介质,当本地cache无空闲空间时,利用广度优先算法先查找最近的,然后次近的,依次向外访问外围的共享cache,当访问到空闲地址则直接存入数据,否则继续利用队列的先进先出特征,按照前面访问的顺序回顾一遍相邻点,访问下一层的空闲地址;当访问外围的cache到一定层数阈值时便停止继续访问,直接替换本地cache中未经常访问的数据。本发明基于广度优先遍历算法,以及根据相关限制约束当访问外围的cache到一定层数时便停止继续访问直接替换本地cache中数据,以此加速数据存储与处理降低访问的延迟同时提高吞吐率使硬件的性能得到优化。
Description
技术领域
本发明属于自动驾驶领域,尤其涉及一种应用于自动驾驶的NUCA架构硬件性能优化方法、系统及介质。
背景技术
目前,在自动驾驶中单芯片上可以集成多个处理器核即多核处理器,通过聚合芯片上的多个处理器核的计算能力来提高应用程序执行性能。多核处理器采用共享存储结构,片上cache种类主要有:私有cache、片上共享cache、片间共享cache。典型的cache结构:片内共享最后一级cache(LLC),片间共享内存。缓存cache大小及速度缓存是用来存储一些常用或即将用到的数据或指令,其结构和大小对CPU或GPU速度的影响非常大,当需要相应的数据和指令时候直接从缓存中读取的话会比访问内存甚至硬盘要快得多,能大幅度提升处理器的处理速度。NUCA架构在数据集较小时,处理器核在本地cache足够容纳数据集,故处理器核只使用本地cache;当数据集较大时,本地的cache放不下的数据就可以放到其相邻或者更外围的共享cache中。
通过上述分析,现有技术存在的问题及缺陷为:
传统UCA架构在多核心情况下共享的LLC非常大,而所有处理器核对LLC的访问延迟相同,而集中式的共享LLC很容易随着处理器核数目的增加成为瓶颈。
发明内容
针对现有技术存在的问题,本发明提供了一种应用于自动驾驶的NUCA架构硬件性能优化方法、系统及介质。
本发明是这样实现的,一种应用于自动驾驶的NUCA架构硬件性能优化方法,所述应用于自动驾驶的NUCA架构硬件性能优化方法包括:
利用广度优先算法由近向远查找访问外围的共享cache,当访问到空闲地址则直接存入数据,否则利用队列的先进先出特征回顾一遍相邻点,继续访问下一层的空闲地址,直至访问到空闲地址或访问外围的cache到一定层数阈值时,停止继续访问。
进一步,所述利用广度优先算法由近向远查找访问外围的共享cache的具体过程为:
自动驾驶系统从外界采集的数据进入一处理器核的cache中,先访问core本地cache是否有空闲地址,有则直接存入,否则利用广度优先算法先查找最近的,然后次近的,依次向外对相邻的处理器核访问,若相邻的处理器核cache存在空闲地址则存入。
进一步,所述利用队列的先进先出特征回顾一遍相邻点的具体过程为:
依据队列的先进先出特征把刚访问的相邻的处理器核cache按顺序回顾一遍,若仍不存在空闲地址,则继续访问所述相邻的处理器核的外围的处理器核。
进一步,所述广度优先算法通过片上网络对相邻的处理器核进行访问,所述片上网络的拓扑结构是由多个单元构成,每个单元包括Router、Network Interface、core以及cache。
进一步,所述访问外围的cache到一定层数阈值时,则将直接替换本地cache中未被经常访问的数据。
进一步,所述层数阈值受到处理器核与内存或者磁盘访问延迟、自动驾驶应用中各个任务端到端截止时间以及自动驾驶系统可调度性的限制,所述自动驾驶系统可调度性包括任务周期。
本发明的另一目的在于提供一种实施所述应用于自动驾驶的NUCA架构硬件性能优化方法的应用于自动驾驶的NUCA架构硬件性能优化系统,所述应用于自动驾驶的NUCA架构硬件性能优化系统包括:
数据获取模块,用于利用自动驾驶系统从外界获取信息和数据;
广度优先模块,用于查找最近的,然后次近的,依次向外访问外围的有空闲地址的共享cache;
访问模块,用于访问相邻的处理器核;
存储模块,用于将数据存储于共享cache中。
本发明的另一目的在于提供一种计算机设备,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述应用于自动驾驶的NUCA架构硬件性能优化方法的步骤。
本发明的另一目的在于提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述应用于自动驾驶的NUCA架构硬件性能优化方法的步骤。
本发明的另一目的在于提供一种信息数据处理终端,所述信息数据处理终端用于实现所述应用于自动驾驶的NUCA架构硬件性能优化系统。
结合上述的技术方案和解决的技术问题,本发明所要保护的技术方案所具备的优点及积极效果为:
第一、针对上述现有技术存在的技术问题以及解决该问题的难度,紧密结合本发明的所要保护的技术方案以及研发过程中结果和数据等,详细、深刻地分析本发明技术方案如何解决的技术问题,解决问题之后带来的一些具备创造性的技术效果。具体描述如下:
本发明基于广度优先遍历算法,以及根据相关限制约束当访问外围的cache到一定层数时便停止继续访问直接替换本地cache中数据,加速数据存储与处理降低访问的延迟同时提高吞吐率使硬件的性能得到优化。
第二,把技术方案看做一个整体或者从产品的角度,本发明所要保护的技术方案具备的技术效果和优点,具体描述如下:
在自动驾驶中需要在CPU或GPU上处理数据而它们都是多核心的,因此有些自动驾驶应用需要很多cache缓存,本发明公开的方法给出了如何有效的选取cache的手段,同时,本发明在满足自动驾驶应用中各任务最大截止时间和内存延迟限制下,利用公开的方法加速数据的存储与处理降低访问延迟提高吞吐率以优化NUCA架构硬件性能。
第三,作为本发明的权利要求的创造性辅助证据,还体现在以下几个重要方面:
1)本发明的技术方案转化后的预期收益和商业价值为:在自动驾驶领域中可以加速收集信息由传感系统到执行系统的数据传输速度有利于自动驾驶系统更加快速产生相应的控制命令对设备进行控制,同时对于不同任务系统都有其不同的截止时间deadline,故利用该算法可以更有效保证满足deadline以及任务周期的要求,故适合应用于各类的自动系统中,如自动驾驶汽车等等。
2)本发明的技术方案是否解决了人们一直渴望解决、但始终未能获得成功的技术难题:
传统UCA架构在多核心情况下共享的LLC非常大,而所有处理器核对LLC的访问延迟相同,所以这种集中式的共享LLC,很容易随着处理器核数目的增加成为瓶颈;NUCA是一种分布式共享结构,每个处理器核都拥有本地的LLC,并且可以通过片上网络访问那其他处理器的LLC。而在自动驾驶应用中多为较多核心的多核、众核处理器一般采用NUCA架构,本发明利用高效cache查找和替换算法使得在使用远地的cache时不影响性能,并且片上网络有良好的可扩展性。
3)本发明的技术方案是否克服了技术偏见:
多核处理器芯片间共享cache结构的访问速度慢且失效率高,所以在具有较多核心数的多核或者众核处理器中通常采用NUCA结构,而在该架构中处理器核除了可以访问本地的LLC还可以通过片上网络访问其他处理器核的LLC,所以不同处理器核的cache可以存在多个不同的访问时间,访问距离处理器核较近的cache时延迟较小,而访问距离核较远的cache时延迟较大,处理器核的访问时间取决于cache的相对位置距离,故为提高性能就需要有效的cache快速查找以及数据替换的算法,本发明针对这个问题提出了相应的算法。
附图说明
图1是本发明实施例提供的应用于自动驾驶的NUCA架构硬件性能优化方法流程图;
图2是本发明实施例提供的片上网络互联的NUCA架构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
为了使本领域技术人员充分了解本发明如何具体实现,该部分是对权利要求技术方案进行展开说明的解释说明实施例。
如图1所示,本发明实施例提供的应用于自动驾驶的NUCA架构硬件性能优化方法包括:
当本地cache无空闲空间时直接利用广度优先思想层层推进的访问策略,先查找最近的然后次近的依次向外访问外围的共享cache,当访问到空闲地址则直接存入数据否则继续利用队列的先进先出特征按照前面访问的顺序回顾一遍相邻点访问下一层的空闲地址;当访问外围的cache到一定层数阈值时便停止继续访问直接替换本地cache中数据。
图1为片上网络互联的NUCA架构图,其中R为Router,NI为Network Interface,所述应用于自动驾驶的NUCA架构硬件性能优化方法的具体过程为:
先假设自动驾驶应用从外界采集的数据进入其中一个处理器核的cache1进入;
1)首先访问core本地cache1是否有空闲地址,有则直接存入,否则直接用广度优先遍历算法通过片上网络对相邻的处理器核cache2与cache4访问;
2)若存在空闲地址则存入,否则依据队列的先进先出特征把刚访问的cache2和cache4按顺序回顾一遍,cache2通过片上网络发现相邻处理器核的cache3、cache5进而继续访问,若仍无可用空间则通过cache4片上网络访问处理器核cache7;
3)无可用空间继续把访问cache3、5、7按照顺序回顾一遍,进而访问相邻处理器核的cache6和cache8;
4)类似的方法原则上可以一层接着一层的向外围一直访问直至寻找到空闲的位置存入,但是实际中随着层数的增加相应的延迟与功耗变大,当达到一定层数α时数据在cache中处理与处理器核直接与内存或磁盘直接通信延迟的成本相当时广度优先的算法就无意义了;此外,向外围cache访问的层数α的值还受到自动驾驶应用中每个任务的处理都有其deadline以及任务周期的限制。
5)当访问到阈值层数α时,若还是未找到空闲位置则停止外围cache的继续访问,而是直接替换原处理器核中很久未被调用的数据,根据处理器访问地址的时间局部性访问了的地址之后还有较大的概率访问该地址,而对于很久未被访问的数据再次被访问的概率很小。
6)通过上述高效的cache查找与替换算法可以降低访问的延迟同时提高吞吐率优化NUCA架构硬件性能。
进一步,外围共享LLC的访问并不能一直进行下去即访问的层数α是有一个阈值的,该值的选择受到的限制有1)处理器核与内存或者磁盘访问延迟;2)自动驾驶应用中各个任务端到端截止时间(deadline)的限制;3)自动驾驶系统可调度性的限制(比如任务周期)。
为了证明本发明的技术方案的创造性和技术价值,该部分是对权利要求技术方案进行具体产品上或相关技术上的应用实施例。
应当注意,本发明的实施方式可以通过硬件、软件或者软件和硬件的结合来实现。硬件部分可以利用专用逻辑来实现;软件部分可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的设备和方法可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本发明的设备及其模块可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用由各种类型的处理器执行的软件实现,也可以由上述硬件电路和软件的结合例如固件来实现。
本发明实施例在研发或者使用过程中取得了一些积极效果,和现有技术相比的确具备很大的优势,下面内容结合试验过程的数据、图表等进行描述。
NUCA结构的cache可以存在多个不同的访问时间,但处理器访问距离核较近的cache时延迟较小,访问距离核较远的cache时延迟较大。在物理结构上NUCA中分布着更多的cache,处理器核的访问时间取决于cache的相对位置距离。之前的研究中为了减小数据的访问延迟提出的动态NUCA结构,其允许在处理器核访问命中数据后向处理器核靠近的方向移动,根据时间局部性原则减小下一次访问该数据的等待时间。但是对于多核处理器中的NUCA架构,如果一个数据被多个处理器core所共享就可能出现多个处理器core同时操作该数据产生数据争用的问题。本发明提出的基于广度优先遍历算法的cache查找与数据替换算法就可以很好的解决上面的问题,即可以在多个Bank中快速定位到需要访问的cache减少访问延迟提高吞吐率。试验方面,GEM5是作用于体系结构研究领域的仿真器具有灵活切快速的仿真框架可以对模块进行不同仿真细节的建模,还支持全系统和系统调用两种模式。以及Sniper是下一代并行、高速和精准的基于区间核心模型和开源的分布式并行多核模拟器基础架构的模拟器,同时利用框架McPAT对功耗进行评估。在Sniper的cinfig文件中进行参数的配置,并嵌入本发明所提出的算法进行模拟,进而在功耗模拟器中观测所需要的功耗参数,之后再与已有的研究实验相比较可以得到利用本发明的算法可以在相同的情况下减少功耗与执行时间。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种应用于自动驾驶的NUCA架构硬件性能优化方法,其特征在于,所述应用于自动驾驶的NUCA架构硬件性能优化方法包括:
利用广度优先算法由近向远查找访问外围的共享cache,当访问到空闲地址则直接存入数据,否则利用队列的先进先出特征回顾一遍相邻点,继续访问下一层的空闲地址,直至访问到空闲地址或访问外围的cache到一定层数阈值时,停止继续访问。
2.如权利要求1所述应用于自动驾驶的NUCA架构硬件性能优化方法,其特征在于,所述利用广度优先算法由近向远查找访问外围的共享cache的具体过程为:
自动驾驶系统从外界采集的数据进入一处理器核的cache中,先访问core本地cache是否有空闲地址,有则直接存入,否则利用广度优先算法先查找最近的,然后次近的,依次向外对相邻的处理器核访问,若相邻的处理器核cache存在空闲地址则存入。
3.如权利要求1所述应用于自动驾驶的NUCA架构硬件性能优化方法,其特征在于,所述利用队列的先进先出特征回顾一遍相邻点的具体过程为:
依据队列的先进先出特征把刚访问的相邻的处理器核cache按顺序回顾一遍,若仍不存在空闲地址,则继续访问所述相邻的处理器核的外围的处理器核。
4.如权利要求2所述应用于自动驾驶的NUCA架构硬件性能优化方法,其特征在于,所述广度优先算法通过片上网络对相邻的处理器核进行访问,所述片上网络的拓扑结构是由多个单元构成,每个单元包括Router、NetworkInterface、core以及cache。
5.如权利要求1所述应用于自动驾驶的NUCA架构硬件性能优化方法,其特征在于,所述访问外围的cache到一定层数阈值时,则将直接替换本地cache中未被经常访问的数据。
6.如权利要求1所述应用于自动驾驶的NUCA架构硬件性能优化方法,其特征在于,所述层数阈值受到处理器核与内存或者磁盘访问延迟、自动驾驶应用中各个任务端到端截止时间以及自动驾驶系统可调度性的限制,所述自动驾驶系统可调度性包括任务周期。
7.一种实施如权利要求1-6任意一项所述应用于自动驾驶的NUCA架构硬件性能优化方法的应用于自动驾驶的NUCA架构硬件性能优化系统,其特征在于,所述应用于自动驾驶的NUCA架构硬件性能优化系统包括:
数据获取模块,用于利用自动驾驶系统从外界获取信息和数据;
广度优先模块,用于查找最近的,然后次近的,依次向外访问外围的有空闲地址的共享cache;
访问模块,用于访问相邻的处理器核;
存储模块,用于将数据存储于共享cache中。
8.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-6任意一项所述应用于自动驾驶的NUCA架构硬件性能优化方法的步骤。
9.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1-6任意一项所述应用于自动驾驶的NUCA架构硬件性能优化方法的步骤。
10.一种信息数据处理终端,其特征在于,所述信息数据处理终端用于实现如权利要求7所述应用于自动驾驶的NUCA架构硬件性能优化系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211533458.4A CN115757204A (zh) | 2022-11-30 | 2022-11-30 | 一种应用于自动驾驶的nuca架构硬件性能优化方法、系统及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211533458.4A CN115757204A (zh) | 2022-11-30 | 2022-11-30 | 一种应用于自动驾驶的nuca架构硬件性能优化方法、系统及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115757204A true CN115757204A (zh) | 2023-03-07 |
Family
ID=85342334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211533458.4A Pending CN115757204A (zh) | 2022-11-30 | 2022-11-30 | 一种应用于自动驾驶的nuca架构硬件性能优化方法、系统及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115757204A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149442A (zh) * | 2023-10-30 | 2023-12-01 | 山东浪潮数据库技术有限公司 | 一种基于分布式架构数据库的硬件加速方法及系统 |
-
2022
- 2022-11-30 CN CN202211533458.4A patent/CN115757204A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117149442A (zh) * | 2023-10-30 | 2023-12-01 | 山东浪潮数据库技术有限公司 | 一种基于分布式架构数据库的硬件加速方法及系统 |
CN117149442B (zh) * | 2023-10-30 | 2024-02-20 | 山东浪潮数据库技术有限公司 | 一种基于分布式架构数据库的硬件加速方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8321614B2 (en) | Dynamic scheduling interrupt controller for multiprocessors | |
CN102981807B (zh) | 一种基于cuda并行环境的gpu程序优化方法 | |
CN111090464B (zh) | 一种数据流处理方法及相关设备 | |
CN105468439B (zh) | 在cpu-gpu异构框架下遍历固定半径内邻居的自适应并行方法 | |
CN104123171B (zh) | 基于numa架构的虚拟机迁移方法及系统 | |
CN111190735B (zh) | 一种基于Linux的片上CPU/GPU流水化计算方法及计算机系统 | |
CN115757204A (zh) | 一种应用于自动驾驶的nuca架构硬件性能优化方法、系统及介质 | |
CN106250348A (zh) | 一种基于gpu访存特性的异构多核架构缓存管理方法 | |
WO2015176315A1 (zh) | 哈希连接方法、装置和数据库管理系统 | |
Jeong et al. | REACT: Scalable and high-performance regular expression pattern matching accelerator for in-storage processing | |
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 | |
CN111756802A (zh) | 一种数据流任务在numa平台上的调度方法及系统 | |
CN110647358B (zh) | 同步多线程处理器 | |
CN109117247B (zh) | 一种基于异构多核拓扑感知的虚拟资源管理系统及方法 | |
CN110647357B (zh) | 同步多线程处理器 | |
US20230153157A1 (en) | Inter-node communication method and device based on multiple processing nodes | |
CN112035056B (zh) | 一种基于多计算单元的并行ram访问设备及访问方法 | |
Keshtegar et al. | Cluster‐based approach for improving graphics processing unit performance by inter streaming multiprocessors locality | |
Zhang et al. | Locality protected dynamic cache allocation scheme on GPUs | |
Elhelw et al. | Time-based least memory intensive scheduling | |
CN107329813B (zh) | 一种面向众核处理器的全局感知数据主动预取方法及系统 | |
Li et al. | Priority Based Fair Scheduling: A Memory Scheduler Design for ChipMultiprocessor Systems | |
CN111045959A (zh) | 一种基于存储优化的复杂算法变量映射方法 | |
Bai et al. | The effect of shared l2 cache on determinism in airborne embedded system | |
Zhu et al. | Research on low power scheduling of heterogeneous multi core mission based on genetic algorithm |
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 |