CN112799603A - 多数据流驱动的信号处理系统的任务行为模型 - Google Patents

多数据流驱动的信号处理系统的任务行为模型 Download PDF

Info

Publication number
CN112799603A
CN112799603A CN202110230097.5A CN202110230097A CN112799603A CN 112799603 A CN112799603 A CN 112799603A CN 202110230097 A CN202110230097 A CN 202110230097A CN 112799603 A CN112799603 A CN 112799603A
Authority
CN
China
Prior art keywords
task
data
data stream
period
input data
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.)
Granted
Application number
CN202110230097.5A
Other languages
English (en)
Other versions
CN112799603B (zh
Inventor
王希敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CN202110230097.5A priority Critical patent/CN112799603B/zh
Priority claimed from CN202110230097.5A external-priority patent/CN112799603B/zh
Publication of CN112799603A publication Critical patent/CN112799603A/zh
Application granted granted Critical
Publication of CN112799603B publication Critical patent/CN112799603B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems

Abstract

本发明涉及一种多数据流驱动的信号处理系统的任务行为模型,该模型中,相邻任务间数据流按表达信号的前缀序数据串序列进行建模,相邻任务间的数据流具有单向驱动样式、具有数据更新实时性并设有驱动条件,任务在实时性约束下消费多输入数据流与生产多输出数据流遵守遍历性和匹配性。本发明任务行为模型能对系统的任务及其关联多数据流建立动态行为描述方法,能对数据进行空时两维描述,并在数据的空间维度上建立集合与集合操作的概念,能对任务的行为周期及其多数据流更新周期建立统一关系。该模型符合自顶向下的设计理念,相比较于单数据流简单模型等已有相关技术具有显著拓展与进步,相对于高性能信号处理系统设计与研发需求,具有实用价值。

Description

多数据流驱动的信号处理系统的任务行为模型
技术领域
本发明涉及信号处理系统,具体地指一种多数据流驱动的信号处理系统的任务行为模型。
背景技术
实时信号处理系统的外部序贯输入具有严格的确定时序,所述序贯输入,即输入数据按时间顺序被划分为批次,每个批次包含一定量的数据。所述序贯输入具有严格的确定时序,是指每个批次的数据量确定且一致,每个批次数据所对应的时间长度确定且相同。由此,要求实时信号处理系统的输出也具有严格的确定时序。
一般地,现代的信号处理算法复杂且计算量大。为运用并行计算技术以满足实时性要求,通常将整个处理系统分解为一系列前后衔接的计算模块。计算模块之间的传递内容是结构化数据。模块即所述任务,模块间传递的内容即任务之间的数据流。从时序上看,前序任务完成数据加工操作后才能将内容传递给后序任务,即后序任务必须等到完整的数据后才能实施其加工操作,这就是所谓的数据驱动。任务的前后级联关系不仅是“一对一”的,也可能是“一对多”或“多对一”的,即从某个任务开始可分叉出多个数据流,又在某个任务上汇聚多个数据流。
任务受多个数据流的激励,而数据流必须被实时刷新才能形成驱动。一系列脉动的数据流将生生不息,而任务须遵守一定规则才能使脉动的数据流不被阻塞。另外,任务的行为规则还应适应对输入数据的灵活读取与组合运用、对输出数据的灵活分解与分阶段产出。因此,必须对数据流的脉动形态以及任务从输入数据流到输出数据流的映射行为,进行抽象认识并在设计阶段予以表达。
实时信号处理系统的核心形态是应用软件,而软件的载体是高性能计算平台。异构多处理器和多核处理器等高性能并行计算平台已被广泛地应用。而且,实际计算平台将会不断的升级或改变。为适应异构处理器以及升级变化的计算平台,实时信号处理系统的设计模型既要体现实际计算资源的限制,又不可局限于某个具体计算平台。对任务及其关联数据流行为模式的提炼,可建立信号处理系统任务图与数据流图,可清晰定义信号处理系统的任务分解,可规划与详细设计信号处理系统的抽象实现。
如何将实时信号处理系统分解为一系列任务,具有多样性,一般取决于系统设计者对信号处理应用领域的理解与主观把握。所以,对任务行为的模型化描述不应涉及具体的算法,应允许设计者根据其意愿规划任务的拓扑结构、设计数据流的动态传递。
目前为止,多数据流对任务的驱动机制未被明确地建立,多数据流间的同步或异步关系未被清晰定义,任务对多输入数据流的复杂消费行为未被抽象设计或其行为较简单而不满足广泛的应用场景。由此,实时信号处理应用软件的研制工作缺少模型设计工具支持。由于无法定量化建模实时信号处理的实现需求,实时信号处理应用软件的研制工作处于无章可循的“自由”状态。由于这类应用软件的设计极具挑战,设计者只能直接面向具体计算平台进行编程与调试。如此,很难应对并行计算场景,几乎没能力应对异构计算资源与变化计算资源带来的挑战。也就是说,当实际计算平台发生改变时,设计者在原计算平台上艰苦调试成功的软件基本不具有复用性,因为该软件是在没有模型规约与指导下诞生的个性化产物。
实时信号处理应用软件的研制工作通常在设计阶段考虑并行化,即事先将应用软件划分成若干个任务,将各个任务的程序代码分别编译连接后,利用开发环境所提供的工具加载任务程序到计算平台的若干处理器进行详细研制。这种方法通常存在以下缺点:(1)所用的处理器资源被人为地预先配置,带有盲目性;进一步地,任务进程间的数据通信被固化;一旦任务的算法影响时间粒度,进而对资源的客观需求发生变化,必须根据资源的变化重新编写与调试代码,至少必须重编译和重加载程序代码。所以从本质上看,未在设计模型规约与指导下研制的应用软件均不支持重配置功能;(2)对多数据流的时序分析与严格同步设计缺少整体概念的支持,容易产生忽略性差错,整个实时信号处理系统的集成难度大、研发效率低;(3)多数据流的时延关系难以模型化表达,设计阶段就无法将其掌握;只能靠诸如“输入数据帧打时戳、在计算任务中用软件检查时戳、根据时戳挑选数据帧”等方法进行同步控制,如此将付出时延关系不确定、不明晰的代价。
基于设计模型的实时信号处理应用软件设计与实现是明显分开的两步工作,虽然在这两步之间存在反馈迭代。基于设计模型,可为解决上述的软件集成和软件重配置奠定重要基础。将设计模型运用于实时信号处理系统应用软件研发,其主要形态是建立基于模型的软件集成工具。通过运用软件集成工具,一个实时信号处理系统应用软件的设计与实现的步骤是:(1)以设计模型描述的特征参数与行为机制为基本依据,分解应用软件为合适规模的任务、配置数据流的结构和参数、配置任务的算法模块参数和处理流程;(2)按设计模型规定的实时约束,结合计算平台的资源能力描述,集成任务为组件;(3)按照计算平台的资源分布,将任务组件部署于计算平台。这里,第一步属于设计阶段,后两步属于实现阶段。由此,基于设计模型,可支持后两步或最后一步的重配置。而在第一步,开发者可不关心计算平台,可更关注于任务算法的实现与正确性验证,因此,任务的算法编程及调试成果得以保留。
鉴于上述实时信号处理系统应用软件设计与实现过程中的技术特征,重要的基础是建立多数据流驱动的信号处理系统的任务行为模型。但是,已有的信号处理模型只描述数据流与任务之间的读写行为,不能描述多数据流与任务之间的关联特征和驱动行为、不能合理描述任务及数据流的确定性时间约束、无法描述在确定性时间约束下的数据刷新行为与驱动行为的关系。进一步地,任务对多个数据流的多样性数据消费方式与灵活性数据生产方式至今尚未得到高层建模。因此,信号处理系统研制者在设计阶段无法规范地、高层次地确定并描述完整的系统行为。
发明内容
信号处理系统的输入是多源的,而每个输入源的数据更新速度可能不同。进一步地,组成系统的模块任务也将存在多个不同更新速率的输入数据流。由此,任务的多个输入数据流之间就须有同步或异步关系的描述。当存在同步或异步关系时,数据流驱动计算任务的机制就须被清晰地定义。进一步地,任务对同步数据流、异步数据流的数据消费方式就须被清晰地定义。
当存在多个输入数据流时,任务对多输入数据流的全体可建立某种“视”的概念,即允许信号处理系统设计者对数据流进行灵活地分解与策略地组织,以适应复杂算法的需求或提供最丰富的任务加工数据样式。
本发明目的在于提供一种多数据流驱动的信号处理系统的任务行为模型,以支持上述概念或定义的建立、支持信号处理系统设计技术的实现。所述信号处理系统设计技术,即信号处理系统的任务及其关联数据流的行为抽象,包括数据流的数据更新周期属性的基本概念建立、多数据流驱动任务周期性或批次性运行的行为描述、数据流的写端(连接数据生产任务)到读端(连接数据消费任务)的数据传递行为描述、任务的周期属性及其与数据流的数据更新周期属性的关系建立、任务消费多输入数据流的行为描述、任务生产多输出数据流的行为描述、数据流的二维空间拓展设计等关键要素。所述信号处理系统设计,是任务运行图设计,是自顶向下式的高层设计。多数据流驱动的信号处理系统的任务行为模型,相比较于已有的简单数据流模型或任务图模型,内涵丰富且适用于多数据流之复杂场景,具有进步意义,相对于实时信号处理系统的高性能、高效率研发需求,具有实用价值。
实现本发明目的采用的技术方案是:
本发明建立一种多数据流驱动的信号处理系统的任务行为模型,其包括:(1)相邻任务间数据流按表达信号的前缀序数据串序列进行建模;(2)相邻任务间的数据流具有单向驱动样式、具有数据更新实时性、设有驱动条件;(3)任务在实时性约束下消费多输入数据流与生产多输出数据流的遍历和匹配规则。所述任务,是信号处理系统(简称为系统)中一系列相互衔接的算法模块。
系统被分解为一系列前后相互衔接的任务,并以(Z1,Z2,…Zm)=f(X1,X2,…Xn)表示任务。这里,f表示任务的算法并可指代任务,X1,X2,…Xn表示算法的多个作用对象,被称为消费数据;Z1,Z2,…Zm表示多个输出对象、被称为生产数据。n=1、m=1是任务的单输入单输出特例。
进一步地,所述前缀序数据串序列模型是:形为[x0i,x1i,x2i,…](i=1,2,…,n)的、动态增长的消费数据,即为任务的第i输入数据流,其中每个数据串xti(t=0,1,2,…)等长度且满足前缀序二元关系,即
Figure BDA0002957549520000051
Figure BDA0002957549520000052
形为[z0j,z1j,z2j,…](j=1,2,…,m)的生产数据,即为任务的第j输出数据流,其中每个数据串ztj(t=0,1,2,…)等长度且满足前缀序二元关系;任务的不同输入与输出数据流,其数据串xti′与xti″(i″≠i′)的长度可不同,数据串ztj′与ztj″的长度可不同。
所述相邻任务间数据流的单向驱动样式与驱动条件包括:(1)任务f按批次处理消费数据,且每次只处理某输入数据流中当前的与之前的kT-1个数据串形成的集合
Figure BDA0002957549520000053
Xi被f消费后,其部分或全部数据串被清空并等待下一批次刷新,刷新行为必须使Xi的kT个数据串或其对应的T个数据全满,此为批次消费条件;将第i输入数据流的kT与T记为kT,i与Ti
(2)仅当任务f运行后才输出生产数据,即f按批次产生各输出数据流且每次仅产生其中的1个数据串ztj
(3)数据流写端的生产任务在每个批次向数据流写入刷新数据串,其写入的数据量即写请求Ui;数据流读端的消费任务受读门限驱动而消费数据,所述读门限是写请求的kT,i倍,即满足kT,iUi=Ti的约束;消费任务从数据流读出的数据量即读请求Wi,应满足Wi=k′iUi(0<k′i≤kT,i,k′i为整数)的约束;对于任务f,各输出数据流的Ui可不同、各输入数据流的kT,i与Wi可不同、f消费各输入数据流的频次与f运行的批次可不同;
(4)数据流被消费任务读取Wi个数据后,保留LiUi个历史数据不被清空,并作为消费任务下批次运行时的使用对象;Li即重叠系数,应满足0≤Li<kT,i的约束;输入数据更新周期对应于ki=kT,i-Li个数据串的刷新时间;对于任务f,当且仅当Xi内ki个数据串被刷新一次,才满足批次消费条件;各输入数据流中最小的数据更新周期被满足时刻对应于f批次运行的驱动时刻;对于任务f,各输入数据流的ki可不同;
(5)系统于初始状态时消费任务的输入数据流是否存在初始量Ai,对应于系统初始时消费任务是否等待输入数据流批次消费条件成立;配置Ai=Ti,表示消费任务在初始时即刻读取;配置Ai=0,表示消费任务在初始时须等待批次消费条件成立;对于任务f,各输入数据流的Ai可不同。
从数据源到数据宿主之间仅有单向的数据流;无论数据流如何分叉又如何汇聚,均不存在从后往前的反向数据流。
任务间数据流具有数据更新实时性,即任务被赋予严格周期性,且任务周期与多个输入数据流的数据更新周期有整数倍关系:
任务f被赋予任务周期。若多个输入数据流的数据更新周期一致,即同步输入数据流,则任务周期与所有数据更新周期一致;若多个输入数据流的数据更新周期不同,即异步输入数据流,则任务周期与最小的数据更新周期一致;对于由数据流连接起来的级联式任务,其后序任务的任务周期不减,即后序任务周期是前序任务周期的整数倍;由此,级联式数据流将终止于信号处理系统的输出宿主,或终止于信号处理系统中的某个任务,而该任务的任务周期相比其前序变小;级联式数据流的终止任务一般是多数据流汇集之处,但该任务对于其他数据流而言可以被级联下去,相应的其他数据流也可以接续下去。
系统最前端任务的任务周期是多源输入中的最小数据更新周期,即系统的吞吐周期T0;而多源输入的数据更新周期均为吞吐周期的s倍(s=1,2,…);
任务f必须在任务周期内完成关于Xi(1≤i≤n)的全部消费并生产全部ztj(j=1,2,…m)。
系统的吞吐周期T0是整个系统最严格的确定性节拍。由于吞吐周期是确定的,受驱动的每个任务的任务周期也是严格确定的。多源输入的数据更新周期可不同,但约定为吞吐周期的s整数倍。由此,任务f的多个输入数据流读门限具有整数倍关系。
任务在实时性约束下消费多输入数据流与生产多输出数据流的遍历和匹配规则,是指在一个任务周期内,任务f必须完成全体输入数据流(X1,X2,…Xn)的消费与全体输出数据流(Z1,Z2,…Zm)的生产,且对输入数据流的总读取次数Nt等于对输出数据流的总写入次数N′y,其遍历性的具体规则有以下变体:
“与”规则:在一个任务周期内,n个输入数据流各自独立地遵守遍历规则,即读取次数Nt被同时赋予多个输入数据流;对于同步输入数据流,多个输入数据流在一个任务周期内被均衡地消费Nt次;对于异步输入数据流,若某输入数据流的数据更新周期是任务周期的D倍(D=2,3,…;D=1蜕化为同步输入数据流情况),则该输入数据流在一个任务周期内被消费Nt次,且在D个任务周期中被重复消费;同样地,在一个任务周期内,m个输出数据流各自独立地遵守遍历规则,即写入次数N′y被同时赋予多个输出数据流;
当任务的算法涉及并列的多个处理对象时,应采用“与”规则;
“或”规则:在一个任务周期内,n个输入数据流被视作一个整体而遵守遍历规则,具体地,第i输入数据流的读取被指定为
Figure BDA0002957549520000071
次,总遍历读取次数为
Figure BDA0002957549520000072
但从某次读取行为看,任务f只操作一个输入数据流;类似地,在一个任务周期内,m个输出数据流被视作一个整体而遵守遍历规则,具体地,第j输出数据流的写入被指定为
Figure BDA0002957549520000073
次,总遍历写入次数为
Figure BDA0002957549520000074
但从某次写入行为看,任务f只操作一个输出数据流;
当任务的算法须依次遍历多个处理对象时,应选择“或”规则;需注意的是,所述依次行为方式,表示区别于“与”规则下的均衡行为方式,不特指处理方式是串行抑或并行;
“与或”规则:在一个任务周期内,n个输入数据流的部分作为独立个体、部分被视为整体,总遍历读取次数为Nt;部分“或”规则下的
Figure BDA0002957549520000081
次选择遍历,将按i=1,i=2,…i=n′的顺次有序施行;在一个任务周期内,m个输出数据流的部分作为独立个体、部分被视为整体,总遍历写入次数为N′y,部分“或”规则下的
Figure BDA0002957549520000082
Figure BDA0002957549520000083
次选择遍历,将按序号顺次施行;
分部组合规则:任一数据流的数据串可被拓展成两个维度,即数据串可被视为矩阵,其行对应空间域、其列对应时间域,且其行数与列数可因输入数据流的不同而变化;在拓展中,输入数据流的批次消费条件维持不变,输入数据个数T被指定为时域长度或矩阵的列数;在一个任务周期内,任务f对每个输入数据流在空间维度上的数据可进行分解与组织,即第i输入数据流被划分为Ny个互不重叠的集合,每个集合被重复读取的次数为Re(e=1,2,…Ny),对全体消费数据的重复读取次数为P,则对输入数据流的组合读取共进行Nt=P(R1+R2+…RNy)次;各输入数据流的组合读取次数Nt一致,但其组合策略(P,Re,Ny)可不同地配置;同样地,任务f对每个输出数据流在空间维度上的数据可进行分解与组织,即全体生产数据被划分为N′y个互不重叠的集合,每个集合只被允许写入一次,则对输出数据流的组合写入共进行N′y次;
Ny=1或N′y=1均为简例,表示数据流被视为一个集合;Ny>1或N′y>1表示数据流被视为若干个集合,任务将以集合为对象将输入数据对象映射为输出数据对象;此时,任务将多次地操作对象,无论这些操作是并行的还是串行的;显然,数据流的集合划分应保持相互独立,或者说各集合互不重叠。
与现有技术相比,所发明的多数据流驱动的信号处理系统的任务行为模型是以任务和数据流的定义、任务和数据流的属性参数构建、属性参数间的关系设计、属性参数配置规则设计、任务与数据流的关联行为关系设计为基本要素,使系统的动态行为得以定量描述。特别地,对于系统的每一个任务而言,当有多个同步或异步输入数据流时,其周期性的任务行为可被严格建模,可为实时信号处理系统的设计提供分析依据与工具支撑。
附图说明
图1为实时信号处理系统的任务与数据流的示意图。
图2为数据流驱动条件和数据流更新周期的示意图。
图3为数据流与任务周期的典型配置的示意图,其中图3-1为消费任务和生产任务周期相同情况时的示意图,图3-2为有重叠量,但是消费任务和生产任务周期仍相同情况时的示意图,图3-3为无重叠量,但是生产任务快于消费任务时的示意图,图3-4为异步多输入数据流的示意图,图3-5为生产任务快于消费任务,虽然数据有积累,但只用最早的一帧时示意图。
图4为任务读写数据流的行为规则示意图。
具体实施方式
下面结合附图和具体实施例对本发明作进一步的详细说明。
本发明中信号处理系统(以下简称系统),是针对系统外部输入数据进行结构转换型运算、数学变换型计算等各种数据加工操作的软件应用系统。系统对数据的整体加工行为一般被分解为一系列级联的任务或算法。任务的周期性操作行为、与它关联的数据流脉动行为、以及两者的关系即所述的任务行为模型。任务的操作行为被抽象为(Z1,Z2,…Zm)=f(X1,X2,…Xn)。这里,f表示算法,X1,X2,…Xn表示算法的多个作用对象或输入对象,被统称为消费数据;Z1,Z2,…Zm表示多个输出对象、被统称为生产数据。
图1所示实施例,描述了多数据流激励的一个实时系统,包含吞吐周期相同的两个外部源输入、两个数据流宿主。
该系统由一系列前后相互衔接的任务组成,这些任务是信号处理的某个局部计算功能,图1中的Trans、Sparse、CHS、FFT(11)、FFT(12)、FFT(13)、ArrE、AW、FBF、BEI&F等,分别表示频域波束形成及空间方位能量谱计算的三个处理通道,对应3个波段。具体地,Trans、Sparse、CHS、FFT(12)、FBF、BEI&F所组成的通道,是按源1数据解析、源波形预处理、空间阵元波形按波段选取、低波段的阵元波形频域变换、频域波束形成、空间方位谱计算等算法进行组织的;而Trans、Sparse、FFT(13)、FBF、BEI&F所组成的通道,是按高波段的算法流程进行组织的;而Trans、Sparse、FFT(11)、FBF、BEI&F所组成的通道,是按中波段的算法流程进行组织的。低、中、高波段在FBF任务处汇集,然后统一进行波束形成与空间方位能量谱计算。最后,所有波段的波束形成运算所必须用到的权系数,由Trans、ArrE(阵形估计)、AW(权系数估计)所组成的级联算法获得,这个结果也在FBF任务处汇集。
相邻任务间存在从前往后的单向数据流,即前序的计算任务按其局部的数据生产功能输出约定量的数据更新内容,后序的计算任务仅在数据更新满足该约定量时,才驱动数据消费功能、继而再生产向后的输出。图1所示系统的所有任务之间均为数据流,其示意图形是单方向连线、其名称标示在连线下方的一对圆括号内。最前端任务的输入即系统的外部输入或外部数据源。源1与任务Trans之间是数据流1L,源2与任务Trans之间数据流是1H。最后端任务的输出,是系统外部的数据宿主。图1所示系统中,任务BEI&F与数据宿主A0S208、BOIT208之间数据流分别是Display1和Display2。从前端的源1和源2到后端的Display1和Display2,只有单向的数据传递,无论这些数据流在某处合并(如FBF)或在某处分叉(如Trans、Sparse)。
图1所示系统中的所有数据流都有两端。比如,B8*&B9@32K数据流的读端是FFT(11)任务、写端是Sparse任务。写端的Sparse任务进行数据生产,读端的FFT(11)任务进行数据消费。所以,对于FFT(11)任务而言,B8*&B9@32K是输入数据流;对于Sparse任务而言,B8*&B9@32K是输出数据流。
图1所示系统中的FBF任务有4个输入数据流、1个输出数据流。任务既有数据消费又有数据生产。
系统最前端的Trans任务关联2个数据源。源1与源2每间隔T0刷新一次数据,即Trans的两个输入数据流1L与1H按T0间隔严格时序地输入长度为W的1个更新数据串。所以,外部激励是严格实时的,其吞吐周期为T0。Trans的任务周期也必须是T0,因为该任务必须在T0范围内完成全部操作。
从Trans任务到FBF任务共有3条通道,将其归纳为图2所示的局部系统进行分析。为讨论方便且不失一般性地设Trans为第一个任务,其输入数据流名称为e1,其数据更新周期为k1T0;级联通道中某个被分析的任务为FBF,其输入数据流名称为er,其数据更新周期为krT0
Figure BDA0002957549520000111
对照图1可知,针对图1所示的具体场景有v=2。设e1历经最新的v个批次数据串为
Figure BDA0002957549520000112
并以
Figure BDA0002957549520000113
表示第一个任务的最新批次输入数据流,
Figure BDA0002957549520000114
代表上一批次输入数据流,以此类推下去直至v-1批次。类似地,以
Figure BDA0002957549520000115
Figure BDA0002957549520000116
表示被分析任务的最新批次输入数据流,即
Figure BDA0002957549520000117
是v个批次的e1输入数据流经er之前的所有前序任务处理后所产生的数据集合。只有第一个任务运行v次才能产生v个批次的
Figure BDA0002957549520000118
也才能形成被分析任务的完整
Figure BDA0002957549520000119
才能驱动被分析任务运行一次。这个
Figure BDA00029575495200001110
集合的长度即所述读门限T。
Figure BDA00029575495200001111
集合的数据被全部刷新的周期,即所述的输入数据更新周期。
Figure BDA00029575495200001112
集合的刷新数据由er写端关联的任务生产。对比图1看出,写端的一个批次写入长度也等于T,或者说FFT的任务周期与FBF相同,因此kT=1。FBF任务按批次消费
Figure BDA00029575495200001113
中的全部或一部分,且必须在
Figure BDA00029575495200001114
的下一次驱动条件被满足之前完成消费,此为严格实时的本质含义。
对于图1所示系统中的FFT(13)任务,其输入数据流B10@64K是单个输入数据流,其刷新数据所经历的时间间隔被赋予FFT(13)任务,成为该任务的任务周期T1=2T0。对于FBF任务,存在4个输入数据流,其中,数据流s1、s2、s3的刷新周期为2T0,而数据流ArrayW的刷新周期为32T0,故赋予该任务的任务周期是4个数据流中最小的数据更新周期,即T1
若多个输入数据流的数据更新周期一致,即为同步输入数据流,图1所示数据流s1、s2、s3是同步数据流;若多个输入数据流的数据更新周期不一致,则为异步输入数据流,图1所示数据流ArrayW相对于数据流s1、s2、s3就是异步数据流。
任务对于其多个输入数据流,有两种消费方式,即同步方式与异步方式。下面将以图4作为说明对象。图4所表示的系统基本与图1一样,除了个别任务的分解设计有所不同。图4相对于图1的进化,也表达了系统设计阶段的灵活多样性。例如,为了减轻图1所示系统中FBF任务的压力,将FBF任务分解为图4所示系统中的FBF1与FBF2,其中FBF1负责处理来自FFT1的低波段数据与FFT2的高波段数据,而FBF2专门处理来自FFT3的中波段数据。
图4还进一步展示了数据流的数据串传递控制参数配置(U,W,T,A)、输入数据流的消费方式控制参数配置(D)、任务读写数据流的行为控制策略配置
Figure BDA0002957549520000121
对应多个同步输入数据流的同步消费方式:图4所示系统中的FBF1任务,在每个任务周期内均衡地各自消费一次数据流FFT1_FBF1与数据流FFT2_FBF1。这两个数据流的消费方式控制参数配置均为D=1,就是表示这种均衡性。
对应多个异步输入数据流的异步消费方式:图4所示系统中的FBF1任务,在D=16个连续任务周期中对数据流AW1_FBF1重复消费,或者说FBF1任务仅读取数据流AW1_FBF1一次,却等待了16个任务周期才再次读取刷新内容,因为该输入数据流的数据更新周期比数据流FFT1_FBF1和数据流FFT2_FBF1都慢了16倍。
任务读写数据流的行为规则,包括对全体输入数据流的消费遍历与全体输出数据流的生产遍历规则、输入消费总次数与输出生产总次数的匹配规则、对某个输入数据流的空间分解集合的划分与组合读取规则、对多输入数据流空间分解集合的读取规则等。
图4所示系统中的任务ArrE的单输入数据流Trans_ArrE,Ny=1,R1=2,P=1,表示整个输入数据流被视为1个整体或1个集合,但该整体被重复读取2次。因为该任务有两个输出数据流,而每个输出数据流也被视为一个整体且只被允许写入1次,所以,输出总写入次数共为2次且匹配于输入总读取次数。
任一数据流的数据串可被拓展成两个维度,即数据串可被建模为矩阵,其行对应空间域、其列对应时间域,且其行数与列数可因输入数据流的不同而变化;在拓展中,输入数据流的批次消费条件维持不变,输入数据个数T被指定为时域长度或矩阵的列数;在一个任务周期内,任务f对每个输入数据流在空间维度上的数据可进行分解与组织为多个数据块集合。
图4所示系统中任务FFT1的输入数据流CHS_FFT1被视为7个数据集合,对应于所设计的7个低波段,而每个波段的数据连续且波段之间数据独立。该输入数据流的组合读取规则配置为Ny=7,R1..7=1,P=1,表示7个数据对象分别被读取1次,而从整体内容上看,输入数据整体被读取1次。因此从操作上看,该输入数据流被任务FFT1重复读取了Nt=P(R1+R2+…R6+R7)=7次。根据输入输出匹配规则,FFT1的输出数据流也将被分解为7个集合,输出组合写入规则配置为N′y=7,表示每个输出集合只能被写入一次,整体上共写入7次。
图4所示系统中任务FBF1有两个同步输入数据流、一个异步输入数据流。其中的FFT1_FBF1和FFT2_FBF1是同步输入数据流。如前所述,FFT1按7个集合写入FFT1_FBF1,但是对于FBF1来说,输入数据流FFT1_FBF1将被视为22个集合,因为前5个波段各包含4个近场距离聚焦点数据、后2个波段只含1个聚焦点数据。由此,组合读取规则将配置为Ny=22,R1..22=1,P=1,在FBF1的一个任务周期内总读取次数Nt=22;而另一个同步输入数据流FFT2_FBF1是一个高波段数据,其组合读取规则配置为Ny=1,R1=1,P=1;这两个同步输入数据流将按序轮换读取,即按所述的“或”规则先读取FFT1_FBF1共22次、再读取FFT2_FBF1共1次,总共读取23次。FBF1的异步输入数据流AW1_FBF1,其组合读取规则配置为Ny=23,R1...23=1,P=1。该数据流与另外两个同步输入数据流按照“与”规则执行,即并列读取23次。所述并列读取,即一一对应地读取。当然也可以根据设计需要,将AW1_FBF1的组合读取规则配置为Ny=1,R1=23,P=1,即并列读取23次。根据输入输出匹配规则,FBF1的输出数据流将写入23次。
图3所示典型例更详细地说明数据流的数据串传递控制行为以及任务周期的关系。同样的原理,也显示在图4所示的系统配置说明中,具体说明如下:
如图3-1所示,前序任务即数据生产任务的写请求是U,意味着前序任务写入数据流的数据长度是U;后序任务即数据消费任务的读门限是T=U即kT=1,L=0,因此数据流的更新周期是由前序任务决定的,即后序任务的任务周期等于前序任务的任务周期。后序任务的读请求为W=U。因此,数据流中一个单位的数据串(长度为U)有如下的脉动式传递行为:前序任务写入1个单位,正好满足后序任务的驱动条件,该单位就立即被后序任务全部读取并清空数据流以备下次更新。
如图3-2所示,前序任务的写请求是U,后序任务的读门限是T=k1U即kT=k1,但其L=k1-1。由于数据流中有数据串暂留行为,且所保留的数据串数量仅比k1小1个单位,即留给更新数据的单位仅1个数据串(长度为U),所以数据流更新周期也只由前序任务的一次写入决定,那么后序任务的任务周期也将与前序任务一致。后序任务的读请求为W=k1U。因此,数据流中一个单位的数据串(长度为U)有如下的脉动式传递行为:数据流中有k1个单位并保留历史上的k1-1个单位,前序任务写入1个单位,能满足后序任务的驱动条件,该单位连同保留的部分被后序任务全部读取并清空1个单位以备下次更新。
如图3-3所示,前序任务的写请求是U,后序任务的读门限是T=k1U即kT=k1,且L=0,W=k1U,意味着前序任务必须写入数据流k1次才能达到驱动条件。所以数据流更新周期由前序任务的k1次写入决定,后序任务的任务周期是前序任务k1的倍。因此,数据流中多个单位的数据串(每串长度为U)有如下的脉动式传递行为:前序任务每次写入1个单位,等待写满后k1个单位后将达到后序任务的驱动条件,总共k1U单位被后序任务读取并清空数据流以备下次更新。
如图3-4所示,后序任务有两个异步输入数据流:数据流1的数据更新周期比数据流2的数据更新周期大s倍,因为数据流1的前序任务(数据生产任务1)的任务周期是sTr,而数据流2的前序任务(数据生产任务2)的任务周期是Tr。数据流1配置为T=W=U,L=0,A=U,意味着数据流1的数据串脉动式传递的基本行为如图3(3-1)所示那样,但初始态不同,即数据流1的后序任务在系统初始之时不必等待驱动条件满足即可运行。对于两个数据流的共同后序任务,其任务周期被赋予数据流2的数据更新周期,因为它是两个输入数据流中最小的数据更新周期。由此,后序任务的运行节奏将取决于数据流2的驱动条件满足。在系统的初始,当数据流2满足驱动条件时,数据流1尚不满足但可以支持数据消费,因为它已有初始态。在后序任务的s个连续的任务周期中,数据流2被更新与消费s次,而数据流1仅被更新1次但被重复地消费。
如图3-4所示,后序任务有两个异步输入数据流:数据流1的数据更新周期比数据流2的数据更新周期大s倍。两个数据流汇集于一个共同的后序任务(数据消费任务)。后序任务的任务周期与数据生产任务2的任务周期一致,但比数据生产任务1的任务周期小。因此,数据流1及其它的前序一系列接续的数据流,即级联数据流将终止于这个数据消费任务。如图4所示的系统中,数据流AW1_FBF1、以及往前回溯的ArrE_AW1、Trans_ArrE是级联数据流。该接续关系起始于外部源、终止于FBF1任务,因为在FBF1任务之前满足任务周期不减的性质。
如图3-5所示,数据生产任务的任务周期为Tr、写入数据流一个单位的数据串长度为U,数据流配置为T=k1U,W=U,L=0,A=0。虽然数据流须积累k1个单位的数据串才能达到驱动条件,但数据消费任务仅读取1个单位(一般是最新进入数据流的单位)。与大部分典型场景一样,数据消费任务慢于数据生产任务,其意图在于增大任务周期但并不在于积累所生产的数据并将之全用于消费。

Claims (6)

1.一种多数据流驱动的信号处理系统的任务行为模型,其特征在于,包括:(1)相邻任务间数据流按表达信号的前缀序数据串序列进行建模;(2)相邻任务间的数据流具有单向驱动样式、具有数据更新实时性、设有驱动条件;(3)任务在实时性约束下消费多输入数据流与生产多输出数据流的遍历和匹配规则。
2.根据权利要求1所述多数据流驱动的信号处理系统的任务行为模型,其特征在于:所述前缀序数据串序列模型是:
(1)形为[x0i,x1i,x2i,…](i=1,2,…,n)的、动态增长的消费数据,即为任务的第i输入数据流,其中每个数据串xti(t=0,1,2,…)等长度且满足前缀序二元关系,即
Figure FDA0002957549510000011
(2)形为[z0j,z1j,z2j,…](j=1,2,…,m)的生产数据,即为任务的第j输出数据流,其中每个数据串ztj(t=0,1,2,…)等长度且满足前缀序二元关系。
3.根据权利要求1所述多数据流驱动的信号处理系统的任务行为模型,其特征在于:所述相邻任务间数据流的单向驱动样式与驱动条件包括:
(1)任务f按批次处理消费数据,且每次只处理某输入数据流中当前的与之前的kT-1个数据串形成的集合
Figure FDA0002957549510000012
Xi被f消费后,其部分或全部数据串被清空并等待下一批次刷新,刷新行为必须使Xi的kT个数据串或其对应的T个数据全满,此为批次消费条件;将第i输入数据流的kT与T记为kT,i与Ti
(2)仅当任务f运行后才输出生产数据,即f按批次产生各输出数据流且每次仅产生其中的1个数据串ztj
(3)数据流写端的生产任务在每个批次向数据流写入刷新数据串,其写入的数据量即写请求Ui;数据流读端的消费任务受读门限驱动而消费数据,所述读门限是写请求的kT,i倍,即满足kT,iUi=Ti的约束;消费任务从数据流读出的数据量即读请求Wi,应满足Wi=k′iUi(0<k′i≤kT,i,k′i为整数)的约束;
(4)数据流被消费任务读取Wi个数据后,保留LiUi个历史数据不被清空,并作为消费任务下批次运行时的使用对象;Li即重叠系数,应满足0≤Li<kT,i的约束;输入数据更新周期对应于ki=kT,i-Li个数据串的刷新时间;对于任务f,当且仅当Xi内ki个数据串被刷新一次,才满足批次消费条件;各输入数据流中最小的数据更新周期被满足时刻对应于f批次运行的驱动时刻;
(5)系统于初始状态时消费任务的输入数据流是否存在初始量Ai,对应于系统初始时消费任务是否等待输入数据流批次消费条件成立;配置Ai=Ti,表示消费任务在初始时即刻读取;配置Ai=0,表示.消费任务在初始时须等待批次消费条件成立。
4.根据权利要求1所述多数据流驱动的信号处理系统的任务行为模型,其特征在于:所述数据流的数据更新实时性,即任务的严格周期性及其与多个输入数据流的数据更新周期的整数倍关系,具体地:
(1)任务f被赋予任务周期;若多个输入数据流的数据更新周期一致,即同步输入数据流,则任务周期与所有数据更新周期一致;若多个输入数据流的数据更新周期不同,即异步输入数据流,则任务周期与最小的数据更新周期一致;对于由数据流连接起来的级联式任务,其后序任务的任务周期不减,即后序任务周期是前序任务周期的整数倍;由此,级联式数据流将终止于信号处理系统的输出宿主,或终止于信号处理系统中的某个任务,而该任务的任务周期相比其前序变小;
(2)系统最前端任务的任务周期是多源输入中的最小数据更新周期,即系统的吞吐周期T0;而多源输入的数据更新周期均为吞吐周期的s倍(s=1,2,…);
(3)任务f必须在任务周期内完成关于Xi(1≤i≤n)的全部消费并生产全部ztj(j=1,2,…m)。
5.根据权利要求1所述多数据流驱动的信号处理系统的任务行为模型,其特征在于:所述任务在实时性约束下消费多输入数据流与生产多输出数据流的遍历和匹配规则,是指在一个任务周期内,任务f必须完成全体输入数据流(X1,X2,…Xn)的消费与全体输出数据流(Z1,Z2,…Zm)的生产,且对输入数据流的总读取次数Nt等于对输出数据流的总写入次数N′y,其遍历性的具体规则有以下变体:
(1)“与”规则:在一个任务周期内,n个输入数据流各自独立地遵守遍历规则,即读取次数Nt被同时赋予多个输入数据流;对于同步输入数据流,多个输入数据流在一个任务周期内被均衡地消费Nt次;对于异步输入数据流,若某输入数据流的数据更新周期是任务周期的D倍,D=2,3,…,则该输入数据流在一个任务周期内被消费Nt次,且在D个任务周期中被重复消费;D=1蜕化为同步输入数据流情况;在一个任务周期内,m个输出数据流各自独立地遵守遍历规则,即写入次数N′y被同时赋予多个输出数据流;
(2)“或”规则:在一个任务周期内,n个输入数据流被视作一个整体而遵守遍历规则;在一个任务周期内,m个输出数据流被视作一个整体而遵守遍历规则,;
(3)“与或”规则:在一个任务周期内,n个输入数据流的部分作为独立个体、部分被视为整体,总遍历读取次数为Nt;部分“或”规则下的
Figure FDA0002957549510000031
次选择遍历,将按i=1,i=2,…i=n′的顺次有序施行;在一个任务周期内,m个输出数据流的部分作为独立个体、部分被视为整体,总遍历写入次数为N′y,部分“或”规则下的
Figure FDA0002957549510000032
Figure FDA0002957549510000033
次选择遍历,将按序号顺次施行;
(4)分部组合规则:任一数据流的数据串被拓展成两个维度,即数据串被进一步地建模为矩阵,其行对应空间域、其列对应时间域;在拓展中,输入数据流的批次消费条件维持不变,输入数据个数Ti被指定为时间域长度或矩阵的列数;在一个任务周期内,任务f对每个输入数据流在空间维度上的数据进行分解与组织,即第i输入数据流被划分为Ny个互不重叠的集合,每个集合被重复读取的次数为Re(e=1,2,…Ny),对全体消费数据的重复读取次数为P,则对输入数据流的组合读取共进行Nt=P(R1+R2+…RNy)次;组合策略(P,Re,Ny)的配置应使各输入数据流的组合读取次数Nt一致;同样地,任务f对每个输出数据流在空间维度上的数据进行分解与组织,即全体生产数据被划分为N′y个互不重叠的集合,每个集合只被允许写入一次,则对输出数据流的组合写入共进行N′y次。
6.根据权利要求5所述多数据流驱动的信号处理系统的任务行为模型,其特征在于:所述“或”规则中,在一个任务周期内,n个输入数据流被视作一个整体而遵守遍历规则,第i输入数据流的读取被指定为
Figure FDA0002957549510000041
Figure FDA0002957549510000042
次,总遍历读取次数为
Figure FDA0002957549510000043
任务f每次只操作一个输入数据流;在一个任务周期内,m个输出数据流被视作一个整体而遵守遍历规则,第j输出数据流的写入被指定为
Figure FDA0002957549510000044
次,总遍历写入次数为
Figure FDA0002957549510000045
任务f每次只操作一个输出数据流。
CN202110230097.5A 2021-03-02 多数据流驱动的信号处理系统的任务行为模型 Active CN112799603B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110230097.5A CN112799603B (zh) 2021-03-02 多数据流驱动的信号处理系统的任务行为模型

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110230097.5A CN112799603B (zh) 2021-03-02 多数据流驱动的信号处理系统的任务行为模型

Publications (2)

Publication Number Publication Date
CN112799603A true CN112799603A (zh) 2021-05-14
CN112799603B CN112799603B (zh) 2024-05-14

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800629A (zh) * 2021-03-02 2021-05-14 王希敏 多数据流驱动的信号处理系统确定时序计算方法
CN113360531A (zh) * 2021-06-07 2021-09-07 王希敏 信号处理系统并行计算数据流的结构

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392429A (en) * 1991-10-11 1995-02-21 At&T Corp. Method of operating a multiprocessor computer to solve a set of simultaneous equations
US5832272A (en) * 1993-03-15 1998-11-03 University Of Westminister Apparatus and method for parallel computation
CN101408850A (zh) * 2008-11-27 2009-04-15 中国人民解放军信息工程大学 任务流计算模型
CN101950273A (zh) * 2010-09-26 2011-01-19 中国人民解放军海军工程大学 一种dsp数据区动态管理方法
CN102929725A (zh) * 2012-11-12 2013-02-13 中国人民解放军海军工程大学 信号处理并行计算软件的动态重配置方法
CN103679789A (zh) * 2013-12-09 2014-03-26 北京大学 基于数据流图的并行绘制与可视化方法及系统
CN103988212A (zh) * 2011-12-15 2014-08-13 美光科技公司 用于在状态机中路由的方法及系统
CN105204822A (zh) * 2015-10-27 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于mic协处理器的多数据流处理方法
US20180060759A1 (en) * 2016-08-31 2018-03-01 Sas Institute Inc. Automated computer-based model development, deployment, and management
CN107864168A (zh) * 2016-09-22 2018-03-30 华为技术有限公司 一种网络数据流分类的方法及系统
CN108156141A (zh) * 2017-12-14 2018-06-12 北京奇艺世纪科技有限公司 一种实时数据识别方法、装置及电子设备
CN108519876A (zh) * 2018-03-27 2018-09-11 苏州优圣美智能系统有限公司 一种图形化数据流建模和处理系统及方法
CN110058932A (zh) * 2019-04-19 2019-07-26 中国科学院深圳先进技术研究院 一种用于数据流驱动计算的存储方法和存储系统

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5392429A (en) * 1991-10-11 1995-02-21 At&T Corp. Method of operating a multiprocessor computer to solve a set of simultaneous equations
US5832272A (en) * 1993-03-15 1998-11-03 University Of Westminister Apparatus and method for parallel computation
CN101408850A (zh) * 2008-11-27 2009-04-15 中国人民解放军信息工程大学 任务流计算模型
CN101950273A (zh) * 2010-09-26 2011-01-19 中国人民解放军海军工程大学 一种dsp数据区动态管理方法
CN103988212A (zh) * 2011-12-15 2014-08-13 美光科技公司 用于在状态机中路由的方法及系统
CN102929725A (zh) * 2012-11-12 2013-02-13 中国人民解放军海军工程大学 信号处理并行计算软件的动态重配置方法
CN103679789A (zh) * 2013-12-09 2014-03-26 北京大学 基于数据流图的并行绘制与可视化方法及系统
CN105204822A (zh) * 2015-10-27 2015-12-30 浪潮(北京)电子信息产业有限公司 一种基于mic协处理器的多数据流处理方法
US20180060759A1 (en) * 2016-08-31 2018-03-01 Sas Institute Inc. Automated computer-based model development, deployment, and management
CN107864168A (zh) * 2016-09-22 2018-03-30 华为技术有限公司 一种网络数据流分类的方法及系统
CN108156141A (zh) * 2017-12-14 2018-06-12 北京奇艺世纪科技有限公司 一种实时数据识别方法、装置及电子设备
CN108519876A (zh) * 2018-03-27 2018-09-11 苏州优圣美智能系统有限公司 一种图形化数据流建模和处理系统及方法
CN110058932A (zh) * 2019-04-19 2019-07-26 中国科学院深圳先进技术研究院 一种用于数据流驱动计算的存储方法和存储系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王哲;王希敏;: "并行DSP系统消息传递路由算法", 计算机工程, no. 17, 5 September 2009 (2009-09-05), pages 241 - 246 *
艾锐峰;蔡志明;王希敏;陈宝柱;: "声纳并行处理系统的设计方法与调度策略", 系统工程与电子技术, no. 08, 15 August 2011 (2011-08-15), pages 111 - 115 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112800629A (zh) * 2021-03-02 2021-05-14 王希敏 多数据流驱动的信号处理系统确定时序计算方法
CN112800629B (zh) * 2021-03-02 2024-02-27 王希敏 多数据流驱动的信号处理系统确定时序计算方法
CN113360531A (zh) * 2021-06-07 2021-09-07 王希敏 信号处理系统并行计算数据流的结构

Similar Documents

Publication Publication Date Title
CN110533183B (zh) 流水线分布式深度学习中异构网络感知的任务放置方法
EP2062175B1 (en) Hardware definition language generation for frame-based processing
Yu et al. Gillis: Serving large neural networks in serverless functions with automatic model partitioning
Bagrodia et al. A unifying framework for distributed simulation
Xiao et al. Exploring execution schemes for agent-based traffic simulation on heterogeneous hardware
Gerlinghoff et al. E3NE: An end-to-end framework for accelerating spiking neural networks with emerging neural encoding on FPGAs
Wang et al. Overlapping communication with computation in parameter server for scalable DL training
Kodase et al. Improving scalability of task allocation and scheduling in large distributed real-time systems using shared buffers
Gurumani et al. High-level synthesis of multiple dependent CUDA kernels on FPGA
CN115130407A (zh) 用于在处理器与fpga之间划分仿真模型的方法
CN112799603B (zh) 多数据流驱动的信号处理系统的任务行为模型
CN112799603A (zh) 多数据流驱动的信号处理系统的任务行为模型
Lin et al. swFLOW: A dataflow deep learning framework on sunway taihulight supercomputer
US11928598B2 (en) Method and system for distributed neural network training
Kirchhoff et al. Optimizing compiler for a specialized real-time floating point softcore processor
Hoang et al. A compiler for multiprocessor DSP implementation
CN112800629B (zh) 多数据流驱动的信号处理系统确定时序计算方法
Roumage et al. A survey of main dataflow MoCCs for CPS design and verification
CN113360531B (zh) 信号处理系统并行计算数据流的结构
CN111652365B (zh) 一种用于加速Deep Q-Network算法的硬件架构及其设计空间探索方法
JP2765861B2 (ja) 並列化コンパイル方法
US20220129436A1 (en) Symbolic validation of neuromorphic hardware
CN114461361A (zh) 一种数据中心滞后任务失效预测方法
US20230325464A1 (en) Hpc framework for accelerating sparse cholesky factorization on fpgas
Bai et al. Klotski: DNN Model Orchestration Framework for Dataflow Architecture Accelerators

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
GR01 Patent grant