没有合适的资源?快使用搜索试试~ 我知道了~
BenchCouncil交易基准,标准和评估2(2022)100091研究文章IoTBench:以数据为中心的可配置物联网基准测试套件陈思敏a,b,罗春杰a,刘伟,高万玲a,王磊aa中国科学院计算技术研究所,中国北京b中国科学院大学,中国北京A R T I C L E I N F O保留字:IoT基准处理器性能评价Gem5A B S T R A C T随着物联网(IoT)产业的发展,物联网系统中使用的微处理器和微控制器的需求稳步增长。基准测试为处理器评估提供了有价值的参考。不同的物联网应用场景面临不同的数据规模、维度和类型。然而,目前流行的基准测试仅在固定的数据格式下评估处理器的性能。这些基准不能适应处理器所面临的分散场景。本文提出了一个新的基准,即IoTBench。IoTBench工作负载涵盖物联网应用中常用的三种算法:矩阵处理、列表操作和卷积。此外,IoTBench根据数据规模、数据类型和数据维度将数据空间划分为不同的评估子空间。我们分析影响不 同 的 数 据 类 型 , 数 据 维 度 和 数 据 规 模 对 处 理 器 性 能 的 影 响 , 并 使 用 IoTBench比 较 ARM 与RISC-V 以 及MinorCPU与O3 CPU。我们还探讨了不同架构配置的处理器在不同评估子空间中的性能,并找到了不同评估子空间的最佳架构。规范、源代码和结果可从https公开获取//www.benchcouncil.org/iotbench/网站。1. 介绍物联网(IoT)应用越来越普遍,如智能可穿戴设备、智能城市、智能医疗和智能家居。 随着物联网产业的扩张,微控制器和微处理器的需求稳步增长。 与通用处理器不同, 物联网系统中使用的微控制器和微处理器是应用特定的。 这些处理器在面对不同的应用场景时需要处理不同的数据。 例如,用于文本序列分析的应用主要处理一维数据,用于图像处理的应用处理二维数据,并且用于视频处理的应用处理三维数据。为了实现应用程序的功能和目的,选择合适的微控制器或微处理器是很重要的。基准测试对于评估处理器的性能非常有用. 然而,目前的基准测试并没有关注数据规模、数据维度和数据类型对处理器性能的影响,因此他们无法评估处理器在处理不同类型数据时的不同性能。例如,根据[1],Dhone [2]仅由整数代码组成,这使得它对微控制器有用,但远离现实世界的应用。另另一方面,虽然CoreMark [3]本文提出了一个新的基准,即IoTBench。IoT- Bench工作负载涵盖了IoT应用中常用的三种算法:矩阵处理、列表操作和卷积。提出了评价子空间的概念。考虑到不同场景下使用的数据的不同特点,将数据空间按照数据类型、数据维度和数据规模划分为多个评估子空间。一组数据尺度、维度和类型定义了一个评估子空间,整个数据空间可以划分为无数个评估子空间。在实际应用中,用户只需获得一定的评价子空间,就可以根据该评价子空间运行实验台符合实际场景要求。在定义中,评价子空间的三个参数可以修改。同时,采用不同的评价指标,如迭代次数与运行时间的比值(Iterations/Sec)、每指令周期数(CPI)和Cache未命中率(Cache Miss Rate)来评价处理器的性能。我们将IoTBench视为以数据为中心的可配置基准,因为IoTBench的主要特点是它是面向真实物联网场景构建的,数据 可以修改比例、数据类型和数据维度在实验中,我们首先分析了不同的数据类型,数据维度和数据规模对处理器性能的影响。结果表明,数据类型,数据维度和数据规模影响本工作得到了中国科学院战略重点研究计划批准号:XDA0320000和XDA0320300。∗ 通讯作者。电子邮件地址:chensimin22z@ict.ac.cn(S. Chen),luochunjie@ict.ac.cn(C. Luo),gaowanling@ict.ac.cn(W. Gao),wanglei_2011@ict.ac.cn(L.Wang)。https://doi.org/10.1016/j.tbench.2023.100091接收日期:2023年1月11日;接收日期:2023年3月5日;接受日期:2023年3月6日2023年3月8日网上发售2772-4859/©2023作者。 Elsevier B.V.代表KeAi Communications Co. Ltd.提供的出版服务。BY许可证(http://creativecommons.org/licenses/by/4.0/)。可在ScienceDirect上获得目录列表标准和评价期刊主页:www.keaipublishing.com/en/journals/benchcouncil-transactions-on-benchmarks-standards-and-evaluations/BenchCouncil交易基准,S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000912性能明显。也就是说,数据特征是物联网基准测试的重要因素。然后,我们使用IoTBench比较了ARM与RISC-V以及MinorCPU与O3 CPU。 我们发现ARM ISA在相同的微架构配置下,比RISC-V更高效。我们探讨了不同架构配置的处理器在不同评估子空间中的性能,并找到了不同评估子空间的最佳架构本文的主要贡献如下:• 我们设计并实现了IoTBench,它涵盖了物联网应用中常用的三种算法:矩阵处理,列表操作和卷积。我们提出了评估子空间的概念,它是由一组数据尺度,维度和类型定义的。• 我们分析了不同的数据类型,数据维度和数据规模对处理器性能的影响。结果表明,数据类型、数据维度和数据规模对性能有显著影响.我们还使用IoTBench比较了ARM与RISC-V和MinorCPU与O3CPU。我们发现在相同的微架构下,ARM ISA比RISC-V更高效。• 我们探讨了不同架构配置的处理器在不同评估子空间中的性能,并找到了不同评估子空间的最佳架构本文的其余部分组织如下。第二节介绍了相关的工作。第3节描述了IoTBench的设计和实现。第4节显示了实验设置。第5节提供了实验结果的分析。第六节总结了全文的结论并介绍了未来的工作。2. 相关工作Benchmark是一种在计算机领域应用已久的评测方法。一些广泛使用的基准测试是SPEC CPU 2017 [4],BigDataBench [5],一个行业标准化的计算密集型基准测试,以及TPC-C [6,7],一个 测试 用于比较运行中等复杂度联机事务处理(OLTP)工作负载的数据库平台的基准。OLxPBench [8]是一个复合HTAP基准测试套件。Supermarq [9]是一个可扩展的量子基准套件。TSB-UAD [10]引入了一个用于单变量时间序列异常检测的端到端基准套件。Galli等人[11]提供了一个基准框架,以分析和讨论用于假新闻检测的最广泛使用和最有前途的机器/深度学习技术AIoTBench [12,13]专注于评估移动和嵌入式设备的AI推理能力。MLPerf推理[14]提出了一组规则和实践,以确保具有广泛不同架构的系统之间的可比性。[15]第十五话是MLPerf推理的衍生物,旨在为设备上的AI进行基准测试。ETH Zurich AI Benchmark [16,17]旨在评估Android智能手机的AI能力。这些基准测试是应用级的,专注于人工智能。GeekBench [18]和Moby [19]专注于对手机进行基准测试Zhan [20]总结了五种类型的基准测试:度量标准,具有定义属性的标准化数据集,代表性工作负载,代表性数据集和最佳实践,这些测试在多个学科中广泛使用。本文提出的基准测试与典型的工作负载和测量标准有关评估物联网系统中使用的微控制器和微处理器的性能有三个主要的基准:MIPS,Dhapeone [2]和CoreMark [3]。MIPS,即每秒执行数百万条指令,是处理器计算速度的最直接指标。然而,不同的指令集架构的数量和指令类型不同。执行不同指令所消耗的时间也不同。 即使对于处理器,该值也不具有代表性和可比性类似的建筑。因为如果人为地选择指令序列,例如选择分支较少的指令序列,则得到的测量结果将与实际工作不同,不能准确地反映处理器的性能。因此,这一指标已逐渐被综合基准取代,如Dhaghone。Dhsperone是一个通用的性能基准测试,最初由Reinhold Weicker于1984年开发,旨在创建一个简短的基准测试程序来衡量计算机系统程序的性能。它的代码主要由整数操作、字符串操作、逻辑决策和内存访问组 成 。 Dhspeedone 通 过 使 用 VAX 11/780 测 试 处 理 器 每 秒 运 行Dhspeedone程序的次数来测量处理器性能 作为参考机器,并将结果报告为待测机器上的运行次数与参考机器上的运行次数之比,单位为“DMIPS/MHz”。虽然Dhspeak one在反映处理器性能方面比MIPS更有意义,但仍存在争议。事实上,Dhry-stone的结果不仅受到处理器性能的影响,还受到编译器效率等因素的影响。这一特点使得处理器厂商能够获得更好的分数通过使用优化编译器等方法。然而,这并不意味着Dhaghone的结果毫无意义。约克[21]分指出,当使用Dhspeedone的结果进行比较时,有必要清楚地指出运行基准测试的条件,例如使用的Dhspeedone版本,使用的C库,以及等等CoreMark由EEMBC的Shay Gal-On于2009年开发,取代Dhironone作为行业标准。CoreMark已经很受欢迎,其功能提供了强大的竞争优势。首先,它的代码很小,易于理解,并且有很好的可移植性来保证它可以在所有平台上运行。其次,CoreMark引入了无法在编译时预先计算,以避免由于编译优化而导致的代码消除,使所有计算都由运行时提供的值驱动。第三,CoreMark提供了如何运行代码的规则和统一的报告格式,以促进处理器间的性能比较。目前,物联网处理器的性能评估一般基于两个分数,Dhspeak one和CoreMark。然而,上述基准测试的标准得分仅反映了处理器在固定数据格式下的计算速度,没有考虑处理器在不同物联网应用中处理数据的特点,因此无法满足多样化物联网场景的需求。我们的IoTBench考虑了不同场景下使用的不同数据特征;数据空间根据数据类型,维度和规模划分为多个评估子空间。表1显示了IoTBench、CoreMark和Dhetrone的比较。3. IoT Bench3.1. 工作负载和评估子空间IoTbench由列表处理、矩阵处理和卷积组成。列表处理是IoT场景中广泛使用的一种基本运算符。当传感器接收到数据时,往往先进行数据清洗和预处理,然后再进行一些简单的统计分析。在这个过程中,基于列表的搜索和排序被广泛使用。典型的物联网场景,例如,智能城市、智能家居、智能手机和智能医疗,涉及语音控制、图像处理、文本处理和人脸识别等任务。这些任务在很大程度上依赖于机器学习和深度学习。作为因此,我们选择了机器学习和深度学习最基本的运算符,即卷积和矩阵处理。除了工作负载本身,我们认为数据应该在物联网基准测试中考虑。不同的物联网场景面临不同的数据维度。例如,在需要文本处理的场景中,例如自然语言处理,词向量是一维的S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000913表1IoT Bench、CoreMark和Dhetrone的比较。特性CoremarkDhrystoneIoT Bench用C语言写的,可移植✓✓✓提供 一 单个 容易 可报告 得分, 简洁直观的测试结 果是独 立从库 和 编 译 器Cover convolutionalgorithm各种 数据 类型 可以被评估为各种 数据 尺寸 可以被评估为‘‘✓’’表2工作负载和数据空间。类别工作量数据类型数据规模数据维度列表处理列表搜索INT/FLOAT任何1/2/3列表处理列表排序INT/FLOAT任意1/2/3矩阵处理矩阵加常数INT/FLOAT任意1/2/3矩阵处理矩阵乘常数INT/FLOAT任意1/2/3矩阵处理矩阵乘矩阵INT/FLOAT任意1/2/3卷积卷积INT/FLOAT任意1/2/3数据在计算机视觉和图像处理场景中,处理后的图像是二维数据。在医学成像、视频处理和其他场景中,处理的数据是三维的。不同的物联网场景也处理不同的数据类型。例如,为了节省计算和存储资源,终端设备上的人工智能推理往往会在机器精度和预测精度之间进行妥协;也就是说,可以使用低精度(如INT)代替高精度(如FLOAT)进行计算。同样,不同场景下产生的数据规模也不同。例如,可穿戴设备需要实时监测人体数据,这将产生大规模数据。基于上述原因,将整个数据空间按照数据规模、数据维度和数据类型划分为不同的评价子空间。一组数据比例、维度和类型定义了一个评价子空间,整个数据空间可以划分为无数个评价子空间。在实际应用中,用户只需根据实际场景需求,获取一定的评估子空间,即可运行该实验台。评价子空间的三个参数可以在宏定义中修改。表2显示了工作负载和数据空间的详细信息。3.2. 执行列表处理的数据空间分为两部分,列表项和数据项分别存储在两部分中。表处理中使用的数据结构如图所示。1(a)与之相似去CoreMark家要与索引一起计算的数据存储在结构list_data中。结构list_data由结构list_node索引,它构成了列表。列表处理包括搜索和排序。• 列表搜索包含两种算法;一种是基于值的搜索,另一种是基于索引的搜索。IoTBench遍历列表并返回所有符合条件的项目。• 列表排序通过归并排序实现,可以根据值或索引对列表进行排序。归并排序是以非递归的方式实现的。首先,列表中的每两个元素被分成一组进行排序。在组排序之后,列表中的每四个元素被分成一组进行排序。扩大排序范围每次排序后,都将大小调整为当前大小的两倍,整个列表的大小卷积中使用的数据结构如图1(b)所示。指针“in”指向输入数据,指针“out”指向输出数据,“inWidth”指输入数据的宽度,“filter_size”指内核尺寸。如果数据是二维或三维的,用于指示输入数据的高度。如果数据是三维的,卷积算法实现了一维卷积、二维卷积和三维卷积。• 一维卷积意味着内核根据步幅在向量上滑动,输出值是对应元素的乘积加上偏差的和。• 二维卷积是指内核在二维输入空间中按照步幅滑动,输出值是窗口中相应元素的乘积之和加上偏置。• 三维卷积意味着内核根据步幅在三维输入空间中滑动。在每个窗口中执行3D矩阵乘法,输出值是上面获得的结果加上偏差。矩阵处理中使用的数据结构如图所示。1(c).“N”是指矩阵A/B/C的维数。输入数据存储在矩阵A和B中。输出数据存储在矩阵C中。矩阵加常数、矩阵乘常数、矩阵乘是矩阵处理中的一个基本过程.• The ‘‘matrix adds constant’’ function adds a constant to matrix A,and• “matrix multiplies constant”函数将矩阵A中的每一• The ‘‘matrix multiplication’’ function multiplies matrix A andmatrix该算法������������ ���������������������������=������������������������������������������������(������������������������������ℎ������=(��������� ������ℎ −������������������_������������)∕������������������1.4. 实验4.1. Gem5模拟器Gem5 simulator [22]是一个用于计算机系统体系结构研究的模块化仿真平台,包括系统级体系结构和处理器微体系结构,已广泛应用于学术界、工业界和教学界。Gem5最初由M5[23]和GEM [24]合并而成,其中M5主要研究CPU模拟,而Gem主要研究内存系统。Gem5旨在创建一个专注于架构建模的通信工具,具有灵活的建模和广泛的可用性。S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000914Fig. 1. 数据结构。表3时间复杂度。算法时间复杂列表搜索()���List sort(log2)������一维卷积(_)������������������������������������������������������������������������������������������������二维卷积(卷积码)���������������������������������������������������������������������������������������������������������������������三维卷积码(卷积码)������������������������������������������������������������������������������������������������������������������一维矩阵加/乘常数()���二维 矩阵加/乘常数���(���2)三维 矩阵加/乘常数���(���3)一维矩阵乘法������二维矩阵乘法器���3D矩阵乘法器(���104)Gem5提供了各种CPU模型、系统模型、存储模型和指令集架构。Gem5提供了四种CPU模型,AtomicSimpleCPU,TimingSimpleCPU,MinorCPU(In Order)和O3CPU(Out of Order)。 AtomicSimpleCPU是单个IPC( 即一个时钟周期完成一条指令)使用原子操作访问内存的CPU模型。TimingSimpleCPU类似于AtomicSimpleCPU,但使用顺序内存访问模型。次要CPU是一个固定的管道,但数据结构和执行行为可以被改变已配置的有序CPU。O3 CPU是一种无序CPU,它并不严格基于Alpha 21264,与大多数模拟器不同,Gem5使用的模型实际上是在 时间精度高的执行阶段。Gem5还提供两种系统模式,系统调用模式(SE)和全系统仿真模式(FS)。系统调用模式可以模拟大多数系统调用,而无需模拟操作系统。全系统仿真模式可以仿真完整的系统,包括操作系统、网络连接、外设等,用户需要提供编译好的Linux内核和磁盘镜像,系统调用模式需要比要求更长的仿真时间。此外,Gem5提供了两种存储系统,经典模式和Ruby模式。继承自M5的经典模式提供了一个快速且易于配置的存储系统,而继承自GEM的ruby模式可以准确地模拟支持不同缓存一致性协议的存储系统。同时,Gem 5还支持多种指令集架构,包括ARM、MIPS、Power、ARM、x86、RISC-V等。[22、25]。4.2. 实验设置我们基于Gem5模拟器评估IoTBench。我们比较了物联网系统中两种常见的指令集架构(ISA),ARM和RISC-V。在AArch 64执行状态下,使用A64指令集,这是一个固定长度的32位指令集。我们使用RV64GC,表4模拟器的配置参数值ISA ARM RISC-V CPU型号Minor CPU O3CPUL1 ICache大小64 kB 32 kB 16 kB 8 kB 4 kB 2 kBL1 DCache大小64 kB 32 kB 16 kB 8 kB 4 kB 2 kBL2 Cache size 1024 kB 512 kB 0 kB包括压缩指令和通用指令的指令集。我们还比较了顺序(小CPU)处理器和顺序(O3 CPU)处理器根据处理器执行指令的方式。此外,我们使用IoTBench评估各种L1和L2缓存设置。表4显示了评估架构的配置。我们选择ARM和RISC-V是因为它们是主流的ISAin IoT. 有序和无序是两种典型的处理器体系结构。此外,我们根据一些商业处理器制造商(如SiFive)设置缓存大小。这些设置是根据文档通过命令行实现的的Gem5。我们使用C语言中的数据类型INT和FLOAT;将数据维度分为1 ~ 3维;考虑到微处理器处理的数据规模一般较小,将数据设置为两个尺度,即6144 和 12288 。 通 过 修 改 宏 定 义 中 的 DATA_SIZE 、 DATA_TYPE 和DATA_DIM,获得12个求值子空间。表5示出了实验中的评估子空间的设置。使用的交叉编译器是aarch 64-linux-gnu-gcc和riscv 64- linux-gnu-gcc。ARM指令集为Arm 64,RISC-V指令集为RV 64 GC; Gem 5版本为21.2.1.0。在Gem5目录中,使用SE模式 来进行实验S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000915表5图二. 使用不同数据尺度获得的结果。5.1.2. 数据类型每个评估子空间的数据格式评估子空间DATA_SIZE/DATA_DIM DATA_TYPEA6144 1 INT_TYPEB6144 2 INT_TYPEC6144 2 FP32_TYPED6144 1 FP32_TYPEE12288 1 INT_TYPEF12288 2 INT_TYPEG 12288 2 FP32_TYPEH 12288 1 FP32_TYPEI 12288 3 FP32_TYPEJ12288 3 INT_TYPEK6144 3 INT_TYPEL 6144 3 FP32_TYPE5. 结果在本节中,我们首先分析不同数据类型、数据维度和数据规模对处理器性能的影响。结果表明,数据类型、数据维度和数据规模对性能有显著影响.也就是说,数据特征是物联网基准测试的重要因素。然后,我们使用IoTBench将ARM和RISC-V与MinorCPU和O3 CPU进行比较。 我们发现ARM ISA在相同的微架构配置下,RISC-V的计算效率比RISC-V高。我们研究了不同架构配置下计算子空间的变化,并找到了不同计算子空间的最优架构。5.1. 数据特征本小节比较了处理器在处理不同规模、类型和维度的数据时的Iterations/Sec(Iterations/Sec表示处理器每秒可以运行多少次IoTBench迭代)、CPI(每指令周期数)、指令数和周期数,并分析了可能的原因。5.1.1. 数据规模如图2(a),在固定数据维度和数据类型的情况下,迭代次数/秒与数据规模近似成反比。如图2(c),指令的数量大致与数据规模成比例。从图2(b)中可以看出,CPI随数据规模的变化并不显著。当数据规模较小时,它略大众所周知,对于相同的数据大小,浮点运算比整数运算慢。根据图3,当数据类型为int时,Iterations/Sec的值略高于float 32。通过对Gem 5的日志分析,当数据类型为float 32时,浮点指令数占总指令数的比例不到2%,而整数指令数占总指令数的比例超过40%,内存读写类型占总指令数的比例超过50%。5.1.3. 数据维度如图4(a)所示,当数据维度是一维时,性能明显好于当数据是二维和三维时。这个结果的主要原因是,当数据维度是一维时,指令的数量显著低于当数据维度是二维和三维时的指令数量(图11)。4(c))。通过分析Gem5的日志发现,当数据为二维或三维时,整数类型操作和内存读操作约为一维的3倍,整数乘法操作约为一维的6倍。通过分析代码,我们发现,当数据是二维或三维时,需要进行大量的整数加法和乘法运算来计算数组索引,导致指令数量增加。 因此,当数据是一维时,尽管CPI较高, (图4(b)),迭代次数/秒仍然较大。5.2. ISA和处理器型号的比较从图5(a),我们可以看到,在相同的处理器频率下,ARM架构的性能总体上优于RISC-V架构;乱序处理器的性能明显优于有序处理器。从图5(c),ARM架构的指令数少于RISC-V架构。主要原因是ARM指令集使用了很多复杂的指令,比如SIMD(单指令多数据)。SIMD计算模式在提高计算性能的同时也使指令集复杂化。 而且RISC-V指令功能更简单、更基础,所以RISC-V架构下的指令数量会更多。由于RISC-V架构具有更多的指令,即使RISC-V架构的CPI低于ARM架构,如图5(d)所示,ARM架构的处理器的程序执行周期仍然小于RISC-V架构。S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000916图三. 使用不同数据类型获得的结果。见图4。 不同数据维度的结果。5.3. 不同评价子空间的分析与优化本节分析了不同CPU模型和ISA下处理器性能随缓存大小的变化,并找到了不同子空间的最佳缓存大小配置5.3.1. 子空间A以子空间A为例,分析了缓存对算法性能的影响 大小对处理器性能的影响基于Iterations/Sec和高速缓存大小在四种配置下选择最佳配置:具有乱序处理器的ARM指令集架构(ARM+O3)、具有有序处理器的ARM指令集架构(ARM+ Minor)、具有乱序处理器的RISC-V指令集架构 ( RISC-V+O3 ) 和 具 有 有 序 处 理 器 的 RISC-V 指 令 集 架 构 ( RISC-V+Minor)。当L1 DCache设置为16 kB,L1 ICache设置为8时kB时,处理器显示出与设置两个缓存时相同的性能64 kB。在最佳配置中未设置二级缓存。因为L2缓存大小大于数据大小,测试时间短,如果使用L2 Cache时,冷启动会占用一部分时间,性能下降。表6显示了与下图中的横坐标编号对应的配置。如图在图6(a)和6(b)中,迭代/秒和CPI显示出与缓存大小大致相反的趋势。CPI的增加可以归因于L1缓存大小的减少导致的未命中率的增加,这会导致更多的处理器停顿。在指令计数稳定的情况下,较高的CPI意味着增加在指令执行时间,这导致在迭代/秒值的减少。编号5-7处的“迭代次数/秒”值先略微增加后减小,与二级缓存未命中率趋势相反。L1 ICache减少到16kB后,L1 ICache未命中率增加,L2 Cache访问次数增加,导致L2 Cache冷未命中百分比降低,平均未命中率降低。类似地,当L1缓存增加到64kB,对L2 Cache的访问次数减少,平均未命中率增加,导致性能损失。在配置编号14处性能得到改善,因为此处取消了L2 Cache设置,并且没有L2 Cache未命中导致的时间消耗,因此性能得到改善。表演从第19名下降到S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000917图五. 使用不同ISA和CPU模型获得的结果。图第六章ARM+O3在子空间A中的结果。第20个,因为L1 ICache在这一点下降。结合 图6(d),我们可以看到L1 ICache未命中率在这里显著上升,数字23至25也是如此。当L1DCache和L1 ICache均从8 kB降至2 kB,并且L1 ICache均未命中时,性能从第27名大幅下降至第29名率和L1 DCache未命中率显著增加根据图如图6(c)所示,当L1 DCache设置为8kB及以上时,其大小变化不会对L1 DCache未命中率产生很大影响。但是,低于8 kB时,未命中率会随着L1 DCache的大小而显著变化,因为测试的数据大小为6144字节。如图所示图如图6(d)所示,当L1ICache被设置为16kB及以上时,其大小变化对未命中率没有太大影响。然而,下面16 kB,未命中率随大小而显著变化。使用L2 Cache分析前13组数据,得到Fig. 6(e),L2未命中率在编号4/6/11/13处显著降低,这些编号都是具有以下特征的配置:L1 ICache为16 KB。结合图6(d),可以看出,L1ICache未命中率增加,并且从L1 ICache下降到16 kB时起,当L1 DCache设置为16 kB,L1 ICache设置为8 kB时,性能最佳。 根据图 6和7,每个结果ARM+Minor下的配置大致符合ARM+O3下的结果与缓存大小。但是,Iterations/Sec的平均值低于使用乱序处理器时的值,CPI更高,L1DCache未命中率和L1 ICache未命中率显著降低,L2 Cache未命中率变化不大。当L1 DCache设置为16 kB且L1 ICache设置为8 kB时,处理器实现最佳性能,与两个缓存都设置为64 kB时相同。 根据图如图8和图6所示,RISC-V+O3下各测试结果随缓存大小的变化趋势与ARM+O3下的相似。迭代次数/秒的平均值低于ARM架构的CPI更高,缓存未命中率变化不明显。比较图8(a)和6(a)与图。8(b)和6(b),我们可以发现,当L1 Cache大小从8 kB减小到4 kB,从4 kB减小到2 kB时,RISC-V组的性能下降速度减缓,但ARM组的性能下降加剧。根据图如图8(c)和6(c)所示,对于RISC,在上述间隔中L1DCache未命中率的增加速率显著更小。V架构比为ARM架构,这可能是造成上述现象的原因。S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000918图第七章子空间A中ARM+Minor的结果。图八、RISC-V+O3在子空间A中的结果。当两个缓存都设置为16 kB时,性能最佳。比较图如图9和图8所示,我们可以看到迭代次数/秒值显著降低,CPI增加,L1 DCache和L1ICache的未命中率显著降低,而L2 Cache未命中率没有显著变化。比较图 9、图7、RISC-V架构的Iterations/Sec相对较低,CPI也低于ARM架构。在RISC-V体系结构中,性能随缓存大小的变化小于ARM体系结构。5.3.2. 其他子空间表7分别总结了12个评估子空间的最佳配置在不同的评估子空间中,处理器性能随Cache大小变化的趋势不同,性能最佳的配置也不同。现有的基准测试,如CoreMark,在固定的数据大小、数据类型和数据维度下进行测试,并给出单一的性能评分。但是,IoTBench可以在不同的数据大小,类型和维度下给出最终的性能得分。用户可以通过修改上述参数来测试处理器在什么样的数据特性下会获得更好的性能。用户可以针对给定的数据空间优化处理器,同时考虑特定应用领域的需求。还可以获得特定配置的优化对特定特征数据的处理的影响。这对于制造商为特定应用领域生产处理器以及用户选择更适合其数据处理需求的处理器是有用的6. 结论本文构建了一个用于评估物联网场景中处理器性能的基准测试(IoTBench)。该基准将数据空间根据数据规模、类型和维度划分为多个评估子空间,这与物联网应用的碎片化特性相一致。我们使用Gem5模拟器来模拟处理器, 使用IoTBench在不同的评估子空间中测试每个处理器的性能。我们分析了不同的数据类型,数据维度和数据规模对处理器性能的影响。结果表明,数据类型、数据维度和数据规模对性能有显著影响.比较表明,ARM ISA通常比RISC-V更高效12评价S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)1000919图第九章子空间A中RISC-V+Minor的结果。表6.表7与编号对应的配置L2 Cache/kBL1 DCache/kBL1 ICache/kB0 1024 64 641 1024 64 322 1024 32 643 1024 32 324 1024 32 165 1024 16 326 1024 16 167 512 64 648 512 64 329 512 32 6410 512 32 3211 512 32 1612 512 16 3213 512 16 1614 0 64 6415 0 64 3216 0 32 6417 0 32 3218 0 32 1619 0 32 820 0 32 421 0 32 222 0 16 3223 0 16 1624 0 16 825 0 16 426 0 8 3227 0 8 828 0 4 429 0 2 2通过IoTBench得到的评估子空间表明,相同的处理器配置在不同的评估子空间中表现不同,不同评估子空间中最优性能对应的处理器配置也不同。 用户可以设置IoTBench的数据维度、类型和规模,根据自己的需求对不同的处理器进行测试,以获得更符合自己需求的处理器优化。在今后的工作中将作出一些改进。首先,本文的实验是在gem 5的系统调用模式下进行的,更多的实验可以在 全系统仿真模式。第二,可以增加更多的模块以测试不同配置对处理器三、更具代表性子空间A-L的最优配置子空间ISACPU型号L1 DCache/kBL1 ICache/kB迭代次数/秒A ARM O3 16 8 28328.61B ARM O3 16 16 11695.91C ARM O3 16 8 12121.21D ARM O3 16 16 28571.43E ARM O3 32 32 13386.88F ARM O3 32 8 5173.31G ARM O3 32 16 5181.35H ARM O3 32 8 13458.95I ARM O3 32 32 5837.71JARM O3 32 8 5621.14K ARM O3 16 32 10548.52L ARM O3 16 16 10964.91A RISC-V O3 16 8 19801.98B RISC-V O3 32 16 10718.11C RISC-V O3 16 8 11013.22D RISC-V O3 16 16 27247.96E RISC-V O3 32 8 10070.49F RISC-V O3 32 8 3915.43G RISC-V O3 32 64 4738.13H RISC-V O3 32 32 13192.61I RISC-V O3 32 8 5208.33JRISC-V O3 32 32 5130.84K RISC-V O3 16 8 10152.28L RISC-V O3 32 16 10214.50可以选择IoT场景中的工作负载。第四,可以进一步探索不同评价子空间中不同配置与指标之间的关系。竞合利益作者声明,他们没有已知的竞争性财务利益或个人关系,可能会影响本文报告的工作致谢本 工 作 得 到 了 中 国 科 学 院 战 略 重 点 研 究 计 划 ( 批 准 号 :XDA0320000和XDA0320300)的资助。作者非常感谢匿名评论者的深刻反馈。S. Chen C.,马缨丹属罗,W.Gao等人BenchCouncil交易基准,标准和评估2(2022)10009110引用[1]A.R.韦斯Dhrystone基准,在:历史,分析,“得分"和建议,白皮书,ECL/LLC,2002年。[2]R.P. Weicker,Dhammone:一个综合系统编程基准,Commun。ACM 27(10)(1984)1013-1030.[3]E. Consortium等人, Coremark,2009年。[4] J.Bucek,K.- D. Lange,J. v. Kistowski,SPEC CPU 2017:下一代计算基 准 , in : Companion of the 2018 ACM/SPEC International ConferenceonPerformance Engineering,2018,pp. 41比42[5]L. Wang,J. Zhan,C. Luo,Y.朱,加-地Yang,Y. 他,W。 Gao,Z. Jia,Y.Shi,S.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功