• 中国精品科技期刊
  • CCF推荐A类中文期刊
  • 计算领域高质量科技期刊T1类
高级检索

基于多粒度特征交叉剪枝的点击率预测模型

白婷, 刘轩宁, 吴斌, 张梓滨, 徐志远, 林康熠

白婷, 刘轩宁, 吴斌, 张梓滨, 徐志远, 林康熠. 基于多粒度特征交叉剪枝的点击率预测模型[J]. 计算机研究与发展, 2024, 61(5): 1290-1298. DOI: 10.7544/issn1000-1239.202220943
引用本文: 白婷, 刘轩宁, 吴斌, 张梓滨, 徐志远, 林康熠. 基于多粒度特征交叉剪枝的点击率预测模型[J]. 计算机研究与发展, 2024, 61(5): 1290-1298. DOI: 10.7544/issn1000-1239.202220943
Bai Ting, Liu Xuanning, Wu Bin, Zhang Zibin, Xu Zhiyuan, Lin Kangyi. Multi-Granularity Based Feature Interaction Pruning Model for CTR Prediction[J]. Journal of Computer Research and Development, 2024, 61(5): 1290-1298. DOI: 10.7544/issn1000-1239.202220943
Citation: Bai Ting, Liu Xuanning, Wu Bin, Zhang Zibin, Xu Zhiyuan, Lin Kangyi. Multi-Granularity Based Feature Interaction Pruning Model for CTR Prediction[J]. Journal of Computer Research and Development, 2024, 61(5): 1290-1298. DOI: 10.7544/issn1000-1239.202220943
白婷, 刘轩宁, 吴斌, 张梓滨, 徐志远, 林康熠. 基于多粒度特征交叉剪枝的点击率预测模型[J]. 计算机研究与发展, 2024, 61(5): 1290-1298. CSTR: 32373.14.issn1000-1239.202220943
引用本文: 白婷, 刘轩宁, 吴斌, 张梓滨, 徐志远, 林康熠. 基于多粒度特征交叉剪枝的点击率预测模型[J]. 计算机研究与发展, 2024, 61(5): 1290-1298. CSTR: 32373.14.issn1000-1239.202220943
Bai Ting, Liu Xuanning, Wu Bin, Zhang Zibin, Xu Zhiyuan, Lin Kangyi. Multi-Granularity Based Feature Interaction Pruning Model for CTR Prediction[J]. Journal of Computer Research and Development, 2024, 61(5): 1290-1298. CSTR: 32373.14.issn1000-1239.202220943
Citation: Bai Ting, Liu Xuanning, Wu Bin, Zhang Zibin, Xu Zhiyuan, Lin Kangyi. Multi-Granularity Based Feature Interaction Pruning Model for CTR Prediction[J]. Journal of Computer Research and Development, 2024, 61(5): 1290-1298. CSTR: 32373.14.issn1000-1239.202220943

基于多粒度特征交叉剪枝的点击率预测模型

基金项目: 国家自然科学基金项目(62102038, 61972047);腾讯微信开放平台项目(S2021120)
详细信息
    作者简介:

    白婷: 1992年生. 博士,讲师. CCF会员. 主要研究方向为信息检索、数据挖掘

    刘轩宁: 2000年生. 博士. 主要研究方向为信息检索、数据挖掘

    吴斌: 1969年生. 博士,博士生导师. 主要研究方向为数据挖掘、图数据分析

    张梓滨: 1992年生. 硕士. 腾讯高级算法工程师. 主要研究方向为推荐系统、数据科学

    徐志远: 1990年生. 硕士. 腾讯高级算法工程师. 主要研究方向为推荐系统、数据科学

    林康熠: 1985年生. 学士. 腾讯高级算法工程师. 主要研究方向为推荐系统、数据科学

    通讯作者:

    吴斌(wubin@bupt.edu.cn

  • 中图分类号: TP391

Multi-Granularity Based Feature Interaction Pruning Model for CTR Prediction

Funds: This work was supported by the National Natural Science Foundation of China (62102038, 61972047) and the Project of Tencent Weixin Open Platform (S2021120).
More Information
    Author Bio:

    Bai Ting: born in 1992. PhD, lecturer. Member of CCF. Her main research interests include information retrieval and data mining

    Liu Xuanning: born in 2000. PhD. His main research interests include information retrieval and data mining

    Wu Bin: born in 1969. PhD, PhD supervisor. His main research interests include data mining and graph data analysis

    Zhang Zibin: born in 1992. Master. Senior algorithm engineer at Tencent. His main research interests include recommendation system and data science

    Xu Zhiyuan: born in 1990. Master. Senior algorithm engineer at Tencent. His main research interests include recommendation system and data science

    Lin Kangyi: born in 1985. Bachelor. Senior algorithm engineer at Tencent. His main research interests include recommendation system and data science

  • 摘要:

    在推荐系统中,学习有效的高阶特征交互是提升点击率预测的关键. 现有的研究将低阶特征进行组合来学习高阶交叉特征表示,导致模型的时间复杂度随着特征维度的增加呈指数型增长;而基于深度神经网络的高阶特征交叉模型也无法很好地拟合低阶特征交叉,影响预测的准确率. 针对这些问题,提出了基于多粒度特征交叉剪枝的点击率预测模型FeatNet. 该模型首先在显式的特征粒度上,通过特征剪枝生成有效的特征集合,保持了不同特征组合的多样性,也降低了高阶特征交叉的复杂度;基于剪枝后的特征集合,在特征元素粒度上进一步进行隐式高阶特征交叉,通过滤波器自动过滤无效的特征交叉. 在2个真实的数据集上进行了大量的实验,FeatNet都取得了最优的点击率预测效果.

    Abstract:

    Learning effective high-order feature interactions is crucial for click through rate (CTR) prediction in recommender systems. Existing methods that learn meaningful high-order feature combinations by reassembling low-order feature combinations, i.e., 2-order feature interaction, suffer from high computational costs to calculate the interaction weight of all pairwise feature interactions. Some deep neural network-based methods can be seen as universal function approximators to potentially learn all kinds of feature interactions. However, it had been proved to be inefficient to approximate the low-order interactions, i.e., 2-order or 3rd-order feature interactions, which may influence the accuracy of CTR prediction task. Based on the above consideration, we propose a multi-granularity based feature interaction pruning network (FeatNet) for CTR prediction task. Firstly, FeatNet generates different subsets with a threshold pruning operation to select the meaningful feature combinations on the explicit feature granularity, which enables FeatNet to keep the diversity of different feature combinations, and reduce the complexity of high-order feature interactions. Based on the pruned feature subsets, implicit high-order feature interactions are further conducted on the granularity of feature elements, which automatically filters out the invalid feature interactions. Extensive experiments are conducted on two real-world datasets, showing the superiority of FeatNet in CTR prediction.

  • 敏捷开发最初是指以用户的需求进化为核心,采用迭代、循序渐进的方法进行软件开发. 而近年来随着当今处理器核心设计需求的多样性与复杂性不断增加,一些前沿领域的芯片设计团队也开始尝试借鉴敏捷开发的思想[1-3]. 处理器芯片设计在投片前, 需要基于近似真实的硬件环境,敏捷地进行软硬件系统定义、集成和试错,开展软硬件系统级评估.

    在早期的处理器开发流程中,由于对硬件的依赖,处理器相关软件的开发和验证需要稳定的硬件原型,这种硬件开发和软件开发之间的串行性在一定程度上降低了整体的开发与迭代效率. 为了缩短开发周期,软硬件协同开发[4]的思路被提出. 软硬件协同开发在设计初期将系统功能进行软件和硬件的划分,随后软件和硬件的开发并行进行,验证阶段采用软硬件协同验证的方式. 软硬件协同验证是一种对软硬件设计同时进行验证的方法,要求在验证框架下搭建待验证硬件环境并运行待验证软件,运行过程中软硬件的行为可以彼此提供测试向量,从而将验证工作并行化,缩短验证时间. 同时,软件应根据硬件配置进行设计,综合启动引导固件、操作系统、应用程序等各层次的代码,组织成完整的软件栈. 随着硬件设计的规模逐渐扩大,软件栈需要跟踪各种硬件接口(时钟与复位逻辑、访存接口、各类对外通信设备等)的准确版本以及从固件到用户级应用程序的特性和功能,因此软件栈的开发和测试变得更加复杂. 设计复杂性的不断增加对实验和研究软件工作负载的管理提出了挑战.

    处理器设计的系统性改进升级可能涉及修改任何层次代码,包括从低级电路的硬件描述代码到操作系统和应用程序的软件代码. 综上所述,处理器设计团队需要一个硬件和软件完全集成的原型验证系统. 全系统级验证是对软件或硬件合作的尝试. 系统级验证指对系统层面的硬件设计进行验证,验证对象通常是软硬件整体. 系统级验证的方法主要采用对软硬件整体仿真或模拟的方法,如搭建现场可编程门阵列(field programmable gate array,FPGA)原型系统进行验证,就是一种目前业界广泛采用的基于可编程硬件模拟的方法. 近年来,由于FPGA器件成本的下降和逻辑资源规模的提升,加上FPGA本身与真实电路的近似性,FPGA原型验证作为系统级验证的一种方式,其优势愈加明显.

    现有的系统级原型验证平台主要基于通用型FPGA器件. 通用型FPGA器件以提供可编程逻辑资源为目标,几乎不包含硬核,设计流程上主要通过FPGA制造商提供的电子设计自动化(electronics design automation,EDA)支持工具来构建设计并配置器件,从而构建FPGA原型系统. 各制造商的FPGA开发过程基本相同,但开发过程往往涉及工程方面的繁杂细节. 在基于传统通用型FPGA的原型验证中,除了需要测试的处理器核部署在FPGA上之外,还需要实现一些基本的内存访问接口和I/O外设(包括但不限于网络接口、串行端口、USB、SD/MMC等). 没有FPGA开发经验的人需要相当长的时间来学习掌握,技术门槛较高. 这些接口的实现本身也需要占用FPGA的大量片上逻辑资源,从而挤压待测试的处理器核心的布局和布线自由度空间,带来时序违例等问题. 此外由于芯片底层实现工艺的原因,相较于专用集成电路(application specific integrated circuit,ASIC),通用型FPGA的原型验证场景中处理器核的运行频率低,执行一些计算密集型任务往往需要消耗相当长的时间,而这些等待时间也会间接影响到处理器的验证流程.

    基于面向开放RISC-V指令集[5]的开源处理器在近年来受到广泛关注. 随着开源芯片社区的不断发展和成熟,处理器内部的一些典型基础逻辑功能模块也在历经多次流片验证后趋于稳定,这些基础模块在未来爆发大规模逻辑错误和设计缺陷的可能性已大幅度降低。然而,随着系统整体复杂度的不断提升,目前的处理器集成了越来越多的基础模块部件,因此,未来不仅需要开展面向传统RTL(register transfer logic)逻辑设计描述和门级电路的仿真测试,更需要一种快速构建软硬件原型的平台和方法,以尽快开展系统级测试评估. 设计团队亟需一种利用开源IP快速构建硅前系统级平台的方法,尽快开展硅前硬件纠错和软件调试工作.

    随着片上系统(system-on-a-chip,SoC[6])技术的演进,出现了在同一芯片上集成FPGA可编程逻辑(programmable logic,PL)和硬核处理系统(processing system,PS)的新型SoC-FPGA[7]器件. 以Xilinx的Zynq-7000/MPSoC为例,其硬核处理系统部分是一个以ARM处理器硬核为核心的SoC,它包含硬核ARM处理器、平台管理单元(platform management unit,PMU)协处理器及各类丰富的外设接口资源. SoC-FPGA可以认为是ASIC器件与传统FPGA器件的互补,将一些广泛使用的标准化处理器核与外设接口以硬核的形式直接提供给开发者复用.

    如何充分利用SoC-FPGA提供的各类外设接口及算力资源,为开源RISC-V处理器核提供一套敏捷易用的原型验证环境,以更好地开展软硬件全系统评估工作,是本文着力解决的问题.

    FireMarshal[8]是一个用在全栈SoC上创建和共享可复制和可重复实验的软件工件的工具. 用户可以将配置项写入JSON文件,以快速生成所需的所有级别的软件栈. 然而,FireMarshal侧重于RISC-V软件系统的自动化生成,在硬件上依赖FireSim[9]仿真加速平台,尚未充分考虑如何为RISC-V处理器的完整软硬件系统级验证提供丰富的I/O外设接口.

    Freedom[10]是SiFive设计的一个平台,用于将特定的RISC-V核——Rocketchip[11]部署到传统通用型FPGA设备,为设计者提供一套典型的RISC-V SoC参考系统. 虽然Freedom开源代码仓库中提供了一些简单I/O接口的使用方法,但接口类型和功能极为有限,不能满足目标处理器软硬件系统的完整验证需求. 此外,Freedom提供的I/O接口可选择使用Xilinx FPGA开发工具中提供的IP,但这些IP核仍需要以逻辑电路的形式被部署在FPGA上,占用待验证处理器需要的逻辑资源.

    ESP[12]是用于异构SoC设计的开源研究平台. ESP体系结构具有高度可扩展性,并在规则性和专业性之间取得平衡. 伴随的方法提高了系统级设计的抽象级别,并支持从软件和硬件开发到FPGA上的全系统原型的自动化过程. 对于应用程序开发人员,ESP提供面向特定领域的自动化解决方案,为其软件合成新的加速器,并将复杂的工作负载映射到SoC架构上. 对于硬件工程师来说,ESP提供了将加速器设计集成到完整SoC中的自动化解决方案.

    国内也有团队开始探索基于SoC-FPGA构建RISC-V处理器的测试系统[13]. 其基本思路是通过对RISC-V发起的外设地址访问请求进行捕获,将RISC‑V处理器通过AXI外设控制总线对外设控制器访问产生的相应数据转存,最终通过串口打印. 然而该方法仅能对RISC-V处理器的外设访问通路进行相关访问数据记录的收集,转存机制本身也难以保证数据交互的实时性,同时也未考虑对复杂高速DMA外设的访问支持还无法满足完整的系统级验证需求.

    综上,尽管国内外已开始重视RISC-V有关的软硬件协同验证系统,但主要沿用传统的通用型FPGA模式,测试待验证处理器所需的接口通常需要直接在FPGA上实现. 特别是对于一些高速接口,即使能够应用Xilinx或第三方公司提供的IP核保证功能可靠,但这些IP核需要占用大量的逻辑资源,基于Xilinx ZynqMP ZU2EG系列器件测得的各IP以默认配置设置时所需的逻辑资源数量与所占总逻辑资源的比例,如表1所示. 而目前基于SoC-FPGA构建RISC-V处理器测试系统的技术尝试,尚存在一定的局限性.

    表  1  若干外设接口IP所需的逻辑资源
    Table  1.  Logical Resources Required by the IP of Several Peripheral Interfaces
    IP查找表触发器块存储器
    SDIO1097(2.3%)9944(10.5%)1(3.0%)
    Ethernet3106(6.6%)5256(5.5%)4(12.0%)
    USB 2.02388(5.0%)2135(2.2%)3(9.0%)
    PCIe 2.016444(35.0%)12421(13.2%)20(60.0%)
    下载: 导出CSV 
    | 显示表格

    针对传统通用型FPGA在构建复杂系统方面的这些缺点,本文面向RISC-V处理器提出了一种基于SoC-FPGA的RISC-V处理器软硬件系统级平台. 该平台充分发掘可编程SoC-FPGA软硬件协同可编程的潜力,通过构建各级硬件和软件的设计,使部署在硬件可编程逻辑部分的待验证目标RISC-V处理器核能够充分利用硬核SoC侧的I/O外设资源,并与ARM硬核处理器进行协同,以获得较好的仿真验证效果. 最后,通过与一系列定制化软硬件自动化设计框架,用户只需提供几个关键参数即可自动生成可在SoC-FPGA上部署的目标RISC-V开源处理器软硬件镜像文件,降低原型验证环境的构建开销.

    图1所示,待测RISC-V软核处理器位于可编程逻辑侧,可通过不同类型的总线接口(访存接口和外设接口)访问ARM硬核SoC侧的内存与I/O外设资源;同时I/O外设可通过一致性接口向RISC-V可见内存发起DMA访问. 此外,为了提高验证平台在软硬件各个层次上的兼容性,本文提出一种基于Mailbox模块的软硬件协同的验证平台设计框架,通过RISC-V软核与ARM硬核对Mailbox模块的共享访问,实现硬核处理器对RISC-V处理器软硬件验证的高效协同.

    图  1  基于SoC-FPGA的原型验证平台总体示意图
    Figure  1.  Overall schematic diagram of prototype verification platform based on SoC-FPGA

    完整的软硬件协同验证需要待测试RISC-V处理器核与各种总线接口之间进行频繁交互. 一些特定的测试数据、测试结果也需要通过相关的总线接口与待验证处理器进行传输.

    在验证平台框架中如图1所示,待验证的RISC-V处理器核主要包含3类总线接口,分别为访存接口、一致性接口和外设接口,其中外设接口一般使用内存映射输入输出(memory-mapped I/O,MMIO)的方式工作. 为了充分利用硬核处理系统侧的各项资源,本文将可编程逻辑侧待验证处理器的MMIO接口连接到硬核处理系统端,并允许待验证处理器访问硬核处理系统端的各种I/O外设;将待验证处理器通过访存接口访问硬核处理系统侧的内存控制器. 一些具有大量通信数据的外设设备,如用于访问SD/MMC便携存储设备的安全数字输入输出(secure digital input and output,SDIO)接口和以太网,其DMA交互接口也与待验证处理器的缓存一致性接口连接. 此外,Mailbox模块可以像普通外设一样由MMIO接口直接寻址访问,为可编程逻辑侧的待验证处理器提供了一种间接访问PMU的方式在ARM处理器的算力协助工作中发挥重要作用.

    硬核处理系统[14]中的UART、SDIO、网络等外设既可以被可编程逻辑中的待验证处理器通过接口访问,也可以被硬核处理系统中的ARM处理器访问,但不应该被二者同时占用. 在验证平台启动过程中,首先由ARM处理器完成平台初始化和引导文件加载工作,之后各外设的控制权被移交给待验证处理器,以实现外设资源的复用. 各外设资源在平台启动过程中的使用情况为:

    1)UART接口. 在验证平台启动期间,ARM处理器和待验证处理器的各个启动阶段的日志信息,以及挂载文件系统后的交互都可以通过UART接口完成输入输出.

    2)SDIO接口. 在基于SD卡的引导模式下,ARM和待验证处理器引导文件都需要从SD卡移动到内存. 启动Linux内核后,待验证处理器还可能需要在SD卡分区上挂载发行版文件系统,也需要访问SDIO接口.

    3)网络. 在基于网络的启动模式下,ARM和待验证处理器都需要从网络的远端服务器读取启动镜像文件到内存. 启动Linux内核后,待验证处理器还可能需要在网络文件系统(network file system,NFS)服务器上挂载发行版文件系统,这也需要访问网络接口.

    值得注意的是,由于ARM处理器在通电和启动的初始阶段仅暂时使用SDIO或网络接口,一旦开始执行服务程序,ARM将不再访问硬核处理系统端的各类外设资源. 因此,待验证处理器从开始加载启动到挂载发行版文件系统的整个过程,对硬核处理系统端的所有接口资源都具有完全权限.

    硬核处理系统侧的处理器核心主要包括ARM主处理器和PMU协处理器2部分. ARM主处理器作为硬核处理系统的高性能处理器,主频较高,而且上电后立即开始工作,可直接进行访存以及各类外设接口的交互操作,能够向待测RISC-V处理器软核提供算力方面的协助. PMU是一个在SoC-FPGA上执行管理功能的硬核处理器. PMU可以执行其他处理器不被允许的操作,如电源管理、时钟管理和可编程逻辑配置,能够向待测RISC-V处理器软核提供功能上的辅助. 待测RISC-V核对2种硬核处理器资源的利用在结构上均需要基于Mailbox进行关键信息的交互,如图1所示. 3.2.1节将对硬核处理器资源的利用方法,以及不同处理器之间的具体交互流程进行阐述说明.

    基于3.1节的方法虽然能够访问到I/O外设的控制与状态寄存器空间,但无法直接访问一些对系统行为较为敏感的特殊寄存器(如I/O外设的时钟寄存器). 这些特殊寄存器只能由PMU管理,其他处理器核没有直接访问权限. 当待验证RISC-V处理器需要读写特殊寄存器时,需要向PMU发出核间中断请求,委托PMU进行特殊寄存器的读写操作. 因此需要建立待验证RISC-V处理器与PMU的核间中断通信机制. 然而,现有SoC-FPGA器件往往并不允许位于可编程逻辑的待测处理器直接向PMU单元发出核间中断操作.

    为解决这些问题,本文提出一种虚拟核间中断机制,通过ARM硬核处理器作为第三方,对核间中断(inter-processor interrupt,IPI)请求进行转发. 具体地,本文提出一种基于Mailbox的核间中断请求转发流程. 同时,为了对特殊寄存器的操作与普通寄存器操作进行隔离,本文在RISC-V的机器态运行模式(machine mode,M-MODE)下实现了程序调用接口,允许在其他运行模式下通过环境调用(environment call,ECALL)模式访问.

    图2所示,Mailbox主要包括请求标记段和参数段,参数段包括请求类型段、输入参数段与输出参数段3部分,可基于FPGA片上小容量BRAM实现. 请求标记段由RISC-V在需要时进行置位和回读,ARM则在默认情况下循环检测该请求标记. 为了当RISC-V开始执行PMU访问时首先通过ECALL陷入M-MODE,将核间中断的相关信息通过MMIO总线接口写入Mailbox的相应位置. 在Mailbox模块的配合下,RISC-V核对PMU等单元的操作请求将由ARM进行中转,代替RISC-V向PMU发出操作请求从而实现虚拟核间中断机制,最终RISC-V通过Mailbox回读核间中断操作的返回结果,图2中,从平台的角度上,各操作按数字序号的次序依次执行;从RISC-V与ARM处理器的角度上,各自按照其执行步骤箭头依次执行.

    图  2  RISC-V处理器与PMU的交互流程
    Figure  2.  Interaction process between RISC-V processor and PMU

    基于Mailbox构建的虚拟核间中断机制将在平台的操作系统引导过程中起到重要作用. 在待测RISC-V软核启动时,Linux内核的初始化阶段需要陷入M-MODE的管理器二进制接口(supervisor binary interface,SBI)固件代码中执行核间中断请求. RISC-V处理器上的Linux内核运行于S-MODE, 更高级别的M-MODE运行OpenSBI(OpenSBI是SBI的一种开源实现,除了作为引导程序以外, 同时也作为平台管理固件运行于处理器的最高级别). 本文兼容了现有的SoC-FPGA时钟驱动程序,通过添加相应的接口函数来支持RISC-V从内核态陷入M-MODE固件,发起对PMU的虚拟核间中断,如图3所示.

    图  3  RISC-V处理器上运行的Linux驱动程序发起对PMU的虚拟核间中断请求
    Figure  3.  Linux drivers running on RISC-V processor initiate a virtual IPI towards PMU

    在验证平台中,ARM处理器负责为RISC-V处理器核的启动准备内存环境,并将RISC-V的启动镜像文件从SD卡提前移动到内存,完成可编程逻辑端的位流配置等. 并在启动和运行期间最终执行服务程序以协助ECALL和RISC-V的其他操作. 除了RISC-V操作所需的辅助外,ARM处理器还可以承担一些计算任务.

    例如,在涉及RISC-V安全框架的研究中,ARM处理器不仅负责协助RISC-V启动和转发IPI消息,它本身还具有更高的工作时钟频率和更大的计算潜力. 对于一些计算密集型的任务,RISC-V可以通过Mailbox向ARM提交计算辅助请求以及所需要计算的任务类型、原始数据信息等,如图4所示. ARM接收到计算辅助请求后,将通过一致性接口读取所需计算的原始数据,之后将计算结果数据由一致性接口写入共享内存区域,并通过清除请求标记告知RISC-V去回读共享内存中的计算结果,从平台的角度上,各操作按数字序号的次序依次执行;从RISC-V与ARM处理器的角度上,各自按照其执行步骤箭头依次执行.

    图  4  ARM处理器协同运行RISC-V的复杂运算任务
    Figure  4.  ARM processor cooperates to run complex computing tasks of RISC-V

    为了提升软硬件协同验证平台的敏捷性,本文构建了RISC-V处理器软硬件验证的可配置、自动化开发框架.

    验证平台通过多层Git存储库组织,将有关的软件和硬件仓库以高内聚、低耦合的原则组织成一个集成的设计环境. 用户仅需要向平台的接口文件提供关键配置参数,如硬件处理器核的相关配置、软件代码的入口地址等. 如图5所示,平台通过一系列逐层调用并相互协作的Makefile和工具命令语言(tool command language,Tcl)脚本,将这些关键参数配至各个代码仓库的编译传参接口,自动进行各个软硬件模块的参数修改以及FPGA工程的适配工作,而不需要用户深入平台内部进行繁琐的手动修改. 当出现某些模块的更替时仅需要关注关键参数即可,从而使得平台能够快速兼容各个软硬件层次的设计变化.

    图  5  平台软硬件代码组织结构
    Figure  5.  Organization structure of platform on software and hardware codes

    软硬件协同验证平台的敏捷性应该体现在其可以快速高效地集成任何符合标准接口的软件与硬件模块. 软件模块包括软件协议栈的各层次代码,例如启动引导软件、Linux操作系统、应用层可执行程序的不同阶段的软件代码;而硬件模块则主要包括处理器层次的逻辑设计与配置代码与板卡层次的硬件脚本代码. 对于不同的软硬件层次,需要分别配置特定的参数,如表2所示.

    表  2  不同软硬件层次整合时所需要提供的配置参数
    Table  2.  Configuration Parameters Required for Integration of Different Software and Hardware Modules
    软硬件层次配置参数
    处理器核各总线地址范围、核数、内存入口信息
    板卡硬件器件IO物理约束、时钟源、内存映射信息
    启动引导软件起始地址、设备树、总线地址范围、引导方式
    操作系统内核配置项信息
    应用层程序所依赖的操作系统、标准程序库、编译链
    下载: 导出CSV 
    | 显示表格

    考虑到系统级原型验证涉及到很多软硬件各层次代码,本文探索在云端将全栈的代码仓库组织起来,使用户在本地或服务器端,自动化执行编译和测试流程. 由于编译需要许多特定版本的工具链,基于持续集成(continuous integration,CI)的编译方法可以将不同的编译阶段分成特定顺序的job,各个job使用包含所需编译工具链的独立容器镜像,相比本地编译更简单、更可靠. 除了编译阶段,本文也探索了将编译产出的目标文件通过持续部署(continuous deployment,CD)更新到设备.

    平台的硬件环境包括2种自研板卡平台,实物如图6所示,分别是基础实验平台(Plat-B)板卡,以及扩展实验平台(Plat-E)板卡, 2种板卡的各项板载基础配置参数分别如表3所示. Plat-E配备了逻辑资源更大的SoC-FPGA器件,可以提供更多的片上存储资源以支持相对复杂的应用场景(如基于RISC-V的可信执行环境).

    图  6  平台硬件实物照片
    Figure  6.  Physical photos of platform hardware
    表  3  2个实验平台的基本配置
    Table  3.  Basic Configurations of Two Experimental Platforms
    配置项Plat-BPlat-E
    ARM硬核处理器 ARM Cortex-A53 Quad-core @ 1.3GHz
    内存2GiB DDR4-2133内存颗粒16GiB DDR4-2133 SODIMM
    RISC-V可见内存容量/GiB1.7515.75
    UART波特率115200
    SD/MMC32GB,CLASS 10
    以太网网络接口速率/(Mb·s−11000
    ARM和RISC-V间的互连接口时钟频率/MHz100134
    下载: 导出CSV 
    | 显示表格

    在评估实验中,Plat-E板卡与Plat-B板卡上RISC-V软核处理器的基本配置相同,但Plat-E板卡为RISC-V提供的访存空间更大、可编程逻辑侧提供的时钟频率更高,如表4所示.

    表  4  RISC-V软核处理器基础配置
    Table  4.  Basic Configuration of RISC-V Soft Core Processor
    配置项Plat-BPlat-E
    时钟频率/MHz100134
    基本配置Rocketchip v1.2单核
    BaseSubsystemModuleImp
    下载: 导出CSV 
    | 显示表格

    基于表3、表4硬件环境,通过部署并运行一系列软件负载,如表5所示,评估本文提出的验证平台性能.

    表  5  软件工作负载
    Table  5.  Software Workload
    类型基本信息
    引导程序OpenSBI v0.5 + U-Boot v2020.01
    操作系统Linux v5.4.0 + Debian 11
    测试负载①网络性能测试:iperf v3.7
    ②SD/MMC存储性能测试:fio v3.25
    ③复杂运算协同:Keystone可信执行环境,内核驱动v0.3 +
    安全监视器(提交编号adba60d9aa3)
    下载: 导出CSV 
    | 显示表格

    1)验证平台的I/O外设性能

    硬核处理系统侧的各类外设接口在交予可编程逻辑侧的待测试处理器使用时,由于片内通路较长,需要更多的总线中转,可能会产生一定的性能下降. 对于大多数待验证处理器的功能和性能测试,特别是需要运行Linux的场景,考虑到文件系统通常需要放置在SD/MMC卡或NFS服务器上,并且数据输入和输出也取决于SD/MMC存储介质或网络接口. 为了测试本文所述的原型验证平台是否可以提供足够的网络与SD卡访问能力以满足系统级测试的基本需求,本文基于Plat-B板卡的硬件环境设计了一些典型的比较试验,对验证平台的网络与SDIO这2个典型外设接口进行了性能测试和评估.

    2)验证平台的算力辅助

    在原型验证中,待测处理器软核往往不能以高时钟频率运行. 当待测处理器必须执行一些耗时的计算任务时,长时间的等待往往会给其他后续验证过程带来麻烦. 硬核处理系统侧的ARM处理器可以辅助进行一些较为复杂的计算密集型任务.

    如何提供一个安全可信执行环境是未来处理器设计中的重要发展方向. 在现有可信执行框架下,基于第三代安全散列算法[15-16](secure Hash algorithm 3,SHA-3)的度量操作属于一种计算密集型任务,它占整体运行时间的80.4%. 本文在RISC-V开源处理器核上部署UC Berkley发布的开源可信执行环境Keystone[17-18],探索将SHA-3核心计算任务委托到ARM硬核处理器进行处理的方法,并进行性能评估.

    在Xilinx Zynq UltraScale+ MPSoC设备上,本文分别在硬核处理系统侧使用ARM处理器,在可编程逻辑侧使用待验证处理器核来测试两侧处理器访问通信的各项性能. 网络带宽Inbound(验证平台接收来自外界发送的数据)和Outbound(验证平台向外界发送数据)的情况如表6所示. 实验评估了分别由ARM硬核和RISC-V软核访问SDIO接口时的性能参数,如图7所示,从左到右依次为SDIO接口的带宽、每秒读写操作次数、延迟测试结果.

    表  6  原型验证平台的网络性能评估
    Table  6.  Network Performance Evaluation of Prototype Verification Platform
    数据包
    长度/B
    RISC-V
    Inbound/
    (Mb·s−1
    ARM
    Inbound/
    (Mb·s−1
    RISC-V
    Outbound/
    (Mb·s−1
    ARM
    Outbound/
    (Mb·s−1
    6454.32510.47180
    12855.15010.94322
    25655.39011.87447
    51254.58913.78727
    1K54.08938.42810
    2K56.089311.3921
    4K55.389220.4941
    8K54.889130.5941
    16K54.589341.1941
    32K55.889350.2941
    64K55.489051.3941
    128K55.989151.6941
    下载: 导出CSV 
    | 显示表格
    图  7  原型平台的SDIO性能评估
    Figure  7.  SDIO performance evaluation of prototype platform

    从芯片架构来看,硬核处理系统侧的ARM处理器具有更高的运行主频(1.5GHz),其到网络外设设备的数据和控制路径更短. Inbound和Outbound的测试性能均优于被测的RISC-V. 尽管如此,被测的RISC-V仍然可以保证一定的网络传输带宽,在大多数原型验证工作中不会出现明显的瓶颈,可以满足系统级测试的基本需求.

    基于硬核处理系统侧的ARM处理器来进行SHA-3计算的基本思路如图4所示. ARM可以按RISC-V地址空间,以常规访存方式,通过RISC-V缓存一致性接口读取数据. 执行完成后,通过ARM侧显式地执行缓存写回操作,将ARM侧的运算结果主动通过RISC-V一致性接口直接写回RISC-V内存,无需显式地进行结果数据在ARM与RISC-V内存中的搬移.

    逐一运行Keystone的功能测试集进行算力辅助效果测试. 在实验中RISC-V软核处理器通过Mailbox将用于SHA-3计算的数据块的起始地址信息传递给ARM处理器. ARM运行特定的加速程序对该地址的数据块执行SHA-3计算. ARM辅助计算的方法显著加快了SHA-3计算速度,平均将加解密计算运行时间减少了81.13%. 由于SHA-3的计算得以辅助进行,Keystone框架中各功能测试集的执行时间均显著缩短,如图8所示.

    图  8  原型平台的ARM处理器算力辅助效果评估
    Figure  8.  Evaluation of the computing power’s auxiliary effect of the ARM processor on the prototype platform

    为进一步验证本文所提出的平台在敏捷性方面的改进程度,本文在4.1节所述的在基准平台基础上,分别对3个处理器实例进行移植,如表7所示.

    表  7  整合不同软硬件模块所需要的工作量
    Table  7.  Amount of Work Required to Integrate Different Software and Hardware Modules
    目标处理器平台修改项目与手动改动代码行数
    实例I 基础配置开源 “果壳”处理器[19-20]替换处理器核代码子仓库、总线地址范围;替换启动引导软件栈修改代码量:131行
    实例II 支持脉冲神经网络加速的“果壳”处理器[21]替换处理器核代码子仓库修改代码量:12行
    实例III 支持虚拟化扩展的四核Rocketchip[22]替换处理器核代码子仓库、核数配置项;U-Boot与Linux内核配置项修改代码量:77行
    下载: 导出CSV 
    | 显示表格

    表7所示,当需要实现实例I的目标处理器时,平台在基准Rocketchip环境的基础上,仅需将代码仓库中的处理器核子仓库替换为“果壳”处理器子仓库,根据相应的设计要求修改DRAM起始地址与内存范围,此外考虑到“果壳”处理器核不包含硬件浮点计算单元,需要启动引导软件提供浮点模拟辅助,因此增加BBL(Berkeley boot loader )代码仓库到启动引导软件栈路径下,最后修改顶层软件栈相应编译脚本即可.

    当需要实现实例II的目标处理器时,则以实例I为基础,替换支持脉冲神经网络加速的“果壳”处理器子仓库,继续沿用实例I处理器的其他改动即可直接重新编译并部署新的处理器核到平台上.

    当需要实现实例III的目标处理器时,平台首先将虚拟化扩展的四核Rocketchip子仓库替换基准Rocketchip子仓库,再修改U-Boot与Linux的配置项以支持RISC-V的虚拟化功能即可.

    最后,根据3个实例所需的包括对平台脚本的配置项、Makefile与Tcl脚本代码修改等工作量进行了评估,如表7所示.

    综上,对于以上软硬件层次的需求变更,仅需较少的手动修改工作即可快速整合进平台,开启新一轮的部署与验证迭代.

    处理器芯片设计在投片前需要基于近似真实的软硬件环境,敏捷地进行软硬件系统定义、集成和试错. 为更好地支持敏捷的软硬件协同验证技术,本文提出了一套基于SoC-FPGA的系统级全栈平台,支持主流开源RISC-V处理器软硬件栈,支撑软硬件协同的评测工作.

    未来的工作包括进一步提升平台兼容性,以便为设计规模更大、逻辑结构更为复杂的国产香山RISC-V开源处理器项目[23-24]提供系统级原型环境. 对于香山处理器核所需的可编程逻辑资源规模,现有的SoC-FPGA器件尚不足以提供支持,本文正在探索相关解决方案,以构建逻辑资源规模更大的系统级平台.

    本文所述的敏捷软硬件系统级评估平台已经开放 1,并发布了平台的使用说明 2,欢迎申请试用并提出宝贵建议.

    作者贡献声明:齐乐实施实验并撰写论文;常轶松负责提供实验方案与详细工作思路;陈欲晓和张旭提出相关意见并修改论文;陈明宇、包云岗和张科提供总体指导.

  • 图  1   FeatNet和特征子集生成网络示意图

    Figure  1.   Illustration of FeatNet and FSGN

    图  2   滤波器示意图

    Figure  2.   Illustration of filter

    图  3   KF对模型性能的影响

    Figure  3.   Effect of K and F on model performance

    图  4   P对模型性能的影响

    Figure  4.   Effect of P on model performance

    表  1   数据集统计信息

    Table  1   Dataset Statistics

    数据集特征数数据量
    MovieLens121000000
    WeChat26110000000
    下载: 导出CSV

    表  2   在MovieLens和WeChat数据集上的对比结果

    Table  2   Comparative Results on MovieLens and WeChat Datasets

    模型 MovieLens WeChat
    AUC LogLoss AUC LogLoss
    DeepFM 0.8884 0.33103 0.6571 0.27373
    xDeepFM 0.8880 0.33252 0.6571 0.27380
    AutoInt 0.8911 0.33071 0.6585 0.27381
    DCN-V2 0.8920 0.32948 0.6578 0.27444
    FeatNet(本文方法) 0.8923 0.32613 0.6651 0.27290
    注:已有工作证明,在CTR预测中,AUC在0.0001级别的提升为显著的提升. 加粗和下划线数字分别表示最优结果、次优结果.
    下载: 导出CSV

    表  3   消融实验结果

    Table  3   Ablation Experiment Results

    特征子集生成网络 特征交叉滤波网络 AUC
    0.8895
    0.8911
    0.8923
    注:“√”表示保留该网络.
    下载: 导出CSV
  • [1]

    Beutel A, Covington P, Jain S, et al. Latent cross: Making use of context in recurrent recommender systems[C] //Proc of the 11th ACM Int Conf on Web Search and Data Mining. New York: ACM, 2018: 46−54

    [2]

    Broder A Z. Computational advertising and recommender systems[C] //Proc of the 2nd ACM Conf on Recommender Systems. New York: ACM, 2008: 1−2

    [3]

    Cao Zhe, Qin Tao, Liu Tieyan, et al. Learning to rank: From pairwise approach to listwise approach[C] //Proc of the 24th Int Conf on Machine Learning. New York: ACM, 2007: 129−136

    [4] 王奕婷,兰艳艳,庞亮,等. 基于相关修正的无偏排序学习方法[J]. 机研究与发展,2022,59(12):2867−2877 doi: 10.7544/issn1000-1239.20210865

    Wang Yiting, Lan Yanyan, Pang Liang, et al. Unbiased learning to rank based on relevance correction[J]. Journal of Computer Research and Development, 2022, 59(12): 2867−2877 (in Chinese) doi: 10.7544/issn1000-1239.20210865

    [5]

    He Xiangnan, Chua T S. Neural factorization machines for sparse predictive analytics[C] //Proc of the 40th Int ACM SIGIR Conf on Research and Development in Information Retrieval. New York: ACM, 2017: 355−364

    [6]

    Li Zeyu, Cheng Wei, Chen Yang, et al. Interpretable click-through rate prediction through hierarchical attention[C] //Proc of the 13th Int Conf on Web Search and Data Mining. New York: ACM, 2020: 313−321

    [7]

    Chen Ting, Lin Ji, Lin Tian, et al. Adaptive mixture of low-rank factorizations for compact neural modeling[C/OL] // Proc of the 7th Int Conf on Learning Representations. 2019[2022-11-10].https://openreview.net/forum?id=r1xFE3Rqt7

    [8]

    Shan Ying, Hoens T R, Jiao Jian, et al. Deep crossing: Web-scale modeling without manually crafted combinatorial features[C] //Proc of the 22nd ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2016: 255−262

    [9]

    Rendle S. Factorization machines[C] //Proc of the 10th IEEE Int Conf on Data Mining. Piscataway, NJ: IEEE, 2010: 995−1000

    [10]

    Guo Huifeng, Tang Ruiming, Ye Yunming, et al. DeepFM: A factorization-machine based neural network for CTR prediction[C] //Proc of the 26th Int Joint Conf on Artificial Intelligence. New York: Curran Associates, 2017: 1725−1731

    [11]

    Lian Jianxun, Zhou Xiaohuan, Zhang Fuzheng, et al. xDeepFM: Combining explicit and implicit feature interactions for recommender systems[C] //Proc of the 24th ACM SIGKDD Int Conf on Knowledge Discovery & Data Mining. New York: ACM, 2018: 1754−1763

    [12]

    Huang Tongwen, Zhang Zhiqi, Zhang Junlin. FiBiNET: Combining feature importance and bilinear feature interaction for click-through rate prediction[C] //Proc of the 13th ACM Conf on Recommender Systems. New York: ACM, 2019: 169−177

    [13]

    Song Weiping, Shi Chence, Xiao Zhiping, et al. AutoInt: Automatic feature interaction learning via self-attentive neural networks[C] //Proc of the 28th ACM Int Conf on Information and Knowledge Management. New York: ACM, 2019: 1161−1170

    [14]

    Cheng Weiyu, Shen Yanyan, Huang Linpeng. Adaptive factorization network: Learning adaptive-order feature interactions[C] //Proc of the 34th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2020: 3609−3616

    [15]

    Tao Zhulin, Wang Xiang, He Xiangnan, et al. HoAFM: A high-order attentive factorization machine for CTR prediction[J]. Information Processing & Management, 2020, 57(6): 102076

    [16]

    Wang Ruoxi, Fu Bin, Fu Gang, et al. Deep & cross network for ad click predictions[C] // Proc of the 7th Workshop on Data Mining for Online Advertising. New York: ACM, 2017: 12: 1−12: 7

    [17]

    Wang Rouxi, Shivanna R, Cheng Zhiyuan, et al. DCN V2: Improved deep & cross network and practical lessons for web-scale learning to rank systems[C] //Proc of the 30th Web Conf. New York: ACM, 2021: 1785−1797

    [18]

    Cheng H T, Koc L, Harmsen J, et al. Wide & Deep learning for recommender systems[C] //Proc of the 1st Workshop on Deep Learning for Recommender Systems. New York: ACM, 2016: 7−10

    [19]

    Chapelle O, Manavoglu E, Rosales R. Simple and scalable response prediction for display advertising[J]. ACM Transactions on Intelligent Systems and Technology, 2014, 5(4): 1−34

    [20]

    Deng Xiaotie, Goldberg P, Sun Yang, et al. Pricing ad slots with consecutive multi-unit demand[J]. Autonomous Agents and Multi-Agent Systems, 2017, 31(3): 584−605 doi: 10.1007/s10458-016-9335-7

    [21]

    McMahan H B, Holt G, Sculley D, et al. Ad click prediction: A view from the trenches[C] //Proc of the 19th ACM SIGKDD Int Conf on Knowledge Discovery and Data Mining. New York: ACM, 2013: 1222−1230

    [22]

    Richardson M, Dominowska E, Ragno R. Predicting clicks: Estimating the click-through rate for new ads[C] //Proc of the 16th Int Conf on World Wide Web. New York: ACM, 2007: 521−530

    [23]

    Sun Yang, Zhou Yunhong, Yin Ming, et al. On the convergence and robustness of reserve pricing in keyword auctions[C] //Proc of the 14th Annual Int Conf on Electronic Commerce. New York: ACM, 2012: 113−120

    [24]

    Blondel M, Fujino A, Ueda N, et al. Higher-order factorization machines[C] //Proc of the 30th Int Conf on Neural Information Processing Systems. New York: Curran Associates, 2016: 3359−3367

    [25]

    Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need[C] //Proc of the 31st Int Conf on Neural Information Processing Systems. New York: Curran Associates, 2017: 5998−6008

    [26]

    Pan Junwei, Xu Jian, Ruiz A L, et al. Field-weighted factorization machines for click-through rate prediction in display advertising[C] //Proc of the 27th World Wide Web Conf. New York: ACM, 2018: 1349−1357

    [27]

    Hong Fuxing, Huang Dongbo, Chen Ge. Interaction-aware factorization machines for recommender systems[C] //Proc of the 33rd AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2019: 3804−3811

    [28]

    Hu Jie, Shen Li, Sun Gang. Squeeze-and-excitation networks[C] //Proc of the 31st Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2018: 7132−7141

    [29]

    Liu Bin, Zhu Chenxu, Li Guilin, et al. AutoFIS: Automatic feature interaction selection in factorization models for click-through rate prediction[C] //Proc of the 26th ACM SIGKDD Int Conf on Knowledge Discovery & Data Mining. New York: ACM, 2020: 2636−2645

    [30]

    Kusupati A, Ramanujan V, Somani R, et al. Soft threshold weight reparameterization for learnable sparsity[C] //Proc of the 37th Int Conf on Machine Learning. New York: ACM, 2020: 5544−5555

    [31]

    Yu Jiahui, Lin Zhe, Yang Jimei, et al. Generative image inpainting with contextual attention[C] //Proc of the 31st Conf on Computer Vision and Pattern Recognition. Piscataway, NJ: IEEE, 2018: 5505−5514

    [32]

    Yu Jiahui, Lin Zhe, Yang Jimei, et al. Free-form image inpainting with gated convolution[C] //Proc of the 17th Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2019: 4470−4479

    [33]

    Louizos C, Welling M, Kingma D P. Learning sparse neural networks through L_0 regularization[C/OL] //Proc of the 6th Int Conf on Learning Representations. 2018[2022-11-10].https://openreview.net/forum?id=H1Y8hhg0b

    [34]

    Su Yixin, Zhang Rui, Erfani S, et al. Detecting beneficial feature interactions for recommender systems[C] //Proc of the 34th AAAI Conf on Artificial Intelligence. Palo Alto, CA: AAAI, 2021: 4357−4365

    [35]

    Liu Siyi, Gao Chen, Chen Yihong, et al. Learnable embedding sizes for recommender systems[C/OL] //Proc of the 9th Int Conf on Learning Representations. 2021[2022-11-10].https://openreview.net/forum?id=vQzcqQWIS0q

    [36]

    Zhou Kun, Yu Hui, Zhao Xin, et al. Filter-enhanced MLP is all you need for sequential recommendation[C] //Proc of the 31st ACM Web Conf. New York: ACM, 2022: 2388−2399

    [37] 史存会,胡耀康,冯彬,等. 舆情场景下基于层次知识的话题推荐方法[J]. 机研究与发展,2021,58(8):1811−1819 doi: 10.7544/issn1000-1239.2021.20190749

    Shi Cunhui, Hu Yaokang, Feng Bin, et al. A hierarchical knowledge based topic recommendation method in public opinion scenario[J]. Journal of Computer Research and Development, 2021, 58(8): 1811−1819 (in Chinese) doi: 10.7544/issn1000-1239.2021.20190749

  • 期刊类型引用(4)

    1. 王彦伟,李仁刚,徐冉,刘钧锴. 基于可重构架构的数据中心异构加速软硬件系统级平台. 计算机研究与发展. 2025(04): 963-977 . 本站查看
    2. 刘晨,邱芃尧. 基于无剑100 SoC的双核TEE安全系统构建. 电子器件. 2024(05): 1169-1172 . 百度学术
    3. 叶朝辉,张仁刚,赵腾浩,程雪珂. 基于RISC-V的SOPC电子系统设计实验研究. 实验技术与管理. 2023(11): 71-75 . 百度学术
    4. 王硕,苏峰,黄赜. FPGA软件开发系统布局模块探讨. 电子元器件与信息技术. 2023(09): 26-29 . 百度学术

    其他类型引用(1)

图(4)  /  表(3)
计量
  • 文章访问数:  95
  • HTML全文浏览量:  12
  • PDF下载量:  56
  • 被引次数: 5
出版历程
  • 收稿日期:  2022-11-10
  • 修回日期:  2023-03-08
  • 网络出版日期:  2024-02-01
  • 刊出日期:  2024-05-13

目录

/

返回文章
返回