来源:期刊VIP网所属分类:生物科学发布时间:2022-04-11浏览:次
摘 要:當今社会,航空航天行业以及汽车行业,需要减小嵌入式电子设备的尺寸、重量和功率。此外,这两个行业都需要增加嵌入式电子设备的运算能力并降低数据传输延迟。多核处理器的出现允许在高性能计算机的同一片上系统(SoC)中集成多个应用程序。在飞行控制计算机和自动驾驶等应用场景,多核处理器健壮性使用取决于解决与处理器资源争用处理方式。若出现一个内核中的资源会影响其他内核,从而影响算法的运行,可能导致灾难性事件。本文对可能的干扰路径进行了分析,并提出了一种使用页面着色技术减轻低级缓存争用的方法。
关键词:多核处理器;L2 缓存
引言
关键软件的开发通常采用容错设计来实现系统目标。一般情况下,若使用单核计算机(SCP),每个处理器都有其高速缓存存储器、主存储器和与其他计算机隔离的I/O。但由于半导体电子设备的物理限制,散热问题阻止了SCP计算能力的提高。多核架构提供了一种通过向片上系统(SOC)添加更多内核来实现扩展处理能力的方法。一个应用程序可以拆分为多个线程,在不同的内核中执行每个线程,或者两个不同的应用程序可以并行运行。
算法的并行执行并不意味着内核是独立运行的,因为在多核处理器架构中,一些处理器资源是共享的。但是,处理器资源的共享就可能导致资源争用,从而导致关键任务时序异常。多核处理器的提供了一种使用高性能计算机开发集成架构的方法。在一个SoC中,两个不同的应用程序并行运行,减少了线路可更换单元(LRU)或电子控制单元(ECU)的数量,从而减少了布线和功耗。目前已有机构向该行业提供文件和指导,明确多核处理器使用的配置、列出内核之间共享的资源、确定防止总线争用的方法、可能的缓解措施以及最关键需要保护的任务[1]。本文介绍了四核处理器中的干扰路径分析和低级缓存(LLC)的分区方案。缓存着色技术使用ARMv8-A53处理器实现。
1 干扰路径分析
干扰路径分析是解决缓存干扰的常用方法之一。此分析通过对所有处理器共享资源的识别,将干扰分类为可接受、可容忍或不可接受。可接受和可容忍的争用不会导致可能影响系统确定性的延迟。不可接受的情况需要制定缓解计划以防止灾难性事件发生[2]。
在某些架构中,由于内核和资源(如共享LLC缓存)之间的物理连接,可能无法避免干扰路径。在这种情况下,缓解措施应使用时间划分或其他机制来减少争用,以最小化相互访问的影响。
高速缓存是现代处理器的重要组成部分,介于处理器和主存储器之间。然而,高速缓冲存储器也增加了时序方面的不确定性。当微处理器需要使用缓存中的指令或数据时,称为缓存命中,可以最大限度地减少读取时间。另一方面,当微处理器需要访问的数据或指令不在缓存中时,称为缓存未命中,从主内存中读取数据会增加执行时间。缓存状态对WCET工具和方法来说是一个挑战,因为它需要对下一个处理阶段和缓存状态进行预测。程序切换或中断可能导致缓存未命中,并额外的执行时间来更新主内存将新数据块加载到内存中[3]。
2 缓存着色技术
大量的多核处理器架构不仅提供L1缓存,而且还提供所有互连内核的共享缓存L2。必须将第二级缓存列为干扰路径,并最小化内核干扰。排除或最小化相邻内核引发的缓存未命中,创建缓存分区。在安全关键系统中,尽量不使用共享缓存。缓存着色技术使用集合关联缓存,并控制内核仅访问为它们保留的缓存。着色技术旨在使共享缓存表现得像私有缓存,通过区分在不同内核上运行的软件使用的数据和指令,将缓存分成各个互不干扰的区域来减少缓存中的干扰[4]。页面着色创建一组可以隔离的内存区域,防止相同的LLC索引被不同的内核重用。内存管理单元(MMU)用于将虚拟地址映射到与特定颜色相关的物理地址中。
为验证缓存着色技术,设计了一个应用场景。构建四核处理器A53,核心零中执行算法来测量干扰和WCET改进,并使剩余三个核心使用中断访问内存,强制竞争二级缓存。我们使用缓存着色技术,将二级缓存分为八种颜色,核心零的执行五个应用程序,重点是数学运算、自主飞行和寻路算法,占用五中颜色,另外三个核心占用剩余三种颜色。在核心零中创建基线来测量时序干扰。试验证明,使用缓存着色技术后,系统在核心零中的运行效率提升了55%。
3 试验结果分析
本试验展示了四核处理器中的干扰路径分析,明确了共享缓存是一种需要确保确定性的资源。从共享缓存的角度来看,使用页面着色技术创建L2缓存的分区后提供了系统确定性。试验突出了WCET中缓存争用的影响以及如何使用页面着色提高系统确定性。
通过对比使用页面着色技术前后其他三个核心对核心零的干扰,证明页面着色技术适用于安全关键系统中缓存竞争场景。从程序设计的角度来看,内存的分段是透明的,可以使用MMU进行内存保护,限制应用程序的访问。
当系统内存容量较小时,不适合使用页面着色技术,该技术会使原本并不充裕的内存空间变得更加紧张。另外,用于IO空间寻址或执行核间通讯的共享内存时也存在问题,缓存分区可能会占用IO内存区域,或者导致只有一个内核负责管理对外围设备的访问。
参考文献:
[1] Agirre I, Abella J, Azkarate-askasua M. On the tailoring of CAST-32A certification guidance to real COTS multi-core architectures[D]. IEEE international symposium on industrial embedded systems,2017 12th:1-8.
[2] Boniol F, Pagetti C. Identification of multi-core interference[D]. IEEE 19th international symposium on high assurancesystems engineering,2019:98-106.
[2] Sheikh SZ.Energy-efficient realtime scheduling on multicores: a novel approach to model cache contention[J]. ACM Trans. Embed. Comput. Syst,19:4.
[4] Domingues RP, Bezerra JDM, Hirata CM.Design recommendations for the development of airborne multi-core systems[D].IEEE/AIAA 34th digital avionics systems conference,2015:1–32.
推荐阅读:科技馆场馆智慧化建设的探讨
期刊VIP网,您身边的高端学术顾问
文章名称: 多核处理器中的缓存分配方案探究
文章地址: http://www.qikanvip.com/shengwukexue/62005.html