应用于计算分支的更新峰值的方法、装置、设备和介质与流程

文档序号:30380581发布日期:2022-06-11 03:44阅读:62来源:国知局
应用于计算分支的更新峰值的方法、装置、设备和介质与流程

1.本公开涉及人工智能领域,具体涉及深度学习和分布式计算技术领域,尤其涉及一种应用于计算分支的更新峰值的方法、装置、电子设备和存储介质。


背景技术:

2.随着计算机技术和网络技术的发展,分布式计算技术在众多领域得到了广泛应用。例如,可以采用分布式计算技术对深度学习模型进行训练。在分布式计算技术中,对计算资源的使用指标的监控可以为计算任务的顺利执行提供参考信息。


技术实现要素:

3.本公开旨在提供一种应用于计算分支的更新峰值的方法、装置、电子设备、存储介质,以降低监控使用指标的时间开销、提高计算任务执行效率的。
4.根据本公开的一个方面,提供了一种应用于计算分支的更新峰值的方法,包括:响应于计算分支分配得到的计算资源的使用指标发生变化,确定使用指标针对计算分支的第一取值;响应于第一取值大于使用指标针对计算分支的第一峰值,将第一峰值更新为第一取值;以及根据第一取值和使用指标针对其他计算分支的取值,更新使用指标针对目标任务的第二峰值,其中,计算分支和其他计算分支并行地执行目标任务。
5.根据本公开的一个方面,提供了一种应用于计算分支的更新峰值的装置,包括:指标取值确定模块,用于响应于计算分支分配得到的计算资源的使用指标发生变化,确定使用指标针对计算分支的第一取值;第一峰值更新模块,用于响应于第一取值大于使用指标针对计算分支的第一峰值,将第一峰值更新为第一取值;以及第二峰值更新模块,用于根据第一取值和使用指标针对其他计算分支的取值,更新使用指标针对目标任务的第二峰值,其中,计算分支和其他计算分支并行地执行目标任务。
6.根据本公开的另一个方面,提供了一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开提供的应用于计算分支的更新峰值的方法。
7.根据本公开的另一个方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开提供的应用于计算分支的更新峰值的方法。
8.根据本公开的另一个方面,提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令在被处理器执行时实现本公开提供的应用于计算分支的更新峰值的方法。
9.应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
10.附图用于更好地理解本方案,不构成对本公开的限定。其中:
11.图1是根据本公开实施例的应用于计算分支的更新峰值的方法和装置的应用场景示意图;
12.图2是根据本公开实施例的应用于计算分支的更新峰值的方法的流程示意图;
13.图3是根据本公开另一实施例的应用于计算分支的更新峰值的方法的流程示意图;
14.图4是根据本公开实施例的获取使用指标针对其他计算分支的取值的原理示意图;
15.图5是根据本公开实施例的应用于计算分支的更新峰值的装置的结构框图;以及
16.图6是用来实施本公开实施例的应用于计算分支的更新峰值的方法的电子设备结构框图。
具体实施方式
17.以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
18.本公开提供了一种应用于计算分支的更新峰值的方法,包括指标取值确定阶段、第一峰值更新阶段和第二峰值更新阶段。在指标取值确定阶段中,响应于计算分支分配得到的计算资源的使用指标发生变化,确定使用指标针对计算分支的第一取值。在第一峰值更新阶段中,响应于第一取值大于使用指标针对计算分支的第一峰值,将第一峰值更新为第一取值,其中,计算分支和其他计算分支并行地执行目标任务。在第二峰值更新阶段中,根据第一取值和使用指标针对其他计算分支的取值,更新使用指标针对目标任务的第二峰值。
19.以下将结合图1对本公开提供的方法和装置的应用场景进行描述。
20.图1是根据本公开实施例的应用于计算分支的更新峰值的方法和装置的应用场景示意图。
21.如图1所示,该实施例的应用场景100可以包括电子设备110,该电子设备110可以为具有处理功能的各种电子设备,包括但不限于膝上型便携计算机、台式计算机和服务器等等。
22.如图1所示,该电子设备110中可以设置有cpu 111和显卡112。其中,显卡112由gpu计算单元1121和显存1122等组成。gpu计算单元1121可以为cpu提供算力,在cpu 111调用gpu计算单元1121来进行数值计算的过程中,显存1122用于提供存储空间,以用于存放模型、数据等。其中,显卡112的数量可以根据实际需求进行设定,本公开对此不做限定。
23.在一实施例中,cpu 111可以对深度学习模型120进行训练。例如,cpu 111可以创建多个线程,用于对深度学习模型120进行分布式训练,提高深度学习模型的训练效率。例如,创建的多个线程可以包括第一线程101、第二线程102和第三线程103。
24.该多个线程中的每个线程可以根据分配得到的训练任务并行地调用gpu计算单元
1121和显存1122。每个线程可以根据训练任务确定计算过程需占用的显存的实时大小,并申请相应大小的显存,以为计算过程预留出所需大小的显存,以便于在训练过程中存放模型参数和输出数据。每个线程还可以在执行完计算后,实时地释放显存,以供后续计算或其他线程的计算使用。
25.例如,深度学习模型可以表示成多个算子,多个线程可以采用不同的训练数据,并行地对该多个算子进行运算。即多个线程可以采用数据并行模式对深度学习模型进行并行训练。
26.例如,可以将多个算子分配给多个线程,由每个线程负责对多个算子中的部分算子进行运算。即多个线程可以采用模型并行模式对深度学习模型进行并行训练。
27.在深度学习模型的训练过程中,cpu 111可以对显存1122的使用指标或gpu计算单元1121的算力的使用指标进行监控,以利于深度学习模型的训练能够顺利完成。例如,cpu可以在电子设备110的内存中维护有显存1122的使用指标的峰值和实时取值,其中,实时取值为多个线程分配得到的显存的总量,即显存的总占用量;峰值为历史时段中多个线程分配得到的显存的总量的最大值。为了便于cpu可以维护该峰值和实时取值,多个线程中的每个线程可以在其分配得到的显存的使用指标发生变化时,对内存中的峰值和实时取值进行读写。可以理解的是,cpu也可以在内存中维护gpu的使用指标的峰值和实时取值,该gpu的使用指标可以为gpu占用率。
28.其中,多个线程可以采用原子操作(atomic)、自旋锁(spinlock)或互斥锁(mutex)等保护共享数据的方法对峰值和实时取值进行读写,以保证峰值和实时取值的准确性。
29.需要说明的是,多个线程中的每个线程可以作为一个计算分支,本公开提供的应用于计算分支的更新峰值的方法可以由多个线程中的任一线程执行。相应地,本公开提供的应用于计算分支的更新峰值的装置可以设置在电子设备110中,以通过多个线程中任一线程的调用,来执行应用于计算分支的更新峰值的方法。
30.应该理解,图1中的电子设备110、cpu 111、线程和显卡的数目和类型仅仅是示意性的。根据实现需要,可以具有任意数目和类型的电子设备110、cpu 111、线程和显卡。
31.以下将结合图1,通过以下图2~图4对本公开提供的应用于计算分支的更新峰值的方法进行详细描述。
32.图2是根据本公开实施例的应用于计算分支的更新峰值的方法的流程示意图。
33.如图2所示,该实施例的应用于计算分支的更新峰值的方法200可以包括操作s210~操作s230。其中,在执行该实施例的方法200中,每个计算分支维护有其分配得到的计算资源的使用指标的实时取值和峰值。
34.在操作s210,响应于计算分支分配得到的计算资源的使用指标发生变化,确定使用指标针对计算分支的第一取值。
35.根据本公开的实施例,计算分支可以在需要对算子进行运算时,申请计算资源,以为该算子分配计算资源。计算分支还可以在完成该算子的运算后,回收为该算子分配的计算资源,以对其他算子进行运算,或者将该计算资源释放。该实施例中,计算资源的使用指标可以为计算资源的占用量或计算资源的占用率,计算资源可以为显存或者gpu提供的算力。
36.操作s210可以在计算分支为算子分配计算资源或回收为算子分配的计算资源时,
确定该计算分支分配得到的计算资源的使用指标发生变化。若计算分支为算子分配了计算资源,则计算资源的使用指标会增大。或计算分支回收了为算子分配的计算资源,则计算资源的使用指标会减小。每个计算分支可以统计其为当前运算的算子分配的计算资源,从而得到计算资源的使用指标针对该计算分支的第一取值。
37.在操作s220,响应于第一取值大于使用指标针对计算分支的第一峰值,将第一峰值更新为第一取值。
38.在得到第一取值后,可以将该第一取值与该计算分支维护的使用指标的峰值进行比较,其中,该计算分支维护的使用指标的峰值即为使用指标针对该计算分支的第一峰值。若该第一取值小于第一峰值,则无需处理,继续监控计算资源的使用指标是否发生变化,这是由于此次使用指标的变化不影响内存中存储的使用指标的峰值。若该第一取值大于第一峰值,则此次使用指标的变化可能会影响到内存中存储的使用指标的峰值,则需要在对该计算分支维护的使用资源的峰值进行更新的同时,对内存中存储的使用指标的峰值进行更新。
39.在操作s230,根据第一取值和使用指标针对其他计算分支的取值,更新使用指标针对目标任务的第二峰值。
40.其中,其他计算分支是指与该计算分支并行地执行目标任务的计算分支。例如,若该计算分支为第一线程,则其他计算分支包括与第一线程并行地执行深度学习模型的训练任务的第二线程和第三线程。需要说明的是,内存中存储的计算资源的使用指标的峰值是针对该目标任务的,从而为该目标任务的执行提供参考,作为电子设备执行目标任务的性能衡量指标和评价指标。
41.根据本公开的实施例,该计算分支可以通过与其他计算分支的通信,来获取使用指标针对其他计算分支的取值。或者,该计算分支还可以向cpu发送获取请求,由cpu获取执行目标任务的所有计算分支分配得到的计算资源的使用指标取值,并将获取到的使用指标取值反馈给该计算分支。
42.该计算分支可以根据第一取值和使用指标针对其他计算分支的取值确定计算资源的使用指标的总取值。内存中可以存储有峰值列表,该峰值列表可以包括历史时段中多个时刻的峰值。该实施例可以将确定的总取值作为新的峰值存储至峰值列表,以完成使用指标针对目标任务的第二峰值的更新。
43.或者,内存中可以仅存储有历史时段中使用指标针对目标任务的一个峰值。该计算分支可以在确定计算资源的使用指标的总取值后,确定该总取值是否超过内存中存储的使用指标针对目标任务的峰值。若超过,则将该内存中存储的使用指标针对目标任务的峰值更改为确定的总取值,否则无需处理,继续监控计算资源的使用指标是否发生变化。
44.本公开实施例的方法,通过在计算分支分配得到的计算资源的使用指标发生变化时,先确定该使用指标的取值是否超过针对该计算分支的峰值,仅在超过该计算分支的峰值时,才对使用指标针对目标任务的峰值进行更新,可以减少针对目标任务的峰值的更新次数,因此可以降低执行目标任务的过程中监控使用指标的性能开销,利于提高目标任务的执行效率。
45.图3是根据本公开另一实施例的应用于计算分支的更新峰值的方法的流程示意图。
46.如图3所示,该实施例300可以在确定第一取值大于第一峰值后,先执行操作s340。在执行操作s340后,执行操作s331~操作s333。可以理解的是,操作s331~操作s332为更新第二峰值的一种实施方式,操作s340与更新第一峰值的操作s320可以按照任意顺序执行,但均在确定第一取值的操作s310之后执行。操作s310与前文描述的确定第一取值的操作类似,操作s320与前文描述的更新第一峰值的操作类似,在此不再赘述。
47.在操作s340,响应于第一取值大于第一峰值,获取使用指标针对其他计算分支的取值,得到至少一个第二取值。
48.例如,计算分支可以通过与其他计算分支之间的通信,获取使用指标针对其他计算分支的取值。或者,计算分支可以向cpu发送获取请求,通过cpu与其他计算分支的通信来获取到使用指标针对其他计算分支的取值。
49.在操作s331,确定第一取值与至少一个第二取值的和,作为使用指标针对目标任务的总取值。即将第一取值与获取到的所有第二取值累加,得到总取值。
50.在操作s332,确定总取值是否大于第二峰值。该计算分支可以从内存中读取使用指标针对目标任务的第二峰值,并将读取到的第二峰值与操作s331确定的总取值进行比较。若总取值大于第二峰值,则执行操作s333,否则返回重新监控计算分支分配得到的计算资源的使用指标是否发生变化,若发生变化则执行操作s310。
51.在操作s333,将第二峰值更新为总取值。该计算分支可以删除内存中存储的第二峰值,并将总取值作为第二峰值写入内存中。
52.根据本公开的实施例,在确定总取值是否大于第二峰值之前,该实施例还可以先确定第二峰值是否处于被访问状态,仅在第二峰值处于未被访问状态时,读取第二峰值,并在总取值大于第二峰值时,更新该第二峰值。以此,可以在降低执行目标任务的过程中监控使用指标的性能开销的同时,保证内存中存储的第二峰值的准确性。
53.具体地,并行地执行目标任务的多个计算分支可以通过前述保护共享数据的方法来对内存中存储的第二峰值进行读写。若内存中存储的第二峰值正在被其他计算分支读写,则可以确定该第二峰值处于被访问状态。否则确定第二峰值处于未被访问状态。
54.在一实施例中,可以采用自旋锁的方法来读写第二峰值。例如,在通过操作s331得到总取值后,该计算分支可以先抢占自旋锁。若抢占成功,则说明第二峰值处于未被占用状态。若未抢占成功,该计算分支可以周期性地抢占自旋锁,直至抢占成功。在抢占成功后,计算分支可以执行操作s332~操作s333。在通过操作s333将第二峰值更新为总取值后或者在操作s332确定总取值小于等于第二峰值后,归还该自旋锁。可以理解的是,上述采用自旋锁的方法读写第二峰值的实现方式仅作为示例以利于理解本公开,本公开还可以采用原子操作的方法等来读写第二峰值,本公开对此不做限定。
55.该实施例通过仅在第一取值大于第一峰值,且总取值大于第二峰值时才更新第二峰值,可以在一定程度上进一步降低执行目标任务的过程中监控使用指标的性能开销,进一步提高目标任务的执行效率。
56.在目标任务为训练深度学习模型的任务时,由于深度学习框架中均存在计算资源即时回收和复用的机制,即为一个算子分配的计算资源很快会分配给其他的算子使用,因此存在很多不会改变第一峰值的计算资源的分配操作。再者,由于大多数深度学习模型在不同训练轮次中的计算流程是相同的,因此在每个训练轮次所需要的计算资源也相同。除
了第一个训练轮次外,后续训练轮次中的计算资源分配操作均不会改变第二峰值。如此,采用本公开前述各实施例的方法,可以有效减少更新第二峰值的次数。有效降低执行目标任务的过程中监控使用指标的性能开销,提高目标任务的执行效率。
57.根据本公开的实施例,在目标任务为训练深度学习模型的任务时,还可以根据实际需求,仅在该计算分支执行目标任务包括的目标子任务时,监控该计算分支分配得到的计算资源的使用指标是否发生变化。例如,目标子任务可以为第一轮的训练任务。由于在后续训练轮次中的计算资源分配操作均不会改变第二峰值,因此通过仅在第一轮的训练任务的执行过程中监控计算分支分配得到的计算资源的使用指标的取值,可以有效减少更新第二峰值的次数。可以理解的是,目标子任务还可以包括前向计算任务和/或反向计算任务,本公开对此不做限定。
58.图4是根据本公开实施例的获取使用指标针对其他计算分支的取值的原理示意图。
59.如图4所示,在该实施例400中,执行目标任务的计算分支可以将其分配得到的计算资源的使用指标的实时取值存储至预定存储空间。执行目标任务的多个计算分支共享的内存中,可以存储有该实时取值的存储地址与计算分支之间的映射关系,针对多个计算分支的实时取值与多个计算分支之间的多个映射关系可以作为列表形式的预定映射关系410。如图4所示,预定映射关系410可以由计算分支的标识id与存储地址之间的映射关系表示。如此,在前述使用指标发生变化的计算分支420可以依据该预定映射关系410,从预定存储空间430中获取使用指标针对其他计算分支的取值。其中,该预定存储空间430可以为内存为实时取值分配的子空间,或者任意的存储空间,本公开对此不做限定。通过该实施例,多个计算分支之间无需进行通信交互,可以在一定程度上降低通信开销,利于提高目标任务的执行效率。
60.具体地,在前述响应于第一取值大于第一峰值而获取至少一个第二取值时,可以先根据内存中存储的预定映射关系410,确定使用指标针对其他计算分支的取值的至少一个存储地址。随后根据该至少一个存储地址,获取得到至少一个第二取值。具体可以先查询预定映射关系410,得到除计算分支420外其他分支的标识所映射的存储地址440。随后,根据该存储地址440从预定存储空间430中读取取值,得到第二取值450。
61.根据本公开的实施例,在根据预定映射关系410确定存储地址440时,还可以先确定该预定映射关系是否处于被访问状态,仅在处于未被访问状态时,才查询预定映射关系410,得到存储地址440。以此,可以避免在目标任务的执行时,因增加或减少计算分支而使得预定映射关系发生变化的过程中,直接查询预定映射关系410所得到的存储地址440不准确的情况。并因此,可以在一定程度上提高确定的总取值的准确性,提高维护的第二峰值的准确性。该确定预定映射关系是否处于被访问状态的方法与前述确定第二峰值是否处于被访问状态的方法类似,在此不再赘述。
62.具体地,在确定映射关系处于未被访问状态时,计算分支420可以抢占该预定映射关系的自旋锁,以将预定映射关系由未被访问状态调整为被访问状态,以避免该预定映射关系被其他计算分支访问。同时,计算分支420可以查询预定映射关系410,以根据该预定映射关系410确定至少一个存储地址440。随后,在该计算分支得到该存储地址440后,可以归还自旋锁,以将预定映射关系由被访问状态调整为未被访问状态。
63.在一实施例中,本公开提供的应用于计算分支的更新峰值的方法可以应用于paddle paddle框架等深度学习框架中,且布局于该深度学习框架的低层显存监控模块中。
64.基于本公开提供的应用于计算分支的更新峰值的方法,本公开还提供了一种应用于计算分支的更新峰值的装置。以下将结合图5对该装置进行详细描述。
65.图5是根据本公开实施例的应用于计算分支的更新峰值的装置的结构框图。
66.如图5所示,该实施例的应用于计算分支的更新峰值的装置500可以包括指标取值确定模块510、第一峰值更新模块520和第二峰值更新模块530。
67.指标取值确定模块510用于响应于计算分支分配得到的计算资源的使用指标发生变化,确定使用指标针对计算分支的第一取值。在一实施例中,指标取值确定模块510可以用于执行前文描述的操作s210、操作s310,在此不再赘述。
68.第一峰值更新模块520用于响应于第一取值大于使用指标针对计算分支的第一峰值,将第一峰值更新为第一取值。在一实施例中,第一峰值更新模块520可以用于执行前文描述的操作s220、操作s320,在此不再赘述。
69.第二峰值更新模块530用于根据第一取值和使用指标针对其他计算分支的取值,更新使用指标针对目标任务的第二峰值。其中,计算分支和其他计算分支并行地执行目标任务。在一实施例中,第一峰值更新模块520可以用于执行前文描述的操作s230,或者执行操作s331~操作s333,在此不再赘述。
70.根据本公开的实施例,应用于计算分支的更新峰值的装置500还可以包括指标取值获取模块,用于响应于第一取值大于第一峰值,获取使用指标针对其他计算分支的取值,得到至少一个第二取值。其中,上述第二峰值更新模块530可以包括总取值确定子模块和更新子模块。总取值确定子模块用于确定第一取值与至少一个第二取值的和,作为使用指标针对目标任务的总取值。更新子模块用于响应于总取值大于第二峰值,将第二峰值更新为总取值。
71.根据本公开的实施例,指标取值获取模块可以包括地址确定子模块和取值获取子模块。地址确定子模块用于根据预定映射关系,确定使用指标针对其他计算分支的取值的至少一个存储地址。取值获取子模块用于分别根据至少一个存储地址,获取至少一个第二取值。其中,预定映射关系包括执行目标任务的计算分支与存储地址之间的映射关系,预定映射关系存储于计算分支与其他计算分支的共享存储空间。
72.根据本公开的实施例,地址确定子模块可以包括关系状态确定单元、地址确定单元和状态调整单元。关系状态确定单元用于响应于第一取值大于第一峰值,确定预定映射关系是否处于被访问状态。地址确定单元用于响应于预定映射关系处于未被访问状态,将预定映射关系由未被访问状态调整为被访问状态,并根据预定映射关系确定至少一个存储地址。状态调整单元用于响应于得到至少一个存储地址,将预定映射关系由被访问状态调整为未被访问状态。
73.根据本公开的实施例,第二峰值更新模块530还可以包括峰值状态确定子模块、峰值读取子模块和状态调整子模块。峰值状态确定子模块用于确定第二峰值是否处于被访问状态。峰值读取子模块用于响应于第二峰值处于未被访问状态,将第二峰值由未被访问状态调整为被访问状态,并读取第二峰值。状态调整子模块用于响应于将第二峰值更新为总取值,将第二峰值由被访问状态调整为未被访问状态。其中,第二峰值存储于计算分支与其
他计算分支的共享存储空间。
74.根据本公开的实施例,应用于计算分支的更新峰值的装置500还可以包括指标变化确定模块,用于响应于计算分支执行目标任务包括的目标子任务,确定计算分支分配得到的计算资源的使用指标是否发生变化。其中,目标任务包括深度学习模型的训练任务,目标子任务包括以下任务中的至少之一:第一轮的训练任务、前向计算任务、反向计算任务。
75.需要说明的是,本公开的技术方案中,所涉及的用户个人信息的收集、存储、使用、加工、传输、提供、公开和应用等处理,均符合相关法律法规的规定,采取了必要保密措施,且不违背公序良俗。在本公开的技术方案中,在获取或采集用户个人信息之前,均获取了用户的授权或同意。
76.根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。
77.图6示出了可以用来实施本公开实施例的应用于计算分支的更新峰值的方法的示例电子设备600的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
78.如图6所示,设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序,来执行各种适当的动作和处理。在ram 603中,还可存储设备600操作所需的各种程序和数据。计算单元601、rom 602以及ram 603通过总线604彼此相连。输入/输出(i/o)接口605也连接至总线604。
79.设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
80.计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如应用于计算分支的更新峰值的方法。例如,在一些实施例中,应用于计算分支的更新峰值的方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom 602和/或通信单元609而被载入和/或安装到设备600上。当计算机程序加载到ram 603并由计算单元601执行时,可以执行上文描述的应用于计算分支的更新峰值的方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行应用于计算分支的更新峰值的方法。
81.本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统
的系统(soc)、复杂可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
82.用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
83.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
84.为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
85.可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
86.计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。其中,服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务(

virtual private server

,或简称

vps

)中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
87.应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例
如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
88.上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1