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

视频云网平台中智能算法版权管理方法

张欢欢, 安聪凯, 赵朗程, 周安福, 马华东, 袁艺, 曹宁

张欢欢, 安聪凯, 赵朗程, 周安福, 马华东, 袁艺, 曹宁. 视频云网平台中智能算法版权管理方法[J]. 计算机研究与发展, 2023, 60(4): 828-838. DOI: 10.7544/issn1000-1239.202330023
引用本文: 张欢欢, 安聪凯, 赵朗程, 周安福, 马华东, 袁艺, 曹宁. 视频云网平台中智能算法版权管理方法[J]. 计算机研究与发展, 2023, 60(4): 828-838. DOI: 10.7544/issn1000-1239.202330023
Zhang Huanhuan, An Congkai, Zhao Langcheng, Zhou Anfu, Ma Huadong, Yuan Yi, Cao Ning. Algorithmic Intelligence Right Management Method in Video Cloud-Network Platform[J]. Journal of Computer Research and Development, 2023, 60(4): 828-838. DOI: 10.7544/issn1000-1239.202330023
Citation: Zhang Huanhuan, An Congkai, Zhao Langcheng, Zhou Anfu, Ma Huadong, Yuan Yi, Cao Ning. Algorithmic Intelligence Right Management Method in Video Cloud-Network Platform[J]. Journal of Computer Research and Development, 2023, 60(4): 828-838. DOI: 10.7544/issn1000-1239.202330023
张欢欢, 安聪凯, 赵朗程, 周安福, 马华东, 袁艺, 曹宁. 视频云网平台中智能算法版权管理方法[J]. 计算机研究与发展, 2023, 60(4): 828-838. CSTR: 32373.14.issn1000-1239.202330023
引用本文: 张欢欢, 安聪凯, 赵朗程, 周安福, 马华东, 袁艺, 曹宁. 视频云网平台中智能算法版权管理方法[J]. 计算机研究与发展, 2023, 60(4): 828-838. CSTR: 32373.14.issn1000-1239.202330023
Zhang Huanhuan, An Congkai, Zhao Langcheng, Zhou Anfu, Ma Huadong, Yuan Yi, Cao Ning. Algorithmic Intelligence Right Management Method in Video Cloud-Network Platform[J]. Journal of Computer Research and Development, 2023, 60(4): 828-838. CSTR: 32373.14.issn1000-1239.202330023
Citation: Zhang Huanhuan, An Congkai, Zhao Langcheng, Zhou Anfu, Ma Huadong, Yuan Yi, Cao Ning. Algorithmic Intelligence Right Management Method in Video Cloud-Network Platform[J]. Journal of Computer Research and Development, 2023, 60(4): 828-838. CSTR: 32373.14.issn1000-1239.202330023

视频云网平台中智能算法版权管理方法

基金项目: 国家自然科学基金创新研究群体项目 (61921003);中国电信视觉智联平台能力引入项目;博士后创新人才支持计划项目(BX20220046)
详细信息
    作者简介:

    张欢欢: 1994年生. 博士后. 主要研究方向为物联网感知、移动计算、低时延视频流优化

    安聪凯: 1994年生. 博士研究生. 主要研究方向包括网络拥塞控制、视频流传输优化

    赵朗程: 1997年生. 博士研究生. 主要研究方向为物联网感知、移动计算

    周安福: 1981年生. 教授. 主要研究方向为物联网感知、移动计算

    马华东: 1964年生. 教授. 主要研究方向为物联网、传感网、多媒体计算

    袁艺: 1994年生. 硕士. 主要研究方向为智能视频云、视频网络

    曹宁: 1976年生. 硕士研究生. 主要研究方向包括智能视频云、视联网

    通讯作者:

    马华东(mhd@bupt.edu.cn

  • 中图分类号: TP399

Algorithmic Intelligence Right Management Method in Video Cloud-Network Platform

Funds: This work was supported by the Innovation Research Group Project of the National Natural Science Foundation of China (61921003), the Platform Capability Project of China Telecom Intelligent Visual Internet of Things; and the China National Postdoctoral Program for Innovative Talents (BX20220046).
More Information
    Author Bio:

    Zhang Huanhuan: born in 1994.Postdoctoral researcher. Her main research interests include IoT sensing, mobile computing, and low-latency video streaming optimization

    An Congkai: born in 1994. PhD candidate. His main research interests include network congestion control and video streaming transport optimization

    Zhao Langcheng: born in 1997. PhD candidate. His main research interests include IoT sensing and mobile computing

    Zhou Anfu: born in 1981. Professor. His main research interests include IoT sensing and mobile computing

    Ma Huadong: born in 1964. Professor. His main research interests include IoT, sensor network and multimedia computing

    Yuan Yi: born in 1994. Master. Her main research interests include intelligent video cloud and video network

    Cao Ning: born in 1976. Master Candidate. His main research interests include intelligent video cloud and video IoT

  • 摘要:

    视频云网平台中涵盖了大量智能算法,如何对其进行高效管理,从而支持应用服务的快速部署与更新是一个重要的科学问题. 然而,传统的智能算法与云端资源具有绑定规则,不同应用服务商之间的智能算法缺乏统一的调用机制,导致它们无法快速整合和有效利用. 为了解决此难题,建立“服务—算法—资源”动态互联服务体系,有效解决算法快速迭代、应用需求时变与智能算法版权固化管理的矛盾. 在动态互联服务过程中,传统的、面向固定内容的买断式数字版权管理已经无法为细粒度权限管理提供高效服务. 为此,提出智能算法版权管理系统(algorithmic intelligence right management,AIRM),通过设计版权资源服务化方法与流动性算力网络结构,构建视频云网平台中“共享式”智能算法版权管理方法.在中国电信视频分析平台授权管理模块中的实际部署结果表明,所设计方法可以将算法并发服务能力提高19.9倍,将算法版权响应时间降低18.36%.

    Abstract:

    Video cloud-network platform contains a huge amount of intelligent algorithms, and it is an important scientific problem to efficiently manage video cloud-network platform so as to support the rapid deployment and update of application services. However, the traditional intelligent algorithms are forcibly bounded to cloud resource, and there is no unified invocation mechanism for intelligent algorithms among different service providers, which is difficult for fast integration and effective utilization. In order to solve this problem, we propose the “service-algorithm-resource” dynamic interconnection service system, which can effectively solve the contradiction among rapid iteration of algorithm, dynamic application demand and fixed management of intelligent algorithms. In the process of dynamic interconnection services, the traditional and fixed content-oriented buyout digital rights management can no longer provide efficient services for fine-grained rights management. To this end, we propose an algorithmic intelligence right management (AIRM) system, and build “sharing-mode” intelligent algorithm right management method on the video cloud-network platform through right resource servitization method and liquidity arithmetic network structure. The actual deployment results in the China telecom video analysis platform authorization management module show that the designed method can increase the parallel algorithm service capacity by 19.9 times, and decrease the right response time by 18.36%.

  • 嵌入式实时系统广泛存在于生产和生活当中,例如航空航天、轨道交通、无人驾驶、互联通信等.在实时系统中,其正确性不仅仅依赖于逻辑结果的正确性,同时还依赖于结果产生的时间[1].实时系统中的任务执行时间具有严格的约束,如果错过任务截止时间将会导致灾难性后果.因此,实时系统在任务调度设计和可调度性分析时都必须保证任务的执行在一个安全的时间上界之内,此上界的计算方法即任务的最坏情况执行时间(worst-case execution time,WCET)分析.当前主流的WCET分析方法分为静态分析和动态分析,动态分析也称为基于测试的分析方法,通过大量的测试用例来获取精确的WCET分析结果,由于无法穷尽所有的测试用例,动态分析无法保证分析结果的安全性,工业界通常会在分析结果的基础上增加一定的裕量(例如20%)[2]作为最终的WCET分析结果.静态分析方法则是通过对处理器硬件结构和程序流信息进行分析估算程序的WCET值,静态分析方法能够保证分析结果的安全性,并且不需要运行程序便可获得WCET结果,所以大多数WCET分析工具都采用静态分析方法.单核处理器WCET分析方法经过多年的研究已经取得较高的分析精度,然而多核处理器中加速部件的使用和共享资源干扰的存在,导致原有的单核处理器WCET分析方法无法直接适用于多核处理器,这对于多核处理器的WCET分析提出了新的挑战.

    在硬件结构方面,多核处理器的WCET分析主要考虑Cache、内存、核间互联和流水线等部件的影响[3],Rapita Systems公司的实验表明,由于L3 Cache的争用导致YOLO算法的帧率降低90%左右.当前对于Cache的研究主要集中在指令Cache带来的干扰分析[4-7],并已经获得了较高的分析精度,而对于数据Cache的关注则不足,其原因有2方面:1)处理器寻址方式的不同导致数据Cache的访问地址分析更加困难;2)数据Cache在循环的不同轮次中访问的数据不同,正是由于数据Cache和指令Cache在时空特性上的差异,造成数据Cache的分析更加复杂.如果简单将指令Cache的分析技术套用到数据Cache上,会导致分析结果过于悲观[8].对于数据Cache的分析除了以上问题之外,另一个需要特别关注的影响因素就是数据一致性协议.有研究表明,由于Cache一致性协议的影响,并行程序执行比串行程序慢74%[9].但是相关的调研表明[10],极少数研究人员关注Cache一致性造成的干扰.

    针对现有多核处理器WCET分析方法对数据Cache一致性协议考虑不足的问题,本文主要研究一种基于多级一致性协议的多核处理器WCET分析方法.该方法通过建立多级一致性域,抽象出一致性协议嵌套的共享数据管理机制,分别从一致性域内部、跨一致性域2个层面来分析内存访问延迟,从而实现对多核处理器中数据Cache的精确分析.

    Ferdinand等人[11]提出基于抽象解释理论[12]的Cache行为分析方法,由于其具有较高的精确度和效率,在基于Cache的WCET分析中占据了统治地位[8].如图1所示,基于抽象解释的Cache分析方法对Cache的物理状态和替换策略进行抽象,得到抽象缓存状态(abstract cache state)和函数Join、函数Update,通过May分析、Must分析和Persistence分析3种方法得出Cache的“Cache命中/失效分类”(cache hit miss classification, CHMC),从而确定Cache的访问延迟.Huynh等人[13]经过分析证明了原有的Persistence分析方法存在不安全性,其原因在于更新函数lhˆs(lh1)(ˆs(lh){m})未将可能被替换出去的内存块的年龄进行增加,导致分析结果不正确.为解决此问题,该小组提出Younger Set的概念,并将Younger Set引入到函数Join和函数Update中,保证了Persistence分析的安全性.在过去的20多年,研究人员对Persistence分析进行了广泛的研究,仍然不能保证其发现所有的Persistent Cache块,直到Stock[14]给出Exact Persistence分析方法,才使得Persistence分析趋于完善.

    图  1  基于抽象解释的Cache分析方法
    Figure  1.  Cache analysis based on abstract interpretation

    模型检测[15]方法是另一个广泛研究的Cache行为分析方法,模型检测作为实时系统中常用的时序验证手段,将各类时序分析问题转化为时间自动机的可达性问题,从而实现对问题的求解.Wilhelm[16]讨论了模型检测技术在WCET分析中的优缺点,Metzner[17]认为模型检测方法能够提高分析结果的精度.Dalsgaard等人[18]基于模型检测方法实现了模块化任务执行时间分析框架;Gustavsson等人[19]的研究表明,UPPAAL可以用于多核处理器中并行任务的WCET分析,Cassez等人[20]将WCET分析问题转换为寻找最长路径的问题,并通过扩展模型检测工具UPPAAL实现了一个任务WCET分析工具WUPPAAL;Lü等人[21]在开源工具Chronos的基础上,将模型检测的方法用于Cache的行为分析,实现了一个多核处理器WCET分析工具McAiT;陈芳园等人[22]改进多核处理器中Cache冲突分析方法,在取指阶段考虑取指操作之间的时序关系,该方法能够排除部分非干扰状态,使得WCET计算精度最高提高12%.上述对于Cache行为分析多是针对指令Cache展开的,而对于数据Cache的分析研究较少,尤其是对于多核处理器中Cache一致性协议的讨论更为少见.直到2015年,Uhrig等人[23]研究数据Cache对多核处理器WCET分析的影响,并研究了基于监听的一致性协议和TDMA总线对多核处理器中延迟时间的影响,最终得出结论:采用写失效的基于总线监听的一致性协议不具备可预测性,而采用写更新双通道直接映射的bus-snarfing一致性协议配合TDMA总线能够实现时间可预测.但文献[23]未对Cache一致性协议带来的内存访问延迟进行更为细致的分析.而Hassan等人[24]的分析也得出了基于总线监听MSI一致性协议配合TDMA总线的多核处理器的WCET值不具有可预测性,重点分析了TDMA总线导致的不可预测性,而对于多核处理器中基于MESI一致性协议的WCET估计,同样未给出详细的分析方法.Tsoupidi[25]针对对称多处理器,提出一种考虑Cache一致性协议的WCET分析方法,该方法在计算共享Cache读访问延迟时认为hsh=max,上述情况仅发生在Cache使用写回(write-back)策略时,对于写直达(write-through)策略,数据同时存在于私有Cache和共享Cache中,该计算方式存在较大的悲观性,且该文仅仅讨论了单级一致性协议下的WCET分析方法,而对于多核处理器中存在多级Cache一致性协议的情况,尚未见到相关的研究.

    为此,本文针对数据Cache中共享数据的访问,提出了基于多级一致性协议的多核处理器WCET分析方法,解决多级一致性协议嵌套情况下的WCET分析问题,完善了多核处理器Cache的分析框架,并实现一个基于MESI(modify exclusive shared invalid)协议的高精度多核处理器WCET分析工具,为多核实时系统的WCET分析提供了支撑.

    本节的核心工作在于提出一种多级一致性域的WCET分析方法,实现对多核处理器中多级一致性域的WCET分析.通过对一致性域内部的Cache访问延迟和状态转换情况进行分析,得出一致性域内部的分析结果,根据是否进行跨域数据访问决定下一步是否需要进行跨域分析,从而实现一致性协议嵌套情况下的共享数据访问延迟分析.本文将该方法与当前主要考虑指令Cache的分析方法相结合,增加了数据Cache中共享数据的访问分析,扩展了多核处理器中Cache的干扰分析框架,进一步完善了多核处理器WCET分析方法.

    共享存储结构是当前应用最为广泛的多核处理器架构,此种结构对于每一个内核而言都是对等的,每一个内核的访问时间都是相同的,因此多核处理器属于对称多处理器(symmetric multi-processor,SMP).最初的多核处理器中只存在私有Cache和共享Cache,随着CPU制造工艺的发展,当前多核处理器已集成多级Cache.

    采用SMP架构的多处理器需要支持共享数据的Cache,通过读写共享数据实现内核之间的通信.在缓存共享数据时,可能会存在多个内核对共享数据的争用,也可能会在多个Cache中复制共享数据,导致多个数据副本不一致,因此共享数据Cache引入了一个新的问题——Cache一致性问题,需要引入一致性协议保证数据一致性.

    MESI是一种典型的Cache一致性协议,也被称为Illinois MESI协议,是在原MSI协议的基础上引入E状态,用于表示独占状态.在写入一个共享数据块时,通常有2种写策略:写直达和写回.对于图2所示的多级Cache组织结构,由于写回策略对存储器的带宽要求低,能够支持更多、更快速的处理器,所以最外层级别(簇(cluster)间)通常采用写回策略[3];而对于簇内的写入共享数据的策略,如果采用写回策略,会造成簇内L1 Cache中数据和L2 Cache中的数据不一致的情况,在维护簇内数据一致性的同时,还要考虑簇间一致性,造成一致性协议非常复杂,不利于硬件的实现,因此簇内采用写直达的策略.

    图  2  多级Cache组织结构
    Figure  2.  Multi-level Cache arrangement

    写直达和写回适用于访问命中的情况,当访问缺失时所采用的写策略为写分配(write allocation)和非写分配(no write allocation)两种方式,通常写回与写分配策略配合使用,写直达和非写分配策略配合使用.

    多核处理器任务调度时存在多个内核共同完成一个任务,或者将某些关键等级高的任务映射到特定的内核上,因此,这些任务之间的数据交换仅仅在特定内核之间进行,如果使用一个一致性协议维护所有内核的数据副本,将会产生大量的数据交互操作,造成网络拥塞,降低执行效率, 一种可行的方法是将所有的内核进行区域划分[26],每个区域使用独立的一致性协议管理数据副本,该方法既能充分利用局部性原理,又能降低网络负载.

    定义1. 一致性域.使用相同一致性协议管理数据副本的内核集合,称之为一致性域.

    一致性域的示意图如图3所示.

    图  3  一致性域
    Figure  3.  Coherence domain

    一致性域具有2个性质:

    性质1.一致性域具有独立性,即任意2个一致性域之间不存在交集.

    性质2.一致性协议在一致性域内具有唯一性.

    由于一致性协议只能维护域内数据的一致性,当存在跨域数据交互时,会导致无法保证域间数据的一致性,需要使用多级一致性协议进行数据维护,相应地,需要定义多级一致性域.多级一致性域采用分层划域的思想,下层一致性域是上层一致性域的一个结点(clump).

    针对如图2所示的硬件架构,根据一致性域的定义,簇内为1级一致性域,整个多核处理器构成2级一致性域.处理器内核在访问数据时,首先会访问私有Cache,如果访问缺失,则会访问下一级共享Cache,即簇内共享Cache,此时数据访问范围仍在一致性域内.如果访问命中,只需进行域内WCET分析即可;如果访问缺失,根据存储器层次结构访问次序,则需要进行跨一致性域WCET分析.

    在进行多核处理器的Cache行为分析时,假设总线是完美的并且不存在读和写队列的限制,在此基础上分析Cache一致性协议对内存访问时间的影响.

    首先假设处理器拥有私有Cache、共享Cache和内存,Cache采用写回和写分配策略,Cache的访问分为读和写,读和写都会出现访问命中或缺失,我们从读和写2个方面对Cache行为进行分析,在开始分析之前定义如下符号:

    1) {\psi _{\text{R}}}(m,m') / {\psi _{\text{W}}}(m,m') .表示域内Cache读/写访问时间延迟和状态转换情况,m表示被访问的数据,m'表示被访问数据的副本.

    2) {H_{{\text{L}}i}} .表示在第i级Cache访问命中时间延迟.

    3) {L_{{\text{L}}i \to {\text{L}}j}} .表示数据从第i级Cache加载到第j级Cache的时间延迟.

    4){H_{{\text{memory}}}}.表示主存访问命中时间延迟.

    5) Inv / Inv' .表示域内/跨域使其他数据副本失效的时间延迟.

    6){\psi '_{\text{R}}}(m,m')/ {\psi '_{\text{W}}}(m,m') .表示跨域Cache读/写访问时间延迟和状态转换情况.

    7) {m_{\text{s}}} / {m'_{\text{s}}} .表示本地/远程Cache状态.

    8) {\text{Replacement}} / \neg {\text{Replacement}} .表示被访问共享数据被替换出Cache,导致替换缺失发生/未发生.

    现有工作对于Cache的分析主要集中在指令Cache,对于数据Cache的分析也仅限于本地数据的分析.本文在基于抽象解释的多级Cache分析框架基础上,扩展了共享数据分析这一功能.

    图4所示,该分析框架的输入为待分析程序和Cache模型.其中待分析程序提供控制流、地址信息,Cache模型中包括了Cache组织结构、替换策略、读写策略以及一致性协议,这些参数作为分析框架的输入信息,提供给Cache分析方法.Cache的分析可分为2部分:数据Cache和指令Cache,其中数据Cache中共享数据的分析为本文的主要工作,将在后文中详细介绍.最后,根据分析结果得出内存访问的分类以及访问的时间延迟,从而得出WCET的分析结果.

    图  4  基于一致性协议的WCET分析框架
    Figure  4.  WCET analysis framework based on coherence protocol

    当内核发出读数据m的读请求时,如果m存在于L1中,其状态可能为E或者S并且未发生替换缺失,在L1中能够读命中,数据访问延迟为 {H_{{\text{L}}1}} ,所有Cache块的状态不会发生改变.

    如果数据m在域内,m的状态为E或者S但是发生替换缺失,此时数据访问延迟为读取L2中数据的时间 {\psi '_{\text{R}}} ,同时需要将数据从L2 Cache加载到本地L1 Cache中,考虑连贯性要求,数据访问延迟为 \max ({\psi '_{\text{R}}},{L_{{\text{L}}2 \to {\text{L}}1}}) ,Cache状态不发生变化,如图5 (a)(b)所示.

    图  5  域内读访问时间延迟及状态转换图
    Figure  5.  Read-visit latency and state transition diagram of intra-domain

    如果数据m在域内,m的状态为I,且副本m'的状态为E或者S时,此时数据访问延迟为读取L2中数据的时间 {\psi '_{\text{R}}} ,同时需要将数据从L2 Cache加载到本地L1 Cache中,考虑连贯性要求,数据访问延迟为\max ({\psi '_{\text{R}}},{L_{{\text{L}}2 \to {\text{L}}1}})m的状态转换为S,副本m'的状态转换为S,如图5 (c)所示.

    如果数据m不在域内,在L2 Cache中会出现访问缺失,假定访问L2 Cache的时间为 {\psi '_{\text{R}}} ,对于 {\psi '_{\text{R}}} 的取值我们将在2.7.1节中进行分析.此时m的状态由I转换为E,L2 Cache的状态需要根据L2的一致性协议进一步分析,如图5(d)所示.

    根据以上分析,可以得出Cache域内读访问时间延迟和状态转换的状态更新函数:

    \begin{aligned}&{\psi }_{{{\rm{R}}}}(m,{m}^{\prime })=\\ &\left\{ {\begin{aligned} &{H}_{{{\rm{L}}}1},{m}_{{{\rm{s}}}}\mapsto {m}_{{{\rm{s}}}},{m}'_{{{\rm{s}}}}\mapsto {{m}'_{{{\rm{s}}}}}; \\ &\ \ \ m存在于\text{L}1\wedge \neg {{\rm{Replacement}}}.\\ &{{\rm{max}}}({{\psi }'_{\text{R}}},{L}_{\text{L}2\to {{\rm{L}}}1}),{m}_{{{\rm{s}}}}\mapsto {m}_{{{\rm{s}}}},{m}'_{{{\rm{s}}}}\mapsto {m}'_{{{\rm{s}}}};\\ &\ \ \ m存在于\text{L}1\wedge {{\rm{Replacement}}}.\\ &{{\rm{max}}}({{\psi }'_{\text{R}}},{L}_{{{\rm{L}}}2\to {{\rm{L}}}1}),{m}_{{{\rm{s}}}}:{{\rm{I}}}\to {{\rm{S}}},{m}'_{{{\rm{s}}}}:{{\rm{E}}}/{{\rm{S}}}\to {{\rm{S}}};\\ &\ \ \ m不存在于{{\rm{L}}}1\wedge m存在于{{\rm{L}}}2\wedge {m}^{\prime }存在于{{\rm{L}}}1.\\ &{{\psi } '_{\text{R}}},{m}_{{{\rm{s}}}}:{{\rm{I}}}\to {{\rm{E}}};m不在域内. \end{aligned}} \right.\end{aligned} (1)

    当内核发出写m的请求时,如果m仅存在本地L1 Cache且状态为E时,此时会发生Cache写命中.首先需要将数据写入到L1中,由于使用写直达策略,需要同时写入到L2当中,因此数据访问时间为 {H_{{\text{L}}1}} + {\psi '_{\text{W}}} ,Cache状态不发生改变,如图6(a)所示;如果m存在于L1 Cache中且状态为S时,此时会发生Cache写命中,数据访问延迟为 {H_{{\text{L}}1}} + {\psi '_{\text{W}}} ,状态转换为E,由于采用写失效的一致性协议,因此需要将副本的状态修改为I,考虑连贯性要求,数据访问最终的延迟为 \max ({H_{{\text{L}}1}} + {\psi '_{\text{W}}},Inv) ,如图6(b)所示.

    图  6  域内写访问时间延迟及状态转换图
    Figure  6.  Write-visit latency and state transition diagram of intra-domain

    如果数据m位于本地L1 Cache中,m的状态为E或者S,并且发生替换缺失,此时会出现写缺失.如果m的状态为E,此时数据访问时间为 {\psi '_{\text{W}}} ,并且状态转换为I,如图6(c)所示;如果m的状态为S,在进行L2 Cache写操作之后,需要对其他副本进行写失效,所以访问时间为 \max ({\psi '_{\text{W}}},Inv) m和副本m'的状态都转换为I,如图6(d)所示.

    如果数据m在域内, m的状态为I且副本m'的状态为E或者S时,此时会对L2进行写操作, 并将其他副本中的数据写失效, 考虑数据连贯性要求, 数据的写延迟为 \max ({\psi '_{\text{W}}},Inv) , 由于采用非写分配的方式, 本地L1的状态不发生改变,其他副本的状态从E/S转换为I, 如图6(e)所示.

    如果数据m不在域内,类比读访问的情况,假定写L2 Cache的访问时间为 {\psi '_{\text{W}}} .由于域内采用非写分配法,所以此时m的状态不发生任何变化,如图6(f)所示.

    根据以上分析,可以得出Cache域内写访问时间延迟和状态转换的状态更新函数:

    \begin{aligned}&{\psi }_{{{\rm{W}}}}(m,{m}^{\prime })=\\ &\left\{ {\begin{aligned} &{H}_{\text{L}1}+{\psi }'_{\text{W}},{m}_{\text{s}}\mapsto {m}_{\text{s}},{{m}}'_{\text{s}}\mapsto {{m}}'_{\text{s}};\\ &\ \ \ m存在于\text{L}1\wedge {m}^{\prime }不存在于\text{L}1\wedge \neg \text{Replacement}.\\ &\mathrm{max}({H}_{\text{L}1}+{{\psi }}'_{\text{W}},Inv),{m}_{\text{s}}:\text{S}\to \text{E},{{m}}'_{\text{s}}:\text{S}\to \text{I};\\ &\ \ \ m存在于\text{L}1\wedge {m}^{\prime }存在于\text{L}1\wedge \neg \text{Replacement}.\\ &{{\psi }}'_{\text{W}},{m}_{\text{s}}:\text{E}\to \text{I};\\ &\ \ \ m存在于\text{L}1\wedge {m}^{\prime }不存在于\text{L}1\wedge \text{Replacement}.\\ &\mathrm{max}({{\psi }}'_{\text{W}},Inv),{m}_{\text{s}}:\text{S}\to \text{I},{{m}}'_{\text{s}}:\\ &\ \ \ m存在于\text{L}1\wedge {m}^{\prime }存在于\text{L}1\wedge \text{Replacement}.\\ &\mathrm{max}({{\psi }}'_{\text{W}},Inv),{m}_{\text{s}}\mapsto {m}_{\text{s}},{{m}}'_{\text{s}}:\text{E}/\text{S}\to \text{I};\\ &\ \ \ m存在于\text{L}1\wedge {m}^{\prime }存在于\text{L}1.\\ &{{\psi }}'_{\text{W}},{m}_{\text{s}}\mapsto {m}_{\text{s}};m不在域内. \end{aligned}} \right.\end{aligned} (2)

    当内核发出读数据m的读请求时,如果需要对L2 Cache进行读访问,此时将会由上级一致性协议管理共享数据.

    如果数据m存在于域内,并且位于本地L2 Cache中,对应域内读访问的图5(a)~(c),此时数据访问时间为 {H_{{\text{L}}2}} ,域间所有的Cache的状态都不发生变化,如图7(a)所示.

    图  7  跨域读访问时间延迟及状态转换图
    Figure  7.  Read-visit latency and state transition diagram of cross-domain

    当被访问数据m存在于L2 Cache中并且发生替换缺失,对应域内读访问的图5(d),此时数据访问延迟为 {H_{{\text{L}}3}} ,同时需要将数据加载到L1 Cache中,考虑到连贯性要求,数据访问的延时为 \mathrm{max}({H}_{\text{L}3},{L}_{\text{L}3\to \text{L}1}) ,如果m的状态为M或者E,则状态会转换为E,如果m的状态为S,则状态不发生改变,副本m'的状态不发生改变,如图7(b)(c)所示.

    如果被访问数据m不存在于域内,对应域内读访问的图5(d),存在2种可能性:1)数据m本身不存在Cache中;2)数据m存在于其他域的Cache中.如果数据m不存在Cache中,此时需要通过内存来读取数据m,数据访问延迟为 H_\text{memory},同时需要将数据从内存中写回到L1 Cache中,考虑连贯性要求,数据访问延迟为 \max ({H_\text{memory}},{L_{m \to {\text{L}}1}}) ,L2的状态从I转换为E,如图7(d)所示.

    如果数据存在于其他域中,即存在数据副本m',如果其状态是M,首先要将数据从其他域的L2 Cache中加载到本地域的L2中,然后再加载到L1中,最后从L1中读取数据,其访问延迟为 {L_{{\text{L}}2 \to {\text{L}}2}} + {L_{{\text{L}}2 \to {\text{L}}1}} + {H_{{\text{L}}1}} ,此时L2中数据m的状态从I转换为S,其他域L2中数据副本m'状态从M转换为S图7(e)所示.

    如果数据副本m'的状态为E或者S,将会在L3中读取命中数据,此时数据访问延迟为 {H_{{\text{L}}3}} ,与此同时,数据将会加载到L1中,考虑连贯性要求,此时数据访问延迟应取 \max ({H_{{\text{L}}3}},{L_{{\text{L}}3 \to {\text{L}}1}}) ,此时L2中数据m的状态从I转换为S,其他域L2中数据副本m'状态换为S图7(f)所示.

    根据以上分析,可以得出Cache跨域读访问时间和状态转换的状态更新函数:

    \begin{aligned}&{{\psi }}_{\text{R}}^{\prime }(m,{m}^{\prime })=\\ &\left\{ {\begin{aligned} &{H}_{\text{L}2},{m}_{\text{s}}\mapsto {m}_{\text{s}},{{m}}'_{\text{s}}\mapsto {{m}}'_{\text{s}}; \\ &\ \ \ m存在于\text{L}2\wedge \neg \text{Replacement}.\\ &\mathrm{max}({H}_{\text{L}3},{L}_{\text{L}3\to \text{L}1}),{m}_{\text{s}}:\text{M}/\text{E}\to \text{E};\\ &\ \ \ m存在于\text{L}2\wedge {m}^{\prime }不存在于\text{L}2\wedge \text{Replacement}.\\ &\mathrm{max}({H}_{\text{L}3},{L}_{\text{L}3\to \text{L}1}),{m}_{\text{s}}\mapsto {m}_{\text{s}},{{m}}'_{\text{s}}\mapsto {{m}}'_{\text{s}};\\ &\ \ \ m存在于\text{L}2\wedge {m}^{\prime }存在于\text{L}2\wedge \text{Replacement}.\\ &\mathrm{max}({H}_\text{memory},{L}_{m\to \text{L}1}),{m}_{\text{s}}:\text{I}\to \text{E};\\ &\ \ \ m不存在于\text{Cache}中.\\ &{L}_{\text{L}2\to \text{L}2}+{L}_{\text{L}2\to \text{L}1}+{H}_{\text{L}1},{m}_{\text{s}}:\text{I}\to \text{S},{{m}}'_{\text{s}}:\text{M}\to \text{S};\\ &\ \ \ m不存在于\text{L}2\wedge {m}^{\prime }存在于\text{L}2\wedge {m}^{\prime }不存在于\text{L}3.\\ &\mathrm{max}({H}_{\text{L}3},{L}_{\text{L}3\to \text{L}1}),{m}_{\text{s}}:\text{I}\to \text{S},{{m}}'_{\text{s}}:\text{E}/\text{S}\to \text{S};\\ &\ \ \ m不存在于\text{L}2\wedge {m}^{\prime }存在于\text{L}2\wedge m存在于\text{L}3. \end{aligned}} \right.\end{aligned} (3)

    当内核发出写数据m的写请求时,如果需要对L2 Cache进行写访问,此时将由上级一致性协议管理共享数据.

    如果数据m在域内(对应域内写访问图6(a)~(e)的情况),并且位于本地L2 Cache中,状态为S,需要将其他副本中的数据写失效,考虑连贯性要求,数据访问时间为 \max ({H_{{\text{L}}2}},Inv') ,状态转换为M,副本的状态由S转换为I,如图8(a)所示;如果m的状态为M或者E,此时数据访问时间为 {H_{{\text{L}}2}} ,状态转换为M,其他Cache状态不变,如图8(b)所示.

    图  8  跨域写访问时间延迟及状态转换图
    Figure  8.  Write latency and state diagram of cross-domain

    如果被访问数据m不存在于域内(对应域内写访问图6(f)的情况), 存在2种可能性:1)数据m本身不存在Cache中;2)数据m存在于其他域的Cache中.如果数据m不存在Cache中, 由于域间采用写分配,首先要将数据从内存加载到L2 Cache中, 然后在L2 Cache中修改数据, 此时数据访问延迟为 {H_{{\text{L}}2}} + {L_{m \to {\text{L}}2}} ,L2 Cache的状态从I转换为M, 如图8(c)所示.

    如果数据存在于其他域内,数据m的状态为I,如果数据副本m'的状态为M,首先要将数据从其他域加载到本地L2中,然后修改本地L2 Cache中的数据,状态转换为M,并且要将其他副本写失效,考虑连贯性要求,数据访问延迟为 \max ({H_{{\text{L}}2}} + {L_{{\text{L}}2 \to {\text{L}}2}},Inv') ,其他副本的状态转换为I,如图8(d)所示;如果副本的状态为E或者S,此时需要将数据从L3 Cache加载到本地L2 Cache中,状态转换为M,并且要将其他副本写失效,考虑连贯性要求,数据访问延迟为 \max ({H_{{\text{L}}2}} + {L_{{\text{L}}3 \to {\text{L}}2}},Inv') ,副本的状态准换为I,如图8(e)所示.

    如果m为M, E, S状态并且发生替换缺失时(对应域内写访问图6(f)的情况), 此时会发生Cache写缺失.首先将数据从L3 Cache加载到L2 Cache, 然后执行写操作.对于m的状态为M和E的情况, 此时数据访问延迟为 {H_{{\text{L}}2}} + {L_{{\text{L}}3 \to {\text{L}}2}} , m的状态转换为M, 如图8(f)所示;如果m的状态为S, 需要将其他副本中的数据写失效, 考虑连贯性要求, 数据访问延迟为 \max ({H_{{\text{L}}2}} + {L_{{\text{L}}3 \to {\text{L}}2}},Inv') , m的状态由S变为I, 如图8(g)所示.

    根据以上分析,可以得出Cache跨域写访问时间和状态转换的状态更新函数:

    \begin{aligned} &{{\psi }}'_{\text{W}}(m,{m}')=\\ &\left\{ {\begin{aligned} &\mathrm{max}({H}_{\text{L}2},In{v}'),{m}_{\text{s}}:\text{S}\to \text{M},{{m}}'_{\text{s}}:\text{S}\to \text{I}; \\ & \ \ \ m{存在于}\text{L}2\wedge {m}'{存在于}\text{L}2\wedge \neg \text{Replacement}.\\ &{H}_{\text{L}2},{m}_\text{s}:\text{M}/\text{E}\to \text{M},{m}'_{\text{s}}\mapsto {m}'_{\text{s}};\\ &\ \ \ m{存在于}\text{L}2\wedge {m}'{不存在于}\text{L}2\wedge \neg \text{Replacement}.\\ &{H}_{\text{L}2}+{L}_{m\to \text{L}2},{m}_{\text{s}}:\text{I}\to \text{M};\\ &\ \ \ m{不存在}\text{Cache}{中}.\\ &\mathrm{max}({H}_{\text{L}2}+{L}_{\text{L}2\to \text{L}2},In{v}'),{m}_{\text{s}}:\text{I}\to \text{M},{m}'_{\text{s}}:\text{M}\to \text{I};\\ &\ \ \ m{不存在于}\text{L}2\wedge {m}'{存在于}\text{L}2\wedge m{不存在于}\text{L}3.\\ &\mathrm{max}({H}_{\text{L}2}+{L}_{\text{L}3\to \text{L}2},In{v}'),{m}_{\text{s}}:\text{I}\to \text{M},{m}'_{\text{s}}:\text{E}/\text{S}\to \text{I};\\ &\ \ \ m{不存在于}\text{L}2\wedge {m}'{存在于}\text{L}2\wedge m{存在于}\text{L}3.\\ &{H}_{\text{L}2}+{L}_{\text{L}3\to \text{L}2},{m}_{\text{s}}:\text{M}/\text{E}\to \text{M};\\ &\ \ \ m{存在于}\text{L}2\wedge {m}'{不存在于}\text{L}2\wedge \text{Replacement}.\\ &\mathrm{max}({H}_{\text{L}2}+{L}_{\text{L}3\to \text{L}2},In{v}''),{m}_{\text{s}}:\text{S}\to \text{M},{m}'_{\text{s}}:\text{S}\to \text{I};\\ &\ \ \ m{存在于}\text{L}2\wedge {m}'{存在于}\text{L}2\wedge \text{Replacement}. \end{aligned}} \right.\end{aligned} (4)

    本文在实验室原有多核处理器WCET分析工具的基础上,扩展其中数据Cache的分析方法,增加了对MESI一致性协议的支持,设计并实现了一个支持Cache一致性协议的多核处理器WCET分析工具Roban.通过该工具对多核处理器进行WCET分析,并将分析结果与GEM5仿真工具模拟执行得到的时间进行对比,从而验证分析方法的有效性.

    实验针对4核处理器展开分析,每2个内核组成1簇,即2个1级一致性域和1个2级一致性域,处理器存储结构参照图2,关键参数配置如表1所示.从Mälardalen大学WCET研究小组测试用例集中选取典型测试用例进行测试.

    表  1  多核处理器参数配置
    Table  1.  Parameters Configuration of Multi-Core Processor
    Cache
    层次结构
    数据访问延时/cycle一致性
    协议
    替换策略
    L1L2L3
    4 核, 2 簇41442MESILRU
    注:LRU为最近最少使用(least recently used)替换策略.
    下载: 导出CSV 
    | 显示表格

    实验一共分为2组,第1组Cache相联度为4路组相联,第2组Cache相联度为8路组相联.分别调整L1,L2,L3 Cache的容量,得出在不同Cache配置情况下的WCET值,结果如图9所示.

    图  9  GEM5仿真结果与分析结果对比
    Figure  9.  Comparison of GEM5 simulation results and analysis results

    图9可以看出, Roban工具得到的WCET分析结果均大于GEM5仿真得到的结果,证明了本文方法的安全性.

    为了验证本文方法的有效性,采用Spearman相关性分析法对图9中Roban分析结果与GEM5仿真结果进行相关性分析,得出的相关性系数矩阵如图10所示,其中横坐标为Roban分析工具对应的测试结果,纵坐标表示GEM5仿真结果.从图10中可以看出,带有数字标签的矩阵元素为相同测试用例在不同Cache参数配置情况下得到WCET结果的相关性系数,相关性系数不小于0.98,说明Roban和GEM5两种工具得出的结果显著相关,同时表明了图9中的曲线变化趋势基本一致.

    图  10  GEM5与Roban相关性系数矩阵图
    Figure  10.  Correlation coefficient matrix diagram of GEM5 and Roban

    为了验证本文提出分析方法的精确性,采用过估计率这一指标对分析结果进行评估,过估计率 \mathcal{R} 计算方式为

    \mathcal{R} = \frac{{T_{{\text{WCET}}}^{{\text{estimation}}}}}{{T_{{\text{WCET}}}^{{\text{simulation}}}}} , (5)

    其中, {{T_{{\text{WCET}}}^{{\text{estimation}}}}} {{T_{{\text{WCET}}}^{{\text{simulation}}}}} 分别表示WCET的估计结果和仿真结果.

    过估计率的统计结果如图11所示.由图11可知,本文方法分析得出的过估计率最大值为1.476,最小值为1.158,平均值为1.30,对比瑞典皇家理工学院[25]设计实现的WCET分析工具KTA(KTH’s timing analysis),其平均过估计率为2.08,本文方法的过估计率降低了0.78.

    图  11  过估计率统计结果
    Figure  11.  Statistical results of over estimation rate

    本文通过分析多级一致性协议体系架构下的Cache状态转换和内存访问延迟,得出多级一致性域WCET分析方法.实验表明,本文方法能够精确估算出多核处理器任务WCET,在改变Cache配置参数的情况下,GEM5仿真结果与本文工具Roban分析结果相关性系数不低于0.98,表明本文方法分析结果的变化趋势与GEM5仿真结果一致;通过与当前分析方法进行对比,证明本文方法相比现有方法的过估计率降低了0.78.

    本文在进行Cache行为分析时,将总线假设为理想状态,而在实际的一致性协议中,如果存在大量的数据交互,将会导致总线发生阻塞,在以后的工作中,应将Cache之间共享总线纳入到分析范围中,进一步提高WCET分析结果的准确性.另外本文在考虑一致性协议时仅考虑了MESI协议,而在实际工程领域存在多种一致性协议,如Intel i7使用的MESIF协议、AMD Opteron使用的MOESI协议等,在后续的工作中将针对不同的一致性协议展开分析.

    作者贡献声明:朱怡安提出研究思路和指导意见;史先琛提出了算法并撰写论文;姚烨、李联负责实现算法并设计实验方案;任鹏远、董威振、李佳钰参与实验方案设计并整理实验数据.

  • 图  1   “算法-服务-资源”动态互联服务体系

    Figure  1.   Dynamic interconnection service system of "Algorithm-Service-Resource"

    图  2   AIRM模块设计

    Figure  2.   Design of AIRM module

    图  3   AIRM的服务单元循环授权

    Figure  3.   Cyclic authorization for service units in AIRM

    图  4   多算力单元的资源合并

    Figure  4.   Resource merging of multiple computation units

    图  5   AIRM与传统DRM用户服务量

    Figure  5.   User service capacity of AIRM and conventional DRM

    图  6   AIRM与传统DRM下的用户请求响应时间

    Figure  6.   User request response time of AIRM and conventional DRM

    表  1   AIRM算法组合服务能力增益

    Table  1   AIRM Algorithm Combination Service Capability Gain

    GPU算力/
    GFLOPS
    DRM组
    合服务量
    AIRM组
    合服务量
    组合并发服
    务能力增益
    平均服务
    能力增益
    3504307.50x8.07x
    7008627.75x
    105012957.92x
    1400161288.00x
    1750201618.05x
    2100241958.13x
    2450282308.21x
    2800322668.31x
    3150363018.36x
    3500403378.43x
    下载: 导出CSV
  • [1]

    Zhang Qingyang, Sun Hui, Wu Xiaopei, et al. Edge video analytics for public safety: A review[J]. Proceedings of the IEEE, 2019, 107(8): 1675−1696 doi: 10.1109/JPROC.2019.2925910

    [2]

    Hussain T, Muhammad K, Ullah A, et al. Cloud-assisted multiview video summarization using CNN and bidirectional LSTM[J]. IEEE Transactions on Industrial Informatics, 2019, 16(1): 77−86

    [3]

    Liu Qiong, Safavi-Naini R, Sheppard N P. Digital rights management for content distribution[C] //Proc of the Conf in Research and Practice in Information Technology Series. New York: ACM, 2003, 34: 49−58

    [4]

    Petrlic R, Sorge C. Privacy-preserving DRM for cloud computing[C] //Proc of the 26th Int Conf on Advanced Information Networking and Applications Workshops. Piscataway, NJ: IEEE, 2012: 1286−1291

    [5]

    Lee H, Park S, Seo C, et al. DRM cloud framework to support heterogeneous digital rights management systems[J]. Multimedia Tools and Applications, 2016, 75: 14089−14109 doi: 10.1007/s11042-015-2662-x

    [6] 樊雪峰,周晓谊,朱冰冰,等. 深度神经网络模型版权保护方案综述[J]. 计算机研究与发展,2022,59(05):953−977

    Fan Xuefeng, Zhou Xiaoyi, Zhu Bingbing, et al. Survey of copyright protection schemes based on DNN model[J]. Journal of Computer Research and Development, 2022, 59(05): 953−977 (in Chinese)

    [7]

    Fan Lixin, Ng K W, Chan C S. Rethinking deep neural network ownership verification: Embedding passports to defeat ambiguity attacks[J]. Advances in Neural Information Processing Systems, 2019: 4716−4725

    [8]

    Yang Peng, Lao Yingjie, Li Ping. Robust watermarking for deep neural networks via bi-level optimization[C] //Proc of the IEEE/CVF Int Conf on Computer Vision. Piscataway, NJ: IEEE, 2021: 14841−14850

    [9]

    Zhang Jie, Chen Dongdong, Liao Jing, et al. Passport-aware normalization for deep model protection[J]. Advances in Neural Information Processing Systems, 2020, 33: 22619−22628

    [10]

    Chen Huili, Rouhani B D, Fu Cheng, et al. Deepmarks: A secure fingerprinting framework for digital rights management of deep learning models[C] //Proc of the 2019 Int Conf on Multimedia Retrieval. New York: ACM, 2019: 105−113

    [11]

    Ribeiro M, Grolinger K, Capretz M A M. Mlaas: Machine learning as a service[C] //Proc of the 2015 IEEE 14th Int Conf on Machine Learning and Applications (ICMLA). Piscataway, NJ: IEEE, 2015: 896−902

    [12]

    Sapio A, Canini M, Ho C Y, et al. Scaling distributed machine learning with In-Network aggregation[C] //Proc of the 18th USENIX Symp on Networked Systems Design and Implementation (NSDI 21). Berkeley, CA: USENIX Association, 2021: 785−808

    [13]

    Weng Qizhen, Xiao Wencong, Yu Yinghao, et al. MLaaS in the Wild: Workload analysis and scheduling in large-scale heterogeneous GPU clusters[C] //Proc of the 19th USENIX Symp on Networked Systems Design and Implementation (NSDI 22). Berkeley, CA: USENIX Association, 2022: 945−960

    [14]

    Xiao Wencong, Ren Shiru, Li Yong, et al. AntMan: Dynamic scaling on GPU clusters for deep learning[C] //Proc of the 14th USENIX Symp on Operating Systems Design and Implementation (OSDI 20). Berkeley, CA: USENIX Association, 2020: 533−548

    [15]

    Zhang Chengliang, Yu Minchen, Wang Wei, et al. MArk: Exploiting cloud services for cost-effective, SLO-aware machine learning inference serving[C] //Proc of the 2019 USENIX Annual Technical Conf (USENIX ATC 19). Berkeley, CA: USENIX Association, 2019: 1049−1062

    [16]

    Zhao Hanyu, Han Zhenhua, Yang Zhi, et al. HiveD: Sharing a GPU cluster for deep learning with guarantees[C] //Proc of the14th USENIX Symp on Operating Systems Design and Implementation (OSDI 20). Berkeley, CA: USENIX Association, 2020: 515−532

    [17] 韩缨. 云计算环境下网络版权保护问题和应对策略[J]. 中国出版,2012(10):54−56

    Han Ying. Network copyright protection in cloud computing environment and countermeasures[J]. China Publishing Journal, 2012(10): 54−56 (in Chinese)

    [18] 王晶,黄传河,王金海. 一种面向云存储的动态授权访问控制机制[J]. 计算机研究与发展,2016,53(04):904−920

    Wang Jing, Huang Chuanhe, Wang Jinhai. An access control mechanism with dynamic privilege for cloud stroage[J]. Journal of Computer Research and Development, 2016, 53(04): 904−920 (in Chinese)

    [19] 黄勤龙,马兆丰,傅镜艺,等. 云计算环境中支持隐私保护的数字版权保护方案[J]. 通信学报,2014,35(02):95−103 doi: 10.3969/j.issn.1000-436x.2014.02.013

    Huang Qinlong, Ma Zhaofeng, Fu Jingyi, et al. Privacy-preserving digital rights management scheme in cloud computing[J]. Journal on Communications, 2014, 35(02): 95−103 (in Chinese) doi: 10.3969/j.issn.1000-436x.2014.02.013

    [20]

    Poddar R, Ananthanarayanan G, Setty S, et al. Visor: Privacy-preserving video analytics as a cloud service[C] //Proc of the 29th USENIX Security Symp (USENIX Security 20). Berkeley, CA: USENIX Association, 2020: 1039−1056

    [21]

    Petrlic R. Proxy re-encryption in a privacy-preserving cloud computing DRM scheme[C] //Proc of the Int Symp on Cyberspace Safety and Security. Berlin: Springer, 2012: 194−211

    [22]

    Liu Shaobin, Ma Jianfeng, Feng Xiaoqing. Transparent access and integration of heterogeneous encrypted database in hybrid cloud environment[C] //Proc of the 2019 IEEE Int Conf on Communications (ICC). Piscataway, NJ: IEEE, 2019: 1−6

  • 期刊类型引用(0)

    其他类型引用(2)

图(6)  /  表(1)
计量
  • 文章访问数:  271
  • HTML全文浏览量:  27
  • PDF下载量:  134
  • 被引次数: 2
出版历程
  • 收稿日期:  2023-01-07
  • 修回日期:  2023-02-14
  • 网络出版日期:  2023-02-26
  • 刊出日期:  2023-04-17

目录

/

返回文章
返回