1.基于ARM-FPGA协处理器异构平台的时间可预估协同处理方法,其特征在于,所述实现方法包含:
在大数据存储单元和计算单元分离的应用场景,将AXI4.0接口将协处理器FPGA部署在数据存储单元、源数据中冗余量在内的信息进行预估、估算整个实施过程中通信时延的总和以及对处理器进行综合抉择,具体步骤如下:S1、通过AXI4.0接口,实现ARM处理器和FPGA互联的速数据交互;
S2、存储单元结点源数据以索引表的形式进行存储,数据体现划分为两大类,具有强规律性的数据集和复杂规律数据集;
S3、针对源数据不同体现形式,建立类索引表概率存储结构来表现不同数据分布形式的概率问题,从而判断是否需要对源数据进行预处理;
S4、源数据在处理的各个过程中都存在时延,因此,需要明确数据每个传输阶段的通信过程,计算整个时延的总和,为源数据处理器最终决策提供可靠的依据,因此,需要分别估算ARM处理器数据处理和FPGA数据处理过程的整体时间时延;
S5、当整体时延预估完成后,根据预估时延情况,对源数据处理时处理器的选择进行决策;如果要准确判定那个处理器更合适,单单使用整体通信预估时延来抉择不太妥当,还要考虑当前ARM处理器和FPGA处理器的状态。
2.根据权利要求1所述的一种基于ARM-FPGA协处理器异构平台的时间可预估协同处理方法,其方式在于,所述步骤S1中,当数据请求产生时,ARM处理器通过对内存的访问,提取数据。当源数据无法全部存储在处理器内存中时,可以访问存储在存储介质(硬盘)中的源数据,并将全部源数据发送至计算单元处理器中;但是,如果使用FPGA进行数据预处理,则会通过AXI接口,使得ARM处理器和FPGA之间进行高速通信和数据交互。
3.根据权利要求1所述的一种基于ARM-FPGA协处理器异构平台的时间可预估协同处理方法,其方式在于,所述步骤S2中,以不同的数据特性使用不同的方式去描述,性别列分布满足二项分布,结点记录其发生的概率值,年龄列用均匀分布来描述,结点记录它的最大和最小值,成绩列分布就相对很复杂,以哈希方式去获得数据键值,从而进行处理;其中,不同的键值列用不同的数字标记,性别列用1标记,年龄列用2标记,成绩列用3标记。
4.根据权利要求1所述的一种基于ARM-FPGA协处理器异构平台的时间可预估协同处理方法,其方式在于,所述步骤S3中,针对规律性较强的源数据,概率分布相对单一,采用定值计算估算概率值。针对复杂规律的源数据中,每项数据的键称以类的结构来描述,建立类索引表来估算数据大小;以源数据键值大小建立索引结点表,在结点索引表建立过程中,其结点建立是以频繁被索引的数据键值,以保证在估算时的精确度;底层叶子结点存放数据A的概率值,用Pi,j表示在结点数据间Ai
5.根据权利要求1所述的一种基于ARM-FPGA协处理器异构平台的时间可预估协同处理方法,其方式在于,所述步骤S4中,以ARM处理器系统进行源数据处理,整个过程时延主要包含源数据提取传输时间、网络传输时延和源数据计算时间,分别用TAo-t、TAf-n和TAo-c表示;其处理过程先从存储节点单元取出源数据,在转发给计算节点单元,其整体时间开销用TArm符号表示;其公式为:TArm=TAo-t+TAo-c;源数据内部存储单元以高速PCIe接口进行数据通信,其通信时延为稳定的传输速率(V1)与源数据量(Ao)的乘积,表示为TAo-t=V1*Ao。
6.根据权利要求1所述的一种基于ARM-FPGA协处理器异构平台的时间可预估协同处理方法,其方式在于,所述步骤S4中,以FPGA作为协处理器进行源数据预处理,整个过程时延包含提取源数据通信时延、FPGA中数据预处理时延、处理后数据网络传输时延和计算单元处理时延,分别用TFo-t、TFo-c、TFf-n和TFf-c表示;源数据FPGA以AXI接口与ARM处理进行数据通信,其通信时延为稳定的传输速率(V)与源数据量(Ao)的乘积,表示为TFo-t=(V+V1)*Ao;数据在网络中传输的时延由当前的网络速度(Nv)和传输的数据量(Ao+f)来决定,其表示为TAf-n,TFf-n=Nv*Ao+f;当存在源数据处理请求时,ARM处理器解析任务消息,使得FPGA处理器通过AXI协议接口从ARM处理中进行源数据交互,再进行数据预处理,当源数据预处理完成后,直接通过FPGA上融合的网卡将处理后的数据通过网络发送给计算节点单元;整体时间开销为TFpga表示。其公式为:TFpga=TFo-t+TFo-c+TFf-n+TFf-c。
7.根据权利要求1所述的一种基于ARM-FPGA协处理器异构平台的时间可预估协同处理方法,其方式在于,所述步骤S5中,当我们认为两个处理器目前都有一个任务正在处理,所需处理时间分别用TA-now和TF-now,如果此时另外一个任务到来,该任务使用ARM处理器和FPGA处理器的时间分别是TArm和TFpga,那么可以判断出ARM处理器和FPGA处理器处理任务所需总时间为TA-all和TF-all,其中TA-all=TA-now+TArm,TF-all=TF-now+TFpga,根据任务完成所需总时间我们可以做出合理的决策,当TA-all