CN106776024A - 一种资源调度装置、系统和方法 - Google Patents
一种资源调度装置、系统和方法 Download PDFInfo
- Publication number
- CN106776024A CN106776024A CN201611146442.2A CN201611146442A CN106776024A CN 106776024 A CN106776024 A CN 106776024A CN 201611146442 A CN201611146442 A CN 201611146442A CN 106776024 A CN106776024 A CN 106776024A
- Authority
- CN
- China
- Prior art keywords
- task
- processor
- outside
- resource
- predistribution
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 230000002452 interceptive effect Effects 0.000 claims abstract description 49
- 238000012544 monitoring process Methods 0.000 claims abstract description 26
- 230000005540 biological transmission Effects 0.000 claims description 8
- 230000001105 regulatory effect Effects 0.000 claims description 6
- 230000003993 interaction Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 3
- 241001269238 Data Species 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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/5083—Techniques for rebalancing the load in a distributed system
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Hardware Redundancy (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明提供了一种资源调度装置、系统和方法,该资源调度装置包括:数据链路交互模块和资源动态控制模块,其中,数据链路交互模块分别连接外部的服务器、外部的至少两个处理器以及资源动态控制模块;资源动态控制模块连接外部的服务器,用于监测外部的服务器负载的预分配任务对应的任务量,根据负载量生成对应的路由切换指令,并将路由切换指令发送给数据链路交互模块;数据链路交互模块,用于接收外部的服务器分配的预分配任务以及资源动态控制模块发送的路由切换指令,并根据路由切换指令将预分配任务传输给至少一个目标处理器。本发明提供的方案能够有效地降低资源调度的延迟。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种资源调度装置、系统和方法。
背景技术
计算资源池化,作为一种新型集中式的计算体系,已逐渐应用到复杂计算任务需求中。为了使计算资源能够均衡高效的工作,计算资源的调度越来越重要。
目前,计算资源的调度方式主要通过网络实现,即各个计算节点资源与调度中心通过网络连接,即调度中心通过网络调度计算节点资源。而网络在进行数据传输过程中,由于网络带宽等的影响,常常造成计算资源的调度延迟较高。
发明内容
本发明实施例提供了一种资源调度装置、系统和方法,能够有效地降低资源调度的延迟。
第一方面,一种资源调度装置,包括:数据链路交互模块和资源动态控制模块,其中,
所述数据链路交互模块分别连接外部的服务器、外部的至少两个处理器以及所述资源动态控制模块;
所述资源动态控制模块连接所述外部的服务器,用于监测所述外部的服务器负载的预分配任务对应的任务量,根据所述负载量生成对应的路由切换指令,并将路由切换指令发送给所述数据链路交互模块;
所述数据链路交互模块,用于接收所述外部的服务器分配的预分配任务以及所述资源动态控制模块发送的路由切换指令,并根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器。
优选地,所述数据链路交互模块包括:第一FPGA芯片、第二FPGA芯片和×16带宽PCIE总线,其中,
所述第一FPGA芯片,用于对所述×16带宽PCIE总线进行一路转四路;
所述第二FPGA芯片,用于对所述四路转十六路,并通过所述十六路中的每一路与一个外部的所述处理器相连;
所述资源动态控制模块连接所述第二FPGA芯片,用于发送所述路由切换指令给所述第二FPGA芯片;
所述第二FPGA芯片,用于根据所述路由切换指令,在所述十六路中选定至少一个任务传输链路,并通过所述至少一个任务传输链路将所述任务传输给所述至少一个任务传输链路对应的至少一个目标处理器。
优选地,所述资源动态控制模块,包括:计算子模块和指令生成子模块,其中,
所述计算子模块,用于确定单个所述外部的处理器的计算容量,并根据所述单个所述外部的处理器的计算容量和监测到的任务量,计算目标处理器的个数;
所述指令生成子模块,用于获取所述外部的服务器提供的处理器使用情况,根据所述处理器使用情况和所述计算子单元计算出的目标处理器的个数,生成对应的路由切换指令。
优选地,所述计算子模块,进一步用于:
根据下述计算公式,计算目标处理器的个数;
其中,Y表征目标处理器的个数;M表征任务量;N表征单个所述外部的处理器的计算容量。
优选地,
所述资源动态控制模块,进一步用于监测所述外部的服务器负载的预分配任务对应的优先级,当所述预分配任务对应的优先级高于当前运行任务时,则发送中止指令给所述数据链路交互模块;
所述数据链路交互模块,进一步用于当接收到所述中止指令时,中止外部的处理器处理所述当前运行任务,并将所述预分配任务传输给至少一个目标处理器。
第二方面,一种资源调度系统,包括:上述任一所述的资源调度装置、服务器和至少两个处理器,其中,
所述服务器,用于接收外部输入的预分配任务,并通过所述资源调度装置将所述预分配任务分配给所述至少两个处理器中的至少一个目标处理器。
优选地,
所述服务器,进一步用于统计所述至少两个处理器使用情况,并将所述两个处理器使用情况发送给所述资源调度装置;
所述资源调度装置,根据所述至少两个处理器使用情况,生成对应的路由切换指令,并通过所述路由切换指令将所述预分配任务分配给所述至少两个处理器中的至少一个目标处理器。
优选地,
所述服务器,进一步用于对所述预分配任务进行优先级标记;
所述资源调度装置,用于获取所述服务器标记的所述预分配任务的优先级,根据标记的所述预分配任务的优先级,当所述预分配任务的优先级大于当前处理器处理的当前运行任务时,则中断所述当前处理器对所述当前运行任务的处理,并将所述预分配任务分配给所述当前处理器。
第三方面,一种资源调度方法,包括:
通过资源动态控制模块监测外部的服务器负载的预分配任务对应的任务量;
根据所述负载量,生成对应的路由切换指令,并将路由切换指令发送给数据链路交互模块;
所述数据链路交互模块根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器。
优选地,上述方法进一步包括:通过资源动态控制模块确定单个处理器的计算容量;
在所述监测外部的服务器负载的预分配任务对应的任务量之后,在所述生成对应的路由切换指令之前,进一步包括:
根据所述单个所述外部的处理器的计算容量和监测到的任务量,计算目标处理器的个数,并获取所述外部的服务器提供的处理器使用情况;
所述生成对应的路由切换指令,包括:根据所述处理器使用情况和计算出的目标处理器的个数,生成对应的路由切换指令。
优选地,所述计算目标处理器的个数,包括:
根据下述计算公式,计算目标处理器的个数;
其中,Y表征目标处理器的个数;M表征任务量;N表征单个所述外部的处理器的计算容量。
本发明实施例提供了一种资源调度装置、系统和方法,通过数据链路交互模块分别连接外部的服务器、外部的至少两个处理器以及所述资源动态控制模块;资源动态控制模块连接所述外部的服务器,通过监测所述外部的服务器负载的预分配任务对应的任务量,根据所述负载量生成对应的路由切换指令,并将路由切换指令发送给所述数据链路交互模块;通过数据链路交互模块接收所述外部的服务器分配的预分配任务以及所述资源动态控制模块发送的路由切换指令,并根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器,任务分配给处理器的过程通过数据链路交互模块,而数据链路交互模块连通服务器与处理器,实现服务器与处理器间任务以及任务计算结果的交互,而无须网络的进行数据分享,能够有效地降低资源调度的延迟。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种资源调度装置的结构示意图;
图2是本发明另一个实施例提供的一种资源调度装置的结构示意图;
图3是本发明又一个实施例提供的一种资源调度装置的结构示意图;
图4是本发明一个实施例提供的一种资源调度系统的结构示意图;
图5是本发明一个实施例提供的一种资源调度方法的流程图;
图6是本发明另一个实施例提供的一种资源调度系统的结构示意图;
图7是本发明另一个实施例提供的一种资源调度方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种资源调度装置,该资源调度装置可包括:数据链路交互模块101和资源动态控制模块102,其中,
所述数据链路交互模块101分别连接外部的服务器、外部的至少两个处理器以及所述资源动态控制模块102;
所述资源动态控制模块102连接所述外部的服务器,用于监测所述外部的服务器负载的预分配任务对应的任务量,根据所述负载量生成对应的路由切换指令,并将路由切换指令发送给所述数据链路交互模块101;
所述数据链路交互模块101,用于接收所述外部的服务器分配的预分配任务以及所述资源动态控制模块102发送的路由切换指令,并根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器。
在图1所示的实施例中,通过资源动态控制模块连接所述外部的服务器,通过监测所述外部的服务器负载的预分配任务对应的任务量,根据所述负载量生成对应的路由切换指令,并将路由切换指令发送给所述数据链路交互模块;通过数据链路交互模块接收所述外部的服务器分配的预分配任务以及所述资源动态控制模块发送的路由切换指令,并根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器,任务分配给处理器的过程通过数据链路交互模块,而数据链路交互模块连通服务器与处理器,实现服务器与处理器间任务以及任务计算结果的交互,而无须网络的进行数据分享,能够有效地降低资源调度的延迟。
在本发明另一实施例中,如图2所示,所述数据链路交互模块101包括:第一FPGA芯片1011、第二FPGA芯片1012和×16带宽PCIE总线1013,其中,
所述第一FPGA芯片1011,用于对所述×16带宽PCIE总线1013进行一路转四路;
所述第二FPGA芯片1012,用于对所述四路转十六路,并通过所述十六路中的每一路与一个外部的所述处理器相连;
所述资源动态控制模块102连接所述第二FPGA芯片1012,用于发送所述路由切换指令给所述第二FPGA芯片1012;
所述第二FPGA芯片1012,用于根据所述路由切换指令,在所述十六路中选定至少一个任务传输链路,并通过所述至少一个任务传输链路将所述任务传输给所述至少一个任务传输链路对应的至少一个目标处理器。
上述FPGA芯片上具有多个端口,可以通过端口可以实现与处理器、其他FPGA芯片、传输总线以及资源动态控制模块等,并为每个端口分配对应的功能,从而实现数据交互。
例如:X16带宽的PCIE总线A一端连接外设的服务器,另一端连接第一FPGA芯片,则PCIE总线A经过第一FPGA芯片实现PCIE总线数据的1路转4路交换,即端口A1,A2,A3,A4。端口A1,A2,A3,A4分别经过第二FPGA芯片实现PCIE总线数据的4路转16路交换,即形成数据下行链路接口A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44,从而实现1路转16路的X16带宽PCIE总线的交换传输。
如图3所示,在本发明又一实施例中,所述资源动态控制模块102,包括:计算子模块1021和指令生成子模块1022,其中,
所述计算子模块1021,用于确定单个所述外部的处理器的计算容量,并根据所述单个所述外部的处理器的计算容量和监测到的任务量,计算目标处理器的个数;
所述指令生成子模块1022,用于获取所述外部的服务器提供的处理器使用情况,根据所述处理器使用情况和所述计算子单元1021计算出的目标处理器的个数,生成对应的路由切换指令。
在本发明另一实施例中,所述计算子模块,进一步用于:
根据下述计算公式,计算目标处理器的个数;
其中,Y表征目标处理器的个数;M表征任务量;N表征单个所述外部的处理器的计算容量。
在本发明又一实施例中,所述资源动态控制模块102,进一步用于监测所述外部的服务器负载的预分配任务对应的优先级,当所述预分配任务对应的优先级高于当前运行任务时,则发送中止指令给所述数据链路交互模块101;
所述数据链路交互模块101,进一步用于当接收到所述中止指令时,中止外部的处理器处理所述当前运行任务,并将所述预分配任务传输给至少一个目标处理器。
在本发明另一实施例中,所述资源动态控制模块102包括:ARM芯片。
如图4所示,本发明实施例提供一种资源调度系统,包括:上述任一所述的资源调度装置401、服务器402和至少两个处理器403,其中,
所述服务器402,用于接收外部输入的预分配任务,并通过所述资源调度装置401将所述预分配任务分配给所述至少两个处理器403中的至少一个目标处理器。
在本发明另一实施例中,所述服务器402,进一步用于统计所述至少两个处理器使用情况,并将所述两个处理器使用情况发送给所述资源调度装置401;
所述资源调度装置401,根据所述至少两个处理器使用情况,生成对应的路由切换指令,并通过所述路由切换指令将所述预分配任务分配给所述至少两个处理器403中的至少一个目标处理器。
在本发明又一实施例中,所述服务器402,进一步用于对所述预分配任务进行优先级标记;
所述资源调度装置401,用于获取所述服务器402标记的所述预分配任务的优先级,根据标记的所述预分配任务的优先级,当所述预分配任务的优先级大于当前处理器处理的当前运行任务时,则中断所述当前处理器对所述当前运行任务的处理,并将所述预分配任务分配给所述当前处理器。
如图5所示,本发明实施例提供一种资源调度方法,该方法可以包括如下步骤:
步骤501:通过资源动态控制模块监测外部的服务器负载的预分配任务对应的任务量;
步骤502:根据所述负载量,生成对应的路由切换指令,并将路由切换指令发送给数据链路交互模块;
步骤503:数据链路交互模块根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器。
在本发明一个实施例中,为了保证任务的处理效率,上述方法进一步包括:通过资源动态控制模块确定单个处理器的计算容量;并在步骤501之后,在步骤502之前,进一步包括:根据所述单个所述外部的处理器的计算容量和监测到的任务量,计算目标处理器的个数,并获取所述外部的服务器提供的处理器使用情况;步骤502的具体实施方式,包括:根据所述处理器使用情况和计算出的目标处理器的个数,生成对应的路由切换指令。
在本发明一个实施例中,所述计算目标处理器的个数,包括:根据下述计算公式,计算目标处理器的个数;
其中,Y表征目标处理器的个数;M表征任务量;N表征单个所述外部的处理器的计算容量。
在本发明一个实施例中,为了能够实现对优先级较高的任务优先进行处理,上述方法进一步包括:通过资源动态控制模块监测外部的服务器负载的预分配任务对应的优先级,当所述预分配任务对应的优先级高于当前运行任务时,则发送中止指令给所述数据链路交互模块;当数据链路交互模块接收到所述中止指令时,中止外部的处理器处理所述当前运行任务,并将所述预分配任务传输给至少一个目标处理器。
下面以图6所示的资源调度系统对任务A进行处理为例,进一步说明资源调度方法,如图7所示,该资源调度方法可以包括如下步骤:
步骤701:服务器接收到任务A的处理请求,并通过任务调度装置中的数据链路交互模块获取各个处理器的使用情况;
如图6所示,服务器602通过任务调度装置中的×16PCIE总线60113连接到第一FPGA芯片60111,第一FPGA芯片60111通过四个端口A1,A2,A3及A4连接到第二FPGA芯片60112上,通过第二FPGA芯片60112上的16个端口A11,A12,A13,A14,A21,A22,A23,A24,A31,A32,A33,A34,A41,A42,A43,A44分别连接一个处理器(GPU),即为服务器挂载16个处理器(GPU)。上述×16PCIE总线60113、第一FPGA芯片60111以及第二FPGA芯片60112组合成为任务调度装置601中的数据链路交互模块6011。
由于服务器602通过任务调度装置601中的数据链路交互模块6011与16个GPU连接,则在该步骤中,服务器602通过数据链路交互模块6011获取各个处理器(GPU)的使用情况,该使用情况可包括:处于待机状态或者处于工作状态,以及处于工作状态时,处理器处理的任务等。
步骤702:服务器标记任务A的优先级;
在该步骤中,服务器可以针对任务的类型等对任务的优先级进行标记,例如:任务A为某一正在处理任务B的前序任务,则任务A的优先级应该高于任务B的优先级。
步骤703:任务调度装置中的资源动态控制模块确定单个处理器的计算容量;
在图6所示的任务调度系统中,每一个处理器(GPU)的计算容量相同,例如:计算容量为服务器CPU的20%等。
步骤704:任务调度装置中的资源动态控制模块监测服务器接收到的任务A的任务量及任务A的优先级;
如图6所示,任务调度装置601中的资源动态控制模块6012与服务器602相连,监测服务器602接收到任务A的任务量和任务A的优先级,该资源动态控制模块6012可以为ARM芯片。
步骤705:资源动态控制模块根据单个处理器的计算容量和监测到的任务量,计算所需目标处理器的个数;
该步骤的计算结果,可以通过下述计算公式(1),计算得到:
其中,Y表征目标处理器的个数;M表征任务量;N表征单个所述外部的处理器的计算容量。
另外,每一个目标处理器的处理量可以通过下述计算公式(2),计算得到:
其中,W表征每个目标处理器的处理量,M表征任务量;Y表征目标处理器的个数。
通过计算公式(2)计算目标处理器的处理量,可以实现任务量均衡分担,从而保证任务的处理效率。
另外,还可以按照单个处理器的计算容量为每一个目标处理器分配任务。
步骤706:根据计算出的所需目标处理器的个数,生成对应的路由切换指令;
该步骤生成的路由切换指令主要是控制图6所示的数据链路交互模块6011的连通线路,例如:将任务A分配给A11,A12以及A44端口连接的处理器时,则该步骤生成的路由切换指令使A11,A12以及A44端口所在的线路联通,以方便服务器与处理器间进行数据传输。
步骤707:根据各个处理器的使用情况,确定处于待机状态的处理器个数;
步骤708:判断处于待机状态的处理器个数是否不小于所需目标处理器的个数,如果是,则执行步骤709;否则,执行步骤710;
该步骤主要是后续是否暂停其他处理器的基础,当处于待机状态的处理器个数不小于所需目标处理器的个数时,现有的处于待机状态的处理器即可完成任务A的计算,则无需暂停其他处理器,当处于待机状态的处理器个数小于所需目标处理器的个数时,现有的处于待机状态的处理器不足以完成任务A的计算,则需要进一步根据任务A的优先级判断是否需要为任务A暂停其他处理器。
步骤709:根据路由切换指令,在处于待机状态的处理器中选定至少一个目标处理器,并将任务A传输给至少一个目标处理器,结束当前流程;
如图6所示,A11,A12,A33及A44端口对应的处理器处于待机状态,而任务A仅需要3个处理器即可完成,则资源动态控制模块6012可随机将任务A分配给A11,A12及A44端口对应的处理器,即资源动态控制模块6012生成对应的路由切换指令,该步骤根据路由切换指令,将任务A分配给A11,A12及A44端口对应的处理器。
步骤710:当任务A的优先级高于处理器正在处理的其他任务的优先级时,中止部分处理器处理其他任务;
例如:任务A需要5个目标处理器进行处理,而当前仅有4个处理器处于待机状态,而处理器中正在处理的任务B的优先级低于任务A的优先级,则需要将任意一个运行有任务B的处理器中止,以满足任务A所需要的5个目标处理器。
步骤711:将任务A分配给处于待机状态的处理器和中止的部分处理器。
根据上述方案,本发明的各实施例,至少具有如下有益效果:
1.通过数据链路交互模块分别连接外部的服务器、外部的至少两个处理器以及所述资源动态控制模块;资源动态控制模块连接所述外部的服务器,通过监测所述外部的服务器负载的预分配任务对应的任务量,根据所述负载量生成对应的路由切换指令,并将路由切换指令发送给所述数据链路交互模块;通过数据链路交互模块接收所述外部的服务器分配的预分配任务以及所述资源动态控制模块发送的路由切换指令,并根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器,任务分配给处理器的过程通过数据链路交互模块,而数据链路交互模块连通服务器与处理器,实现服务器与处理器间任务以及任务计算结果的交互,而无须网络的进行数据分享,能够有效地降低资源调度的延迟。
2.由于数据间通过PCIE总线进行传输,与现有的网络传输,能够有效地提高数据传输的及时性和稳定性。
3.通过确定单个所述外部的处理器的计算容量,并根据所述单个所述外部的处理器的计算容量和监测到的任务量,计算目标处理器的个数,并根据获取的外部的服务器提供的处理器使用情况和计算出的目标处理器的个数,生成对应的路由切换指令,保证目标处理器的个数能够满足任务的处理,从而保证处理任务的高效性。
4.通过监测服务器负载的预分配任务对应的优先级,当所述预分配任务对应的优先级高于当前运行任务时,通过中止指令中止外部的处理器处理当前运行任务,并将预分配任务传输给至少一个目标处理器,实现了按照优先级处理任务,进一步保证了计算性能。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种资源调度装置,其特征在于,包括:数据链路交互模块和资源动态控制模块,其中,
所述数据链路交互模块分别连接外部的服务器、外部的至少两个处理器以及所述资源动态控制模块;
所述资源动态控制模块连接所述外部的服务器,用于监测所述外部的服务器负载的预分配任务对应的任务量,根据所述负载量生成对应的路由切换指令,并将路由切换指令发送给所述数据链路交互模块;
所述数据链路交互模块,用于接收所述外部的服务器分配的预分配任务以及所述资源动态控制模块发送的路由切换指令,并根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器。
2.根据权利要求1所述的资源调度装置,其特征在于,所述数据链路交互模块包括:第一FPGA芯片、第二FPGA芯片和×16带宽PCIE总线,其中,
所述第一FPGA芯片,用于对所述×16带宽PCIE总线进行一路转四路;
所述第二FPGA芯片,用于对所述四路转十六路,并通过所述十六路中的每一路与一个外部的所述处理器相连;
所述资源动态控制模块连接所述第二FPGA芯片,用于发送所述路由切换指令给所述第二FPGA芯片;
所述第二FPGA芯片,用于根据所述路由切换指令,在所述十六路中选定至少一个任务传输链路,并通过所述至少一个任务传输链路将所述任务传输给所述至少一个任务传输链路对应的至少一个目标处理器。
3.根据权利要求1或2所述的资源调度装置,其特征在于,所述资源动态控制模块,包括:计算子模块和指令生成子模块,其中,
所述计算子模块,用于确定单个所述外部的处理器的计算容量,并根据所述单个所述外部的处理器的计算容量和监测到的任务量,计算目标处理器的个数;
所述指令生成子模块,用于获取所述外部的服务器提供的处理器使用情况,根据所述处理器使用情况和所述计算子单元计算出的目标处理器的个数,生成对应的路由切换指令。
4.根据权利要求3所述的资源调度装置,其特征在于,所述计算子模块,进一步用于:
根据下述计算公式,计算目标处理器的个数;
其中,Y表征目标处理器的个数;M表征任务量;N表征单个所述外部的处理器的计算容量。
5.根据权利要求1至4任一所述的资源调度装置,其特征在于,
所述资源动态控制模块,进一步用于监测所述外部的服务器负载的预分配任务对应的优先级,当所述预分配任务对应的优先级高于当前运行任务时,则发送中止指令给所述数据链路交互模块;
所述数据链路交互模块,进一步用于当接收到所述中止指令时,中止外部的处理器处理所述当前运行任务,并将所述预分配任务传输给至少一个目标处理器。
6.一种资源调度系统,其特征在于,包括:权利要求1至5任一所述的资源调度装置、服务器和至少两个处理器,其中,
所述服务器,用于接收外部输入的预分配任务,并通过所述资源调度装置将所述预分配任务分配给所述至少两个处理器中的至少一个目标处理器。
7.根据权利要求6所述的资源调度系统,其特征在于,
所述服务器,进一步用于统计所述至少两个处理器使用情况,并将所述两个处理器使用情况发送给所述资源调度装置;
所述资源调度装置,根据所述至少两个处理器使用情况,生成对应的路由切换指令,并通过所述路由切换指令将所述预分配任务分配给所述至少两个处理器中的至少一个目标处理器;
和/或,
所述服务器,进一步用于对所述预分配任务进行优先级标记;
所述资源调度装置,用于获取所述服务器标记的所述预分配任务的优先级,根据标记的所述预分配任务的优先级,当所述预分配任务的优先级大于当前处理器处理的当前运行任务时,则中断所述当前处理器对所述当前运行任务的处理,并将所述预分配任务分配给所述当前处理器。
8.一种资源调度方法,其特征在于,包括:
通过资源动态控制模块监测外部的服务器负载的预分配任务对应的任务量;
根据所述负载量,生成对应的路由切换指令,并将路由切换指令发送给数据链路交互模块;
所述数据链路交互模块根据所述路由切换指令将所述预分配任务传输给至少一个目标处理器。
9.根据权利要求8所述的方法,其特征在于,进一步包括:通过资源动态控制模块确定单个处理器的计算容量;
在所述监测外部的服务器负载的预分配任务对应的任务量之后,在所述生成对应的路由切换指令之前,进一步包括:
根据所述单个所述外部的处理器的计算容量和监测到的任务量,计算目标处理器的个数,并获取所述外部的服务器提供的处理器使用情况;
所述生成对应的路由切换指令,包括:根据所述处理器使用情况和计算出的目标处理器的个数,生成对应的路由切换指令。
10.根据权利要求9所述的方法,其特征在于,所述计算目标处理器的个数,包括:
根据下述计算公式,计算目标处理器的个数;
其中,Y表征目标处理器的个数;M表征任务量;N表征单个所述外部的处理器的计算容量。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146442.2A CN106776024B (zh) | 2016-12-13 | 2016-12-13 | 一种资源调度装置、系统和方法 |
US16/097,027 US20190087236A1 (en) | 2016-12-13 | 2017-07-20 | Resource scheduling device, system, and method |
PCT/CN2017/093685 WO2018107751A1 (zh) | 2016-12-13 | 2017-07-20 | 一种资源调度装置、系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611146442.2A CN106776024B (zh) | 2016-12-13 | 2016-12-13 | 一种资源调度装置、系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106776024A true CN106776024A (zh) | 2017-05-31 |
CN106776024B CN106776024B (zh) | 2020-07-21 |
Family
ID=58880677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611146442.2A Active CN106776024B (zh) | 2016-12-13 | 2016-12-13 | 一种资源调度装置、系统和方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20190087236A1 (zh) |
CN (1) | CN106776024B (zh) |
WO (1) | WO2018107751A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107751A1 (zh) * | 2016-12-13 | 2018-06-21 | 郑州云海信息技术有限公司 | 一种资源调度装置、系统和方法 |
CN109189699A (zh) * | 2018-09-21 | 2019-01-11 | 郑州云海信息技术有限公司 | 多路服务器通信方法、系统、中间控制器及可读存储介质 |
CN112597092A (zh) * | 2020-12-29 | 2021-04-02 | 深圳市优必选科技股份有限公司 | 一种数据交互方法、机器人及存储介质 |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112035174B (zh) * | 2019-05-16 | 2022-10-21 | 杭州海康威视数字技术股份有限公司 | 运行web服务的方法、装置及计算机存储介质 |
CN112579281B (zh) * | 2019-09-27 | 2023-10-10 | 杭州海康威视数字技术股份有限公司 | 资源分配方法、装置、电子设备及存储介质 |
CN110659844A (zh) * | 2019-09-30 | 2020-01-07 | 哈尔滨工程大学 | 一种面向邮轮舾装车间装配资源调度的优化方法 |
CN111104223B (zh) * | 2019-12-17 | 2023-06-09 | 腾讯科技(深圳)有限公司 | 任务处理方法、装置、计算机可读存储介质和计算机设备 |
CN114356511B (zh) * | 2021-08-16 | 2023-06-27 | 中电长城网际系统应用有限公司 | 任务分配方法及任务分配系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233491A (zh) * | 2005-07-14 | 2008-07-30 | 国际商业机器公司 | 检测集群环境中动态工作负载调度的不平衡的系统和方法 |
CN102118297A (zh) * | 2009-12-31 | 2011-07-06 | 联想(北京)有限公司 | 一种计算机机群作业调度方法和系统 |
CN103297511A (zh) * | 2013-05-15 | 2013-09-11 | 百度在线网络技术(北京)有限公司 | 高度动态环境下的客户端/服务器的调度方法和系统 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
WO2014098790A1 (en) * | 2012-12-17 | 2014-06-26 | Empire Technology Development Llc | Load balancing scheme |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
CN104657330A (zh) * | 2015-03-05 | 2015-05-27 | 浪潮电子信息产业股份有限公司 | 一种基于x86架构处理器和FPGA的高性能异构计算平台 |
CN105791412A (zh) * | 2016-04-04 | 2016-07-20 | 合肥博雷电子信息技术有限公司 | 一种大数据处理平台网络架构 |
CN105897861A (zh) * | 2016-03-28 | 2016-08-24 | 乐视控股(北京)有限公司 | 一种服务器集群的服务器部署方法及系统 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098223B (zh) * | 2011-02-12 | 2012-08-29 | 浪潮(北京)电子信息产业有限公司 | 节点设备调度方法、装置和系统 |
US9286472B2 (en) * | 2012-05-22 | 2016-03-15 | Xockets, Inc. | Efficient packet handling, redirection, and inspection using offload processors |
KR102052964B1 (ko) * | 2013-03-12 | 2019-12-06 | 삼성전자 주식회사 | 컴퓨팅 스케줄링 방법 및 시스템 |
US9207978B2 (en) * | 2013-10-09 | 2015-12-08 | Wipro Limited | Method and system for efficient execution of ordered and unordered tasks in multi-threaded and networked computing |
CN103647723B (zh) * | 2013-12-26 | 2016-08-24 | 深圳市迪菲特科技股份有限公司 | 一种流量监控的方法和系统 |
US9547616B2 (en) * | 2014-02-19 | 2017-01-17 | Datadirect Networks, Inc. | High bandwidth symmetrical storage controller |
CN106776024B (zh) * | 2016-12-13 | 2020-07-21 | 苏州浪潮智能科技有限公司 | 一种资源调度装置、系统和方法 |
-
2016
- 2016-12-13 CN CN201611146442.2A patent/CN106776024B/zh active Active
-
2017
- 2017-07-20 US US16/097,027 patent/US20190087236A1/en not_active Abandoned
- 2017-07-20 WO PCT/CN2017/093685 patent/WO2018107751A1/zh active Application Filing
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101233491A (zh) * | 2005-07-14 | 2008-07-30 | 国际商业机器公司 | 检测集群环境中动态工作负载调度的不平衡的系统和方法 |
CN102118297A (zh) * | 2009-12-31 | 2011-07-06 | 联想(北京)有限公司 | 一种计算机机群作业调度方法和系统 |
WO2014098790A1 (en) * | 2012-12-17 | 2014-06-26 | Empire Technology Development Llc | Load balancing scheme |
CN103297511A (zh) * | 2013-05-15 | 2013-09-11 | 百度在线网络技术(北京)有限公司 | 高度动态环境下的客户端/服务器的调度方法和系统 |
CN103729480A (zh) * | 2014-01-29 | 2014-04-16 | 重庆邮电大学 | 一种多核实时操作系统多个就绪任务快速查找及调度方法 |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
CN104657330A (zh) * | 2015-03-05 | 2015-05-27 | 浪潮电子信息产业股份有限公司 | 一种基于x86架构处理器和FPGA的高性能异构计算平台 |
CN105897861A (zh) * | 2016-03-28 | 2016-08-24 | 乐视控股(北京)有限公司 | 一种服务器集群的服务器部署方法及系统 |
CN105791412A (zh) * | 2016-04-04 | 2016-07-20 | 合肥博雷电子信息技术有限公司 | 一种大数据处理平台网络架构 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018107751A1 (zh) * | 2016-12-13 | 2018-06-21 | 郑州云海信息技术有限公司 | 一种资源调度装置、系统和方法 |
CN109189699A (zh) * | 2018-09-21 | 2019-01-11 | 郑州云海信息技术有限公司 | 多路服务器通信方法、系统、中间控制器及可读存储介质 |
CN109189699B (zh) * | 2018-09-21 | 2022-03-22 | 郑州云海信息技术有限公司 | 多路服务器通信方法、系统、中间控制器及可读存储介质 |
CN112597092A (zh) * | 2020-12-29 | 2021-04-02 | 深圳市优必选科技股份有限公司 | 一种数据交互方法、机器人及存储介质 |
CN112597092B (zh) * | 2020-12-29 | 2023-11-17 | 深圳市优必选科技股份有限公司 | 一种数据交互方法、机器人及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20190087236A1 (en) | 2019-03-21 |
WO2018107751A1 (zh) | 2018-06-21 |
CN106776024B (zh) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106776024A (zh) | 一种资源调度装置、系统和方法 | |
US10325343B1 (en) | Topology aware grouping and provisioning of GPU resources in GPU-as-a-Service platform | |
CN107087019A (zh) | 一种端云协同计算架构及任务调度装置及方法 | |
US7660247B2 (en) | Dynamic load-based credit distribution | |
US20160378570A1 (en) | Techniques for Offloading Computational Tasks between Nodes | |
WO2022028061A1 (zh) | 一种基于侦测调节模块的gpu管理装置、方法及gpu服务器 | |
CN102497322A (zh) | 一种基于分流网卡和多核cpu实现的高速包过滤设备和方法 | |
CN108984327B (zh) | 报文转发方法、多核cpu及网络设备 | |
CN107291544A (zh) | 任务调度的方法及装置、分布式任务执行系统 | |
CN104023408A (zh) | 调度器及其基于网络多路径并行传输的数据调度方法 | |
CN109194578B (zh) | 一种专线业务的开通方法及装置 | |
CN105210324B (zh) | 策略与计费规则功能虚拟化方法、装置及系统 | |
CN106325996A (zh) | 一种gpu资源的分配方法及系统 | |
CN105765545A (zh) | PCIe I/O设备共享方法及设备与互联系统 | |
CN108037898A (zh) | 一种基于Ceph的dpdk通讯的方法、系统及装置 | |
CN110278104A (zh) | 用于优化的服务质量加速的技术 | |
CN104598304A (zh) | 用于作业执行中的调度的方法和装置 | |
CN106059940A (zh) | 一种流量控制方法及装置 | |
CN105868000B (zh) | 一种针对网络i/o虚拟化的并行化可扩展数据处理方法 | |
CN108028806A (zh) | 网络功能虚拟化nfv网络中分配虚拟资源的方法和装置 | |
CN103747439B (zh) | 无线控制器设备、无线认证处理方法、系统、组网 | |
CN103823712A (zh) | 一种多cpu虚拟机系统的数据流处理方法和装置 | |
CN112422251B (zh) | 数据传输方法及装置、终端、存储介质 | |
US9128771B1 (en) | System, method, and computer program product to distribute workload | |
JP2012168732A (ja) | 演算処理装置、計算ノード、並列計算機システム、演算処理方法および演算処理プログラム |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200616 Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd. Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601 Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |