CN111240820A - 一种并发量提升倍速确定方法、设备及介质 - Google Patents

一种并发量提升倍速确定方法、设备及介质 Download PDF

Info

Publication number
CN111240820A
CN111240820A CN202010032636.XA CN202010032636A CN111240820A CN 111240820 A CN111240820 A CN 111240820A CN 202010032636 A CN202010032636 A CN 202010032636A CN 111240820 A CN111240820 A CN 111240820A
Authority
CN
China
Prior art keywords
data
unit window
determining
cpu
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.)
Granted
Application number
CN202010032636.XA
Other languages
English (en)
Other versions
CN111240820B (zh
Inventor
张燕
夏正勋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Transwarp Technology Shanghai Co Ltd
Original Assignee
Transwarp Technology Shanghai Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Transwarp Technology Shanghai Co Ltd filed Critical Transwarp Technology Shanghai Co Ltd
Priority to CN202010032636.XA priority Critical patent/CN111240820B/zh
Publication of CN111240820A publication Critical patent/CN111240820A/zh
Application granted granted Critical
Publication of CN111240820B publication Critical patent/CN111240820B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例公开了一种并发量提升倍速确定方法、设备及介质。其中,方法包括:获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;根据硬件参数信息确定并发量提升倍速;根据并发量提升倍速确定数据计算的运行位置。本实施例通过获取硬件参数信息,并根据所获取的硬件参数信息在数据计算运行之前预估确定出并发量提升倍速,并根据所预估的并发量提升倍速确定实际的数据计算的运行位置,从而改善并发量提升效果,减少不必要的工作开销,并提升用户的体验效果。

Description

一种并发量提升倍速确定方法、设备及介质
技术领域
本发明实施例涉及高性能计算领域,尤其涉及一种并发量提升倍速确定方法、设备及介质。
背景技术
随着硬件功能的不断丰富和软件开发环境的逐渐成熟,图形处理器(GraphicsProcessing Unit,GPU)开始被应用于通用计算领域,为了追求高性能,GPU往往包含成百上千个核心运算单元以及高密度的计算资源。在流式处理系统中,CPU算法处理的是源源不断的流式数据,协处理器可以对传统的基于CPU计算的程序进行加速,从而有效提升流式处理系统的并发处理能力。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:在确定异构流式计算环境中GPU对CPU的并发量提升效果时,通常采用的是根据人工经验进行评估及数据程序迁移后实际的计算结果,来进行并发量提升效果的确定,但采用人工经验进行评估通常会由于缺少有力依据而造成实际评估结果不准确,因此在根据评估结果对数据计算进行迁移,确定数据计算的运行位置后,往往会存在并发提升效果不理想的情况,从而增加很多不必要的工作开销,并影响用户的体验效果。
发明内容
本发明提供一种并发量提升倍速确定方法、设备及介质,以实现在数据计算迁移前对并发量提升倍速进行预估,并根据预估结果确定数据计算的运行位置。
第一方面,本发明实施例提供了一种并发量提升倍速确定方法,包括:
获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;
根据硬件参数信息确定并发量提升倍速;
根据并发量提升倍速确定数据计算的运行位置。
第二方面,本发明实施例还提供了一种计算机设备,包括处理器和存储器,存储器用于存储指令,当指令执行时使得处理器执行以下操作:
获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;
根据硬件参数信息确定并发量提升倍速;
根据并发量提升倍速确定数据计算的运行位置。
第三方面,本发明实施例还提供了一种存储介质,存储介质用于存储指令,指令用于执行:
获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;
根据硬件参数信息确定并发量提升倍速;
根据并发量提升倍速确定数据计算的运行位置。
本发明实施例的技术方案,在流式计算异构硬件场景下,通过获取硬件参数信息,并根据所获取的硬件参数信息在数据计算迁移之前预估,确定出GPU与CPU的并发量提升倍速,并根据所预估的并发量提升倍速确定数据计算是否迁移到GPU上,确定出实际的数据计算的运行位置,从而改善并发量提升效果,减少不必要的工作开销,并提升用户的体验效果。
附图说明
图1是本发明实施例一提供的一种并发量提升倍速确定方法的流程图;
图2a是本发明实施例二提供的一种并发量提升倍速确定方法的流程图;
图2b是本发明实施例二提供的单机流式计算场景下的并发量提升倍速曲线图;
图3a是本发明实施例三提供的一种并发量提升倍速确定方法的流程图;
图3b是本发明实施例三提供的分布式流式集群计算场景下10Gb以太网的并发量提升倍速曲线图;
图3c是本发明实施例三提供的分布式流式集群计算场景下100Gb以太网的并发量提升倍速曲线图;
图4是本发明实施例四提供的一种并发量提升倍速确定装置的结构示意图;
图5是本发明实施例五提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包含在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
本文使用的术语“硬件参数信息”是指单机硬件环境的参数信息或分布式硬件环境的参数信息,并且当为单机硬件环境的参数信息时,具体包括:总线传输速度、网络带宽、并行度和单核中央处理器CPU与单核图形处理器GPU性能比;当为分布式硬件环境的参数信息时,具体包括:总线传输速度、网络带宽、并行度、单核中央处理器CPU与单核图形处理器GPU性能比、分布式集群中机器总数和节点间网络传输速度。
本文使用的术语“并发量提升倍速”是指中央处理器(Central Processing Unit,CPU)将计算模块数据计算迁移至图形处理器(Graphics Processing Unit,GPU)后,针对单机流式计算场景下,则为单位窗口内单机GPU可处理的数据流并发路数与单位窗口内单机CPU可处理的数据流并发路数的比值;针对分布式流式集群计算场景下,则为单位窗口内分布式GPU可处理的数据流并发路数与单位窗口内分布式CPU可处理的数据流并发路数的比值。
本文使用的术语“并行度”是指GPU内数据并行执行的最大数目。
本文使用的术语“总线传输速度”是指单机内连接CPU与GPU之间的高速串行计算扩展(peripheral component interconnect express,PCIE)总线上的数据传输速度。
本文使用的术语“网络节点”是指分布式流式集群计算场景下,在聚合操作期间进行数据传输的机器设备。
为了便于理解,将本发明实施例的主要发明构思进行简述。
现有技术中在确定异构流式计算环境中协处理器对CPU的并发量提升效果时,通常采用的是根据人工经验及数据程序迁移后实际的计算结果,来进行并发量提升效果的确定,但根据人工经验进行数据程序迁移后,往往会存在并发提升效果不理想的情况,从而增加很多不必要的工作开销,并影响用户的体验效果。
发明人针对现有技术中的先进行实际数据计算迁移之后,根据实际的迁移结果确定并发量提升效果,所造成的工作开销大的问题,提出了在进行数据计算迁移之前,根据硬件参数信息预估确定并发量提升倍速,并根据所预估的并发量提升倍速确定数据计算是否迁移到GPU上,确定出实际的数据计算的运行位置,从而改善并发量提升效果,减少不必要的工作开销,并提升用户的体验效果。
基于上述思想,发明人创造性的提出,获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;根据硬件参数信息确定并发量提升倍速;根据并发量提升倍速确定数据计算的运行位置。这样做的好处是,通过获取硬件参数信息,并根据所获取的硬件参数信息在数据计算迁移之前预估确定出并发量提升倍速,并根据所预估的并发量提升倍速指引实际的数据计算迁移,确定出数据计算的运行位置,从而改善并发量提升效果,减少不必要的工作开销,并提升用户的体验效果。
实施例一
图1是本发明实施例一提供的一种并发量提升倍速确定方法的流程图。本发明实施例可以适用于对并发量提升倍速进行预估确定,并根据预估结果确定数据计算的运行位置,该方法可以由本发明实施例提供的并发量提升倍速确定装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。如图1所示,本发明实施例的方法具体包括:
步骤101,获取硬件参数信息。
其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息。并且确定在单机流式计算场景下所获取的为单机硬件环境的参数信息,确定在分布式流式集群计算场景下所获取的为分布式硬件环境的参数信息。
可选的,单机硬件环境的参数信息包括:总线传输速度、网络带宽、并行度和单核中央处理器CPU与单核图形处理器GPU性能比。
可选的,分布式硬件环境的参数信息包括:总线传输速度、网络带宽、并行度、单核中央处理器CPU与单核图形处理器GPU性能比、分布式集群中机器总数和节点间网络传输速度。
需要说明的是,总线传输速度指的是一台机器设备内部的CPU与GPU之间的数据传输速度,并行度指的是GPU内数据并行执行的最大数目,节点间网络传输速度指的是在分布式流式集群计算场景下多台机器设备之间的数据传输速度,单核中央处理器CPU与单核图形处理器GPU性能比指的是一台机器设备内的CPU与GPU的硬件属性,当确定性能比为1的情况下,则表示CPU与GPU的属性相同,例如,数据的处理能力相同或数据的传输能力相同等。
步骤102,根据硬件参数信息确定并发量提升倍速。
可选的,根据硬件参数信息确定并发量提升倍速,可以包括:根据单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长;根据单机CPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机CPU可处理的数据流并发路数;根据单机GPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机GPU可处理的数据流并发路数;确定单位窗口内单机GPU可处理的数据流并发路数与单位窗口内单机CPU可处理的数据流并发路数的第一比值结果,并将第一比值结果作为并发量提升倍速。
可选的,根据单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长,可以包括:根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据总线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长。
可选的,根据硬件参数信息确定并发量提升倍速,可以包括:根据分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间;根据单位窗口数据在分布式CPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式CPU处理单位窗口数据的耗时时长;根据单位窗口数据在分布式GPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式GPU处理单位窗口数据的耗时时长;根据分布式CPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式CPU可处理的数据流并发路数;根据分布式GPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式GPU可处理的数据流并发路数;确定单位窗口内分布式GPU可处理的数据流并发路数与单位窗口内分布式CPU可处理的数据流并发路数的第二比值结果,并将第二比值结果作为并发量提升倍速。
可选的,根据分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间,可以包括:根据分布式集群中机器总数以及预设的每个聚合运算的机器数量,确定聚合次数以及聚合节点数;根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据单机CPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式CPU的计算总时长;根据线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长;根据单机GPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式GPU的计算总时长;根据网络带宽、预设单位窗口时长、节点间网络传输速度和聚合节点数,确定聚合操作期间数据在网络节点间的传输时间。
步骤103,根据并发量提升倍速确定数据计算的运行位置。
可选的,根据并发量提升倍速确定数据计算的运行位置,可以包括:并发量提升倍速大于预设阈值时,则将数据计算由CPU迁移至GPU,并将所述GPU作为数据计算的运行位置;并发量提升倍速小于预设阈值时,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置。
其中,本实施方式中的预设阈值可以设置为1,当确定并发量提升倍速大于1时,则说明采用协处理器GPU后可处理的数据流并发路数,要大于仅采用CPU可处理的数据流并发路数,从而在实际数据计算迁移时,可以将数据由CPU迁移至GPU以完成计算;而在确定并发量提升倍速小于1时,则说明采用协处理器GPU后的可处理的数据流并发路数,要小于仅采用CPU可处理的数据流并发路数,则不将数据由CPU迁移至GPU,而由CPU自身完成计算。本实施方式中仅是举例进行说明,而并不限定预设阈值的具体数值,只要能够根据预设阈值实现数据计算运行位置的确定,都是在本申请的保护范围内,本申请实施方式并不对其进行限定。
本发明实施例提供了一种并发量提升倍速确定方法,通过获取硬件参数信息,并根据所获取的硬件参数信息在数据计算迁移之前预估确定出并发量提升倍速,并根据所预估的并发量提升倍速指引实际的数据计算迁移,确定出数据计算的运行位置,从而改善并发量提升效果,减少不必要的工作开销,并提升用户的体验效果。
实施例二
图2a是本发明实施例二提供的一种并发流量提升参数确定方法的流程图。本发明实施例可以与上述一个或者多个实施例中各个可选方案结合,在本发明实施例中,主要说明在单机流式计算场景下的并发量提升倍速确定的具体方式。如图2a所示,本发明实施例的方法具体包括:
步骤201,获取单机硬件环境的参数信息。
可选的,单机硬件环境的参数信息包括:总线传输速度、网络带宽、并行度和单核中央处理器CPU与单核图形处理器GPU性能比。
需要说明的是,目前主流的流式系统,例如,Storm、SparkStreaming或Flink等均是以窗口为单位进行数据实时处理,本申请中以窗口,具体为时间窗为单位进行计算。总线传输速度采用速度V1表示,网络带宽采用W表示,并行度采用m表示,本实施方式中的单核中央处理器CPU与单核图形处理器GPU性能比设定为1,即表示每台机器设备内的CPU与GPU的属性相同。
步骤202,根据单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长。
可选的,根据单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长,可以包括:根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据总线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长。
在一个具体实现中,设定数据源为均匀发送的,预设单位窗口时长为L,单位为秒,网络宽W的单位为GBps,则单位窗口的数据量S=W*L,单位为GB,并行度m设定为64,总线传输速度V1设定为12.8GB/s。设定单机CPU处理100MB数据量的计算时长为t秒,则可以获得单机CPU处理处理1GB数据量的计算时长为10t,因为单机CPU单位窗口的数据量为W*L,从而可以获得单机CPU处理单位窗口数据的计算时长T(CPU-one)=S*10t=10W*L*t。设定单机GPU单位窗口输出数据为输入数据的10%,则单机GPU的单位窗口的输入数据量为W*L,单机GPU的单位窗口的输出数据量为0.1W*L,因为本实施方式中的单核中央处理器CPU与单核图形处理器GPU性能比设定为1,从而获得单机GPU处理单位窗口数据的计算时长T(GPU-one)=(单位窗口的输入数据量+单位窗口的输出数据量)/总线传输速度+单机GPU处理单位窗口数据的计算时长/并行度=(W*L+0.1W*L)/V1+T(GPU-one)/m=1.1W*L/12.8+10W*L*t/m。
步骤203,根据单机CPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机CPU可处理的数据流并发路数。
具体的说,单位窗口内单机CPU可处理的数据流并发路数N(CPU-one)=预设单位时长/单机CPU处理单位窗口数据的计算时长,从上述步骤可知,预设单位窗口时长为L,单机CPU处理单位窗口数据的计算时长T(CPU-one)=10W*L*t,则可以确定单位窗口内单机CPU可处理的数据流并发路数N(CPU-one)=L/10W*L*t。
步骤204,根据单机GPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机GPU可处理的数据流并发路数。
具体的说,单位窗口内单机GPU可处理的数据流并发路数N(GPU-one)=预设单位时长/单机GPU处理单位窗口数据的计算时长,从上述步骤可知,预设单位窗口时长为L,单机GPU处理单位窗口数据的计算时长T(GPU-one)=1.1W*L/12.8+10W*L*t/m,则可以确定单位窗口内单机GPU可处理的数据流并发路数N(GPU-one)=L/(1.1W*L/12.8+10W*L*t/m)。
步骤205,确定单位窗口内单机GPU可处理的数据流并发路数与单位窗口内单机CPU可处理的数据流并发路数的第一比值结果,并将第一比值结果作为并发量提升倍速。
具体的说,在本实施方式中,第一比值结果具体为L1=单位窗口内单机GPU可处理的数据流并发路数N(GPU-one)/单位窗口内单机CPU可处理的数据流并发路数N(CPU-one)=(预设单位时长/单机GPU处理单位窗口数据的计算时长)/(预设单位时长/单机GPU处理单位窗口数据的计算时长)=[L/(1.1W*L/12.8+10W*L*t/m)]/(L/10W*L*t)=(10W*L*t)/[1.1W*L/12.8+10W*L*t/m]=10t/(11/128+10t/m)。
步骤206,根据并发量提升倍速确定数据计算的运行位置。
可选的,根据并发量提升倍速确定数据计算的运行位置,可以包括:并发量提升倍速大于预设阈值时,则将数据计算由CPU迁移至GPU,并将所述GPU作为数据计算的运行位置;并发量提升倍速小于预设阈值时,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置。
具体的说,当并行度m取值为64时,则第一比值结果L1=10t/(11/128+5t/32),并将L1作为并发量提升倍速,如图2b所示,为单机流式计算场景下并行度m为64时的并发量提升倍速曲线图,由图2b可知,当单机CPU处理每百M数据计算耗时t超过91毫秒时,并发量提升倍速L1大于1,则确定数据计算由单机CPU迁移至单机GPU,并发量提升效果较好,则确定数据计算由CPU迁移至GPU,并将GPU作为数据计算的运行位置;当单机CPU处理每百M数据计算耗时t小于91毫秒时,并发量提升倍速L1小于1,则确定数据计算由单机CPU迁移至单机GPU,并发量没有提升效果,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置。
实施例三
图3a是本发明实施例三提供的一种并发流量提升参数确定方法的流程图。本发明实施例可以与上述一个或者多个实施例中各个可选方案结合,在本发明实施例中,主要说明在分布式流式集群计算场景下的并发量提升倍速确定的具体方式。如图3a所示,本发明实施例的方法具体包括:
步骤301,获取分布式硬件环境的参数信息。
可选的,分布式硬件环境的参数信息包括:总线传输速度、网络带宽、并行度、单核中央处理器CPU与单核图形处理器GPU性能比、分布式集群中机器总数和节点间网络传输速度。
需要说明的是,本实施方式中以窗口,具体为时间窗为单位进行计算。总线传输速度采用速度V1表示,网络带宽采用W表示,并行度采用m表示,本实施方式中的单核中央处理器CPU与单核图形处理器GPU性能比设定为1,即表示每台机器设备内的CPU与GPU的属性相同,分布式集群中机器总数采用n表示,节点间网络传输速度采用V2表示。
步骤302,根据分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间。
可选的,根据分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间,可以包括:根据分布式集群中机器总数以及预设的每个聚合运算的机器数量,确定聚合次数以及聚合节点数;根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据单机CPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式CPU的计算总时长;根据线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长;根据单机GPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式GPU的计算总时长;根据网络带宽、预设单位窗口时长、节点间网络传输速度和聚合节点数,确定聚合操作期间数据在网络节点间的传输时间。
在一个具体实现中,设定数据源为均匀发送的,预设单位窗口时长为L,单位为秒,网络带宽W的单位为GBps,则单位窗口的数据量S=W*L,单位为GB,并行度m设定为64,总线传输速度V1设定为12.8GB/s。设定单机CPU处理100MB数据量的计算时长为t秒,则可以获得单机CPU处理处理1GB数据量的计算时长为10t,因为单机CPU单位窗口的数据量为W*L,从而可以获得单机CPU处理单位窗口数据的计算时长T(CPU-one)=S*10t=10W*L*t。设定单机GPU单位窗口输出数据为输入数据的10%,则单机GPU的单位窗口的输入数据量为W*L,单机GPU的单位窗口的输出数据量为0.1W*L,因为本实施方式中的单核中央处理器CPU与单核图形处理器GPU性能比设定为1,因此单机CPU处理单位窗口数据的计算时长与单机CPU相同为T(CPU-one),从而获得单机GPU处理单位窗口数据的计算时长T(GPU-one)=(单位窗口的输入数据量+单位窗口的输出数据量)/总线传输速度+单机GPU处理单位窗口数据的计算时长/并行度=(W*L+0.1W*L)/V1+T(GPU-one)/m=1.1W*L/12.8+10W*L*t/m。
其中,预设的每个聚合运算的机器数量为k,即表示每k台机器设备进行聚合运算,则聚合次数M1=logkn,聚合节点数M2=n(1+1/k+1/(k*k)+1/(k*k*k)+…1/n),则网络节点间传输的聚合数据总量为F=0.1W*L*n(1+1/k+1/(k*k)+1/(k*k*k)+…1/n),在确定K取值为10时,则聚合次数M1=lg(n),聚合节点数M2=10n/9,网络节点间传输的聚合数据总量F=0.1W*L*(10n/9)=W*L*n/9,从而可以确定聚合操作期间数据在网络节点间的传输时间T(trans)=网络节点间传输的聚合数据总量F/V2=W*L*n/(9*V2),单位窗口数据在分布式CPU的计算总时长T(CPU-cal)=单机CPU处理单位窗口数据的计算时长*(1+聚合次数)=T(CPU-one)*(1+M1)=10W*L*t*(1+lg(n)),单位窗口数据在分布式GPU的计算总时长T(GPU-cal)=单机GPU处理单位窗口数据的计算时长*(1+聚合次数)=T(GPU-one)*(1+M1)=[1.1W*L/12.8+10W*L*t/m](1+lg(n))。
步骤303,根据单位窗口数据在分布式CPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式CPU处理单位窗口数据的耗时时长。
具体的说,分布式CPU处理单位窗口数据的耗时时长T’(CPU)=单位窗口数据在分布式CPU的计算总时长+聚合操作期间数据在网络节点间的传输时间=T(CPU-cal)+T(trans)=10W*L*t*(1+lg(n))+W*L*n/(9*V2)。
步骤304,根据单位窗口数据在分布式GPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式GPU处理单位窗口数据的耗时时长。
具体的说,分布式GPU处理单位窗口数据的耗时时长T’(GPU)=单位窗口数据在分布式GPU的计算总时长+聚合操作期间数据在网络节点间的传输时间=T(GPU-cal)+T(trans)=[1.1W*L/12.8+10W*L*t/m](1+lg(n))+W*L*n/(9*V2)。
步骤305,根据分布式CPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式CPU可处理的数据流并发路数。
具体的说,单位窗口内分布式CPU可处理的数据流并发路数N’(CPU-cal)=预设单位窗口时长/分布式CPU处理单位窗口数据的耗时时长,从上述步骤可知,预设单位窗口时长为L,分布式CPU处理单位窗口数据的耗时时长T’(CPU)=10W*L*t*(1+lg(n))+W*L*n/(9*V2),则可以确定单位窗口内分布式CPU可处理的数据流并发路数N’(CPU-cal)=L/[10W*L*t*(1+lg(n))+W*L*n/(9*V2)]。
步骤306,根据分布式GPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式GPU可处理的数据流并发路数。
具体的说,单位窗口内分布式GPU可处理的数据流并发路数N’(GPU-cal)=预设单位窗口时长/分布式GPU处理单位窗口数据的耗时时长,从上述步骤可知,预设单位窗口时长为L,分布式GPU处理单位窗口数据的耗时时长T’(GPU)=[1.1W*L/12.8+10W*L*t/m](1+lg(n))+W*L*n/(9*V2),则可以确定单位窗口内分布式GPU可处理的数据流并发路数N’(GPU-cal)=L/{[1.1W*L/12.8+10W*L*t/m](1+lg(n))+W*L*n/(9*V2)}。
步骤307,确定单位窗口内分布式GPU可处理的数据流并发路数与单位窗口内分布式CPU可处理的数据流并发路数的第二比值结果,并将第二比值结果作为并发量提升倍速。
具体的说,本实施方式中,第二比值结果具体为L2=单位窗口内分布式GPU可处理的数据流并发路数N’(GPU-cal)/单位窗口内分布式CPU可处理的数据流并发路数N’(CPU-cal)=(预设单位时长/分布式GPU处理单位窗口数据的耗时时长)/(预设单位时长/预设单位时长/分布式CPU处理单位窗口数据的耗时时长)=预设单位时长/分布式CPU处理单位窗口数据的耗时时长/分布式GPU处理单位窗口数据的耗时时长=T’(CPU)/T’(GPU)=[10W*L*t*(1+lg(n))+W*L*n/(9*V2)]/{[1.1W*L/12.8+10W*L*t/m](1+lg(n))+W*L*n/(9*V2)}=[10t*(1+lg(n))+n/(9*V2)]/[(11/128+10t/m)*(1+lg(n)+n/(9*V2)]。
步骤308,根据并发量提升倍速确定数据计算的运行位置。
可选的,根据并发量提升倍速确定数据计算的运行位置,可以包括:并发量提升倍速大于预设阈值时,则确定将数据计算由CPU迁移至GPU,并将GPU作为数据计算的运行位置;并发量提升倍速小于预设阈值时,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置。
具体的说,当选择10Gb以太网卡,实际节点间网络传输速度为1Gbps,即V2=1/8GBps,并行度m取值为64时,则第二比值结果L2=(t+200/9)/(t/64+256099/11520),并将L2作为并发量提升倍速,如图3b所示,为分布式流式集群计算场景下并行度m为64时的并发量提升倍速曲线图,由图3b可知,当CPU处理每百M数据计算耗时t超过0.01秒时,并发量提升倍速L2大于1,则确定计算模块由分CPU迁移至GPU,并发量提升效果较好,则确定将数据计算由CPU迁移至GPU,并将GPU作为数据计算的运行位置;当CPU处理每百M数据计算耗时t小于0.01秒时,并发量提升倍速L2小于1,则确定计算模块由分CPU迁移至GPU,并发量并没有提升效果,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置。
具体的说,当选择100Gb以太网卡,实际节点间网络传输速度为80Gbps,即V2=10GBps,并行度m取值为64时,则第二比值结果L2=(10t+25/9)/(5t/32+3299/1152),并将L2作为并发量提升倍速,如图3c所示,为分布式流式集群计算场景下并行度m为64时的并发量提升倍速曲线图,由图3c可知,当CPU处理每百M数据计算耗时t超过0.016秒时,并发量提升倍速L2大于1,则确定计算模块由分CPU迁移至GPU,并发量提升效果较好,则确定将数据计算由CPU迁移至GPU,并将GPU作为数据计算的运行位置;当CPU处理每百M数据计算耗时t小于0.016秒时,并发量提升倍速L2小于1,则确定计算模块由分CPU迁移至GPU,并发量并没有提升效果,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置
需要说明的是,本实施方式中针对分布式流式集群计算场景下,分布式硬件环境的参数信息还可以包括GPU压缩/解压缩功能,在提高磁盘IO/网络IO性能,节约存储成本的同时,可以进一步提升GPU计算的并发量。而引入GPU压缩/解压缩功能对并发量提升倍速的影响,主要体现在增加了输入数据的解压缩时间、输出数据的压缩时间,但减少了磁盘和网络IO的数据传输时间。
实施例四
图4是本发明实施例四提供的一种并发量提升倍速确定装置的结构示意图。该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备中。如图4所示,装置包括:硬件参数信息获取模块401,并发量提升倍速确定模块402以及数据计算运行位置确定模块403。
其中,硬件参数信息获取模块401,用于获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;并发量提升倍速确定模块402,用于根据硬件参数信息确定并发量提升倍速;数据计算运行位置确定模块403,用于根据并发量提升倍速确定数据计算的运行位置。
本发明实施例提供了一种并发量提升倍速确定装置,通过获取硬件参数信息,并根据所获取的硬件参数信息在数据计算迁移之前预估确定出并发量提升倍速,并根据所预估的并发量提升倍速指引实际的数据计算迁移,从而提升并发量提升效果,减少不必要的工作开销,并提升用户的体验效果。
在上述各实施例的基础上,单机硬件环境的参数信息包括:总线传输速度、网络带宽、并行度和单核中央处理器CPU与单核图形处理器GPU性能比。
在上述各实施例的基础上,并发量提升倍速确定模块402包括:第一计算时长确定单元,用于根据单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长;单位窗口内单机CPU可处理的数据流并发路数确定单元,用于根据单机CPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机CPU可处理的数据流并发路数;单位窗口内单机GPU可处理的数据流并发路数确定单元,用于根据单机GPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机GPU可处理的数据流并发路数;第一并发量提升倍速确定单元,用于确定单位窗口内单机GPU可处理的数据流并发路数与单位窗口内单机CPU可处理的数据流并发路数的第一比值结果,并将第一比值结果作为并发量提升倍速。
在上述各实施例的基础上,第一计算时长确定单元,具体用于根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据总线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长。
在上述各实施例的基础上,分布式硬件环境的参数信息包括:总线传输速度、网络带宽、并行度、单核中央处理器CPU与单核图形处理器GPU性能比、分布式集群中机器总数和节点间网络传输速度。
在上述各实施例的基础上,并发量提升倍速确定模块402包括:第二计算时长确定单元,用于根据分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间;分布式CPU处理单位窗口数据的耗时时长确定单元,用于根据单位窗口数据在分布式CPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式CPU处理单位窗口数据的耗时时长;分布式GPU处理单位窗口数据的耗时时长确定单元,用于根据单位窗口数据在分布式GPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式GPU处理单位窗口数据的耗时时长;单位窗口内分布式CPU可处理的数据流并发路数确定单元,用于根据分布式CPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式CPU可处理的数据流并发路数;单位窗口内分布式GPU可处理的数据流并发路数确定单元,用于根据分布式GPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式GPU可处理的数据流并发路数;第二并发量提升倍速确定单元,用于确定单位窗口内分布式GPU可处理的数据流并发路数与单位窗口内分布式CPU可处理的数据流并发路数的第二比值结果,并将第二比值结果作为并发量提升倍速。
在上述各实施例的基础上,第二计算时长确定单元,具体用于根据分布式集群中机器总数以及预设的每个聚合运算的机器数量,确定聚合次数以及聚合节点数;根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据单机CPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式CPU的计算总时长;根据线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长;根据单机GPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式GPU的计算总时长;根据网络带宽、预设单位窗口时长、节点间网络传输速度和聚合节点数,确定聚合操作期间数据在网络节点间的传输时间。
在上述各实施例的基础上,数据计算运行位置确定模块403,具体用于并发量提升倍速大于预设阈值时,则确定将数据计算由CPU迁移至GPU,并将GPU作为数据计算的运行位置;并发量提升倍速小于预设阈值时,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置。
上述并发量提升倍速确定装置可执行本发明任意实施例所提供的并发量提升倍速确定方法,具备执行并发量提升倍速确定方法相应的功能模块和有益效果。
实施例五
图5是本发明实施例五提供的一种计算机设备的结构示意图。图5示出了适用于用来实现本发明实施方式的示例性计算机设备512的框图。图5显示的计算机设备512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机设备512以通用计算设备的形式出现。计算机设备512的组件可以包括但不限于:一个或者多个处理器512,存储器528,连接不同系统组件(包括存储器528和处理器516)的总线518.
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器528用于存储指令。存储器528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)530和/或高速缓存存储器532。计算机设备512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储器528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块542的程序/实用工具540,可以存储在例如存储器528中,这样的程序模块542包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块542通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备512也可以与一个或多个外部设备514(例如键盘、指向设备、显示器524等)通信,还可与一个或者多个使得用户能与该计算机设备512交互的设备通信,和/或与使得该计算机设备512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,计算机设备512还可以通过网络适配器520与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与计算机设备512的其它模块通信。应当明白,尽管图5中未示出,可以结合计算机设备512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器516通过运行存储在存储器528中的指令,从而执行各种功能应用以及数据处理,例如执行以下操作:
获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;根据硬件参数信息确定并发量提升倍速;根据并发量提升倍速确定数据计算的运行位置。
在上述各实施例的基础上,处理器516是设置为通过以下方式确定并发量提升倍速:根据单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长;根据单机CPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机CPU可处理的数据流并发路数;根据单机GPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机GPU可处理的数据流并发路数;确定单位窗口内单机GPU可处理的数据流并发路数与单位窗口内单机CPU可处理的数据流并发路数的第一比值结果,并将第一比值结果作为并发量提升倍速。
在上述各实施例的基础上,处理器516是设置为通过以下方式确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长:根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据总线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长。
在上述各实施例的基础上,处理器516是设置为通过以下方式确定并发量提升倍速:根据分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间;根据单位窗口数据在分布式CPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式CPU处理单位窗口数据的耗时时长;根据单位窗口数据在分布式GPU的计算总时长和聚合操作期间数据在网络节点间的传输时间,确定分布式GPU处理单位窗口数据的耗时时长;根据分布式CPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式CPU可处理的数据流并发路数;根据分布式GPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式GPU可处理的数据流并发路数;确定单位窗口内分布式GPU可处理的数据流并发路数与单位窗口内分布式CPU可处理的数据流并发路数的第二比值结果,并将第二比值结果作为并发量提升倍速。
在上述各实施例的基础上,处理器516是设置为通过以下方式确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间:根据分布式集群中机器总数以及预设的每个聚合运算的机器数量,确定聚合次数以及聚合节点数;根据网络带宽和预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;根据单机CPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式CPU的计算总时长;根据线传输速度、网络带宽、并行度、预设单位窗口时长和单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长;根据单机GPU处理单位窗口数据的计算时长和聚合次数,确定单位窗口数据在分布式GPU的计算总时长;根据网络带宽、预设单位窗口时长、节点间网络传输速度和聚合节点数,确定聚合操作期间数据在网络节点间的传输时间。
在上述各实施例的基础上,处理器516是设置为通过以下方式确定数据计算的运行位置:并发量提升倍速大于预设阈值时,则确定将数据计算由CPU迁移至GPU,并将GPU作为数据计算的运行位置;并发量提升倍速小于预设阈值时,则确定数据计算保留在CPU,并将CPU作为数据计算的运行位置。
实施例六
本发明实施例六提供了存储介质,存储介质用于存储指令,指令用于执行本发明任一实施例所提供的并发量提升倍速确定方法。
也即:获取硬件参数信息,其中,硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;根据硬件参数信息确定并发量提升倍速;根据并发量提升倍速确定数据计算的运行位置。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号或者计算机可读存储介质。计算机可读存储介质例如可以是—但不限于—电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (17)

1.一种并发量提升倍速确定方法,其特征在于,包括:
获取硬件参数信息,其中,所述硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;
根据所述硬件参数信息确定并发量提升倍速;
根据所述并发量提升倍速确定数据计算的运行位置。
2.根据权利要求1所述的方法,其特征在于,所述单机硬件环境的参数信息包括:总线传输速度、网络带宽、并行度和单核中央处理器CPU与单核图形处理器GPU性能比。
3.根据权利要求2所述的方法,其特征在于,所述根据所述硬件参数信息确定并发量提升倍速,包括:
根据所述单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长;
根据所述单机CPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机CPU可处理的数据流并发路数;
根据所述单机GPU处理单位窗口数据的计算时长以及所述预设单位窗口时长,确定单位窗口内单机GPU可处理的数据流并发路数;
确定所述单位窗口内单机GPU可处理的数据流并发路数与所述单位窗口内单机CPU可处理的数据流并发路数的第一比值结果,并将所述第一比值结果作为所述并发量提升倍速。
4.根据权利要求3所述的方法,其特征在于,所述根据所述单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长,包括:
根据所述网络带宽和所述预设单位窗口时长确定所述单机CPU处理单位窗口数据的计算时长;
根据所述总线传输速度、所述网络带宽、所述并行度、所述预设单位窗口时长和所述单核CPU与单核GPU性能比,确定所述单机GPU处理单位窗口数据的计算时长。
5.根据权利要求1所述的方法,其特征在于,所述分布式硬件环境的参数信息包括:总线传输速度、网络带宽、并行度、单核中央处理器CPU与单核图形处理器GPU性能比、分布式集群中机器总数和节点间网络传输速度。
6.根据权利要求5所述的方法,其特征在于,所述根据所述硬件参数信息确定并发量提升倍速,包括:
根据所述分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间;
根据所述单位窗口数据在分布式CPU的计算总时长和所述聚合操作期间数据在网络节点间的传输时间,确定分布式CPU处理单位窗口数据的耗时时长;
根据所述单位窗口数据在分布式GPU的计算总时长和所述聚合操作期间数据在网络节点间的传输时间,确定分布式GPU处理单位窗口数据的耗时时长;
根据所述分布式CPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式CPU可处理的数据流并发路数;
根据所述分布式GPU处理单位窗口数据的耗时时长以及所述预设单位窗口时长,确定单位窗口内分布式GPU可处理的数据流并发路数;
确定所述单位窗口内分布式GPU可处理的数据流并发路数与所述单位窗口内分布式CPU可处理的数据流并发路数的第二比值结果,并将所述第二比值结果作为所述并发量提升倍速。
7.根据权利要求6所述的方法,其特征在于,所述根据所述分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间,包括:
根据所述分布式集群中机器总数以及预设的每个聚合运算的机器数量,确定聚合次数以及聚合节点数;
根据所述网络带宽和所述预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;
根据所述单机CPU处理单位窗口数据的计算时长和所述聚合次数,确定所述单位窗口数据在分布式CPU的计算总时长;
根据所述线传输速度、所述网络带宽、所述并行度、所述预设单位窗口时长和所述单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长;
根据所述单机GPU处理单位窗口数据的计算时长和所述聚合次数,确定所述单位窗口数据在分布式GPU的计算总时长;
根据所述网络带宽、所述预设单位窗口时长、所述节点间网络传输速度和所述聚合节点数,确定所述聚合操作期间数据在网络节点间的传输时间。
8.根据权利要求4或7任一项所述的方法,其特征在于,所述根据所述并发量提升倍速确定数据计算的运行位置,包括:
所述并发量提升倍速大于预设阈值时,则确定将所述数据计算由CPU迁移至GPU,并将所述GPU作为所述数据计算的运行位置;
所述并发量提升倍速小于预设阈值时,则确定所述数据计算保留在所述CPU,并将所述CPU作为所述数据计算的运行位置。
9.一种计算机设备,包括处理器和存储器,所述存储器用于存储指令,当所述指令执行时使得所述处理器执行以下操作:
获取硬件参数信息,其中,所述硬件参数信息包括单机硬件环境的参数信息或分布式硬件环境的参数信息;
根据所述硬件参数信息确定并发量提升倍速;
根据所述并发量提升倍速确定数据计算的运行位置。
10.根据权利要求9所述的计算机设备,其特征在于,所述单机硬件环境的参数信息包括:总线传输速度、网络带宽、并行度和单核中央处理器CPU与单核图形处理器GPU性能比。
11.根据权利要求10所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式确定并发量提升倍速:
根据所述单机硬件环境的参数信息确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长;
根据所述单机CPU处理单位窗口数据的计算时长以及预设单位窗口时长,确定单位窗口内单机CPU可处理的数据流并发路数;
根据所述单机GPU处理单位窗口数据的计算时长以及所述预设单位窗口时长,确定单位窗口内单机GPU可处理的数据流并发路数;
确定所述单位窗口内单机GPU可处理的数据流并发路数与所述单位窗口内单机CPU可处理的数据流并发路数的第一比值结果,并将所述第一比值结果作为所述并发量提升倍速。
12.根据权利要求11所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式确定单机CPU处理单位窗口数据的计算时长,以及单机GPU处理单位窗口数据的计算时长:
根据所述网络带宽和所述预设单位窗口时长确定所述单机CPU处理单位窗口数据的计算时长;
根据所述总线传输速度、所述网络带宽、所述并行度、所述预设单位窗口时长和所述单核CPU与单核GPU性能比,确定所述单机GPU处理单位窗口数据的计算时长。
13.根据权利要求9所述的计算机设备,其特征在于,所述分布式硬件环境的参数信息包括:总线传输速度、网络带宽、并行度、单机中央处理器CPU与单机图形处理器GPU性能比、分布式集群中机器总数和节点间网络传输速度。
14.根据权利要求13所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式确定并发量提升倍速:
根据所述分布式硬件环境的参数信息确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间;
根据所述单位窗口数据在分布式CPU的计算总时长和所述聚合操作期间数据在网络节点间的传输时间,确定分布式CPU处理单位窗口数据的耗时时长;
根据所述单位窗口数据在分布式GPU的计算总时长和所述聚合操作期间数据在网络节点间的传输时间,确定分布式GPU处理单位窗口数据的耗时时长;
根据所述分布式CPU处理单位窗口数据的耗时时长以及预设单位窗口时长,确定单位窗口内分布式CPU可处理的数据流并发路数;
根据所述分布式GPU处理单位窗口数据的耗时时长以及所述预设单位窗口时长,确定单位窗口内分布式GPU可处理的数据流并发路数;
确定所述单位窗口内分布式GPU可处理的数据流并发路数与所述单位窗口内分布式CPU可处理的数据流并发路数的第二比值结果,并将所述第二比值结果作为所述并发量提升倍速。
15.根据权利要求14所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式确定单位窗口数据在分布式CPU的计算总时长、单位窗口数据在分布式GPU的计算总时长以及聚合操作期间数据在网络节点间的传输时间:
根据所述分布式集群中机器总数以及预设的每个聚合运算的机器数量,确定聚合次数以及聚合节点数;
根据所述网络带宽和所述预设单位窗口时长确定单机CPU处理单位窗口数据的计算时长;
根据所述单机CPU处理单位窗口数据的计算时长和所述聚合次数,确定所述单位窗口数据在分布式CPU的计算总时长;
根据所述线传输速度、所述网络带宽、所述并行度、所述预设单位窗口时长和所述单核CPU与单核GPU性能比,确定单机GPU处理单位窗口数据的计算时长;
根据所述单机GPU处理单位窗口数据的计算时长和所述聚合次数,确定所述单位窗口数据在分布式GPU的计算总时长;
根据所述网络带宽、所述预设单位窗口时长、所述节点间网络传输速度和所述聚合节点数,确定所述聚合操作期间数据在网络节点间的传输时间。
16.根据权利要求12或15任一项所述的计算机设备,其特征在于,所述处理器是设置为通过以下方式确定数据计算的运行位置:
所述并发量提升倍速大于预设阈值时,则确定将所述数据计算由CPU迁移至GPU,并将所述GPU作为所述数据计算的运行位置;
所述并发量提升倍速小于预设阈值时,则确定所述数据计算保留在所述CPU,并将所述CPU作为所述数据计算的运行位置。
17.一种存储介质,所述存储介质用于存储指令,所述指令用于执行如权利要求1-8任一项所述的并发量提升倍速确定方法。
CN202010032636.XA 2020-01-13 2020-01-13 一种并发量提升倍速确定方法、设备及介质 Active CN111240820B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010032636.XA CN111240820B (zh) 2020-01-13 2020-01-13 一种并发量提升倍速确定方法、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010032636.XA CN111240820B (zh) 2020-01-13 2020-01-13 一种并发量提升倍速确定方法、设备及介质

Publications (2)

Publication Number Publication Date
CN111240820A true CN111240820A (zh) 2020-06-05
CN111240820B CN111240820B (zh) 2020-11-24

Family

ID=70865237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010032636.XA Active CN111240820B (zh) 2020-01-13 2020-01-13 一种并发量提升倍速确定方法、设备及介质

Country Status (1)

Country Link
CN (1) CN111240820B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385336A (zh) * 2021-12-27 2022-04-22 同济大学 一种流大数据处理任务的抗干扰调度方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109213601A (zh) * 2018-09-12 2019-01-15 华东师范大学 一种基于cpu-gpu的负载均衡方法及设备
US20190340145A1 (en) * 2013-03-14 2019-11-07 Nvidia Corporation Pcie traffic tracking hardware in a unified virtual memory system
CN110489223A (zh) * 2019-08-26 2019-11-22 北京邮电大学 一种异构集群中任务调度方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190340145A1 (en) * 2013-03-14 2019-11-07 Nvidia Corporation Pcie traffic tracking hardware in a unified virtual memory system
CN109213601A (zh) * 2018-09-12 2019-01-15 华东师范大学 一种基于cpu-gpu的负载均衡方法及设备
CN110489223A (zh) * 2019-08-26 2019-11-22 北京邮电大学 一种异构集群中任务调度方法、装置及电子设备

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114385336A (zh) * 2021-12-27 2022-04-22 同济大学 一种流大数据处理任务的抗干扰调度方法和装置

Also Published As

Publication number Publication date
CN111240820B (zh) 2020-11-24

Similar Documents

Publication Publication Date Title
US9720740B2 (en) Resource management in MapReduce architecture and architectural system
US11144323B2 (en) Independent mapping of threads
US8997108B2 (en) Analysis of operator graph and dynamic reallocation of a resource to improve performance
US20180293110A1 (en) Capacity and load analysis using storage attributes
JP5911286B2 (ja) ハードウェア・アクセラレータに対する関数の実行時割り当ての装置、方法、およびプログラム
US8732717B2 (en) Resource allocation
US9996349B2 (en) Clearing specified blocks of main storage
CN104636185A (zh) 业务上下文管理方法、物理主机、pcie设备及迁移管理设备
US9229785B2 (en) Policy-based workload performance optimization for dynamically distributed OSGi application
CN114911596B (zh) 针对模型训练的调度方法、装置、电子设备和存储介质
CN111240820B (zh) 一种并发量提升倍速确定方法、设备及介质
US20140258290A1 (en) Processing control in a streaming application
CN112306628B (zh) 一种基于多核服务器的虚拟网络功能资源管理系统
US9703614B2 (en) Managing a free list of resources to decrease control complexity and reduce power consumption
CN115904510A (zh) 多操作数指令的处理方法、图形处理器及存储介质
CN117093335A (zh) 分布式存储系统的任务调度方法及装置
CN115016890A (zh) 虚拟机资源分配方法、装置、电子设备及存储介质
CN109947559B (zh) 优化MapReduce计算的方法、装置、设备和计算机存储介质
US10169115B1 (en) Predicting exhausted storage for a blocking API
CN117270824A (zh) 一种项目构建方法、装置、设备和介质
CN117435122A (zh) 数据读写处理方法、装置、电子设备及存储介质
CN116701260A (zh) 一种访问方法、装置、电子设备及可读存储介质
CN117130970A (zh) 一种多芯片数据传输方法、装置、芯片及存储介质
CN118170499A (zh) 虚拟云盘分割的方法及装置、电子设备和存储介质
CN113296689A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai

Patentee after: Star link information technology (Shanghai) Co.,Ltd.

Address before: 200233 11-12 / F, building B, 88 Hongcao Road, Xuhui District, Shanghai

Patentee before: TRANSWARP TECHNOLOGY (SHANGHAI) Co.,Ltd.

CP01 Change in the name or title of a patent holder