JP2022518127A - Resource scheduling methods and equipment, electronic devices and recording media - Google Patents

Resource scheduling methods and equipment, electronic devices and recording media Download PDF

Info

Publication number
JP2022518127A
JP2022518127A JP2021538194A JP2021538194A JP2022518127A JP 2022518127 A JP2022518127 A JP 2022518127A JP 2021538194 A JP2021538194 A JP 2021538194A JP 2021538194 A JP2021538194 A JP 2021538194A JP 2022518127 A JP2022518127 A JP 2022518127A
Authority
JP
Japan
Prior art keywords
resource
task
node
tasks
scheduling
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
Application number
JP2021538194A
Other languages
Japanese (ja)
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.)
Shanghai Sensetime Intelligent Technology Co Ltd
Original Assignee
Shanghai Sensetime Intelligent Technology 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
Priority claimed from CN201911357908.7 external-priority
Application filed by Shanghai Sensetime Intelligent Technology Co Ltd filed Critical Shanghai Sensetime Intelligent Technology Co Ltd
Publication of JP2022518127A publication Critical patent/JP2022518127A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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
    • G06F9/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Abstract

本発明は、リソーススケジューリング方法及び装置、電子デバイス並びに記録媒体に関し、前記方法は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、各リソースノードの第1スケジューリングスコアを決定することと、各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、目標リソースノードを決定することと、を含む。【選択図】図1The present invention relates to a resource scheduling method and device, an electronic device, and a recording medium, wherein the method is a resource demand amount of a target task, a current resource remaining amount of the first resource of each resource node among a plurality of resource nodes, and a first. 2 Determining the first scheduling score for each resource node, at least partially based on the total amount of available resources for the resource, and at least partially based on the first scheduling score for each resource node, the target resource node. To determine and include. [Selection diagram] Fig. 1

Description

本発明は、コンピュータ技術分野に関し、特にリソーススケジューリング方法及び装置、電子デバイス並びに記録媒体に関する。 The present invention relates to the field of computer technology, and more particularly to resource scheduling methods and devices, electronic devices and recording media.

アプリケーション規模の急速な成長に伴い、処理リソースのスケジューリングの重要性はますます高くなっており、良好なスケジューリングはシステムの安定的かつ効率的な運行をサポートできる。関連技術では、リソースをスケジューリングするときに、リソースの断片化が発生しやすく、その結果、リソース利用率がより低くなる。 With the rapid growth of application scale, scheduling of processing resources is becoming more and more important, and good scheduling can support stable and efficient operation of the system. Related technologies are prone to resource fragmentation when scheduling resources, resulting in lower resource utilization.

本発明は、リソーススケジューリング方法及び装置、電子デバイス並びに記録媒体を提案する。 The present invention proposes resource scheduling methods and devices, electronic devices, and recording media.

本発明の第1態様によると、リソーススケジューリング方法を提供し、当該方法は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することと、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することと、を含み、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。 According to the first aspect of the present invention, a resource scheduling method is provided, in which the resource demand amount of the target task, the current resource remaining amount of the first resource of each resource node among the plurality of resource nodes, and the second. Determining the first scheduling score of each resource node for the target task and the first scheduling of each resource node among the plurality of resource nodes, at least in part, based on the total amount of resources available. The first resource includes a deep learning resource and includes determining a target resource node for processing the target task from among the plurality of resource nodes, at least partially based on the score. The second resource includes a general-purpose resource.

本発明の実施例のリソーススケジューリング方法によると、処理リソースをスケジューリングするときに、第1リソースの現在リソース残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、第1スケジューリングスコアを決定することができ、リソースの断片化の削減に有利であり、リソースの利用率を向上させる。 According to the resource scheduling method of the embodiment of the present invention, when scheduling the processing resource, the first scheduling score is obtained by comprehensively considering the current resource remaining amount of the first resource and the total available resource amount of the second resource. Can be determined, which is advantageous for reducing resource fragmentation and improving resource utilization.

可能な1実現形態において、前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、前記目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することは、前記目標タスクの前記第1リソース需要量と前記第1リソースの前記現在リソース残り量とに基づいて第1スコアを得ることと、前記目標タスクの前記第2リソース需要量と前記第2リソースの前記使用可能なリソース総量とに基づいて第2スコアを決定することと、前記第1スコアおよび前記第2スコアに基づいて加重和を実行して前記第1スケジューリングスコアを得ることと、を含む。 In one possible implementation, the resource demand of the target task includes the first resource demand and the second resource demand, the resource demand of the target task, and the first of each resource node among the plurality of resource nodes. Determining the first scheduling score for each resource node for the target task is at least partially based on the current resource remaining amount of one resource and the total available resources of the second resource. Obtaining a first score based on the first resource demand and the current resource remaining amount of the first resource, and the second resource demand of the target task and the total available resources of the second resource. The second score is determined based on the above, and the weighted sum is executed based on the first score and the second score to obtain the first scheduling score.

このような方式によって、第1リソースの残り量および第2リソース総量を総合的に考慮して、各リソースノードの第1スケジューリングスコアを決定することができ、目標タスクの各タスクユニットを同じリソースノードに集中して割り当てて処理を実行することができ、断片化されるリソースを減少し、リソースの利用効率を向上させ、後続のタスクの待機時間を短縮する。 By such a method, the first scheduling score of each resource node can be determined by comprehensively considering the remaining amount of the first resource and the total amount of the second resource, and each task unit of the target task is set to the same resource node. It can be centrally allocated to execute processing, reducing fragmented resources, improving resource utilization efficiency, and reducing waiting time for subsequent tasks.

可能な1実現形態において、前記方法は、前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定することをさらに含み、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することは、各リソースノードの前記第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定することと、前記複数のリソースノードの中の各リソースノードの前記合計スケジューリングスコアに基づいて、前記目標リソースノードを決定することと、を含む。 In one possible implementation, the method determines a second scheduling score for each resource node based on a task type assigned to each resource node among the plurality of resource nodes and a target task type. A target resource node for processing the target task from among the plurality of resource nodes, at least partially based on the first scheduling score of each resource node among the plurality of resource nodes. To determine the total scheduling score of each resource node based on the first scheduling score and the second scheduling score of each resource node, and to determine each resource node among the plurality of resource nodes. Includes determining the target resource node based on the total scheduling score of.

可能な1実現形態において、第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである。 In one possible embodiment, the second scheduling score of the first node is higher than the second scheduling score of the second node, and the first node has the target task type assigned to the plurality of resource nodes. The node is the same as the task type, and the second node is a node whose assigned task type is different from the target task type among the plurality of resource nodes.

可能な1実現形態において、前記方法は、複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることと、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することと、をさらに含み、前記複数のタスクは、前記目標タスクを含む。 In one possible embodiment, the method is at least partial to the priority of each task in the plurality of tasks and the average resource demand of the plurality of task units contained in each task in the plurality of tasks. To obtain the first task queue by sorting the plurality of tasks, and to execute scheduling for the target task based on the order of the target tasks in the first task queue. Further included, the plurality of tasks include the target task.

このような方式によって、タスクユニット平均リソース需要量をソート基準にすることによって、処理リソースを十分に利用し、リソースの利用率を向上させ、リソースの浪費を削減する。 By such a method, the average resource demand of the task unit is used as a sorting standard to fully utilize the processing resources, improve the resource utilization rate, and reduce the waste of resources.

可能な1実現形態において、前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定することと、前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定することと、を含む。 In one possible implementation, at least partially based on the priority of each task in the plurality of tasks and the average resource demand of the plurality of task units contained in each task in the plurality of tasks. To obtain the first task queue by sorting the plurality of tasks, the initial order of the plurality of tasks is determined based on the priority of each task among the plurality of tasks, and the initial order is determined. If it is present that at least two tasks have the same priority, the target order of the at least two tasks is determined based on the average resource demand of each of the at least two tasks. include.

可能な1実現形態において、前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および、前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして前記第1タスクキューを得ることを含む。 In one possible implementation, at least partially based on the priority of each task in the plurality of tasks and the average resource demand of the plurality of task units contained in each task in the plurality of tasks. , Sorting the plurality of tasks to obtain the first task queue means that the priority of each task in the plurality of tasks, and the priority of each task in the plurality of tasks, and the plurality of task units included in each task in the plurality of tasks. It includes sorting the plurality of tasks to obtain the first task queue, at least partially based on the average resource demand and the creation time stamp of each task among the plurality of tasks.

本発明の第2態様によると、リソーススケジューリング装置を提供し、当該装置は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定するための第1決定モジュールと、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定するための第2決定モジュールと、を備え、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。 According to the second aspect of the present invention, a resource scheduling device is provided, in which the resource demand amount of the target task, the current resource remaining amount of the first resource of each resource node among the plurality of resource nodes, and the second aspect. A first decision module for determining the first scheduling score of each resource node for the target task, at least partially based on the total amount of resources available, and each resource node among the plurality of resource nodes. A second determination module for determining a target resource node for processing the target task from among the plurality of resource nodes based on at least a part of the first scheduling score of the above. The resource includes a deep learning resource, and the second resource includes a general-purpose resource.

本発明の第3態様によると、電子デバイスを提供し、当該電子デバイスは、プロセッサと、前記プロセッサによって実行可能な命令を記憶するためのメモリと、を備え、前記プロセッサは、上述した第1態様のリソーススケジューリング方法を実行するように構成される。 According to a third aspect of the invention, an electronic device is provided that comprises a processor and a memory for storing instructions that can be executed by the processor, wherein the processor is the first aspect described above. It is configured to execute the resource scheduling method of.

本発明の第4態様によると、コンピュータプログラム命令が記憶されているコンピュータ可読記録媒体を提供し、前記コンピュータプログラム命令がプロセッサによって実行されると、前記プロセッサが、上述した第1態様のリソーススケジューリング方法を実装するようにする。 According to a fourth aspect of the present invention, a computer-readable recording medium in which a computer program instruction is stored is provided, and when the computer program instruction is executed by the processor, the processor causes the resource scheduling method of the first aspect described above. To implement.

本発明の第5態様によると、コンピュータ可読コードを含むコンピュータプログラム製品を提供し、コンピュータ可読コードがデバイス上で運行されると、前記デバイス中のプロセッサが、上述した第1態様のリソーススケジューリング方法を実装するための命令を実行するようにする。 According to a fifth aspect of the present invention, a computer program product including a computer-readable code is provided, and when the computer-readable code is operated on the device, the processor in the device performs the resource scheduling method of the first aspect described above. Try to execute the instruction to implement.

上述した一般的な記述と後文の詳細記述が単に例示的なものと解釈的なものであり、本発明を制限するためのものではないことは、理解されるべきである。 It should be understood that the general description and the detailed description described above are merely exemplary and interpretive and are not intended to limit the invention.

以下では、図面を参照しながら例示的な実施例を詳細に説明するとともに、本発明の他の特徴及び態様は、明瞭になる。 In the following, exemplary embodiments will be described in detail with reference to the drawings, and other features and embodiments of the present invention will be clarified.

ここでの図面は、明細書に組み込まれて明細書の一部を構成し、本発明に合致する実施例を示しつつ、明細書の記載とともに本発明の技術案を説明するために用いられる。
本発明の実施例に係るリソーススケジューリング方法を示すフローチャートである。 本発明の実施例に係る目標ノード選択を示す模式図である。 本発明の実施例に係るリソーススケジューリング方法を示す適用模式図である。 本発明の実施例に係るリソーススケジューリング装置を示すブロック図である。 本発明の実施例に係る電子デバイスを示すブロック図である。 本発明の別の実施例に係る電子デバイスを示すブロック図である。
The drawings herein are incorporated into the specification to form a portion of the specification and are used to describe the description of the specification as well as to explain the technical proposal of the present invention, while showing examples conforming to the present invention.
It is a flowchart which shows the resource scheduling method which concerns on embodiment of this invention. It is a schematic diagram which shows the target node selection which concerns on embodiment of this invention. It is an application schematic diagram which shows the resource scheduling method which concerns on embodiment of this invention. It is a block diagram which shows the resource scheduling apparatus which concerns on embodiment of this invention. It is a block diagram which shows the electronic device which concerns on embodiment of this invention. It is a block diagram which shows the electronic device which concerns on another Embodiment of this invention.

以下では、図面を参照して本発明の各種の例示的な実施例、特徴及び態様を詳細に説明する。図面における同じ符号は、機能が同じ又は類似する素子を示す。図面に実施例の各種の態様が示されたが、専ら示さない限り、縮尺通りに図面を描く必要がない。 Hereinafter, various exemplary examples, features, and embodiments of the present invention will be described in detail with reference to the drawings. The same reference numerals in the drawings indicate elements having the same or similar functions. Although the drawings show various aspects of the embodiments, it is not necessary to draw the drawings to scale unless exclusively shown.

ここでの用語「例示的な」は、「例示、実施例としてのもの、又は説明的なもの」を意味する。ここで「例示的な」で説明される如何なる実施例も、他の実施例よりも優れるや良くなると解釈されるとは限らない。 The term "exemplary" here means "exemplary, exemplary, or descriptive." Not all embodiments described herein here are construed as superior or better than other embodiments.

本文における用語「及び/又は」は、単に関連対象の関連関係を記述するものであり、3種の関係が存在可能であることを示す。例えば、A及び/又はBは、Aが単独に存在することと、A及びBが同時に存在することと、Bが単独に存在することという3種の場合を表せる。また、本文における用語「少なくとも1種」は、複数種のうちの何れか1種又は複数種のうちの少なくとも2種の任意の組み合わせを示す。例えば、A、B、Cのうちの少なくとも1種を含むことは、A、B及びCによって構成された集合から、何れか1つ又は複数の要素を選択することを示してもよい。 The term "and / or" in the text merely describes the relationship of the related object and indicates that three types of relationships can exist. For example, A and / or B can represent three cases: A exists alone, A and B exist at the same time, and B exists alone. Further, the term "at least one kind" in the text indicates any one of a plurality of kinds or any combination of at least two kinds of a plurality of kinds. For example, including at least one of A, B, and C may indicate selecting any one or more elements from the set composed of A, B, and C.

また、本発明がより良く説明されるように、下文の具体的な実施形態において大量の具体的な詳細が与えられている。当業者であれば理解できるように、幾つかの具体的詳細がなくても、本発明は同様に実施可能である。幾つかの実施例では、本発明の要旨がより目立つように、当業者でよく知られる方法、手段、素子及び回路について詳細に記述されていない。 Also, in order to better explain the invention, a large amount of specific details are given in the specific embodiments below. As will be appreciated by those skilled in the art, the invention can be similarly practiced without some specific details. In some embodiments, methods, means, elements and circuits well known to those of skill in the art are not described in detail so that the gist of the invention is more prominent.

図1は、本発明の実施例に係るリソーススケジューリング方法を示すフローチャートであり、図1に示すように、前記方法は、以下のステップを含む。 FIG. 1 is a flowchart showing a resource scheduling method according to an embodiment of the present invention, and as shown in FIG. 1, the method includes the following steps.

ステップS11において、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定し、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。 In step S11, the resource demand of the target task, the current resource remaining amount of the first resource of each resource node among the plurality of resource nodes, and the total available resource amount of the second resource are at least partially based on the above. The first scheduling score of each resource node for the target task is determined, the first resource includes deep learning resources, and the second resource includes general purpose resources.

ステップS12において、前記複数のリソースノードの中の各リソースノードの第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定する。 In step S12, a target resource node for processing the target task is determined from the plurality of resource nodes based on at least a part of the first scheduling score of each resource node in the plurality of resource nodes. ..

本発明の実施例のリソーススケジューリング方法によると、リソースをスケジューリングするときに、第1リソースの現在リソース残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、第1スケジューリングスコアを決定することができる。このように、リソースの断片化の削減に有利であり、リソースの利用率を向上させる。 According to the resource scheduling method of the embodiment of the present invention, when scheduling a resource, the first scheduling score is determined by comprehensively considering the current resource remaining amount of the first resource and the total available resource amount of the second resource. Can be decided. In this way, it is advantageous to reduce the fragmentation of resources and improve the utilization rate of resources.

可能な1実現形態において、前記リソーススケジューリング方法は、端末デバイスまたは他の処理デバイスによって実行され得、端末デバイスは、ユーザデバイス(User Equipment、UE)、モバイルデバイス、ユーザ端末、端末、携帯電話、コードレス電話、パーソナルデジタルアシスタント(Personal Digital Assistant、PDA)、ハンドヘルドデバイス、コンピューティングデバイス、車載デバイス、ウェアラブルデバイスなどであり得る。他の処理デバイスは、デスクトップ、サーバ、またはクラウドサーバなどであり得る。いくつかの可能の実現形態において、当該リソーススケジューリング方法は、プロセッサによってメモリに記憶されているコンピュータ可読命令を呼び出す方法によって実装され得る。 In one possible embodiment, the resource scheduling method can be performed by a terminal device or other processing device, where the terminal device is a user device (User Equipment, UE), mobile device, user terminal, terminal, mobile phone, cordless. It can be a telephone, a personal digital assistant (PDA), a handheld device, a computing device, an in-vehicle device, a wearable device, and the like. Other processing devices can be desktops, servers, cloud servers, and the like. In some possible implementations, the resource scheduling method can be implemented by invoking computer-readable instructions stored in memory by the processor.

可能な1実現形態において、前記リソーススケジューリング方法は、サーバに用いられ得、タスク処理要求が受信されたときに、処理すべきタスクにリソースをスケジューリングし、当該リソースを利用してタスクを処理する。 In one possible implementation, the resource scheduling method can be used for a server, when a task processing request is received, the resource is scheduled for the task to be processed, and the resource is used to process the task.

可能な1実現形態において、前記サーバには、複数のリソースノードが含まれており、各リソースノードは、いずれも前記タスクの処理に使用され、前記リソースノードには、第1リソースおよび第2リソースが含まれ得る。1例において、前記第1リソースは、深層学習リソース(たとえば、GPUリソース、TPU(Tensor Processing Unit)リソース、FPGA(Field Programmable Gate Array)など)であり得、第2リソースは、汎用リソース(たとえば、CPU(Central Processing Unit)リソース、および/または、メモリリソース)であり得る。本発明は、処理リソースのタイプに対して限定しない。たとえば、リソースノードが物理マシンである場合、当該リソースノードは、物理マシンのすべてのリソースを含む。またたとえば、リソースノードが仮想マシンである場合、特定のソフトウェアおよび/またはハードウェアCPU仮想化技術を介して、仮想マシンの1つまたは複数の仮想CPUが物理CPUを多重化することができ、GPUの場合は物理GPUの関連デバイス情報を直接仮想マシンにパススルー(passthrough)して、仮想マシンが使用するようにすることができる。またたとえば、リソースノードが仮想マシンである場合、GPU仮想化技術を介して、仮想マシンの1つまたは複数の仮想GPUが物理GPUを多重化することができ、本発明の実施例はこれらに限定されない。 In one possible implementation, the server includes a plurality of resource nodes, each of which is used to process the task, and the resource node includes a first resource and a second resource. Can be included. In one example, the first resource may be a deep learning resource (eg, GPU resource, TPU (Tensor Processing Unit) resource, FPGA (Field Programmable Gate Array), etc.), and the second resource may be a general-purpose resource (eg, for example). It can be a CPU (Central Processing Unit) resource and / or a memory resource. The present invention is not limited to the type of processing resource. For example, if the resource node is a physical machine, the resource node contains all the resources of the physical machine. Also, for example, if the resource node is a virtual machine, one or more virtual CPUs in the virtual machine can multiplex the physical CPU via specific software and / or hardware CPU virtualization technology, GPU. In the case of, the related device information of the physical GPU can be passed through directly to the virtual machine so that the virtual machine can use it. Further, for example, when the resource node is a virtual machine, one or more virtual GPUs of the virtual machine can multiplex the physical GPU via GPU virtualization technology, and the embodiments of the present invention are limited to these. Not done.

可能な1実現形態において、前記サーバのタスクキューには、複数のタスクが存在し、タスクキュー中のタスクをソートすることによって、タスクの処理の順序を決定して、タスク処理の効率を向上させる。 In one possible implementation, there are multiple tasks in the task queue of the server, and by sorting the tasks in the task queue, the order of task processing is determined and the efficiency of task processing is improved. ..

可能な1実現形態において、前記タスクは、それぞれの優先度を有することができる。たとえば、或るタスクの優先度が「高」であり、もう1つのタスクの優先度が「中」であると、優先度が「高」であるタスクが優先に処理される。関連技術では、2つまたは複数のタスクの優先度が同一であると、タスクの作成時間(たとえば、タスクが作成されたタイムスタンプ)に基づいて、優先度が同一であるタスクをソートすることができる。たとえば、作成時間がより早いタスクは、作成時間がより遅いタスクの前に、配列される。しかし、このようなソート方法は、柔軟性がより低く、リソースの断片化が発生しやすい。たとえば、リソースノードAおよびリソースノードBに、それぞれ8つの空きGPUリソースがあり、現在、タスクT1とタスクT2があり、タスクT1とタスクT2の優先度が同一であるが、タスクT1の作成時間がタスクT2よりも早く、T1は2つのタスクユニットを含み、各タスクユニットが1つのGPUリソースを要求するが、タスクT2は1つのタスクユニットを含み、7つのGPUリソースを要求する。上述したタスクソート方法によると、タスクT1をタスクT2の前に配列し、タスクT1に処理リソースを優先にスケジューリングすることができる。タスクT1の2つのタスクユニットを同じリソースノード(たとえばリソースノードA)に割り当てて処理を実行する可能性があり、このとき当該リソースノードには6つのGPUリソースが残っており、タスクT2のタスクユニットを処理するには不十分である。したがって、タスクT2のタスクユニットは別の1リソースノード(たとえばリソースノードB)に割り当てられて処理が実行される。上述したスケジューリング方法によれば、リソースノードBは、1つの空きのGPUリソースが残っており、後続のタスクがよりも大きい数のGPUを要求する場合(たとえば、タスクユニットのリソース需要量が1つのGPUリソースよりも大きい場合)、当該断片化されたGPUリソース(すなわち、リソースノードBの1つの空きのGPUリソース)はリソースの浪費を引き起こす可能性がある。いくつかの例いて、1つの空きのGPUリソースは、1つの空きのGPUを指すことができる。 In one possible embodiment, the tasks can have their respective priorities. For example, if one task has a "high" priority and another task has a "medium" priority, the task with the "high" priority is processed preferentially. In related technology, if two or more tasks have the same priority, it is possible to sort the tasks with the same priority based on the task creation time (for example, the time stamp when the task was created). can. For example, tasks with faster creation times are arranged before tasks with slower creation times. However, such sorting methods are less flexible and more prone to resource fragmentation. For example, resource node A and resource node B each have eight free GPU resources, and currently there are task T1 and task T2, and task T1 and task T2 have the same priority, but the creation time of task T1 is the same. Earlier than task T2, T1 contains two task units and each task unit requests one GPU resource, whereas task T2 contains one task unit and requests seven GPU resources. According to the task sorting method described above, the task T1 can be arranged before the task T2, and the processing resource can be preferentially scheduled to the task T1. There is a possibility that two task units of task T1 are assigned to the same resource node (for example, resource node A) to execute processing, and at this time, six GPU resources remain in the resource node, and the task unit of task T2 Is not enough to handle. Therefore, the task unit of task T2 is assigned to another resource node (for example, resource node B) and the process is executed. According to the scheduling method described above, resource node B has one free GPU resource remaining and subsequent tasks request a larger number of GPUs (eg, one task unit resource demand). If it is larger than the GPU resource), the fragmented GPU resource (ie, one free GPU resource on resource node B) can cause resource waste. In some examples, one free GPU resource can refer to one free GPU.

可能な1実現形態において、タスクユニット平均リソース需要量に従ってソートすることができ、前記方法は、複数のタスクの中の各タスクの優先度および複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることと、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することと、をさらに含み、前記複数のタスクは、前記目標タスクを含む。 In one possible implementation, the tasks can be sorted according to the average resource demand of the task unit, and the method is the priority of each task in a plurality of tasks and the plurality of included in each task in a plurality of tasks. To obtain a first task queue by sorting a plurality of tasks, at least partially based on the average resource demand of the task unit of the target task, and based on the order of the target tasks in the first task queue. The plurality of tasks include the target task, further comprising performing scheduling on the task.

可能な1実現形態において、2つのまたは複数のタスクの優先度が同一であると、タスクユニット平均リソース需要量に基づいてソートすることができる。複数のタスクの中の各タスクの優先度および複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることは、複数のタスクの中の各タスクの優先度に基づいて、複数のタスクの初期順序を決定することと、前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定することと、を含む。 In one possible implementation, if two or more tasks have the same priority, they can be sorted based on the task unit average resource demand. Sorting multiple tasks, at least in part, based on the priority of each task in multiple tasks and the average resource demand of multiple task units contained in each task in multiple tasks. Obtaining the first task queue determines the initial order of a plurality of tasks based on the priority of each task in the plurality of tasks, and the priority of at least two tasks in the initial order is the same. If present, it comprises determining the target order of the at least two tasks based on the average resource demand of each of the at least two tasks.

可能な1実現形態において、まず優先度に従って複数のタスクをソートして、初期順序を得、すなわち、優先度がより高いタスクを、優先度がより低いタスクの前に配列することができる。前記初期順序で、少なくとも2つの優先度が同一であるタスクが存在する可能性がある。たとえば、優先度が「高」であるタスクが2つあり、優先度が「中」であるタスクが3つあり、優先度が「低」であるタスクが5つあり、初期順序では優先度が同一であるタスクの前後順序を区分しない。 In one possible implementation, a plurality of tasks can be first sorted according to priority to obtain an initial order, i.e., the tasks with higher priority can be arranged before the tasks with lower priority. In the initial order, there may be at least two tasks with the same priority. For example, there are two tasks with a "high" priority, three tasks with a "medium" priority, five tasks with a "low" priority, and the initial order of priority is Do not distinguish the order before and after tasks that are the same.

可能な1実現形態において、初期順序で少なくとも2つの優先度が同一であるタスクが存在すると、タスクユニット平均リソース需要量に従って優先度が同一である少なくとも2つのタスクをソートし、前記少なくとも2つのタスクの目標順序を決定することができ、たとえば、タスクユニット平均リソース需要量がより大きいタスクを、タスクユニット平均リソース需要量がより小さいタスクの前に配列する。 In one possible implementation, if there are at least two tasks with the same priority in the initial order, at least two tasks with the same priority are sorted according to the average resource demand of the task unit, and the at least two tasks are sorted. The target order of can be determined, for example, tasks with higher task unit average resource demand are arranged before tasks with lower task unit average resource demand.

1例において、リソースノードAおよびリソースノードBに、それぞれ8つの空きGPUリソースがあり、現在、タスクT1とタスクT2があり、その中で、タスクT1とタスクT2の優先度が同一であり、T1が2つのタスクユニットを含み、各タスクユニットが1つのGPUリソースを要求すると、タスクT1のタスクユニット平均リソース需要量は1つのGPUリソースである。タスクT2が1つのタスクユニットを含み、7つのGPUリソースを要求すると、タスクT2のタスクユニット平均リソース需要量は7つのGPUリソースである。タスクT2をタスクT1の前に配列し、タスクT2に処理リソースを優先にスケジューリングすることができる。たとえば、タスクT2の1つのタスクユニットをリソースノードAに割り当てて処理を実行し、このとき当該リソースノードには1つのGPUリソースが残っている。次に、タスクT1の1つのタスクユニットをリソースノードAに割り当てて処理を実行し、タスクT1の別の1つのタスクユニットを別の1リソースノード(たとえばリソースノードB)に割り当てて処理を実行することができる。上述したスケジューリング方法によれば、リソースノードAに残りのGPUリソースがなく、断片化されたGPUリソースが発生しなくなり、リソース利用率を向上させ、リソースの浪費を低減できる。 In one example, resource node A and resource node B each have eight free GPU resources, and currently there are task T1 and task T2, in which task T1 and task T2 have the same priority and T1. If includes two task units and each task unit requests one GPU resource, the average task unit resource demand for task T1 is one GPU resource. If task T2 includes one task unit and requests seven GPU resources, the average task unit resource demand for task T2 is seven GPU resources. The task T2 can be arranged before the task T1 and the processing resource can be preferentially scheduled to the task T2. For example, one task unit of task T2 is assigned to resource node A to execute processing, and at this time, one GPU resource remains in the resource node. Next, one task unit of task T1 is assigned to resource node A to execute processing, and another task unit of task T1 is assigned to another resource node (for example, resource node B) to execute processing. be able to. According to the scheduling method described above, there is no remaining GPU resource in the resource node A, fragmented GPU resources are not generated, the resource utilization rate can be improved, and the waste of resources can be reduced.

可能な1実現形態において、初期順序に少なくとも2つのタスクの優先度が同一であり、また、タスクユニット平均リソース需要量が同一であると、タスクの作成時間に基づいてソートすることができる。複数のタスクの中の各タスクの優先度および複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることは、複数のタスクの中の各タスクの優先度、複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および、複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、複数のタスクをソートして、第1タスクキューを得ることを含む。 In one possible implementation, if at least two tasks have the same priority in the initial order and the average task unit resource demand is the same, sorting can be done based on the task creation time. Sorting multiple tasks, at least in part, based on the priority of each task in multiple tasks and the average resource demand of multiple task units contained in each task in multiple tasks. Obtaining the first task queue means the priority of each task in multiple tasks, the average resource demand of multiple task units contained in each task in multiple tasks, and the multiple tasks. Includes sorting multiple tasks to get a first task queue, at least in part, based on the creation timestamp of each task in.

可能な1実現形態において、前記初期順序に、少なくとも2つの優先度が同一であり、またタスクユニット平均リソース需要量が同一であるタスクが存在する可能性がある。たとえば、優先度が「高」であるタスクが2つあり、優先度が「中」であるタスクが3つあり、優先度が「低」であるタスクが5つあり、優先度が「高」である2つのタスク(たとえば、タスクT3とタスクT4)のタスクユニット平均リソース需要量も同一である。1例において、この2つのタスクの作成時間に基づいて2つのタスクの順序を決定することができる。たとえば、タスクT3の作成時間がタスクT4よりも早いと、タスクT3とタスクT4のそれぞれのタイムスタンプに従って、タスクT3をタスクT4の前に配列することができる。 In one possible implementation, there may be at least two tasks in the initial order that have the same priority and the same task unit average resource demand. For example, there are two tasks with a high priority, three tasks with a medium priority, five tasks with a low priority, and a high priority. The task unit average resource demands of the two tasks (for example, task T3 and task T4) are also the same. In one example, the order of the two tasks can be determined based on the creation time of the two tasks. For example, if the creation time of the task T3 is earlier than the task T4, the task T3 can be arranged before the task T4 according to the respective time stamps of the task T3 and the task T4.

可能な1実現形態において、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することができる。たとえば、目標タスクの前のタスク処理が完了された後に、前記目標タスクにリソースノードをスケジューリングして、目標タスクを処理することができる。 In one possible implementation, scheduling can be performed on the target task based on the order of the target task in the first task queue. For example, after the task processing before the target task is completed, the resource node can be scheduled to the target task to process the target task.

このような方式によって、タスクユニット平均リソース需要量に対してソート基準を導入して、処理リソースを十分に利用し、リソースの利用率を向上させ、リソースの浪費を削減する。 By such a method, a sort criterion is introduced for the average resource demand of the task unit to fully utilize the processing resources, improve the resource utilization rate, and reduce the waste of resources.

可能な1実現形態において、タスクをソートした後に、処理リソースをスケジューリングして第1タスクキュー中のタスクを順次に処理することができる。たとえば、リソースノードをスケジューリングして、目標タスクなどの現在タスクを処理することができる。 In one possible implementation, after sorting the tasks, the processing resources can be scheduled to sequentially process the tasks in the first task queue. For example, you can schedule a resource node to handle current tasks such as goal tasks.

1つの例において、目標タスクに対して、各リソースノードのスコアを計算し、スコアが最も高いリソースノードを使用して目標タスクを処理することができる。1例において、タスクユニットのリソース需要量および各リソースノードのリソース総量に基づいて、各リソースノードのスコアを計算することができ、たとえば、タスクユニットのリソース需要量と各リソースノードのリソース総量との間の比率に基づいて各リソースノードのスコアを決定することができる。このような計算方法によれば、リソース総量がより小さいリソースノードのスコアをより高く、すなわち、リソース総量がより小さいリソースノードを優先にスケジューリングして、目標タスクの各タスクユニットを処理することによって、リソース総量がより大きいリソースノードを後続の他のタスクに利用することができ、後続の他のタスクで、リソース需要量がより大きいタスクが現れると、リソース総量がより大きいリソースノードを使用して処理することができ、リソース需要量がより大きいタスクの待機時間を減らすことができる。しかし、当該スケジューリング方法は、リソースノードのリソース総量(一般出来は固定値である)のみを考慮し、リソース総量がより大きいリソースノードにリソース残り量がより少ない場合に依然としてリソース総量がより小さい空きリソースノードを優先にスケジューリングする可能性がり、リソース総量がより大きいリソースノード中の少量の残りリソースの浪費を引き起こす。 In one example, for the target task, the score of each resource node can be calculated and the resource node with the highest score can be used to process the target task. In one example, the score of each resource node can be calculated based on the resource demand of the task unit and the total resource of each resource node. For example, the resource demand of the task unit and the total resource of each resource node can be calculated. The score for each resource node can be determined based on the ratio between them. According to such a calculation method, the score of the resource node having a smaller total amount of resources is higher, that is, the resource node having a smaller total amount of resources is preferentially scheduled to process each task unit of the target task. A resource node with a larger total resource amount can be used for other subsequent tasks, and when a task with a larger resource demand appears in other subsequent tasks, the resource node with a larger total resource amount is used for processing. And can reduce the waiting time for tasks with higher resource demand. However, the scheduling method considers only the total resource amount of the resource node (general result is a fixed value), and the free resource whose total resource amount is still smaller when the resource remaining amount is smaller in the resource node with the larger total resource amount. Nodes may be scheduled preferentially, causing wasted small amounts of remaining resources in resource nodes with larger total resources.

なお、上述したスケジューリング方法は、さらに、複数のリソースノードを均等に占用する場合が存する可能性があり、後続のタスクの待機時間が長すぎる可能性がある。たとえば、サーバには8つのノードが含まれ、各ノードには8つのGPUリソースが含まれる。目標タスクには8つのタスクユニットがあり、各タスクユニットのリソース需要量がいずれも1つのGPUリソースである。こと場合、各ノードのスコアを決定するときに、各ノードのスコアが等しくなり、8つのタスクユニットを8つのリソースノードに均等に割り当てる可能性があり、各リソースノードがいずれも1つのGPUが占用されることになる。後続のタスク中の特定のタスクユニットのリソース需要量が8つのGPUであると、各リソースノードがいずれも当該タスクを処理することができなく、目標タスクのタスクユニットの処理が完了されるまでに待機した後に当該タスクを処理することができ、当該タスクの待機時間が長すぎることになる。 In addition, the scheduling method described above may further occupy a plurality of resource nodes evenly, and the waiting time of subsequent tasks may be too long. For example, a server contains eight nodes, and each node contains eight GPU resources. There are eight task units in the target task, and the resource demand of each task unit is one GPU resource. In that case, when determining the score of each node, the score of each node may be equal and 8 task units may be evenly allocated to 8 resource nodes, each resource node being occupied by one GPU. Will be done. If the resource demand of a specific task unit in the subsequent task is 8 GPUs, none of the resource nodes can process the task, and by the time the processing of the task unit of the target task is completed. The task can be processed after waiting, and the waiting time of the task becomes too long.

いくつかの例において、いくつかの特定のタスク(たとえば深層学習タスクまたはニューラルネットワークトレーニングタスクなど)に必要なリソースタイプが、GPUリソースなどの深層学習リソース(すなわち、第1リソースである)であるが、別のいくつかのタスクは、CPUリソースおよび/またはメモリリソースなど汎用リソース(すなわち、第2リソースである)を利用して処理でき、さらに、第1リソースと第2リソースで一緒に処理するタスクが存在する可能性がある。ニューラルネットワーク技術の発展に伴い、このような特定タスクのGPUリソースに対する要求がますます多くなっており、GPUリソースのスケジューリングを最適化して、GPUリソースの利用率を向上させる必要がある。 In some examples, the resource type required for some particular task (such as a deep learning task or a neural network training task) is a deep learning resource such as a GPU resource (ie, the first resource). , Some other tasks can be processed using general purpose resources (ie, second resources) such as CPU resources and / or memory resources, and further, tasks that are processed together by the first resource and the second resource. May exist. With the development of neural network technology, the demand for GPU resources of such a specific task is increasing more and more, and it is necessary to optimize the scheduling of GPU resources to improve the utilization rate of GPU resources.

可能な1実現形態において、目標タスクの第1リソース需要量および第2リソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアをそれぞれ決定する。即、第1リソースの残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、リソースノードの第1スケジューリングスコアを決定する。 In one possible implementation, the first and second resource demands of the target task, the current resource remaining amount of the first resource of each resource node in the plurality of resource nodes, and the availability of the second resource. Based on the total amount of resources, the first scheduling score of each resource node for the target task is determined. Immediately, the first scheduling score of the resource node is determined by comprehensively considering the remaining amount of the first resource and the total amount of available resources of the second resource.

可能な1実現形態において、ステップS11は、前記目標タスクの第1リソース需要量および前記第1リソースの現在リソース残り量に基づいて、第1スコアを得ることと、前記目標タスクの第2リソース需要量および前記第2リソースの使用可能なリソース総量に基づいて、第2スコアを決定することと、第1スコアおよび第2スコアに基づいて前記第1スケジューリングスコアを得ることと、を含む。 In one possible implementation, step S11 obtains a first score based on the first resource demand of the target task and the current resource remaining amount of the first resource, and the second resource demand of the target task. Includes determining a second score based on the amount and the total amount of resources available for the second resource, and obtaining the first scheduling score based on the first and second scores.

可能な1実現形態において、前記目標タスクの第1リソース需要量および前記第1リソースの現在リソース残り量に基づいて、各リソースノードの第1スコアを得ることができ、たとえば、目標タスクの第1リソース需要量と各リソースノードの第1リソースの現在リソース残り量との比率に基づいて、前記各リソースノードの第1スコアを得ることができる。 In one possible implementation, the first score of each resource node can be obtained based on the first resource demand of the target task and the current resource remaining amount of the first resource, for example, the first of the target tasks. The first score of each resource node can be obtained based on the ratio of the resource demand amount to the current resource remaining amount of the first resource of each resource node.

可能な1実現形態において、前記目標タスクの第2リソース需要量および前記第2リソースの使用可能なリソース総量に基づいて、各リソースノードの第2スコアを決定することができ、たとえば、目標タスクの第2リソース需要量と各リソースノードの第2リソースの使用可能なリソース総量との比率に基づいて、前記各リソースノードの第2スコアを得ることができる。リソースノードに複数のタイプの第2リソース(たとえばCPUとメモリである)が含まれていると、各第2リソース需要量と各第2リソースの使用可能なリソース総量との比率の平均値に基づいて前記各リソースノードの第2スコアを決定することができる。 In one possible implementation, a second score for each resource node can be determined based on the second resource demand for the target task and the total available resources for the second resource, eg, for the target task. The second score of each resource node can be obtained based on the ratio of the demand for the second resource to the total amount of available resources of the second resource of each resource node. If the resource node contains multiple types of secondary resources (eg CPU and memory), it is based on the average ratio of each secondary resource demand to the total available resources of each secondary resource. The second score of each resource node can be determined.

可能な1実現形態において、目標タスクに対して、第1重み値β(0≦β≦1)を設定し、たとえば、βは、1、0.9、0.6、0.5、0.3、0などであり得る。βは、管理者が事前に設定できる。 In one possible implementation, a first weight value β (0 ≦ β ≦ 1) is set for the target task, for example β is 1, 0.9, 0.6, 0.5, 0. It can be 3, 0, and so on. β can be set in advance by the administrator.

可能な1実現形態において、第1スコアおよび第2スコアの加重和に基づいて、第1スケジューリングスコアを得ることができ、たとえば以下の数(1)に従って第1スケジューリングスコアを決定することができる。

Figure 2022518127000002
は、i番目の(iは正の整数)リソースノードの第1スケジューリングスコアであり、reは、第1リソース需要量であり、id1iは、i番目のリソースノードの第1リソースの残り量であり、reCPUは、CPUリソースに対する需要量であり、alCPUiは、i番目のリソースノードのCPU使用可能なリソース総量であり、rememは、メモリ需要量であり、almemiは、i番目のリソースノードの使用可能メモリ総量であり、PWは、目標タスクの重み値であり、すなわち第2重み値である。 In one possible embodiment, the first scheduling score can be obtained based on the weighted sum of the first score and the second score, and for example, the first scheduling score can be determined according to the following number (1).
Figure 2022518127000002
S i is the first scheduling score of the i-th (i is a positive integer) resource node, re 1 is the first resource demand, and id 1i is the first resource of the i-th resource node. Remaining amount, re CPU is the demand amount for CPU resources, al CPUi is the total CPU available resource amount of the i-th resource node, re mem is the memory demand amount, and al memi is. It is the total amount of available memory of the i-th resource node, and PW is the weight value of the target task, that is, the second weight value.

βは、調整可能なパラメータであり、実際の必要に応じて設定することができ、その数値は特定の具体的な適用場面で固定または動的に可変にすることができる。いくつかの例にいて、タスクのタイプに基づいて第1重み値βを決定することができる。たとえば、ニューラルネットワークトレーニングタスクの場合、第1重み値βは、より大きい値を取ることができる。GPUリソースを必要としないタスクの場合、第1重み値は、より小さい値を取ることができる。本発明は、第1重み値βの値に対して限定しない。 β is an adjustable parameter, which can be set according to actual needs, and its numerical value can be fixed or dynamically variable in a specific specific application situation. In some examples, the first weight value β can be determined based on the type of task. For example, in the case of a neural network training task, the first weight value β can take a larger value. For tasks that do not require GPU resources, the first weight value can take a smaller value. The present invention is not limited to the value of the first weight value β.

いくつかの別の実施例において、第1スコアおよび第2スコアの加重平均値または算術平均値に基づいて、第1スケジューリングスコアを得ることができ、本発明の実施例は、第1スケジューリングスコアの具体的な実装に対して限定しない。 In some other embodiments, the first scheduling score can be obtained based on the weighted or arithmetic mean of the first and second scores, and the embodiments of the present invention are of the first scheduling score. Not limited to specific implementation.

1例において、第1スケジューリングスコアに基づいて目標タスクリソースノードをスケジューリングすることができる。たとえば、サーバには、8つのリソースノードが含まれており、各リソースノードには、8つのGPUリソースが含まれている。目標タスクには、8つのタスクユニットがあり、各タスクユニットのリソース需要量は、いずれも1つのGPUリソースである。第1スケジューリングスコアを計算するときに、第1リソース需要量と第1リソースの残り量との比率を考慮すると、1番目のタスクユニットが或るリソースノードに割り当てられた後に、当該リソースノードの第1リソースの残り量が減少するため、当該リソースノードの第1スケジューリングスコアが増加され、後続のタスクユニットが当該リソースノードに優先に割り当てられて、各タスクユニットができるだけ同じリソースノードに割り当てることに有利であり、各タスクユニットが複数のリソースノードに割り当てられて複数のリソースノードを占用することを減らす。 In one example, the target task resource node can be scheduled based on the first scheduling score. For example, the server contains eight resource nodes, and each resource node contains eight GPU resources. The target task has eight task units, and the resource demand amount of each task unit is one GPU resource. Considering the ratio of the demand for the first resource to the remaining amount of the first resource when calculating the first scheduling score, after the first task unit is assigned to a certain resource node, the first task unit of the resource node is assigned. Since the remaining amount of one resource is reduced, the first scheduling score of the resource node is increased, the subsequent task units are preferentially assigned to the resource node, and it is advantageous for each task unit to be assigned to the same resource node as much as possible. It reduces the fact that each task unit is assigned to multiple resource nodes and occupies multiple resource nodes.

このような方式によって、第1リソースの残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、各リソースノードの第1スケジューリングスコアを決定することができ、目標タスクの各タスクユニットをできるだけ同じリソースノードに割り当てて処理を実行することができて、断片化されるリソースを減少し、リソースの利用効率を向上させ、後続のタスクの待機時間を短縮する。 By such a method, the first scheduling score of each resource node can be determined by comprehensively considering the remaining amount of the first resource and the total amount of available resources of the second resource, and each task of the target task can be determined. Units can be assigned to the same resource node as much as possible to perform processing, reducing fragmented resources, improving resource utilization, and reducing latency for subsequent tasks.

可能な1実現形態において、同じタスクに対して、少なくとも2つのリソースノードの第1スケジューリングスコアが同一である場合が現れる可能性があり。当該場合には、第2スケジューリングスコアに基づいて、タスクを、すでに同じタイプタスクを処理したことがあるリソースノードに割り当てて、処理を実行することによって、断片化されるリソースを減少することができる。 In one possible implementation, there may be cases where the first scheduling scores of at least two resource nodes are the same for the same task. In that case, the fragmented resources can be reduced by assigning the task to a resource node that has already processed the same type task and performing the processing based on the second scheduling score. ..

いくつかの実施例において、複数のスケジューリングポリシーに基づいてリソースノードのスケジューリングスコアをそれぞれ決定した後に、リソースノードの複数のスケジューリングポリシーに対応するスケジューリングスコアを総合的に考慮して、当該リソースノードの合計スケジューリングスコアを得、当該合計スケジューリングスコアに基づいて目標ノードを決定することができる。 In some embodiments, after each resource node's scheduling score is determined based on a plurality of scheduling policies, the total of the resource nodes is considered by comprehensively considering the scheduling scores corresponding to the resource node's multiple scheduling policies. A scheduling score can be obtained and a target node can be determined based on the total scheduling score.

可能な1実現形態において、前記方法は、前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定することをさらに含む。 In one possible implementation, the method determines a second scheduling score for each resource node based on the task type assigned to each resource node among the plurality of resource nodes and the type of the target task. Including further to do.

いくつかの実施例において、リソースノードの第1スケジューリングスコアおよび第2スケジューリングスコアに基づいて、当該リソースノードの合計スケジューリングスコアを得る。たとえば、第1スケジューリングスコアおよび第2スケジューリングスコアの加重和に基づいて、合計スケジューリングスコアを得るか、または、第1スケジューリングスコアおよび第2スケジューリングスコアの加重平均値に基づいて、合計スケジューリングスコアを得るが、本発明の実施例はこれらに対して限定しない。 In some embodiments, the total scheduling score of the resource node is obtained based on the first scheduling score and the second scheduling score of the resource node. For example, the total scheduling score is obtained based on the weighted sum of the first scheduling score and the second scheduling score, or the total scheduling score is obtained based on the weighted average value of the first scheduling score and the second scheduling score. , Examples of the present invention are not limited to these.

1例において、目標タスクの各タスクユニットを、目標タスクと同じタイプのタスクを処理しているリソースノードに集中させることができ、たとえば、目標タスクが深層学習タイプのタスクである場合、2つのリソースノードの第1スケジューリングスコアが同一であると、目標タスクのタスクユニットを、深層学習タスクを処理しているリソースノードに割り当てることができる。 In one example, each task unit of the target task can be concentrated on a resource node that is processing the same type of task as the target task, for example, if the target task is a deep learning type task, two resources. If the first scheduling scores of the nodes are the same, the task unit of the target task can be assigned to the resource node processing the deep learning task.

可能な1実現形態において、前記目標タスクが必要とするリソースタイプに基づいて、前記目標タスクの目標タイプを決定し、前記少なくとも2つのリソースノードの中で、タ処理しているスクのタイプが前記目標タイプであるリソースノードを、前記目標ノードとして決定することができる。 In one possible implementation, the target type of the target task is determined based on the resource type required by the target task, and among the at least two resource nodes, the type of the desk being processed is the above. A resource node that is a target type can be determined as the target node.

1例において、目標タスクが深層学習タイプのタスクであり、深層学習タイプのタスクが主にGPUリソースを必要とし、タスクに必要なリソースタイプに基づいて、目標タスクおよび各リソースノードで処理しているタスクのタイプを決定する。たとえば、リソースノードAで処理しているタスクが2つのGPUリソースを占用しており、リソースノードBが空きであると、リソースノードAで処理しているタスクと目標タスクタイプとが同じであると見なすことができる。または、リソースノードAで処理しているタスクが2つのGPUリソースを占用しており、リソースノードBで実行しているタスクがCPUリソースを占用しており、GPUリソースを占用していないと、リソースノードAで処理しているタスクと目標タスクタイプとが同じであると見なすことができる。第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである。つまり、リソースノードAがより高い第2スケジューリングスコアを得るようにすることができる。 In one example, the target task is a deep learning type task, the deep learning type task mainly requires GPU resources, and the target task and each resource node process it based on the resource type required for the task. Determine the type of task. For example, if the task processed by resource node A occupies two GPU resources and resource node B is free, the task processed by resource node A and the target task type are the same. You can see it. Alternatively, if the task being processed by the resource node A is occupying two GPU resources, the task being executed by the resource node B is occupying the CPU resource, and the GPU resource is not occupying the resource. It can be considered that the task being processed by node A and the target task type are the same. The second scheduling score of the first node is higher than the second scheduling score of the second node, and the task type assigned to the first node among the plurality of resource nodes is the same as the type of the target task. The second node is a node whose task type assigned to the plurality of resource nodes is different from the target task type. That is, the resource node A can be made to obtain a higher second scheduling score.

可能な1実現形態において、ステップS12は、各リソースノードの第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定することと、前記複数のリソースノードの中の各リソースノードの合計スケジューリングスコアに基づいて、前記目標リソースノードを決定することと、を含み得る。たとえば、第2スケジューリングスコアは、自身の計算ポリシーに対する第2重み値を含んでもよく、第1スケジューリングスコアと第2スケジューリングスコアとに対して加重和を実行して、合計スケジューリングスコアを得、合計スケジューリングスコアに基づいてリソースノードを選択することができる。 In one possible implementation, step S12 determines the total scheduling score of each resource node based on the first scheduling score of each resource node and the second scheduling score, and among the plurality of resource nodes. It may include determining the target resource node based on the total scheduling score of each resource node of. For example, the second scheduling score may include a second weight value for its own calculation policy, performing a weighted sum on the first scheduling score and the second scheduling score to obtain the total scheduling score and total scheduling. You can select resource nodes based on your score.

1例において、合計スケジューリングスコアを計算するときに、さらに、以上に説明された計算ポリシー以外の他の計算ポリシーを使用することができ、各計算ポリシーによって得られたスコアに対して加重和を実行して、合計スケジューリングスコアを得ることができる。たとえば、第1スケジューリングスコアおよび第2スケジューリングスコアに基づいて第3スケジューリングスコアを得、第3スケジューリングスコアと他の少なくとも1つの計算ポリシーによって得られた少なくとも1つの第4スケジューリングスコアとに基づいて、合計スケジューリングスコアを得ることができる。さらに、合計スケジューリングスコアが最も高いリソースノードを使用して目標タスクを処理することができ、すなわち、目標リソースノードとして使用することができる。本発明は、計算ポリシーに対して限定しない。 In one example, when calculating the total scheduling score, other calculation policies other than the calculation policies described above can be used, and the weighted sum is executed for the score obtained by each calculation policy. And the total scheduling score can be obtained. For example, a third scheduling score is obtained based on the first scheduling score and the second scheduling score, and the sum is based on the third scheduling score and at least one fourth scheduling score obtained by at least one other calculation policy. You can get a scheduling score. In addition, the resource node with the highest total scheduling score can be used to process the target task, i.e., it can be used as the target resource node. The present invention is not limited to the calculation policy.

図2は、本発明の実施例に係る目標ノード選択を示す模式図である。図2に示すように、タスク1とタスク2は、いずれも深層学習タイプのタスクであり、リソース需要量は、いずれも1つのGPUリソースである。リソースノードAは、6つのGPUリソースを含み、リソースノードBは、3つのGPUリソースを含むが、リソースノードAで実行しているタスクによって既に3つのGPUリソースを占用されていると、リソースノードAおよびリソースノードBの第1スケジューリングスコアを決定するときに、GPUリソースのリソース残り量が同じであるため、リソースノードAの第1スケジューリングスコアとリソースノードBの第1スケジューリングスコアが同じである可能性がある。 FIG. 2 is a schematic diagram showing target node selection according to an embodiment of the present invention. As shown in FIG. 2, both task 1 and task 2 are deep learning type tasks, and the resource demand amount is one GPU resource. Resource node A includes 6 GPU resources, resource node B contains 3 GPU resources, but resource node A if the task running on resource node A has already occupied 3 GPU resources. And when determining the first scheduling score of resource node B, the remaining amount of resources of the GPU resource is the same, so the first scheduling score of resource node A and the first scheduling score of resource node B may be the same. There is.

1例において、リソースノードAで処理しているタスクによって3つのGPUリソースが占用されていることは、リソースノードAで処理しているタスクとタスク1のタイプが同じであると見なすことができ、リソースノードAがより高い第2スケジューリングスコアを得るようにすることができる。第1スケジューリングスコアと加算した後に、リソースノードAの合計スケジューリングスコアがより高くなるため、リソースノードAをスケジューリングしてタスク1を処理することができる。さらに、リソースノードAのリソースの残り量が2つのGPUリソースであり、リソースの残り量がリソースノードBよりも小さいため、依然として、リソースノードAをスケジューリングしてタスク2を処理することができる。タスク1およびタスク2をリソースノードAに集中させて処理を実行することによって、目標タスクによって占用されるリソースノードが分散されすぎて、多すぎるリソースノードを占用することを避けて、断片化されるリソースが発生され、リソースの浪費を引き起こすことを避けることができる。 In one example, the fact that three GPU resources are occupied by the task processed by the resource node A can be regarded as the same type of task 1 as the task processed by the resource node A. Resource node A can be made to get a higher second scheduling score. After adding to the first scheduling score, the total scheduling score of resource node A becomes higher, so that resource node A can be scheduled to process task 1. Further, since the remaining amount of the resource of the resource node A is two GPU resources and the remaining amount of the resource is smaller than that of the resource node B, the resource node A can still be scheduled to process the task 2. By concentrating task 1 and task 2 on resource node A and executing processing, the resource nodes occupied by the target task are fragmented so as to avoid occupying too many resource nodes. It is possible to avoid generating resources and causing waste of resources.

本発明の実施例のリソーススケジューリング方法によると、タスクユニット平均リソース需要量をソート基準にすることによって、処理リソースを十分に利用し、リソースの利用率を向上させ、リソースの浪費を削減する。第1リソースの残り量および第2リソースの使用可能なリソース総量を総合的に考慮して、各リソースノードの第1スケジューリングスコアを決定し、目標タスクの各タスクユニットをできるだけ同じリソースノードに割り当てて処理を実行することによって、断片化されるリソースを減少し、リソースの利用効率を向上させ、後続のタスクの待機時間を短縮する。さらに、目標タスクのリソースタイプおよび各リソースノード処理しているタスクのリソースタイプを決定することによって、タスクをできるだけ同じリソースノードに集中させて処理を実行することによって、多すぎるリソースノードを占用して、断片化されるリソースが発生され、リソースの浪費を引き起こすことを避けることができる。 According to the resource scheduling method of the embodiment of the present invention, by using the task unit average resource demand as the sort criterion, the processing resources are fully utilized, the resource utilization rate is improved, and the resource waste is reduced. Determine the first scheduling score for each resource node, taking into account the remaining amount of the first resource and the total amount of available resources of the second resource, and assign each task unit of the target task to the same resource node as much as possible. By executing the process, the fragmented resources are reduced, the utilization efficiency of the resources is improved, and the waiting time of the subsequent task is shortened. In addition, by deciding the resource type of the target task and the resource type of each resource node processing task, by concentrating the tasks on the same resource node as much as possible and executing the processing, occupying too many resource nodes. , Fragmented resources are generated, and it is possible to avoid causing waste of resources.

図3は、本発明の実施例に係るリソーススケジューリング方法を示す適用模式図であり、図3に示すように、サーバのタスクキューには、複数のタスク(たとえばM個であり、Mは正の整数)が存在することができ、タスクキュー中のタスクをソートすることができる。たとえば、タスク優先度およびタスクユニット平均リソース需要量に基づいてソートすることができ、すなわち、まず、タスク優先度に基づいてソートし、シーケンス中に優先度が同じである少なくとも2つのタスクが存在すると、タスクユニット平均リソース需要量がより大きいタスクを、タスクユニット平均リソース需要量がより小さいタスクの前に配列することができる。 FIG. 3 is an application schematic diagram showing a resource scheduling method according to an embodiment of the present invention, and as shown in FIG. 3, there are a plurality of tasks (for example, M, and M is positive) in the task queue of the server. Integer) can exist and the tasks in the task queue can be sorted. For example, if you can sort based on task priority and task unit average resource demand, that is, first sort based on task priority, and there are at least two tasks in the sequence that have the same priority. , Tasks with a higher average task unit resource demand can be arranged before tasks with a lower average task unit resource demand.

可能な1実現形態において、タスクiに対して、複数の計算ポリシーを使用して各リソースノードの第1スケジューリングスコアを計算することができる。たとえば、まず数(1)を使用して各リソースノード(たとえば、合計N個のリソースノードであり、Nは正の整数である)の各計算ポリシーにおける第1スケジューリングスコアを計算することができる。 In one possible implementation, the first scheduling score of each resource node can be calculated for task i using multiple computational policies. For example, the number (1) can first be used to calculate the first scheduling score for each calculation policy for each resource node (eg, a total of N resource nodes, where N is a positive integer).

可能な1実現形態において、少なくとも2つのリソースノードの第1スケジューリングスコアが同一であると、第2スケジューリングスコアに基づいて、タスクを、既に同じタイプタスクを処理したことがあるリソースノードに割り当てて処理を実行することによって、断片化されるリソースを減少することができる。たとえば、他の計算ポリシーを採用することができ、たとえば、タスクiが深層学習タイプのタスクであり、要求するリソースがGPUリソースである。リソースノードAで処理しているタスクによって2つのGPUリソースが占用され、リソースノードBが空きであると、リソースノードAで処理しているタスクと目標タスクタイプとが同一であると見なすことができ、リソースノードAがより高い第2スケジューリングスコアを得るようにすることができる。リソースノードAの第1リソーススケジューリングコアとリソースノードBの第1スケジューリングスコアとが同一であると、それぞれの第2スケジューリングスコアと加算してそれぞれの合計スケジューリングスコアを得、リソースノードAの得られた合計スケジューリングスコアがより高く、リソースノードAを使用して目標タスクを処理することができる。つまり、タスクをできるだけ同じリソースノードに集中させて処理を実行することによって、断片化されるリソースを減少することができる。 In one possible implementation, if at least two resource nodes have the same first scheduling score, the task is assigned to a resource node that has already processed the same type task based on the second scheduling score. By executing, you can reduce the resources that are fragmented. For example, other computational policies can be adopted, for example task i is a deep learning type task and the requesting resource is a GPU resource. When two GPU resources are occupied by the task processed by the resource node A and the resource node B is free, it can be considered that the task processed by the resource node A and the target task type are the same. , Resource node A can be made to get a higher second scheduling score. When the first resource scheduling core of the resource node A and the first scheduling score of the resource node B are the same, the total scheduling score is obtained by adding to the second scheduling score of each, and the resource node A is obtained. The total scheduling score is higher and the resource node A can be used to process the target task. In other words, by concentrating tasks on the same resource node as much as possible and executing processing, fragmented resources can be reduced.

可能な1実現形態において、さらに、複数の計算ポリシー使用することができ、たとえば、K個の計算ポリシーを使用して、各計算ポリシーを通じて得られたスケジューリングスコアに対して加重和を実行して、各リソースノードの合計スケジューリングスコアを得ることができる。合計スケジューリングスコアが最も高いリソースノードを目標リソースノード(たとえば、リソースノードがjであり、jは整数であり、j≦Nである)として決定することができる。 In one possible implementation, more than one calculation policy can be used, for example, using K calculation policies and performing a weighted sum on the scheduling scores obtained through each calculation policy. You can get the total scheduling score for each resource node. The resource node with the highest total scheduling score can be determined as the target resource node (for example, the resource node is j, j is an integer, and j ≦ N).

可能な1実現形態において、本発明のリソーススケジューリング方法は、サーバに用いられ得、各リソースノードをスケジューリングして、サーバ中の各タスクを処理することができる。たとえば、人工知能教育プラットフォームのサーバに用いられ得、リソースノードをスケジューリングして各人工知能教育タスクまたは実験タスクを処理するときに使用することができる。またたとえば、監視システムのサーバに用いられ得、各リソースノードをスケジューリングして顔認識または顔クラスタリングなどのタスクを処理するときに使用することができる。本発明は、スケジューリング方法の適用場面に対して限定しない。 In one possible implementation, the resource scheduling method of the present invention can be used for a server, each resource node can be scheduled to process each task in the server. For example, it can be used as a server for an artificial intelligence education platform and can be used to schedule resource nodes to process each artificial intelligence education task or experimental task. It can also be used, for example, as a server in a monitoring system, scheduling each resource node to handle tasks such as face recognition or face clustering. The present invention is not limited to the application situation of the scheduling method.

本発明に言及された上記の各方法の実施例は、原理と論理を違反することなく、いずれも互いに組み合わせて組み合わせた後の実施例を形成することができ、スペースの制限により、本発明は繰り返して説明しないことを理解できる。 The embodiments of each of the above methods referred to in the present invention can form examples after they are combined and combined without violating the principles and logics, and due to space limitations, the invention I understand that I will not explain it repeatedly.

なお、本発明は、リソーススケジューリング装置、電子デバイス、コンピュータ可読記録媒体、および、プログラムをさらに提供し、上述したものは、いずれも本発明によって提供される任意のリソーススケジューリング方法を実装することができ、該当する技術的解決策と説明は、方法の部分の該当する記載を参照でき、ここで繰り返して説明しない。 The present invention further provides a resource scheduling device, an electronic device, a computer-readable recording medium, and a program, all of which can implement any resource scheduling method provided by the present invention. , Applicable technical solutions and description can be referred to in the corresponding description of the method section and will not be repeated herein.

当業者は、具体的な実施形態の上述した方法において、各ステップの書き込み順序は厳密な実行順序を意味するのではなく、実施過程に対していかなる限定も構成しないし、各ステップの具体的な実行順序はその機能と可能の内部ロジックによって決定されるべきであることを理解できる。 One of ordinary skill in the art does not imply any strict execution order of the writing order of each step in the above-mentioned method of the specific embodiment, and does not constitute any limitation on the implementation process, and the specific of each step. It can be understood that the order of execution should be determined by its function and possible internal logic.

図4は、本発明の実施例に係るリソーススケジューリング装置を示すブロック図であり、図4に示すように、前記装置は、第1決定モジュール41と第2決定モジュール42とを備える。 FIG. 4 is a block diagram showing a resource scheduling apparatus according to an embodiment of the present invention, and as shown in FIG. 4, the apparatus includes a first determination module 41 and a second determination module 42.

第1決定モジュール41は、目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定し、前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む。 The first decision module 41 is at least partially based on the resource demand of the target task, the current resource remaining amount of the first resource of each resource node among the plurality of resource nodes, and the total available resources of the second resource. Therefore, the first scheduling score of each resource node for the target task is determined, the first resource includes a deep learning resource, and the second resource includes a general-purpose resource.

第2決定モジュール42は、前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定する。 The second determination module 42 is a target resource for processing the target task from among the plurality of resource nodes, at least partially based on the first scheduling score of each resource node in the plurality of resource nodes. Determine the node.

可能な1実現形態において、前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、前記第1決定モジュールは、さらに、前記目標タスクの第1リソース需要量および前記第1リソースの現在リソース残り量に基づいて、第1スコアを得、前記目標タスクの第2リソース需要量および前記第2リソースの使用可能なリソース総量に基づいて、第2スコアを決定し、前記第1スコアおよび前記第2スコアに対して加重和を実行して、前記第1スケジューリングスコアを得る。 In one possible implementation, the resource demand for the target task includes a first resource demand and a second resource demand, and the first determination module further includes a first resource demand for the target task and said. The first score is obtained based on the current resource remaining amount of the first resource, and the second score is determined based on the second resource demand amount of the target task and the total available resources amount of the second resource. A weighted sum is performed on the first score and the second score to obtain the first scheduling score.

可能な1実現形態において、前記装置は、前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定するための第3決定モジュールをさらに備え、前記第2決定モジュールは、さらに、各リソースノードの第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定し、前記複数のリソースノードの中の各リソースノードの合計スケジューリングスコアに基づいて、前記目標リソースノードを決定する。 In one possible embodiment, the apparatus determines a second scheduling score for each resource node based on the task type assigned to each resource node among the plurality of resource nodes and the type of the target task. The second decision module further comprises a third decision module for determining the total scheduling score of each resource node based on the first scheduling score and the second scheduling score of each resource node. The target resource node is determined based on the total scheduling score of each resource node among the plurality of resource nodes.

可能な1実現形態において、第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである。 In one possible embodiment, the second scheduling score of the first node is higher than the second scheduling score of the second node, and the first node has the target task type assigned to the plurality of resource nodes. The node is the same as the task type, and the second node is a node whose assigned task type is different from the target task type among the plurality of resource nodes.

可能な1実現形態において、前記装置は、複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得るための第1取得モジュールと、前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行するためのスケジューリングモジュールと、をさらに備え、前記複数のタスクは、前記目標タスクを含む。 In one possible embodiment, the device is at least partial to the priority of each task in the plurality of tasks and the average resource demand of the plurality of task units contained in each task in the plurality of tasks. Based on the first acquisition module for sorting the plurality of tasks to obtain the first task queue, and the order of the target tasks in the first task queue, scheduling is executed for the target task. The plurality of tasks include the target task.

可能な1実現形態において、前記第1取得モジュールは、さらに、前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定することと、前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定する。 In one possible embodiment, the first acquisition module further determines the initial order of the plurality of tasks based on the priority of each task among the plurality of tasks, and during the initial order. If it is present that at least two tasks have the same priority, the target order of the at least two tasks is determined based on the average resource demand of each of the at least two tasks.

可能な1実現形態において、前記第1取得モジュールは、さらに、前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および、前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得る。 In one possible embodiment, the first acquisition module further includes the priority of each task in the plurality of tasks and the average resource of the plurality of task units included in each task in the plurality of tasks. The plurality of tasks are sorted to obtain a first task queue based on the demand amount and the creation time stamp of each task among the plurality of tasks at least partially.

いくつかの実施例において、本発明の実施例によって提供される装置に含まれる機能またはモジュールは、上記の方法の実施例に記載の方法を実行することができ、その具体的な実施については上記の方法の実施例の説明を参照することができ、簡素化のためにここでは繰り返して説明しない。 In some embodiments, the functions or modules included in the apparatus provided by the embodiments of the present invention may carry out the methods described in the embodiments of the above methods, the specific embodiments of which are described above. The description of the embodiment of the method can be referred to and is not repeated here for the sake of brevity.

本発明の実施例は、コンピュータプログラム命令が記憶されているコンピュータ可読記録媒体をさらに提案し、前記コンピュータプログラム命令がプロセッサによって実行されると、前記プロセッサが、上述したリソーススケジューリング方法を実装するようにする。コンピュータ可読記録媒体は、不揮発性コンピュータ可読記録媒体であり得る。 The embodiments of the present invention further propose a computer-readable recording medium in which computer program instructions are stored, such that when the computer program instructions are executed by the processor, the processor implements the resource scheduling method described above. do. The computer-readable recording medium can be a non-volatile computer-readable recording medium.

本発明の実施例は、電子デバイスをさらに提案し、当該電子デバイスは、プロセッサと、プロセッサによって実行可能な命令を記憶するためのメモリと、を備え、前記プロセッサは、上述したリソーススケジューリング方法を実行するように構成される。 The embodiments of the present invention further propose an electronic device, which comprises a processor and a memory for storing instructions that can be executed by the processor, wherein the processor performs the resource scheduling method described above. It is configured to do.

電子デバイスは、端末、サーバ、または他のタイプのデバイスとして提供され得る。 Electronic devices can be provided as terminals, servers, or other types of devices.

図5は、例示的な1実施例に係る電子デバイス500を示すブロック図である。たとえば、電子デバイス500は、携帯電話、コンピュータ、デジタル放送端末、情報送受信機器、ゲームコンソール、タブレット機器、医療機器、フィットネス機器、パーソナルデジタルアシスタント等の端末デバイスであってもよい。 FIG. 5 is a block diagram showing an electronic device 500 according to an exemplary embodiment. For example, the electronic device 500 may be a terminal device such as a mobile phone, a computer, a digital broadcasting terminal, an information transmitting / receiving device, a game console, a tablet device, a medical device, a fitness device, or a personal digital assistant.

図5を参照すると、電子デバイス500は、処理コンポーネント502、メモリ504、電源コンポーネント506、マルチメディアコンポーネント508、オーディオコンポーネント510、入力/出力(I/O)インターフェース512、センサコンポーネント514及び通信コンポーネント516のうちの1つ又は複数のコンポーネントを備えてもよい。 Referring to FIG. 5, the electronic device 500 includes processing component 502, memory 504, power supply component 506, multimedia component 508, audio component 510, input / output (I / O) interface 512, sensor component 514 and communication component 516. It may include one or more of these components.

処理コンポーネント502は、通常、電子デバイス500の全般操作、例えば、表示、電話発呼、データ通信、カメラ操作及び記録操作に関連する操作を制御する。処理コンポーネント502は、上記方法のステップの全部又は一部を実行するように、命令を実行する1つ又は複数のプロセッサ520を備えてもよい。また、処理コンポーネント502は、処理コンポーネント502と他のコンポーネントとの間の相互作用が容易になるように、1つ又は複数のモジュールを備えてもよい。例えば、処理コンポーネント502は、マルチメディアコンポーネント508と処理コンポーネント502との間の相互作用が容易になるように、マルチメディアモジュールを備えてもよい。 The processing component 502 typically controls operations related to general operations of the electronic device 500, such as display, telephone calling, data communication, camera operations and recording operations. The processing component 502 may include one or more processors 520 that execute instructions to perform all or part of the steps of the above method. Also, the processing component 502 may include one or more modules to facilitate the interaction between the processing component 502 and the other components. For example, the processing component 502 may include a multimedia module to facilitate the interaction between the multimedia component 508 and the processing component 502.

メモリ504は、電子デバイス500での操作をサポートするために、各タイプのデータを記憶するように構成される。これらのデータの例示は、電子デバイス500で操作するための如何なるアプリケーションプログラム又は方法の命令、連絡人データ、電話帳データ、メッセージ、ピクチャ、映像などを含む。メモリ504は、如何なるタイプの揮発性もしくは不揮発性記憶デバイス又はそれらの組合せ、例えば、スタティックランダムアクセスメモリ(SRAM)、電気的に消去可能なプログラマブル読み出し専用メモリ(EEPROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM)、プログラマブル読み出し専用メモリ(PROM)、読み出し専用メモリ(ROM)、磁気メモリ、フラッシュメモリ、磁気ディスク又は光ディスクによって実現されてもよい。 The memory 504 is configured to store each type of data to support operations in the electronic device 500. Examples of these data include instructions of any application program or method for operating on the electronic device 500, contact data, telephone directory data, messages, pictures, video and the like. The memory 504 may be any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory. It may be realized by (EPROM), a programmable read-only memory (PROM), a read-only memory (ROM), a magnetic memory, a flash memory, a magnetic disk, or an optical disk.

電源コンポーネント506は、電子デバイス500の各種のコンポーネントへ電力を供給する。電源コンポーネント506は、電源管理システム、1つ又は複数の電源、並びに、電子デバイス500用の電力を生成、管理及び配分するに関する他のコンポーネントを含んでもよい。 The power supply component 506 supplies power to various components of the electronic device 500. The power component 506 may include a power management system, one or more power sources, as well as other components for generating, managing, and distributing power for the electronic device 500.

マルチメディアコンポーネント508は、前記電子デバイス500とユーザとの間に1つの出力インターフェースを供給するスクリーンを備える。幾つかの実施例では、スクリーンは、液晶ディスプレイ(LCD)及びタッチパネル(TP)を含んでもよい。スクリーンは、タッチパネルを含む場合、ユーザからの入力信号を受信するように、タッチスクリーンとして実現されてもよい。タッチパネルは、タッチ、スライド及びタッチパネルでのジェスチャーを感知するように、1つ又は複数のタッチセンサを含む。前記タッチセンサは、タッチ又はスライド動作の境界を感知するだけではなく、前記タッチ又はスライド操作と関連する持続時間及び圧力をさらに検出することができる。幾つかの実施例では、マルチメディアコンポーネント508は、1つのフロントカメラヘッド及び/又はバックカメラヘッドを含む。電子デバイス500が操作モード、例えば、撮影モード又はビデオモードにあるとき、フロントカメラヘッド及び/又はバックカメラヘッドは、外部のマルチメディアデータを受信することができる。フロントカメラヘッド及びバックカメラヘッドのそれぞれは、1つの固定の光学レンズシステムであってもよいし、焦点距離及び光学ズーム能力を有するものであってもよい。 The multimedia component 508 includes a screen that provides one output interface between the electronic device 500 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). When the screen includes a touch panel, it may be realized as a touch screen so as to receive an input signal from the user. The touch panel includes one or more touch sensors to sense touches, slides and gestures on the touch panel. The touch sensor can not only sense the boundaries of the touch or slide motion, but also further detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 508 includes one front camera head and / or back camera head. When the electronic device 500 is in an operating mode, eg, shooting mode or video mode, the front camera head and / or the back camera head can receive external multimedia data. Each of the front camera head and the back camera head may be one fixed optical lens system or may have focal length and optical zoom capability.

オーディオコンポーネント510は、オーディオ信号を出力及び/又は入力するように構成される。例えば、オーディオコンポーネント510は、マイク(MIC)を備え、電子デバイス500が操作モード、例えば、発呼モード、記録モード及び音声識別モードにあるとき、マイクは、外部オーディオ信号を受信するように構成される。受信されたオーディオ信号は、さらに、メモリ504に記憶される、又は、通信コンポーネント516を介して送信されることができる。幾つかの実施例では、オーディオコンポーネント510は、さらに、オーディオ信号を出力するためのスピーカをさらに含む。 The audio component 510 is configured to output and / or input an audio signal. For example, the audio component 510 comprises a microphone (MIC), and the microphone is configured to receive an external audio signal when the electronic device 500 is in an operating mode, eg, a calling mode, a recording mode, and a voice recognition mode. To. The received audio signal can be further stored in memory 504 or transmitted via the communication component 516. In some embodiments, the audio component 510 further includes a speaker for outputting an audio signal.

I/Oインターフェース512は、処理コンポーネント502とペリフェラルインターフェースモジュールとの間でインターフェースを供給するものであり、上記ペリフェラルインターフェースモジュールは、キーボード、クリックホイール、ボタンなどであってもよい。これらのボタンは、ホームページボタン、ボリュームボタン、起動ボタン及びロックボタンを含んでもよいが、それらに限定されない。 The I / O interface 512 supplies an interface between the processing component 502 and the peripheral interface module, and the peripheral interface module may be a keyboard, a click wheel, a button, or the like. These buttons may include, but are not limited to, a home page button, a volume button, a start button and a lock button.

センサコンポーネント514は、様々な側面での状態推定を電子デバイス500に供給するための1つ又は複数のセンサを含む。例えば、センサコンポーネント514は、電子デバイス500のオン/オフ状態、コンポーネントの相対位置を検出することができ、例えば、前記コンポーネントは、電子デバイス500のディスプレイ及びテンキーである。センサコンポーネント514は、さらに、電子デバイス500もしくは電子デバイス500のコンポーネントの位置変更、ユーザと電子デバイス500との接触の存在もしくは不存在、電子デバイス500の方位又は加速/減速及び電子デバイス500の温度変化をさらに検出することができる。センサコンポーネント514は、如何なる物理的接触もないとき、近辺にある物体の存在を検出するための近接センサを含んでもよい。センサコンポーネント514は、さらに、結像応用に使用される光センサ、例えばCMOS又はCCD画像センサを含んでもよい。幾つかの実施例では、当該センサコンポーネント514は、さらに、加速度センサ、ジャイロセンサ、磁気センサ、圧力センサ又は温度センサを含んでもよい。 The sensor component 514 includes one or more sensors for supplying state estimation in various aspects to the electronic device 500. For example, the sensor component 514 can detect the on / off state of the electronic device 500, the relative position of the component, for example, the component is a display and a numeric keypad of the electronic device 500. The sensor component 514 further repositions the electronic device 500 or the component of the electronic device 500, the presence or absence of contact between the user and the electronic device 500, the orientation or acceleration / deceleration of the electronic device 500, and the temperature change of the electronic device 500. Can be further detected. The sensor component 514 may include a proximity sensor for detecting the presence of nearby objects in the absence of any physical contact. The sensor component 514 may further include an optical sensor used for imaging applications, such as a CMOS or CCD image sensor. In some embodiments, the sensor component 514 may further include an accelerometer, gyro sensor, magnetic sensor, pressure sensor or temperature sensor.

通信コンポーネント516は、電子デバイス500と他のユーザ機器との間の無線又は有線方式の通信が便利になるように構成される。電子デバイス500は、通信規格に基づく無線ネットワーク、例えば、WiFi、2Gもしくは3G、又はそれらの組合せにアクセスすることができる。1つの例示的な実施例では、通信コンポーネント516は、ブロードキャストチャネルを介して、外部ブロードキャスト管理システムからのブロードキャスト信号又はブロードキャスト関連通知情報を受信する。1つの例示的な実施例では、前記通信コンポーネント516は、さらに、短距離通信が容易になるように、ニアフィールド通信(NFC)モジュールを含んでもよい。例えば、NFCモジュールでは、無線周波数識別(RFID)技術、赤外データ協会(IrDA)技術、超広帯域(UWB)技術、ブルートゥース(登録商標)(BT)技術及び他の技術によって実現されてもよい。 The communication component 516 is configured to facilitate wireless or wired communication between the electronic device 500 and other user equipment. The electronic device 500 can access a wireless network based on a communication standard, for example, WiFi, 2G or 3G, or a combination thereof. In one exemplary embodiment, the communication component 516 receives a broadcast signal or broadcast-related notification information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication component 516 may further include a Near Field Communication (NFC) module to facilitate short-range communication. For example, NFC modules may be implemented by radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth® (BT) technology and other technologies.

例示的な実施例では、電子デバイス500は、上記方法を実行するための1つ又は複数の特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP)、デジタル信号処理デバイス(DSPD)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルゲートアレイ(FPGA)、コントローラ、マイクロコントローラ、マイクロプロセッサ又は他の電子部品によって実現されてもよい。 In an exemplary embodiment, the electronic device 500 is one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic for performing the above methods. It may be implemented by a device (PLD), a field programmable gate array (FPGA), a controller, a microcontroller, a microprocessor or other electronic component.

例示的な実施例は、不揮発性コンピュータ可読記憶媒体、例えばコンピュータプログラム命令を含むメモリ504を更に提供する。上記コンピュータプログラム命令は、電子デバイス500のプロセッサ520によって実行されて上記方法を実施させ得る。 An exemplary embodiment further provides a non-volatile computer readable storage medium, eg, a memory 504 containing computer program instructions. The computer program instructions may be executed by the processor 520 of the electronic device 500 to carry out the method.

本発明の実施例は、コンピュータ可読コードを含むコンピュータプログラム製品をさらに提供し、コンピュータ可読コードがデバイス上で運行されるときに、デバイス中のプロセッサによって、上記の任意の実施例によって提供される方法を実装するための命令が実行される。 The embodiments of the present invention further provide a computer program product including computer readable code, a method provided by any of the above embodiments by a processor in the device when the computer readable code is operated on the device. The instruction to implement is executed.

当該コンピュータプログラム製品は、具体的に、ハードウェア、ソフトウェア、また両者の組み合わせによって実装され得る。1つのオプションの実施例において、前記コンピュータプログラム製品は、具体的に、コンピュータ記録媒体として具体化され得、もう1つのオプションの実施例において、コンピュータプログラム製品は、具体的に、たとえばソフトウェア開発キット(Software Development Kit、SDK)などのソフトウェア製品として具体化され得る。 The computer program product may be specifically implemented by hardware, software, or a combination thereof. In one optional embodiment, the computer program product may be specifically embodied as a computer recording medium, and in another optional embodiment, the computer program product may be specifically, for example, a software development kit. It can be embodied as a software product such as Software Development Kit (SDK).

図6は、本発明の実施例に係る電子デバイス600のブロック図である。例えば、電子デバイス600は、サーバとして提供され得る。図7を参照すると、電子デバイス600は、処理コンポーネント622を含み、更に、当該処理コンポーネント622は、1つ又は複数のプロセッサ、及びメモリ632に代表されるメモリリソースとを備え、メモリ632は、処理コンポーネント622によって実行され得る命令、例えば、アプリケーションプログラムを記憶する。メモリ632に記憶されるアプリケーションプログラムは、それぞれが1セットの命令に対応する1つ又は1つ以上のモジュールを備えてもよい。また、処理コンポーネント622は、命令を実行することで上記のリソーススケジューリング方法を実施するように構成される FIG. 6 is a block diagram of the electronic device 600 according to the embodiment of the present invention. For example, the electronic device 600 may be provided as a server. Referring to FIG. 7, the electronic device 600 includes a processing component 622, which further comprises one or more processors and a memory resource typified by the memory 632, the memory 632 being processed. Stores instructions that can be executed by component 622, such as application programs. The application program stored in the memory 632 may include one or more modules, each corresponding to a set of instructions. Further, the processing component 622 is configured to execute the above resource scheduling method by executing an instruction.

電子デバイス600は、電子デバイス600の電源管理を実行するように構成される電源コンポーネント626と、電子デバイス600をネットワークに接続するように構成される有線又は無線ネットワークインターフェース650と、入力/出力(I/O)インターフェース658とを更に備えてもよい。電子デバイス600は、メモリ632に記憶されたオペレーティングシステム、例えばWindows ServerTM、Mac OS XTM、UnixTM、LinuxTM、FreeBSDTM又はその他を操作してもよい。 The electronic device 600 includes a power component 626 configured to perform power management of the electronic device 600, a wired or wireless network interface 650 configured to connect the electronic device 600 to a network, and inputs / outputs (I). / O) An interface 658 may be further provided. The electronic device 600 may operate an operating system stored in memory 632, such as a Windows Server TM , Mac OS X TM , UnixTM, Linux TM , FreeBSD TM , or the like.

例示的な実施例は、不揮発性コンピュータ可読記憶媒体、例えば、コンピュータプログラム命令を含むメモリ632を更に提供する。上記コンピュータプログラム命令が電子デバイス600の処理コンポーネント622によって実行されることで、上記方法は、実施され得る。 An exemplary embodiment further provides a non-volatile computer readable storage medium, eg, a memory 632 containing computer program instructions. The method can be implemented by executing the computer program instruction by the processing component 622 of the electronic device 600.

本発明は、システム、方法及び/又はコンピュータプログラム製品を提供する。コンピュータプログラム製品は、コンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体には、プロセッサに本発明の各態様を実施させるためのコンピュータ可読プログラム命令が載せている。 The present invention provides systems, methods and / or computer program products. Computer program products may include computer readable storage media. The computer-readable storage medium contains computer-readable program instructions for causing the processor to perform each aspect of the present invention.

コンピュータ可読記憶媒体は、命令実行機器で使用される命令を保持及び記憶する有形機器であってもよい。コンピュータ可読記憶媒体は、例えば、電気記憶機器、磁気記憶機器、光記憶機器、電磁的記憶機器、半導体記憶機器又は上記任意の適切な組み合わせであってもよいが、それらに限定されない。コンピュータ可読記憶媒体のより具体的な例(非網羅のリスト)は、ポータブルコンピュータディスク、ハードディスク、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、消去可能なプログラマブル読み出し専用メモリ(EPROM又はフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型圧縮ディスク読み出し専用メモリ(CD-ROM)、デジタル多機能ディスク(DVD)、メモリスティック、フロッピーディスク、機械的符号化機器、例えば、命令が記憶されるパンチカード又は溝内突起構造、及び上記の任意の適切な組合を含む。ここで使用されるコンピュータ可読記憶媒体は、瞬時信号自身、例えば、無線電波又は他の自由に伝搬される電磁波、導波路又は他の伝送媒体を介して伝搬される電磁波(例えば、光ファイバー・ケーブルを介した光パルス)、又は電線を介して伝送された電気信号として解釈されない。 The computer-readable storage medium may be a tangible device that holds and stores the instructions used by the instruction executing device. The computer-readable storage medium may be, for example, an electrical storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination described above, but is not limited thereto. More specific examples of computer-readable storage media (non-exhaustive list) are portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory). ), Static random access memory (SRAM), portable compressed disk read-only memory (CD-ROM), digital multifunction disk (DVD), memory stick, floppy disk, mechanical coding device, for example, instructions are stored. Includes punch cards or in-groove protrusion structures, and any suitable union as described above. The computer-readable storage medium used herein is an instantaneous signal itself, eg, a radio wave or other freely propagating electromagnetic wave, a waveguide or an electromagnetic wave propagating through another transmission medium (eg, an optical fiber cable). It is not interpreted as an optical signal transmitted through an optical pulse) or an electric wire.

ここで記述されるコンピュータ可読プログラム命令は、コンピュータ可読記憶媒体から各演算/処理機器にダウンロードし、又は、ネットワーク、例えばインターネット、ローカルエリアネットワーク、広域ネットワーク及び/又は無線ネットワークを介して外部コンピュータ或いは外部記憶機器へダウンロードしてもよい。ネットワークは、銅伝送ケーブル、光ファイバー伝送、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/又はエッジサーバを含んでもよい。各演算/処理機器におけるネットワークアダプタ又はネットワークインターフェースは、ネットワークからコンピュータ可読プログラム命令を受信して当該コンピュータ可読プログラム命令を転送することにより、各演算/処理機器におけるコンピュータ可読記憶媒体に記憶させる。 The computer-readable program instructions described herein are downloaded from a computer-readable storage medium to each arithmetic / processing device, or via a network such as the Internet, local area network, wide area network and / or wireless network to an external computer or external. You may download it to a storage device. The network may include copper transmission cables, fiber optic transmissions, wireless transmissions, routers, firewalls, switches, gateway computers and / or edge servers. The network adapter or network interface in each arithmetic / processing device receives a computer-readable program instruction from the network and transfers the computer-readable program instruction to store the computer-readable program instruction in the computer-readable storage medium in each arithmetic / processing apparatus.

本発明の操作を実行するためのコンピュータプログラム命令は、アセンブリ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン関連命令、マイクロコード、ファームウェア命令、状態設定データ、又は、1種若しくは複数種のプログラミング言語の任意の組み合わせで作成されたソースコード又はターゲットコードであってもよい。前記プログラミング言語は、オブジェクト指向プログラミング言語(例えば、Smalltalk、C++等)、及び、通常のプロセスプログラミング言語(例えば、「C」語言)又は類似するプログラミング言語を含む。コンピュータ可読プログラム命令は、完全にユーザコンピュータ上で実行されてもよく、部分的にユーザコンピュータ上で実行されてもよく、1つの独立するソフトウェアパッケージとして実行されてもよく、一部がユーザコンピュータ上でもう一部がリモートコンピュータ上で実行されてもよく、又は完全にリモートコンピュータ又はサーバ上で実行されてもよい。リモートコンピュータの場合に、リモートコンピュータは、任意の種類のネットワーク(ローカルエリアネットワーク(LAN)又は広域ネットワーク(WAN)を含む)を介してユーザコンピュータに接続され、又は、外部コンピュータに接続されてもよい(例えば、インターネットサービスプロバイダを利用してインターネットで接続される)。幾つかの実施例では、コンピュータ可読プログラム命令の状態情報を用いて電子回路、例えばプログラマブル論理回路、フィールドプログラマブルゲートアレイ(FPGA)又はプログラマブル論理アレイ(PLA)を個性化でカストマイズする。当該電子回路は、コンピュータ可読プログラム命令を実行することにより、本発明の各態様を実施可能である。 The computer program instructions for performing the operations of the present invention are assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcodes, firmware instructions, state setting data, or one or more types. It may be source code or target code created by any combination of programming languages. The programming language includes an object-oriented programming language (eg, Smalltalk, C ++, etc.) and a conventional process programming language (eg, "C" wording) or a similar programming language. Computer-readable program instructions may be executed entirely on the user computer, partially on the user computer, or as one independent software package, some on the user computer. The other part may be executed on the remote computer, or may be entirely executed on the remote computer or the server. In the case of a remote computer, the remote computer may be connected to the user computer or to an external computer via any type of network (including local area network (LAN) or wide area network (WAN)). (For example, connect to the Internet using an Internet service provider). In some embodiments, electronic circuits such as programmable logic circuits, field programmable gate arrays (FPGAs) or programmable logic arrays (PLAs) are personalized and customized using state information from computer-readable program instructions. The electronic circuit can implement each aspect of the present invention by executing computer-readable program instructions.

ここで、本発明の実施例に係る方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/又はブロック図を参照して、本発明の各態様を記述した。理解できるように、フローチャート及び/又はブロック図の各ブロック並びにフローチャート及び/又はブロック図における各ブロックの組み合わせは、何れもコンピュータ可読プログラム命令にて実現され得る。 Here, each aspect of the present invention has been described with reference to the flowchart and / or block diagram of the method, apparatus (system) and computer program product according to the embodiment of the present invention. As can be understood, each block of the flowchart and / or the block diagram and each combination of the blocks in the flowchart and / or the block diagram can be realized by a computer-readable program instruction.

これらのコンピュータ可読プログラム命令は、汎用コンピュータ、専用コンピュータ又は他のプログラマブルデータ処理装置のプロセッサへ供給されて、1種のマシンを生み出すことができる。このように、これらの命令がコンピュータ又は他のプログラマブルデータ処理装置のプロセッサによって実行されたときに、フローチャート及び/又はブロック図における1つ又は複数のブロックで規定された機能/動作を実現する装置は、生成される。これらのコンピュータ可読プログラム命令をコンピュータ可読記憶媒体に記憶してもよい。これらの命令により、コンピュータ、プログラマブルデータ処理装置及び/又は他の機器は、特定の方式で稼働する。このように、命令が記憶されたコンピュータ可読媒体は、1つの製造品を含み、それは、フローチャート及び/又はブロック図における1つ又は複数のブロックで規定された機能/動作を実現する各態様の命令を含む。 These computer-readable program instructions can be fed to the processor of a general purpose computer, a dedicated computer or other programmable data processing device to create a machine. Thus, a device that, when executed by the processor of a computer or other programmable data processing device, realizes the function / operation specified by one or more blocks in the flowchart and / or block diagram. , Generated. These computer-readable program instructions may be stored in a computer-readable storage medium. With these instructions, computers, programmable data processing equipment and / or other equipment operate in a particular manner. As described above, the computer-readable medium in which the instruction is stored includes one manufactured product, which is an instruction of each aspect that realizes the function / operation specified by one or more blocks in the flowchart and / or the block diagram. including.

コンピュータ可読プログラム命令をコンピュータ、他のプログラマブルデータ処理装置、又は他の機器にロードしてもよい。このように、コンピュータ、他のプログラマブルデータ処理装置又は他の機器上で一連の操作ステップが実行され、コンピュータによる実現の過程は、生み出される。これにより、コンピュータ、他のプログラマブルデータ処理装置、又は他の機器上で実行された命令は、フローチャート及び/又はブロック図における1つ又は複数のブロックで規定された機能/動作を実現する。 Computer-readable program instructions may be loaded into a computer, other programmable data processor, or other equipment. In this way, a series of operational steps are performed on a computer, other programmable data processor or other device, and the process of realization by the computer is created. Thereby, the instructions executed on the computer, other programmable data processing device, or other device realize the functions / operations specified by one or more blocks in the flowchart and / or the block diagram.

図面におけるフローチャート及びブロック図は、本発明の複数の実施例に係るシステム、方法及びコンピュータプログラム製品の実施可能な体系アーキテクチャ、機能及び操作を示す。この点では、フローチャート又はブロック図における各ブロックは、1つのモジュール、プログラムセグメント又は命令の一部を代表してもよい。前記モジュール、プログラムセグメント又は命令の一部は、規定された論理機能を実施するための1つ又は複数の実行可能命令を含む。幾つかの代替としての実施形態において、ブロック中にマークされた機能は、図面に示された順番と異なる順番で発生してもよい。例えば、2つの連続するブロックは、実に、基本的に並行に実行されてもよく、そして、逆の順番で実行されるときもあり、これは、かかる機能に応じて定められる。注意すべきことは、ブロック図及び/又はフローチャートにおける各ブロック、並びに、ブロック図及び/又はフローチャートにおけるブロックの組み合わせは、規定の機能又は動作を実行する専用のハードウェアに基づくシステムにて実現されてもよく、専用ハードウェアとコンピュータ命令との組み合わせで実現されてもよい。 Flow charts and block diagrams in the drawings show feasible systematic architectures, functions and operations of systems, methods and computer program products according to a plurality of embodiments of the present invention. In this regard, each block in the flowchart or block diagram may represent part of a module, program segment or instruction. A part of the module, program segment or instruction includes one or more executable instructions for performing a defined logical function. In some alternative embodiments, the functions marked in the block may occur in a different order than shown in the drawings. For example, two consecutive blocks may, in fact, be executed essentially in parallel, and may be executed in reverse order, depending on such function. It should be noted that each block in the block diagram and / or flowchart, and the combination of blocks in the block diagram and / or flowchart, is realized in a system based on dedicated hardware that performs a specified function or operation. It may be realized by a combination of dedicated hardware and computer instructions.

以上では、本発明の各実施例を記述した。上記説明は、例示であり、網羅的ではなく、開示された各実施例にも限定されない。説明された各実施例の範囲及び精神から逸脱しない場合に、多くの修正及び変更は、当業者にとって明らかである。本文での用語は、各実施例の原理、実際の応用又は、マーケットにおける技術に対する技術的改善を最良に解釈し、又は当業者に本文に開示された各実施例を理解させえるために選択される。 In the above, each embodiment of the present invention has been described. The above description is exemplary, not exhaustive, and is not limited to each disclosed embodiment. Many modifications and changes will be apparent to those skilled in the art, provided that they do not deviate from the scope and spirit of each of the embodiments described. The terms in the text have been selected to best interpret the principles of each embodiment, actual applications, or technological improvements to technology in the market, or to allow one of ordinary skill in the art to understand each embodiment disclosed in the text. To.

Claims (16)

リソーススケジューリング方法であって、
目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することと、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することと、を含み、
前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む
ことを特徴とするリソーススケジューリング方法。
It ’s a resource scheduling method.
The said for the target task, at least in part, based on the resource demand of the target task, the current resource remaining amount of the first resource of each resource node among the plurality of resource nodes, and the total available resources of the second resource. Determining the first scheduling score for each resource node,
Determining a target resource node for processing the target task from among the plurality of resource nodes, at least partially based on the first scheduling score of each resource node among the plurality of resource nodes. Including
A resource scheduling method, wherein the first resource includes a deep learning resource, and the second resource includes a general-purpose resource.
前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、
前記目標タスクのリソース需要量、前記複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定することは、
前記目標タスクの前記第1リソース需要量と前記第1リソースの前記現在リソース残り量とに基づいて第1スコアを得ることと、
前記目標タスクの前記第2リソース需要量と前記第2リソースの前記使用可能なリソース総量とに基づいて第2スコアを決定することと、
前記第1スコアおよび前記第2スコアに基づいて加重和を実行して前記第1スケジューリングスコアを得ることと、を含む
ことを特徴とする請求項1に記載のリソーススケジューリング方法。
The resource demand amount of the target task includes the first resource demand amount and the second resource demand amount.
The target task is based, at least in part, on the resource demand of the target task, the current resource remaining amount of the first resource of each resource node among the plurality of resource nodes, and the total available resources of the second resource. Determining the first scheduling score for each of the resource nodes for
Obtaining a first score based on the first resource demand amount of the target task and the current resource remaining amount of the first resource.
Determining the second score based on the second resource demand of the target task and the total available resources of the second resource.
The resource scheduling method according to claim 1, wherein a weighted sum is executed based on the first score and the second score to obtain the first scheduling score.
前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定することをさらに含み、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定することは、
各リソースノードの前記第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定することと、
前記複数のリソースノードの中の各リソースノードの前記合計スケジューリングスコアに基づいて、前記目標リソースノードを決定することと、を含む
ことを特徴とする請求項1または2に記載のリソーススケジューリング方法。
Further comprising determining a second scheduling score for each resource node based on the task type assigned to each resource node among the plurality of resource nodes and the type of the target task.
Determining a target resource node for processing the target task from among the plurality of resource nodes is at least partially based on the first scheduling score of each resource node among the plurality of resource nodes.
To determine the total scheduling score of each resource node based on the first scheduling score and the second scheduling score of each resource node.
The resource scheduling method according to claim 1 or 2, wherein the target resource node is determined based on the total scheduling score of each resource node among the plurality of resource nodes.
第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、
前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである
ことを特徴とする請求項3に記載のリソーススケジューリング方法。
The second scheduling score of the first node is higher than the second scheduling score of the second node.
The first node is a node in which the assigned task type among the plurality of resource nodes is the same as the type of the target task, and the second node is the assigned task type among the plurality of resource nodes. The resource scheduling method according to claim 3, wherein is a node different from the target task type.
複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることと、
前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行することと、をさらに含み、
前記複数のタスクは、前記目標タスクを含む
ことを特徴とする請求項1に記載のリソーススケジューリング方法。
Sort the tasks based on, at least in part, the priority of each task in the tasks and the average resource demand of the task units contained in each task in the tasks. To get the first task queue
Further including performing scheduling on the target task based on the order of the target task in the first task queue.
The resource scheduling method according to claim 1, wherein the plurality of tasks include the target task.
前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、
前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定することと、
前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定することと、を含む
ことを特徴とする請求項5に記載のリソーススケジューリング方法。
Sort the plurality of tasks based at least in part based on the priority of each task in the plurality of tasks and the average resource demand of the plurality of task units contained in each task in the plurality of tasks. To get the first task queue
Determining the initial order of the plurality of tasks based on the priority of each task among the plurality of tasks.
If it is present that at least two tasks have the same priority in the initial order, the target order of the at least two tasks is determined based on the average resource demand of each of the at least two tasks. The resource scheduling method according to claim 5, further comprising.
前記複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得ることは、
前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして前記第1タスクキューを得ることを含む
ことを特徴とする請求項5または6に記載のリソーススケジューリング方法。
Sort the plurality of tasks based at least in part based on the priority of each task in the plurality of tasks and the average resource demand of the plurality of task units contained in each task in the plurality of tasks. To get the first task queue
The priority of each task in the plurality of tasks, the average resource demand of the plurality of task units included in each task in the plurality of tasks, and the creation time of each task in the plurality of tasks. The resource scheduling method according to claim 5 or 6, comprising sorting the plurality of tasks to obtain the first task queue based on at least a portion of the stamp.
リソーススケジューリング装置であって、
目標タスクのリソース需要量、複数のリソースノードの中の各リソースノードの第1リソースの現在リソース残り量、および第2リソースの使用可能なリソース総量に少なくとも部分的に基づいて、前記目標タスクに対する前記各リソースノードの第1スケジューリングスコアを決定するための第1決定モジュールと、
前記複数のリソースノードの中の各リソースノードの前記第1スケジューリングスコアに少なくとも部分的に基づいて、前記複数のリソースノードの中から前記目標タスクを処理するための目標リソースノードを決定するための第2決定モジュールと、を備え、
前記第1リソースは、深層学習リソースを含み、前記第2リソースは、汎用リソースを含む
ことを特徴とするリソーススケジューリング装置。
It is a resource scheduling device
The said for the target task, at least in part, based on the resource demand of the target task, the current resource remaining amount of the first resource of each resource node among the plurality of resource nodes, and the total available resources of the second resource. The first decision module for determining the first scheduling score for each resource node,
A first for determining a target resource node for processing the target task from among the plurality of resource nodes, at least partially based on the first scheduling score of each resource node in the plurality of resource nodes. Equipped with 2 decision modules
The first resource includes a deep learning resource, and the second resource includes a general-purpose resource.
前記目標タスクのリソース需要量は、第1リソース需要量および第2リソース需要量を含み、
前記第1決定モジュールは、さらに、
前記目標タスクの前記第1リソース需要量と前記第1リソースの前記現在リソース残り量とに基づいて第1スコアを得、
前記目標タスクの前記第2リソース需要量と前記第2リソースの前記使用可能なリソース総量とに基づいて第2スコアを決定し、
前記第1スコアおよび前記第2スコアに基づいて加重和を実行して前記第1スケジューリングスコアを得る
ことを特徴とする請求項8に記載のリソーススケジューリング装置。
The resource demand amount of the target task includes the first resource demand amount and the second resource demand amount.
The first determination module further
A first score is obtained based on the first resource demand amount of the target task and the current resource remaining amount of the first resource.
A second score is determined based on the second resource demand for the target task and the total available resources for the second resource.
The resource scheduling apparatus according to claim 8, wherein a weighted sum is executed based on the first score and the second score to obtain the first scheduling score.
前記複数のリソースノードの中の各リソースノードに割り当てられたタスクタイプと前記目標タスクのタイプとに基づいて、前記各リソースノードの第2スケジューリングスコアを決定するための第3決定モジュールをさらに備え、
前記第2決定モジュールは、さらに、
各リソースノードの前記第1スケジューリングスコアおよび前記第2スケジューリングスコアに基づいて、前記各リソースノードの合計スケジューリングスコアを決定し、
前記複数のリソースノードの中の各リソースノードの前記合計スケジューリングスコアに基づいて、前記目標リソースノードを決定する
ことを特徴とする請求項8または9に記載のリソーススケジューリング装置。
Further provided with a third decision module for determining a second scheduling score for each resource node based on the task type assigned to each resource node among the plurality of resource nodes and the type of the target task.
The second determination module further
Based on the first scheduling score and the second scheduling score of each resource node, the total scheduling score of each resource node is determined.
The resource scheduling apparatus according to claim 8 or 9, wherein the target resource node is determined based on the total scheduling score of each resource node among the plurality of resource nodes.
第1ノードの第2スケジューリングスコアは、第2ノードの第2スケジューリングスコアよりも高く、前記第1ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと同一であるノードであり、前記第2ノードは、前記複数のリソースノードのうち割り当てられたタスクタイプが前記目標タスクのタイプと異なるノードである
ことを特徴とする請求項10に記載のリソーススケジューリング装置。
The second scheduling score of the first node is higher than the second scheduling score of the second node, and the task type assigned to the first node among the plurality of resource nodes is the same as the type of the target task. The resource scheduling device according to claim 10, wherein the second node is a node in which the assigned task type among the plurality of resource nodes is different from the target task type.
複数のタスクの中の各タスクの優先度および前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量に少なくとも部分的に基づいて、前記複数のタスクをソートして第1タスクキューを得るための第1取得モジュールと、
前記目標タスクの前記第1タスクキューにおける順序に基づいて、前記目標タスクに対してスケジューリングを実行するためのスケジューリングモジュールと、をさらに備え、
前記複数のタスクは、前記目標タスクを含む
ことを特徴とする請求項8に記載のリソーススケジューリング装置。
The plurality of tasks are sorted based on at least a part of the priority of each task in the plurality of tasks and the average resource demand of the plurality of task units contained in each task in the plurality of tasks. The first acquisition module to get the first task queue,
A scheduling module for executing scheduling for the target task based on the order of the target task in the first task queue is further provided.
The resource scheduling apparatus according to claim 8, wherein the plurality of tasks include the target task.
前記第1取得モジュールは、さらに、
前記複数のタスクの中の各タスクの優先度に基づいて、前記複数のタスクの初期順序を決定し、
前記初期順序中に少なくとも2つのタスクの優先度が同一であることが存在する場合、前記少なくとも2つのタスクのそれぞれの平均リソース需要量に基づいて、前記少なくとも2つのタスクの目標順序を決定する
ことを特徴とする請求項12に記載のリソーススケジューリング装置。
The first acquisition module further
Based on the priority of each task among the plurality of tasks, the initial order of the plurality of tasks is determined.
If it is present that at least two tasks have the same priority in the initial order, the target order of the at least two tasks is determined based on the average resource demand of each of the at least two tasks. The resource scheduling apparatus according to claim 12.
前記第1取得モジュールは、さらに、
前記複数のタスクの中の各タスクの優先度、前記複数のタスクの中の各タスクに含まれている複数のタスクユニットの平均リソース需要量、および前記複数のタスクの中の各タスクの作成タイムスタンプに少なくとも部分的に基づいて、前記複数のタスクをソートして前記第1タスクキューを得る
ことを特徴とする請求項12または13に記載のリソーススケジューリング装置。
The first acquisition module further
The priority of each task in the plurality of tasks, the average resource demand of the plurality of task units included in each task in the plurality of tasks, and the creation time of each task in the plurality of tasks. 12. The resource scheduling apparatus according to claim 12, wherein the plurality of tasks are sorted to obtain the first task queue based on at least a part of the stamp.
電子デバイスであって、
プロセッサと、
前記プロセッサによって実行可能な命令を記憶するためのメモリと、を備え、
前記プロセッサは、請求項1~7のいずれか1項に記載の方法を実行するように構成される
ことを特徴とする電子デバイス。
It ’s an electronic device,
With the processor
A memory for storing instructions that can be executed by the processor.
The processor is an electronic device configured to perform the method according to any one of claims 1-7.
コンピュータプログラム命令が記憶されているコンピュータ可読記録媒体であって、
前記コンピュータプログラム命令がプロセッサによって実行されると、前記プロセッサが、請求項1~7のいずれか1項に記載の方法を実装するようにする
ことを特徴とするコンピュータ可読記録媒体。
A computer-readable recording medium that stores computer program instructions.
A computer-readable recording medium, wherein when the computer program instruction is executed by the processor, the processor implements the method according to any one of claims 1 to 7.
JP2021538194A 2019-12-25 2020-06-03 Resource scheduling methods and equipment, electronic devices and recording media Pending JP2022518127A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201911357908.7A CN113032112A (en) 2019-12-25 2019-12-25 Resource scheduling method and device, electronic equipment and storage medium
CN201911357908.7 2019-12-25
PCT/CN2020/094181 WO2021128737A1 (en) 2019-12-25 2020-06-03 Resource scheduling method and apparatus, electronic device, and storage medium

Publications (1)

Publication Number Publication Date
JP2022518127A true JP2022518127A (en) 2022-03-14

Family

ID=76458238

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021538194A Pending JP2022518127A (en) 2019-12-25 2020-06-03 Resource scheduling methods and equipment, electronic devices and recording media

Country Status (5)

Country Link
JP (1) JP2022518127A (en)
KR (1) KR20210094639A (en)
CN (1) CN113032112A (en)
TW (1) TW202125274A (en)
WO (1) WO2021128737A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115242662A (en) * 2022-09-22 2022-10-25 音信云(武汉)信息技术有限公司 Data resource allocation method and device based on cloud computing

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007364A (en) * 2000-06-22 2002-01-11 Fujitsu Ltd Scheduling device for performing job scheduling of parallel-computer system
JP2013164749A (en) * 2012-02-10 2013-08-22 Nomura Research Institute Ltd Virtual server management system
CN105791447A (en) * 2016-05-20 2016-07-20 北京邮电大学 Method and device for dispatching cloud resource orienting to video service
CN106354729A (en) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 Graph data handling method, device and system
JP2017027194A (en) * 2015-07-17 2017-02-02 日本電信電話株式会社 Resource allocation management device and method for managing resource allocation
US20180081715A1 (en) * 2016-09-16 2018-03-22 Advanced Micro Devices, Inc. Network interface controller-based scheduling of processing tasks in a distributed computing system
JP2019071026A (en) * 2017-10-11 2019-05-09 日本電信電話株式会社 Computing machine and cpu core allocation method
US20190332420A1 (en) * 2018-04-27 2019-10-31 Advanced Micro Devices, Inc. Feedback guided split workgroup dispatch for gpus

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9104491B2 (en) * 2012-02-21 2015-08-11 Disney Enterprises, Inc. Batch scheduler management of speculative and non-speculative tasks based on conditions of tasks and compute resources
CN107168777B (en) * 2016-03-07 2021-04-30 阿里巴巴集团控股有限公司 Method and device for scheduling resources in distributed system
CN110191500B (en) * 2019-05-25 2021-03-23 西安电子科技大学 Self-organizing network time frequency resource scheduling method supporting resource fragment reduction
CN110413391B (en) * 2019-07-24 2022-02-25 上海交通大学 Deep learning task service quality guarantee method and system based on container cluster

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002007364A (en) * 2000-06-22 2002-01-11 Fujitsu Ltd Scheduling device for performing job scheduling of parallel-computer system
JP2013164749A (en) * 2012-02-10 2013-08-22 Nomura Research Institute Ltd Virtual server management system
CN106354729A (en) * 2015-07-16 2017-01-25 阿里巴巴集团控股有限公司 Graph data handling method, device and system
JP2017027194A (en) * 2015-07-17 2017-02-02 日本電信電話株式会社 Resource allocation management device and method for managing resource allocation
CN105791447A (en) * 2016-05-20 2016-07-20 北京邮电大学 Method and device for dispatching cloud resource orienting to video service
US20180081715A1 (en) * 2016-09-16 2018-03-22 Advanced Micro Devices, Inc. Network interface controller-based scheduling of processing tasks in a distributed computing system
JP2019071026A (en) * 2017-10-11 2019-05-09 日本電信電話株式会社 Computing machine and cpu core allocation method
US20190332420A1 (en) * 2018-04-27 2019-10-31 Advanced Micro Devices, Inc. Feedback guided split workgroup dispatch for gpus

Also Published As

Publication number Publication date
WO2021128737A1 (en) 2021-07-01
CN113032112A (en) 2021-06-25
KR20210094639A (en) 2021-07-29
TW202125274A (en) 2021-07-01

Similar Documents

Publication Publication Date Title
KR20170045257A (en) Quick navigation of message conversation history
KR20070027613A (en) System for dynamic arbitration of a shared resource on a device
JP2017050001A (en) System and method for use in efficient neural network deployment
US8884974B2 (en) Managing multiple GPU-based rendering contexts
US9372716B1 (en) Download prioritization
US10778833B2 (en) Mobile computing device notification mode determination
CN109062479A (en) Split screen application switching method, device, storage medium and electronic equipment
JP7100154B2 (en) Processor core scheduling method, equipment, terminals and storage media
JP2021517282A (en) Network modules, allocation methods and devices, electronic devices and storage media
WO2015117445A1 (en) Method and device for processing task window
JP2022518127A (en) Resource scheduling methods and equipment, electronic devices and recording media
US11175823B2 (en) Method and apparatus for controlling terminal device using gesture control function, and non-transitory computer-readable storage medium
KR20210134675A (en) Method and system for learning and executing instructions through user demonstration
CN110764892A (en) Task processing method, device and computer readable storage medium
US20220245401A1 (en) Method and apparatus for training model
CN114138439A (en) Task scheduling method and device, electronic equipment and storage medium
US20210297530A1 (en) Generating and/or prioritizing pre-call content for rendering when awaiting acceptance of an incoming call
CN113312103A (en) Software definition method and device for intelligent camera, electronic equipment and storage medium
CN110730300A (en) Camera control method, device, storage medium and terminal
CN111459981A (en) Query task processing method, device, server and system
JP2005115620A (en) Task management method and electronic apparatus having task management means
EP2280345A1 (en) A device for and a method of managing computer tasks
US11392262B2 (en) Method, system, and non-transitory computer readable record medium for providing chatroom in 3D form
US20200218209A1 (en) Content output apparatus and content output method
US20210096904A1 (en) Method and apparatus for a step-enabled workflow

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210629

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220726