CN106648895A - 一种处理数据的方法、装置及终端 - Google Patents
一种处理数据的方法、装置及终端 Download PDFInfo
- Publication number
- CN106648895A CN106648895A CN201611215723.9A CN201611215723A CN106648895A CN 106648895 A CN106648895 A CN 106648895A CN 201611215723 A CN201611215723 A CN 201611215723A CN 106648895 A CN106648895 A CN 106648895A
- Authority
- CN
- China
- Prior art keywords
- preset
- performance
- data
- processing
- gpu
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 4
- 238000000034 method Methods 0.000 claims abstract description 130
- 238000012545 processing Methods 0.000 claims abstract description 114
- 230000008569 process Effects 0.000 claims abstract description 103
- 238000013210 evaluation model Methods 0.000 claims description 81
- 238000004364 calculation method Methods 0.000 claims description 48
- 230000006870 function Effects 0.000 claims description 24
- 238000010276 construction Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 12
- 230000000903 blocking effect Effects 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 208000003028 Stuttering Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000010438 heat treatment Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5094—Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes into account power or heat criteria
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种处理数据的方法、装置及终端,该方法包括:根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作;在预设系统运行过程中,将操作对应的数据均分配给GPU进行计算处理,以得到数据的处理结果。本发明通过预设性能评估模型来模拟系统运行过程中的各种情况,以此为依据来确定各个操作中性能指标超过预设性能指标的操作,此类操作就是负荷较高的操作,因此,可以在系统实际运行过程中,一旦发现该操作时,就将该操作对应的数据来分配给GPU进行处理,以分担CPU的负荷,进而终端在使用过程中的数据被分担处理,不会再出现系统卡顿的情况,解决了现有技术的问题。
Description
技术领域
本发明涉及移动通讯领域,特别是涉及一种处理数据的方法、装置及终端。
背景技术
Android系统的智能手机在使用一段时间后,通常会出现系统卡顿等问题,而且随着使用时间的增加,系统卡顿将变得非常明显,严重影响用户体验,导致用户流失。
目前终端厂商针对系统卡顿,在硬件上的解决方案就是不断的提高手机的硬件配置,选用运行更快、核数更多的CPU(中央处理器,Central Processing Unit),选用更大的内存,提高硬件性能以提高整个手机的计算能力,缓解系统卡顿。在软件上的解决方案就是提供手机管家服务,让用户定期的清理手机空间,有的厂商甚至监控手机闲时,在手机空闲时段悄悄在后台杀死资源开销量大的进程,关闭应用或者对手机自动重启。综合硬件和软件两个方面的措施,使手机的硬件能够提供足够的计算资源给正在运行的进程。
手机终端厂商为了提高手机的运算能力,增强系统和应用运行的流畅性,不断的提高CPU单个内核的计算能力和使用多核提高整个CPU的计算能力,从而导致CPU内核的频率越来越高,CPU的核数越来越多,由此带来一系列的问题,比如频率提高带来的手机发热、功耗增大等问题;此外,受到CPU加工工艺、电池续航时间等诸多因素的制约,手机CPU的频率和核数在达到一定的峰值后将不能再做提高,否则会带来手机发热、外观变丑、体积变大等一系列不良用户体验。
因此,当CPU的频率和核数达到瓶颈后,受限于CPU的计算能力,已经无法再进一步解决系统卡顿问题,用户在使用终端的过程中仍然会出现系统卡顿,体验较低。
发明内容
本发明提供了一种处理数据的方法、装置及终端,以至少解决现有技术的如下问题:当CPU的频率和核数达到瓶颈后,受限于CPU的计算能力,已经无法再进一步解决系统卡顿问题,用户在使用终端的过程中仍然会出现系统卡顿,体验较低。
一方面,本发明提供一种处理数据的方法,包括:根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作;在所述预设系统运行过程中,将所述操作对应的数据均分配给GPU(图形处理器,Graphics Processing Unit)进行计算处理,以得到所述数据的处理结果。
可选的,将所述操作对应的数据均分配给GPU进行处理,包括:通过CPU将所述数据处理为图像数据,并发送至所述GPU,以使所述GPU对所述图像数据进行计算处理;通过CPU接收所述GPU计算处理后的图像数据,并对所述图像数据进行解析处理,以得到所述数据的处理结果。
可选的,根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作,包括:根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定所述执行数量超过预设数量的操作;或者,根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定所述性能评分超过预设性能评分的操作。
可选的,所述预设性能评估模型的构建过程,包括:根据所述预设系统中存在的各个功能进行性能评估模型实例化;针对所述预设系统所在设备的设备参数构建实例化后的性能评估模型;将所有构建完成的性能评估模型进行组合,以得到所述预设系统对应的所述预设性能评估模型。
可选的,根据所述预设系统中存在的各个功能进行性能评估模型实例化,包括:为所述预设系统中每个操作对应的各个功能设置构件,并为每个构件设置对应的服务设备;为每个构件设置其为对应的服务设备服务时的性能分值和权重值,以根据各个构件的所述性能分值和所述权重值确定对应操作的性能评分。
另一方面,本发明还提供了一种处理数据的装置,包括:确定模块,用于根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作;处理模块,用于在所述预设系统运行过程中,将所述操作对应的数据均分配给GPU进行计算处理,以得到所述数据的处理结果。
可选的,所述处理模块具体用于:通过CPU将所述数据处理为图像数据,并发送至所述GPU,以使所述GPU对所述图像数据进行计算处理;通过CPU接收所述GPU计算处理后的图像数据,并对所述图像数据进行解析处理,以得到所述数据的处理结果。
可选的,所述确定模块具体用于:根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定所述执行数量超过预设数量的操作;或者,根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定所述性能评分超过预设性能评分的操作。
可选的,所述装置还包括:构件模块,用于构建所述预设性能评估模型,具体构建过程如下:根据所述预设系统中存在的各个功能进行性能评估模型实例化;针对所述预设系统所在设备的设备参数构建实例化后的性能评估模型;将所有构建完成的性能评估模型进行组合,以得到所述预设系统对应的所述预设性能评估模型。
另一方面,本发明还提供了一种终端,包括:上述的处理数据的装置。
本发明通过预设性能评估模型来模拟系统运行过程中的各种情况,以此为依据来确定各个操作中性能指标超过预设性能指标的操作,此类操作就是负荷较高的操作,因此,可以在系统实际运行过程中,一旦发现该操作时,就将该操作对应的数据来分配给GPU进行处理,以分担CPU的负荷,进而终端在使用过程中的数据被分担处理,不会再出现系统卡顿的情况,解决了现有技术的如下问题:当CPU的频率和核数达到瓶颈后,受限于CPU的计算能力,已经无法再进一步解决系统卡顿问题,用户在使用终端的过程中仍然会出现系统卡顿,体验较低。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是本发明第一实施例中处理数据的方法的流程图;
图2是本发明第二实施例中处理数据的方法的流程图;
图3是本发明第六实施例中处理数据的装置的结构示意图;
图4是本发明第七实施例中基于Android系统构件的性能模型映射的过程图;
图5是本发明第七实施例中构件之间交互的时序图;
图6是本发明第七实施例中设备构件配置图;
图7是本发明第七实施例中性能模型完成一个功能的各个构件所占比重示意图;
图8是本发明第七实施例中处理数据的方法的流程图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术的如下问题:当CPU的频率和核数达到瓶颈后,受限于CPU的计算能力,已经无法再进一步解决系统卡顿问题,用户在使用终端的过程中仍然会出现系统卡顿,体验较低;本发明提供了一种处理数据的方法、装置及终端,以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明第一实施例提供了一种处理数据的方法,该方法的流程如图1所示,包括步骤S102至S104:
S102,根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作。
上述过程在实现时,如果预设系统是移动终端对应的系统,则预设性能评估模型就是与实体移动终端各个部分相对应的模型,例如,实体移动终端的中央处理器在预设性能评估模型中就有对应的功能部分。
通过预设性能评估模型来模拟移动终端正常工作的各种情况,以便根据模拟的过程来确定预设系统运行过程中有哪些操作的性能指标是超过预设性能指标的。
S104,在预设系统运行过程中,将操作对应的数据均分配给GPU进行计算处理,以得到数据的处理结果。
在上述步骤S102确定了性能指标超过预设性能指标的操作,则在真实的预设系统运行的过程中,一旦发现上述确定的操作对应的数据时,就将其对应的数据分配给GPU进行计算处理。GPU作为图形处理器,其在很多的时候是未被利用的闲置处理器,因此,本发明实施例考虑通过GPU进行数据计算,以减轻CPU的负担。
本发明实施例通过预设性能评估模型来模拟系统运行过程中的各种情况,以此为依据来确定各个操作中性能指标超过预设性能指标的操作,此类操作就是负荷较高的操作,因此,可以在系统实际运行过程中,一旦发现该操作时,就将该操作对应的数据来分配给GPU进行处理,以分担CPU的负荷,进而终端在使用过程中的数据被分担处理,不会再出现系统卡顿的情况,解决了现有技术的如下问题:当CPU的频率和核数达到瓶颈后,受限于CPU的计算能力,已经无法再进一步解决系统卡顿问题,用户在使用终端的过程中仍然会出现系统卡顿,体验较低。
本发明第二实施例提供了一种处理数据的方法,该方法的流程如图2所示,包括步骤S202至S206:
S202,根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作。
上述过程在实现时,如果预设系统是移动终端对应的系统,则预设性能评估模型就是与实体移动终端各个部分相对应的模型,例如,实体移动终端的中央处理器在预设性能评估模型中就有对应的功能部分。
通过预设性能评估模型来模拟移动终端正常工作的各种情况,以便根据模拟的过程来确定预设系统运行过程中有哪些操作的性能指标是超过预设性能指标的。
S204,通过CPU将数据处理为图像数据,并发送至GPU,以使GPU对图像数据进行计算处理。
在上述步骤S202确定了性能指标超过预设性能指标的操作,则在真实的预设系统运行的过程中,一旦发现上述确定的操作对应的数据时,CPU就将其对应的数据进行伪装处理,即将该数据伪装为图像数据。伪装为图像数据后,就可以将该数据发送给GPU,GPU就可以对该数据进行处理了。GPU作为图形处理器,其在很多的时候是未被利用的闲置处理器,因此,本发明实施例考虑通过GPU进行数据计算,以减轻CPU的负担。
S206,通过CPU接收GPU计算处理后的图像数据,并对图像数据进行解析处理,以得到数据的处理结果。
在步骤S204完成后,得到了GPU处理完的图像数据,这个时候,CPU会把处理完的图像数据发送至CPU。在CPU接收到处理完的图像数据后,会对该图像数据进行解析处理,以便将该图像数据解伪装,还原为原始的数据类型,以得到最终的处理结果。
本发明第三实施例提供了一种处理数据的方法,该方法包括步骤S302至S304:
S302,根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作。
上述过程在实现时,如果预设系统是移动终端对应的系统,则预设性能评估模型就是与实体移动终端各个部分相对应的模型,例如,实体移动终端的中央处理器在预设性能评估模型中就有对应的功能部分。
通过预设性能评估模型来模拟移动终端正常工作的各种情况,以便根据模拟的过程来确定预设系统运行过程中有哪些操作的性能指标是超过预设性能指标的。
具体实现时,确定预设系统中性能指标超过预设性能指标的操作的方式可以是多种,例如,根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定执行数量超过预设数量的操作;或者,根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定性能评分超过预设性能评分的操作。
S304,在预设系统运行过程中,将操作对应的数据均分配给GPU进行计算处理,以得到数据的处理结果。
在上述步骤S302确定了性能指标超过预设性能指标的操作,则在真实的预设系统运行的过程中,一旦发现上述确定的操作对应的数据时,就将其对应的数据分配给GPU进行计算处理。GPU作为图形处理器,其在很多的时候是未被利用的闲置处理器,因此,本发明实施例考虑通过GPU进行数据计算,以减轻CPU的负担。
本发明第四实施例提供了一种处理数据的方法,其包括步骤S402至S406:
S402,根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作。
上述过程在实现时,如果预设系统是移动终端对应的系统,则预设性能评估模型就是与实体移动终端各个部分相对应的模型,例如,实体移动终端的中央处理器在预设性能评估模型中就有对应的功能部分。
通过预设性能评估模型来模拟移动终端正常工作的各种情况,以便根据模拟的过程来确定预设系统运行过程中有哪些操作的性能指标是超过预设性能指标的。
具体实现时,确定预设系统中性能指标超过预设性能指标的操作的方式可以是多种,例如,根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定执行数量超过预设数量的操作;或者,根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定性能评分超过预设性能评分的操作。
S404,通过CPU将数据处理为图像数据,并发送至GPU,以使GPU对图像数据进行计算处理。
在上述步骤S402确定了性能指标超过预设性能指标的操作,则在真实的预设系统运行的过程中,一旦发现上述确定的操作对应的数据时,CPU就将其对应的数据进行伪装处理,即将该数据伪装为图像数据。伪装为图像数据后,就可以将该数据发送给GPU,GPU就可以对该数据进行处理了。GPU作为图形处理器,其在很多的时候是未被利用的闲置处理器,因此,本发明实施例考虑通过GPU进行数据计算,以减轻CPU的负担。
S406,通过CPU接收GPU计算处理后的图像数据,并对图像数据进行解析处理,以得到数据的处理结果。
在步骤S404完成后,得到了GPU处理完的图像数据,这个时候,CPU会把处理完的图像数据发送至CPU。在CPU接收到处理完的图像数据后,会对该图像数据进行解析处理,以便将该图像数据解伪装,还原为原始的数据类型,以得到最终的处理结果。
本发明第五实施例提供了一种处理数据的方法,该方法包括步骤S502至S504:
S502,根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作。
上述过程在实现时,如果预设系统是移动终端对应的系统,则预设性能评估模型就是与实体移动终端各个部分相对应的模型,例如,实体移动终端的中央处理器在预设性能评估模型中就有对应的功能部分。
通过预设性能评估模型来模拟移动终端正常工作的各种情况,以便根据模拟的过程来确定预设系统运行过程中有哪些操作的性能指标是超过预设性能指标的。
S504,在预设系统运行过程中,将操作对应的数据均分配给GPU进行计算处理,以得到数据的处理结果。
在上述步骤S502确定了性能指标超过预设性能指标的操作,则在真实的预设系统运行的过程中,一旦发现上述确定的操作对应的数据时,就将其对应的数据分配给GPU进行计算处理。GPU作为图形处理器,其在很多的时候是未被利用的闲置处理器,因此,本发明实施例考虑通过GPU进行数据计算,以减轻CPU的负担。
实现过程中,将操作对应的数据均分配给GPU进行处理时,需要先通过CPU将待处理的数据进行一个伪装,即将其处理为图像数据,进而才能够将其发送至GPU,并使GPU对图像数据进行计算处理;当GPU对图像数据计算处理完之后,会发送至CPU;CPU接收到该GPU计算处理后的图像数据后,对图像数据进行解析处理,将处理后的图像数据还原为原始的CPU需要用的数据,以得到所需要的结果。
当根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作时,可以根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定执行数量超过预设数量的操作;也可以根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定性能评分超过预设性能评分的操作。
如果根据操作的执行数量来进行判断,那么在构建预设性能评估模型时,就不需要对关于性能评分的计算进行任何设置;如果根据操作的性能评分来进行判断,那么在构建预设性能评估模型时,就需要对性能评分的计算进行相关设置。
无论哪种情况,预设性能评估模型的构建过程均包括如下过程:根据预设系统中存在的各个功能进行性能评估模型实例化,该过程即是生成各个功能的过程;针对预设系统所在设备的设备参数构建实例化后的性能评估模型,该过程即是将各个功能与实体设备进行耦合的过程;将所有构建完成的性能评估模型进行组合,以得到预设系统对应的预设性能评估模型。
如果是根据操作的性能评分来确定哪些操作需要交给GPU进行处理,则在根据预设系统中存在的各个功能进行性能评估模型实例化的过程中,先为预设系统中每个操作对应的各个功能设置构件,并为每个构件设置对应的服务设备;再为每个构件设置其为对应的服务设备服务时的性能分值和权重值,以根据各个构件的性能分值和权重值确定对应操作的性能评分。
本发明第六实施例提供了一种处理数据的装置,该装置的结构示意如图3所示,包括:
确定模块10,用于根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作;处理模块20,与确定模块10耦合,用于在预设系统运行过程中,将操作对应的数据均分配给GPU进行计算处理,以得到数据的处理结果。
其中,处理模块在对待处理数据进行处理的过程中,先通过CPU将数据处理为图像数据,并发送至GPU,以使GPU对图像数据进行计算处理;再通过CPU接收GPU计算处理后的图像数据,并对图像数据进行解析处理,以得到数据的处理结果。
确定模块具体用于:根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定执行数量超过预设数量的操作;或者,根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定性能评分超过预设性能评分的操作。
上述装置还可以包括构件模块,用于构建预设性能评估模型。在实现时,构建模块具体构建过程如下:根据预设系统中存在的各个功能进行性能评估模型实例化;针对预设系统所在设备的设备参数构建实例化后的性能评估模型;将所有构建完成的性能评估模型进行组合,以得到预设系统对应的预设性能评估模型。
本发明第七实施例还提供一种终端,优选的,该装置可以是移动终端,其包括上述第六实施例中的处理数据的装置。
实现过程中,本实施例的终端可以包括处理器和存储器,其中,存储器用于存储上述实施例中构件模块构建的预设性能评估模型及相关设置参数,处理器用于实现上述确定模块和处理模块的相关功能。具体的,本实施例中的处理器可以包括CPU和GPU,本实施例中的存储器可以是存储程序代码的任何介质。
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们也可以存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
本发明第四实施例针对手机CPU在处理计算任务上的缺陷,提供了一种处理数据的方法,来解决上述缺陷,在该实施例中,能够根据性能模型(即上述实施例中的预设性能评估模型)评测出CPU在处理操作系统和应用时的计算瓶颈所在,将大规模的循环计算任务分配给GPU进行计算,GPU使用像素着色器等大规模并行计算处理器将伪装为图形学的计算数据并行计算,然后将计算结果传输给CPU,CPU在大规模的循环计算任务中只起到一个控制和通信的功能,具体的计算全部交给GPU并行完成,由此可以降低计算密集型任务的时间开销,突破手机操作系统和应用的计算瓶颈,有效缓解卡顿。
本实施例提供的方法在实现时包括以下两点:第一点是使用性能模型评测手机操作系统和应用时的性能,找到限制手机性能的瓶颈kernel(操作系统内核),从这些kernel中筛选出大规模的循环计算任务。第二点是将大规模循环计算任务放在GPU上并行计算处理,这些计算任务可能包含多重循环、开始和结束条件不明朗等诸多问题,还要对此进行一系列的预处理,并将其伪装为图形学计算任务。
下面对本实施例提供的实现上述处理数据的方法的手机进行说明。
由于处理过程包括两点,因此,手机中对应的包括两个模块,即性能测评模块(相当于上述第六实施例中的确定模块的部分功能)和并行计算模块(相当于上述第六实施例中的处理模块的部分功能)。
性能评测模块用于对整个手机操作系统和应用进行性能评估,寻找出限制整个手机性能的kernel,再对这些kernel进一步分析,筛选出适合GPU并行加速计算的kernel。并行计算模块包括对kernel进行预处理和并行方案设计,预处理包括循环融合、数据伪装等。
由于Android手机操作系统包含诸多的应用程序,所以针对其特殊性,本方案采用基于构件的性能模型。图4为基于Android系统构件的性能模型映射的过程。
其中,性能模型的建立分为以下三个步骤:
第一步:构件性能模型(即每个功能对应的单独模型)的描述以及实例化(即赋予每个性能模型参数的过程)。例如,针对打电话功能建立一个模型,但每个平台的参数不一样,实例化的过程就是赋予每个平台各自参数的过程。
本实施例通过包含抽象和量化的性能环境参数来描述构件的性能模型。这样,得到的是特定环境下的构件性能模型,而不是特定平台下的构件性能模型。一旦建立性能目标,只需要根据具体的平台环境实例化参数,就可以验证给定的环境是否能够支持构件的性能模型。
对于每一个构件Ci,它提供n(n>=1)种服务Sj(j=1,2,……n),对此构件的性能进行描述就是Perf(Sj(env-par)),其中Perf表示本方案中的某种性能属性(比如响应时间、通信延迟等),env-par表示环境参数。例如,一个上网构件,其可以被听歌软件调用进而上网搜索歌曲,也可以被浏览器界面调用进而来搜索问题答案。
第二步:构件性能模型建立。该过程即考虑实际的一些外界因素,添加到实例化中,得到手机可以用的性能模型。
在构件性能模型的描述完成以后,可以根据实际设备的一些说明参数和当前环境来确定构建的性能模型,比如网络的延迟,一次数据库操作所需时间等,对于一个提供n(n>=1)种服务Sj(j=1,2,……n)的设备。例如,该构建好的独立的性能模型可用打电话功能、上网功能等对应的构件。
第三步:构建整个系统性能模型。整个系统的性能模型由各个构件的性能模型、各个设备的性能模型以及整个系统的构架和设计得到。
软件执行模型描述了软件系统的基本行为,可以用序列图来表示。序列图描述了系统完成某次行为所需的构件以及构件之间的交互,它可以从系统设计的用例图和时序图中得到。单元模型描述了各个构件和设备的性能模型以及相关的参数。通过软件执行模型、运行环境、单元模型和系统的构架和设计就能建立整个系统的性能模型。实现过程中,一旦建立了性能目标,就可以建立相应的执行模型和单元模型,整个系统的性能模型也能被构造出来,据此就可以对软件的性能进行评估。把执行模型、运行环境和单元模型三者分离后,同一个软件系统可以在不同的环境中进行评估。构件之间交互的时序图可用如图5所示,各个构件间的交互可以实现一个完整的功能,例如,打开浏览器界面是个构件,搜索网页功能也是一个构件,则打开浏览器和搜索网页两个构建之间就会存在交互关系。
每一个构件的属性都被包含在时序图中,各个设备也是以构件形式存在的,配合如图6所示的配置图,就可以得到描述整个系统的性能模型。整个系统的性能模型如图7所示。
第四步:系统性能评估。
系统的性能模型建立以后,就可以对系统的性能进行评估,假设某次行为公用到了n个构件和k个设备,而且在每个时刻系统只对某个构件或者设备进行操作,那么这个操作的性能就可以用以下公式进行描述:
Perf(Application)=∑P(Ci)*PerfCi(S(env))+∑P(Mi)*PerfMi(S)
公式中Perf(Application)表示整个系统程序的性能,P(Ci)表示构件Ci的权重,PerfCi(S(env))表示该构件的性能,P(Mi)表示设备Mi的权重,PerfMi表示Mi的性能。对于每一个构件Ci,它的性能可以用如下公式表示:
PerfCi(S(env))=∑Psi*PerfCi(Si(env))
得到每一个构件和整个系统的性能进行评估方法后,可以对每一个构件、系统所提供的每一项服务、系统执行的每一个动作进行性能评估,可以得到整个系统运行过程中制约整个系统的瓶颈所在,再通过对这些瓶颈进行筛选,可以得到适宜GPU并行加速计算的模块。
在对系统的性能进行了评估后,就是后续的并行计算过程,该过程即实际的应该用过程,即在手机中对数据的实际处理过程。
在GPU上进行并行计算主要使用的是GPU的像素着色器等硬件资源,此类资源相比CPU的计算资源虽然计算能力比较弱,但是数量大,一般手机GPU上可用于计算的处理器数量都会超过两万个,利用GPU进行计算需要CPU进行通信和控制,其计算过程如图8的流程图所示,包括:
S1,对待处理的数据进行预处理操作,以将待处理的数据伪装为图形学数据。
S2,将图形学数据发送至GPU。
S3,分配空闲的GPU资源处理图形学数据。
S4,按照预设并行策略计算图形学数据。
S5,将计算结果返回至CPU。
S6,CPU将该计算结果处理为普通的数据,进而使用该数据。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种处理数据的方法,其特征在于,包括:
根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作;
在所述预设系统运行过程中,将所述操作对应的数据均分配给GPU进行计算处理,以得到所述数据的处理结果。
2.如权利要求1所述的方法,其特征在于,将所述操作对应的数据均分配给GPU进行处理,包括:
通过CPU将所述数据处理为图像数据,并发送至所述GPU,以使所述GPU对所述图像数据进行计算处理;
通过CPU接收所述GPU计算处理后的图像数据,并对所述图像数据进行解析处理,以得到所述数据的处理结果。
3.如权利要求1所述的方法,其特征在于,根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作,包括:
根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定所述执行数量超过预设数量的操作;或者,
根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定所述性能评分超过预设性能评分的操作。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述预设性能评估模型的构建过程,包括:
根据所述预设系统中存在的各个功能进行性能评估模型实例化;
针对所述预设系统所在设备的设备参数构建实例化后的性能评估模型;
将所有构建完成的性能评估模型进行组合,以得到所述预设系统对应的所述预设性能评估模型。
5.如权利要求4所述的方法,其特征在于,根据所述预设系统中存在的各个功能进行性能评估模型实例化,包括:
为所述预设系统中每个操作对应的各个功能设置构件,并为每个构件设置对应的服务设备;
为每个构件设置其为对应的服务设备服务时的性能分值和权重值,以根据各个构件的所述性能分值和所述权重值确定对应操作的性能评分。
6.一种处理数据的装置,其特征在于,包括:
确定模块,用于根据预设性能评估模型确定预设系统运行过程中性能指标超过预设性能指标的操作;
处理模块,用于在所述预设系统运行过程中,将所述操作对应的数据均分配给GPU进行计算处理,以得到所述数据的处理结果。
7.如权利要求6所述的装置,其特征在于,所述处理模块具体用于:
通过CPU将所述数据处理为图像数据,并发送至所述GPU,以使所述GPU对所述图像数据进行计算处理;通过CPU接收所述GPU计算处理后的图像数据,并对所述图像数据进行解析处理,以得到所述数据的处理结果。
8.如权利要求6所述的装置,其特征在于,所述确定模块具体用于:
根据预设性能评估模型模拟预设系统运行过程中所有操作的执行数量,并确定所述执行数量超过预设数量的操作;或者,根据预设性能评估模型模拟预设系统运行过程中所有操作的性能评分,并确定所述性能评分超过预设性能评分的操作。
9.如权利要求6至8中任一项所述的装置,其特征在于,所述装置还包括:
构件模块,用于构建所述预设性能评估模型,具体构建过程如下:
根据所述预设系统中存在的各个功能进行性能评估模型实例化;针对所述预设系统所在设备的设备参数构建实例化后的性能评估模型;将所有构建完成的性能评估模型进行组合,以得到所述预设系统对应的所述预设性能评估模型。
10.一种终端,其特征在于,包括:权利要求6至9中任一项所述的处理数据的装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611215723.9A CN106648895A (zh) | 2016-12-26 | 2016-12-26 | 一种处理数据的方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611215723.9A CN106648895A (zh) | 2016-12-26 | 2016-12-26 | 一种处理数据的方法、装置及终端 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106648895A true CN106648895A (zh) | 2017-05-10 |
Family
ID=58827237
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611215723.9A Pending CN106648895A (zh) | 2016-12-26 | 2016-12-26 | 一种处理数据的方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648895A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494960A (zh) * | 2018-03-21 | 2018-09-04 | 北京小米移动软件有限公司 | 电子设备及其控制方法 |
CN109933429A (zh) * | 2019-03-05 | 2019-06-25 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115134767A (zh) * | 2021-03-11 | 2022-09-30 | 上海大唐移动通信设备有限公司 | 提升信令软采集设备性能的方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101908035A (zh) * | 2010-07-30 | 2010-12-08 | 北京华傲精创科技开发有限公司 | 视频编解码方法、gpu及其与cpu的交互方法及系统 |
CN102289782A (zh) * | 2010-06-18 | 2011-12-21 | 索尼公司 | 信息处理装置、用于控制信息处理装置的方法、和程序 |
US8400458B2 (en) * | 2009-09-09 | 2013-03-19 | Hewlett-Packard Development Company, L.P. | Method and system for blocking data on a GPU |
CN103713949A (zh) * | 2012-10-09 | 2014-04-09 | 鸿富锦精密工业(深圳)有限公司 | 动态任务分配系统及方法 |
CN104484234A (zh) * | 2014-11-21 | 2015-04-01 | 中国电力科学研究院 | 一种基于gpu的多波前潮流计算方法和系统 |
-
2016
- 2016-12-26 CN CN201611215723.9A patent/CN106648895A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8400458B2 (en) * | 2009-09-09 | 2013-03-19 | Hewlett-Packard Development Company, L.P. | Method and system for blocking data on a GPU |
CN102289782A (zh) * | 2010-06-18 | 2011-12-21 | 索尼公司 | 信息处理装置、用于控制信息处理装置的方法、和程序 |
CN101908035A (zh) * | 2010-07-30 | 2010-12-08 | 北京华傲精创科技开发有限公司 | 视频编解码方法、gpu及其与cpu的交互方法及系统 |
CN103713949A (zh) * | 2012-10-09 | 2014-04-09 | 鸿富锦精密工业(深圳)有限公司 | 动态任务分配系统及方法 |
CN104484234A (zh) * | 2014-11-21 | 2015-04-01 | 中国电力科学研究院 | 一种基于gpu的多波前潮流计算方法和系统 |
Non-Patent Citations (1)
Title |
---|
刘晓明,等: "基于模型的构件系统性能预测综述", 《系统仿真学报》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108494960A (zh) * | 2018-03-21 | 2018-09-04 | 北京小米移动软件有限公司 | 电子设备及其控制方法 |
CN109933429A (zh) * | 2019-03-05 | 2019-06-25 | 北京达佳互联信息技术有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN115134767A (zh) * | 2021-03-11 | 2022-09-30 | 上海大唐移动通信设备有限公司 | 提升信令软采集设备性能的方法、装置及存储介质 |
CN115134767B (zh) * | 2021-03-11 | 2024-02-09 | 上海大唐移动通信设备有限公司 | 提升信令软采集设备性能的方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113377540B (zh) | 集群资源调度方法及装置、电子设备和存储介质 | |
CN110532092A (zh) | 资源匹配方法、装置及设备 | |
CN108763494B (zh) | 对话系统间的知识分享方法、对话方法及装置 | |
CN110347596A (zh) | 一种测试方法、装置、系统、电子设备及介质 | |
US20210256423A1 (en) | Methods, apparatuses, and computing devices for trainings of learning models | |
EP2450794A1 (en) | Method for allowing distributed running of an application and related device and inference engine | |
CN104156246B (zh) | 灰度升级的方法及装置 | |
CN110413510B (zh) | 一种数据处理方法、装置及设备 | |
CN111552550A (zh) | 一种基于图形处理器gpu资源的任务调度方法、设备及介质 | |
CN107807935B (zh) | 应用推荐方法及装置 | |
CN114021737B (zh) | 一种基于博弈的强化学习方法、系统、终端及存储介质 | |
CN113850394B (zh) | 联邦学习方法、装置、电子设备及存储介质 | |
CN112418259A (zh) | 一种基于直播过程中用户行为的实时规则的配置方法、计算机设备及可读存储介质 | |
CN106648895A (zh) | 一种处理数据的方法、装置及终端 | |
CN116257363A (zh) | 资源调度方法、装置、设备及存储介质 | |
CN117149665B (zh) | 持续集成方法、控制设备、持续集成系统及存储介质 | |
CN106302250A (zh) | 移动终端的网络流量控制方法及装置 | |
CN114785693B (zh) | 基于分层强化学习的虚拟网络功能迁移方法及装置 | |
CN111159038A (zh) | 一种模拟cpu负载的方法及电子设备 | |
CN109308327A (zh) | 基于子图模型兼容点中心模型的图计算方法装置介质设备 | |
CN109858945A (zh) | 存储器、基于微信小程序的用户结果数据生成方法和设备 | |
CN111580975B (zh) | 用于语音合成的内存优化方法及系统 | |
CN113312169B (zh) | 一种计算资源的分配方法及装置 | |
CN113742581A (zh) | 榜单的生成方法、装置、电子设备及可读存储介质 | |
CN114870395A (zh) | 游戏场景的终端震动检测方法、装置、介质及设备 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |