当前位置: 首页 > 专利查询>青海大学专利>正文

基于SpMV计算的网页管理方法、系统、介质及设备技术方案

技术编号:39052186 阅读:17 留言:0更新日期:2023-10-12 19:44
本发明专利技术属于计算机处理领域,尤其涉及基于SpMV计算的网页管理方法、系统、介质及设备。本发明专利技术的主要目的是提高并行SpMV在幂律分布较大的不规则矩阵上的计算效率。本文基于ELL格式设计了一种BEC存储格式。根据平均每行非零元素个数确定分块大小,然后按行将ELL格式中的值矩阵和列矩阵分割为大小相等的数据块,对每行中最后一个不满足的数据块进行零元填充或用COO格式存储来减少零元填充量。BEC SpMV计算分成三个部分:ELL数据块上的SpMV、数据块结果的规约求和、COO格式的SpMV计算。在这三个部分计算中,各个线程的计算量大致相等并且有着良好的可并行性。由此实现负载均衡的并行SpMV计算。SpMV计算。SpMV计算。

【技术实现步骤摘要】
基于SpMV计算的网页管理方法、系统、介质及设备


[0001]本专利技术属于计算机处理领域,尤其涉及基于SpMV计算的网页管理方法、系统、介质及设备。

技术介绍

[0002]针对呈幂律分布的稀疏矩阵上SpMV计算,这种稀疏矩阵中绝大多数行非零元素个数较少,而极少数行非零元素个数较多,行与行之间非零元素个数差异巨大。稀疏矩阵向量乘(Sparse Matrix

Vector Multiplication,SpMV)是众多科研领域中的计算核心,在图计算领域,SpMV是PageRank算法中的计算核心,它通过网络中的超链接关系来确定网页的排名,其中网页之间的超链接用稀疏矩阵来表示,网页的排名用向量值来表示。在数值模式天气预报中,SpMV是迭代法求解大规模稀疏线性方程组的计算核心,SpMV的计算效率直接影响了数值天气预报的时效性。对此,提高SpMV的计算效率尤为重要。另一方面,由于计算机硬件的限制以及数据规模的持续增加,以二维数组形式存储矩阵是不现实的,它会造成内存空间上的浪费和大量零元素的无效计算。对此,为了提高大规模的SpMV计算效率使用特定的稀疏矩阵存储格式是必要的。
[0003]在稀疏矩阵中非零元素的数量远远少于零元素的数量,对此需要使用特定的稀疏矩阵存储格式来减少内存空间的浪费,常用的稀疏矩阵存储格式有坐标格式(COO)、压缩稀疏行格式(CSR)、对角稀疏矩阵格式(DIA)、ELLPACK格式(ELL)等。COO是一种最为基础的存储格式,它使用了三元组来存储非零元素的行号、列号以及元素值,常用于处理稀疏矩阵数据的输入与输出。CSR是一种较为通用的存储格式,它有着紧凑的内存结构以及良好的数据压缩率。DIA格式主要用于对角矩阵的存储,在对角矩阵中,DIA格式有着较好的数据压缩率和计算效率。ELL格式适合向量架构,在规则矩阵上有着良好的性能。在并行SpMV计算中,如果一个结果向量的运算被分配在多个线程上,会产生多线程写冲突。按行将矩阵数据分配给各个线程计算,对于不规则矩阵会产生严重的负载不均衡,这些问题导致SpMV计算在多核处理器中无法发挥出机器的整体性能。
[0004]现实生活中大部分矩阵中的非零元素是呈幂律分布的,这种稀疏矩阵中绝大多数行非零元素个数较少,而极少数行非零元素个数较多,行与行之间非零元素个数差异巨大。这类不规则的稀疏矩阵在并行的SpMV计算中存在着多线程写冲突、负载不均衡、访存不规则等问题,这使得SpMV计算无法最大限度地发挥多核处理器的性能。另一方面,为了提高SpMV处理不规则矩阵的计算效率,通常会额外引入大量的零元填充,部分矩阵中零元填充量甚至高达非零元素总数的十倍,从而极大地影响SpMV的计算效率,进而使得网页管理效率降低。

技术实现思路

[0005]本专利技术所要解决的技术问题是提供基于SpMV计算的网页管理方法、系统、介质及设备。
[0006]本专利技术解决上述技术问题的技术方案如下:一种基于SpMV计算的网页管理方法,包括:
[0007]步骤1,获取网络社交关系图中的待存储的不规则矩阵,基于所述待存储的不规则矩阵的规格确定分割矩阵块的规格;
[0008]步骤2,基于预设规则以及所述分割矩阵块的规格逐行对所述待存储的不规则矩阵进行分割处理,生成分割处理结果,对所述分割处理结果进行ELL格式存储或COO格式存储,得到存储结果;
[0009]步骤3,对所述存储结果中的数据进行SpMV计算,得到计算结果,根据所述计算结果对网络社交关系图对应的网页进行降序排列,对排名超过阈值的网页进行优化管理。
[0010]本专利技术的有益效果是:本专利技术的主要目的是提高SpMV在幂律分布较大的不规则矩阵上的计算效率,进一步发挥多核处理器的计算性能。本文基于ELL格式设计了一种BEC(Blocked ELL AND COO)存储格式,将稀疏矩阵以ELL格式和COO格式存储。首先根据平均每行非零元素个数确定分块大小,按行将非零元素以ELL格式存储并进行分块,对每行中不足一块的非零元素进行零元填充或以COO格式存储。对于绝大多数行非零元素个数较少的不规则矩阵,以此来减少并行SpMV计算中的零元填充量,提高不规则矩阵SpMV的计算效率,进而可以快速得出网页排序,使得网页管理更加效率。
[0011]在上述技术方案的基础上,本专利技术还可以做如下改进。
[0012]进一步,基于预设规则以及所述分割矩阵块的规格逐行对所述待存储的不规则矩阵进行分割处理,生成分割处理结果的过程具体为:
[0013]对所述待存储的不规则矩阵中的任一一行数据进行非零元素的数目统计,生成统计结果;
[0014]当所述统计结果能够被所述分割矩阵块的规格中的宽度值整除时,则生成整除标识并与该行数据关联,根据所述整除标识,对该行数据进行分割;
[0015]当所述统计结果不能被所述宽度值整除时,则将该行数据中无法整除的部分进行零元填充处理标识或直接生成COO格式存储标识并与该行数据关联,对该行非所述零元填充处理标识或COO格式存储标识的数据进行分割处理;
[0016]重复对任一一行数据进行所述非零元素的数据统计,直至完成所述待存储的不规则矩阵中所有行数据的非零元素的数目统计,得到多个根据整除标识分割的数据结果以及带有所述零元填充处理标识或COO格式存储标识的数据;
[0017]将所述数据结果以及所述带有所述零元填充处理标识或COO格式存储标识的数据整合生成分割处理结果。
[0018]进一步,所述对所述分割处理结果进行ELL格式存储或COO格式存储,得到存储结果的过程为:
[0019]将所述分割处理结果中的数据结果通过ELL格式进行存储,将所述带有所述零元填充处理标识或COO格式存储标识的数据通过COO格式进行存储。
[0020]进一步,所述对所述存储结果中的数据进行SpMV计算,得到计算结果具体包括:
[0021]启动多个线程分别对所述存储结果中通过ELL格式进行存储的数据进行SpMV值的计算,并将每个SpMV值与该值对应的数据进行关联以及存储,将同属于所述待存储的不规则矩阵的同一行的数据对应的SpMV值进行累加求和,得到该行的第一SpMV值,判断该行的
数据数量是否符合所述待存储的不规则矩阵的每行数据规格,若符合,则将所述第一SpMV值作为该行最终SpMV值,若不符合,则调取所述存储结果中通过COO格式存储的与该行相关联的数据进行SpMV值计算,得到第二SpMV值,将所述第一SpMV值与所述第二SpMV值叠加得到第三SpMV值,将所述第三SpMV值作为该行最终SpMV值,重复对所述待存储的不规则矩阵的每一行进行是否符合所述待存储的不规则矩阵的每行数据规格的判断,直至完成所述待存储的不规则矩阵的所有行的判断,得到多个第一SpMV值以及多个第三SpMV值,将所述多个第一SpMV值与所述多个第三SpMV值进行整合得到计算结果。
[0022]本专利技术解决上述技术问题的另一种技术方案如下:一种基于SpMV计算的网页管理系统,包括:...

【技术保护点】

【技术特征摘要】
1.一种基于SpMV计算的网页管理方法,其特征在于,包括:步骤1,获取网络社交关系图中的待存储的不规则矩阵,基于所述待存储的不规则矩阵的规格确定分割矩阵块的规格;步骤2,基于预设规则以及所述分割矩阵块的规格逐行对所述待存储的不规则矩阵进行分割处理,生成分割处理结果,对所述分割处理结果进行ELL格式存储或COO格式存储,得到存储结果;步骤3,对所述存储结果中的数据进行SpMV计算,得到计算结果,根据所述计算结果对网络社交关系图对应的网页进行降序排列,对排名超过阈值的网页进行优化管理。2.根据权利要求1所述的一种基于SpMV计算的网页管理方法,其特征在于,基于预设规则以及所述分割矩阵块的规格逐行对所述待存储的不规则矩阵进行分割处理,生成分割处理结果的过程具体为:对所述待存储的不规则矩阵中的任一一行数据进行非零元素的数目统计,生成统计结果;当所述统计结果能够被所述分割矩阵块的规格中的宽度值整除时,则生成整除标识并与该行数据关联,根据所述整除标识,对该行数据进行分割;当所述统计结果不能被所述宽度值整除时,则将该行数据中无法整除的部分进行零元填充处理标识或直接生成COO格式存储标识并与该行数据关联,对该行非所述零元填充处理标识或COO格式存储标识的数据进行分割处理;重复对任一一行数据进行所述非零元素的数据统计,直至完成所述待存储的不规则矩阵中所有行数据的非零元素的数目统计,得到多个根据整除标识分割的数据结果以及带有所述零元填充处理标识或COO格式存储标识的数据;将所述数据结果以及所述带有所述零元填充处理标识或COO格式存储标识的数据整合生成分割处理结果。3.根据权利要求2所述的一种基于SpMV计算的网页管理方法,其特征在于,所述对所述分割处理结果进行ELL格式存储或COO格式存储,得到存储结果的过程为:将所述分割处理结果中的数据结果通过ELL格式进行存储,将所述带有所述零元填充处理标识或COO格式存储标识的数据通过COO格式进行存储。4.根据权利要求1所述的一种基于SpMV计算的网页管理方法,其特征在于,所述对所述存储结果中的数据进行SpMV计算,得到计算结果具体包括:启动多个线程分别对所述存储结果中通过ELL格式进行存储的数据进行SpMV值的计算,并将每个SpMV值与该值对应的数据进行关联以及存储,将同属于所述待存储的不规则矩阵的同一行的数据对应的SpMV值进行累加求和,得到该行的第一SpMV值,判断该行的数据数量是否符合所述待存储的不规则矩阵的每行数据规格,若符合,则将所述第一SpMV值作为该行最终SpMV值,若不符合,则调取所述存储结果中通过COO格式存储的与该行相关联的数据进行SpMV值计算,得到第二SpMV值,将所述第一SpMV值与所述第二SpMV值叠加得到第三SpMV值,将所述第三SpMV值作为该行最终SpMV值,重复对所述待存储的不规则矩阵的每一行进行是否符合所述待存储的不规则矩阵的每行数据规格的判断,直至完成所述待存储的不规则矩阵的所有行的判断,得到多个第一SpMV值以及多个第三SpMV值,将所述多个第一SpMV值与所述多个第三SpMV值进行整合得到计算结果。
5.一种基于SpMV计算的网页管理系统,其特征在于,包括:获取模块用于:获取网络社交关系图中的待存储的不规则矩阵,基于所述待存储...

【专利技术属性】
技术研发人员:黄建强黄东强王晓英贾金芳吴利张国晶唐嘉豪刘令斌
申请(专利权)人:青海大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1