当前位置:   article > 正文

算力度量与算力建模

算力度量与算力建模

一、前言

为了高效、协同地利用全网异构的算力资源,由运营商、设备商等主导提出一种基于分布式系统的计算与网络融合的技术方案——算力网络。算力网络(CFN,Computing First Networking)是随着以云计算为代表的传统算力时代算力资源中心化逐渐下沉到边缘行业发展趋势下的一种新算力资源解决方案,其将边缘计算节点、云计算节点以及含广域网在内的各类网络资源融合,通过对云计算节点的计算、存储资源、广域网的网络资源进行协同并可以根据业务特性提供灵活、可调度的按需服务的基础设施架。
算力度量和算力建模是算力网络底层的技术基石,如何在网络中有效地对算力进行标识和度量是算网融合发展的第一步。对于算力如何度量和表示,业界一直在不断地探索。不同于传统的硬件计算资源度量,算网融合过程中算力的度量不仅依赖中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)等处理单元以及内存、硬件等存储资源,还与业务类型、节点的通信能力等息息相关,可以说作为算网融合发展的基础,如何构建统一的算力资源模型及算力需求模型、实现算力的一致化表达是算力度量与算力建模的关键问题。

二、相关研究现状

基于算力资源构建算力模型

根据运行算法的数据类型的不同,功能上将算力分为三大类,逻辑运算能力、并行计算能力和神经网络计算能力。
(1) 逻辑运算能力。这种计算能力是一种通用的基础运算能力。硬件芯片代表是中央处理器(CPU),这类芯片需要大量的空间去放置存储单元和控制单元。相比之下,计算单元只占据了很小的一部分。 因此,它在大规模并行计算能力上很受限制,但可以用于逻辑控制。一般 情况下,TOPS(表示处理器每秒钟可 进行一万亿次操作)被用来衡量运算能力。在某些情况下,能效比TOPS/W(表示在1 W功耗的情况下,处理器能进行多少次操作)、MIPS也可被作为评价处理器运算能力的一个性能指标。
(2) 并行计算能力。并行计算能力是指专门为了处理如图形图像等数据类型统一的一种高效计算能力,是一种比较通用的计算能力。这种计算能力特别适合处理大量的类型统一的数据,不仅在图形图像处理领域大显身手,同时还适用于科学计算、密码破解、数值分析、海量数据处理(排序、Map-Reduce等)、金融分析等领域。典型的硬件芯片代表是英伟达推的图形处理单元(GPU)。GPU的构成相对简单,有数量众多的计算单元和超长的流水线。浮点运算能力常被作为并行计算的度量标准。单位TFLOPS/s可以简单写为T/s,意 思是一万亿次浮点指令每秒。此外,相关单位还有MFLOPS、GFLOPS、 PFLOPS。
(3) 神经网络计算能力。 神经网络计算能力主要用于AI神经网络、机器学习类密集计算型业务,是一种用来对机器学习、神经网络等进行加速的计算能力。近年来,厂商发布的AI类芯片都是为加速神经网络计算而设计的, 例如华为技术有限公司的网络处理器(NPU)Google公司的张量处理单元(TPU)。另外,机器学习、神经网络的本质是密集计算。对于神经网络计算能力的衡量,不同的芯片出厂商往往具有不同的测试程序。目前,这类能力常用的度量单位也是浮点计算能力FLOPS。
对于计算节点的度量,有使用一些设计好的基准程序,通过基准程序有效的协调设备不同部件之间的运行,以完成指定任务的完成时间作为计算节点的算力度量。一种度量策略思想是,将计算节点算力看成一个三维向量(逻辑运算能力,并行运算能力,神经网络计算能力),然后对每一维度,通过度量函数映射到统一量纲。若计算节点存在n个逻辑芯片、m个并行计算芯片和p个神经网络计算芯片,那么算力度量模型为:
在这里插入图片描述
另外一种度量策略,在第一种策略的基础之上,按照固定比例系数将三种不同类型的算力进行统一度量:

在这里插入图片描述
类似的,算力业务在算力网络中的算网资源信息 可通过某种与算力、存力、算法、路由以及算效相关的数学模型来表示:
在这里插入图片描述
式中:T为存力;X为算法能力,包括算法类型和复杂度等;P代表算网路由,包含路由协议、协议配置等信息;ψ为算效,用于算力配置策略验证。

Efficient Computing Resource Metric Method in Computing-First Network

研究提出了一种先静后动的混合式度量方案(hybrid metric method, HMM)。先计算算力节点的基础性能分数,将分数合理分段,最后在段内找到合适的算力节点。
在这里插入图片描述
Fig. 1 The workflow of HMM
图 1 HMM的工作流程
HMM工作流程:

  • 利用熵权法计算出算力节点的基础性能分数;
  • 利用基于决策树的CART算法对分数进行合理的分段;
  • 在符合业务需求的段内,利用n维欧式距离 算出算力节点性能与用户任务所需性能的距离,最后找到最短距离,即找到最符合用户任务需求的算力节点;
    1. 熵权法计算基础性能得分
    假设有m个算力节点和n个评估指标,形成原始指标数据矩阵:
    在这里插入图片描述
    其中 x ⅈ j x_{ⅈj} xj表示第i个算力节点第j项评价指标的数值。对于某项指标 x j x_j xj,样本的离散程度越大,则该指标在综合评价中所起的作用就越大;如果该指标的数值全部相等,则表示该指标在综合评价中不起作用。其中第i个计算节点的第j个性能指标的权重为:
    p i j = x i j ∑ i = 1 n x i j ( 0 ≤ p i j ≤ 1 , i = 1 , 2 , . . . , n , j = 1 , 2 , . . . , m ) p_{ij}=\frac{x_{ij}}{\sum_{i=1}^n{x_{ij}}}\text{(}0\le p_{ij}\le 1,i=1,2,...,n,j=1,2,...,m\text{)} pij=i=1nxijxij0pij1,i=1,2,...,n,j=1,2,...,m
    使用节点的性能权重组成比重矩阵:
    [ p 11 ⋯ p 1 n ⋮ ⋱ ⋮ p m 1 ⋯ p m n ] \left[ p11p1npm1pmn
    \right]
    p11pm1p1npmn

    故可得第j个指标的熵权为:
    e j = − 1 ln ⁡ m ∑ i = 1 n p i j ln ⁡ p i j e_j=-\frac{1}{\ln m}\sum_{i=1}^n{p_{ij}\ln p_{ij}} ej=lnm1i=1npijlnpij
    然后需要定义第j项得到差异程度,熵权法根据各个指标数值的差异程度来进行赋值,从而得到各个指标相应的权重: ⅆ j = 1 − e j ⅆ_j=1-e_j j=1ej,定义权重 w j w_j wj
    w j = d j ∑ i = 1 m d i w_j=\frac{d_j}{\sum_{i=1}^m{d_i}} wj=i=1mdidj
    最后得到综合评价:
    F i = ∑ j = 1 m p i j w j F_i=\sum_{j=1}^m{p_{ij}w_j} Fi=j=1mpijwj
    将TOPS/W、GOPS、MIPS、RAM、硬盘存储大小这5个静态因素定义为一个五元组I,则 I = { I 1 , I 2 , I 3 , I 4 , I 5 } I=\{I_1,I_2,I_3,I_4,I_5\} I={I1,I2,I3,I4,I5}
    通过熵权法,取得较为客观的指标权重,用w表示权重,则分别对应5个因素的权重。从而得到一个多因素静态联合指标M, M = w 1 I 1 + w 2 I 2 + w 3 I 3 + w 4 I 4 + w 5 I 5 M=w_1I_1+w_2I_2+w_3I_3+w_4I_4+w_5I_5 M=w1I1+w2I2+w3I3+w4I4+w5I5
    2. 基础性能进行分段
    利用基于决策树的CART算法来给排好序的算力节点的分数进行分段。CART可以根据数值本身找到合适的阈值进行分割,从而达到分段效果。
    假设有K个类,算力节点属于第k类的概率为 p k , ( k = 1 , 2 , … , K ) p_k,(k=1,2,…,K) pk(k=1,2,,K),则概率分布的基尼指数定义为:
    G i n i ( D ) = ∑ k = 1 K p k ( 1 − p k ) = 1 − ∑ k = 1 K p k 2 Gini\left( D \right) =\sum_{k=1}^K{p_k\left( 1-p_k \right) =1-\sum_{k=1}^K{p_{k}^{2}}} Gini(D)=k=1Kpk(1pk)=1k=1Kpk2
    给定算力节点的序号为集合D,其基尼指数为:
    G i n i = 1 − ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 Gini=1-\sum_{k=1}^K{\left( \frac{|C_k|}{|D|} \right) ^2} Gini=1k=1K(DCk)2
    其中 C k C_k Ck是D中属于第k类的样本子集,K是类的个数。算力节点的序号集合D根据特征值A是否取某一可能值a被分割成 D 1 ( ( D 1 = ( x , y ) ∈ D ∣ A ( x ) = a ) 和 D 2 ( D 2 = ( D − D 1 ) ) D_1 ((D_1={(x,y)∈D|A(x)=a})和D_2 (D_2=(D-D_1 )) D1((D1=(x,y)DA(x)=a)D2(D2=(DD1)) 部分,特征值A为算力节点的性能得分。
    则在特征A的条件下,集合D的基尼指数为:
    G i n i ( D , A ) = ∣ D 1 ∣ ∣ D ∣ G i n i ( D 1 ) + ∣ D 2 ∣ ∣ D ∣ G i n i ( D 2 ) Gini\left( D,A \right) =\frac{|D_1|}{|D|}Gini\left( D_1 \right) +\frac{|D_2|}{|D|}Gini\left( D_2 \right) Gini(D,A)=DD1Gini(D1)+DD2Gini(D2)
    根据基尼指数,选择最优特征和最优切分点,然后得到分类 D i D_i Di,并得到 D i D_i Di中算力节点的数量 C i C_i Ci
    3. 选择合适的算力节点:
    采用n维欧氏距离法对动态因素进行联合分析来选择合适用户任务的算力节点。假设用户任务需求为 s i s_i si,实际算力节点的性能为 t i t_i ti,则两者的距离为:
    d ( S , T ) = ∑ i = 1 n ( s i − t i ) 2 d\left( S,T \right) =\sqrt[]{\sum_{i=1}^n{\left( s_i-t_i \right) ^2}} d(S,T)=i=1n(siti)2
    将不同的量纲做归一化处理,使结果落在[0,1]区间,转换函数为: t ∗ = t − min ⁡ max ⁡ − min ⁡ t^*=\frac{t-\min}{\max -\min} t=maxmintmin,归一化后矩阵为:
    d ( S ∗ , T ∗ ) = ∑ i = 1 n ( s i ∗ − t i ∗ ) 2 d\left( S^*,T^* \right) =\sqrt{\sum_{i=1}^n{\left( s_{i}^{*}-t_{i}^{*} \right) ^2}} d(S,T)=i=1n(siti)2
    得到段内的每个距离值后,最小的距离d_min意味着算力性能和用户任务需求更接近,代表此算力节点是更符合用户任务需求的算力节点。
    参考文献:
    [1] 何涛,杨振东,曹畅,张岩,唐雄燕.算力网络发展中的若干关键技术问题分析[J].电信科学,2022,38(06):62-70.
    [2] Qiao Chu. Analysis of computing metric and computing resource scheduling idea[J].Communication Technology 2022, 55(9):1165−1170 (in Chinese)
    [3] 程启月.评测指标权重确定的结构熵权法[J].系统工程理论与实践,2010,30(07):1225-1228.
    [4] Quinlan J R. C4.5: Programs for Machine Learning[M]. England: Elsevier in London, 2014
    [5] 柴若楠,郜帅,兰江雨等.算力网络中高效算力资源度量方法[J].计算机研究与发展,2023,60(04):763-771.
    [6] Carbó-Dorca R, Besalú E. Geometry of n-dimensional Euclidean space Gaussian enfoldments[J]. Journal of Mathematical Chemistry, 2011, 49(10):2244−2249
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/245424
推荐阅读
相关标签
  

闽ICP备14008679号