JP7080033B2 - タスク管理システム、タスク管理方法、及びタスク管理プログラム - Google Patents

タスク管理システム、タスク管理方法、及びタスク管理プログラム Download PDF

Info

Publication number
JP7080033B2
JP7080033B2 JP2017214872A JP2017214872A JP7080033B2 JP 7080033 B2 JP7080033 B2 JP 7080033B2 JP 2017214872 A JP2017214872 A JP 2017214872A JP 2017214872 A JP2017214872 A JP 2017214872A JP 7080033 B2 JP7080033 B2 JP 7080033B2
Authority
JP
Japan
Prior art keywords
task
node
allocation
assigned
new
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.)
Active
Application number
JP2017214872A
Other languages
English (en)
Other versions
JP2019087039A (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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP2017214872A priority Critical patent/JP7080033B2/ja
Priority to US16/180,866 priority patent/US10915362B2/en
Publication of JP2019087039A publication Critical patent/JP2019087039A/ja
Application granted granted Critical
Publication of JP7080033B2 publication Critical patent/JP7080033B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5033Allocation 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 data affinity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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 OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、複数のノードの中からタスクを割り当てるノードを決定するタスク管理システム等に関する。
現在、AI(Artificial Intelligence)を活用した判断支援サービスを提供する市場が拡大している。自然言語処理系AIを活用するサービスでは、大容量のテキストデータを扱うため、複数のノードによるデータの分散管理と分散処理とが行われている。
近年、AI処理の目的で、タスクを分散処理する際、大容量データを複数ノードに分散させて管理する方法が用いられている。この方法を用いた場合には、タスクを処理する際、タスクが必要とするデータを分散管理されたノードから取得する必要があり、タスクで必要なデータが多くなる程、ノード間の通信が増加し、通信がボトルネックとなって処理の速度が低下する問題がある。
これに対して、処理を高速化するため、タスクが使用するデータが最も多く保存されているノードに近い、タスクを処理するノードにタスクを配置し、データ取得時のノード間通信を削減する方法が用いられている。例えば、特許文献1には、ノード間の実際の距離を用いてタスクを割り当てるノードを決定する技術が開示されている。
米国特許出願公開第2014/0372611号明細書
上記したように、複数のノードにデータを分散管理し、複数のノードで分散処理する場合には、ノード間のデータ量を削減することが要請される。
例えば、特許文献1の技術では、タスクが使用するデータが最も多くあるノードを判断するために、タスクが使用するデータを調査するための処理を行う必要がある。さらに、使用するデータが増加する程、タスクを割り当てるノードの算出には時間がかかる。このため、データを取得するためのノード間通信が多発し、性能が低下する。
本発明は、上記事情に鑑みなされたものであり、その目的は、ノード間でのデータ通信量を低減することのできる技術を提供することにある。
上記目的を達成するため、一観点に係るタスク管理システムは、タスクを実行可能な複数のタスク処理ノードと、新規タスクを割り当てるタスク処理ノードを決定するタスク管理ノードとを有するタスク管理システムであって、複数のタスク処理ノードのそれぞれは、自身に割り当てられたタスクである割当タスクが使用するデータをキャッシュ可能なメモリを備え、タスク管理ノードは、割当タスクと、割当タスクが割り当てられ、且つ、割当タスクが使用するデータがキャッシュされているタスク処理ノードとの対応関係を含むタスク割当情報を記憶し、タスク管理ノードのプロセッサは、新規タスクと、割当タスクとの類似度を判定し、類似度に基づいて、タスク割当情報に含まれているタスク処理ノードの中から新規タスクを割り当てるタスク処理ノードを決定し、決定したタスク処理ノードに新規タスクを割り当て、現在タスクを処理していないタスク処理ノードである空きノードがあるか否かを判定し、空きノードがないと判定したら、最も類似度が高いタスクが存在するタスク処理ノードを新規タスクの割当先として選択し、空きノードがあると判定したら、空きノードの中で最も類似度が高いタスクが存在するタスク処理ノードを新規タスクの割当先として選択し、タスク処理ノードのプロセッサは、メモリにデータをキャッシュするための空き容量がない場合に、複数のタスクで重複して利用されていないデータ、利用するタスクの数が少ないデータ、データサイズが大きいデータ、データサイズが小さいデータのいずれかをメモリから削除する。
本発明によれば、ノード間でのデータ通信量を低減することができる。
図1は、第1実施形態に係る計算機システムの全体構成図である。 図2は、第1実施形態に係るタスク割当履歴情報の構成を示す図である。 図3は、第1実施形態に係るキャッシュ管理情報の構成を示す図である。 図4は、第1実施形態に係るタスク管理処理のフローチャートである。 図5は、第1実施形態に係るタスク実行処理のフローチャートである。 図6は、第1実施形態に係るタスク単位のキャッシュ内整理処理のフローチャートである。 図7は、第1実施形態に係る削除対象タスク決定処理のフローチャートである。 図8は、第1実施形態に係るキャッシュデータ単位のキャッシュ内整理処理のフローチャートである。 図9は、第2実施形態に係る計算機システムの全体構成図である。
実施形態について、図面を参照して説明する。なお、以下に説明する実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態の中で説明されている諸要素及びその組み合わせの全てが発明の解決手段に必須であるとは限らない。
以下の説明では、実施形態に係る情報を、例えば、テーブルよるデータ構造で表現して説明するが、これら情報は必ずしもテーブルによるデータ構造で表現されていなくてもよく、「リスト」、「DB(データベース)」、「キュー」等のデータ構造やそれ以外で表現されていても良い。そのため、データ構造に依存しないことを示すために「テーブル」、「リスト」、「DB」、「キュー」等については、単に「情報」と呼ぶこともできる。また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」「番号」という表現を用いることが可能であり、これらについてはお互いに置換が可能である。
また、以下の説明では「プログラム」(例えば、プログラムモジュール)を動作の主体として説明を行うが、プログラムはプロセッサによって実行されることで定められた処理をメモリ及び通信ポート(通信制御装置)を用いながら行うため、プロセッサを主体とした説明としてもよく、コントローラを主体とした説明としてもよい。
また、プログラムを動作の主体として開示された処理は、ノード等の計算機(コンピュータ、情報処理装置)が行う処理としてもよい。プログラムの一部または全ては専用ハードウェアで実現してもよい。各種プログラムはプログラム配布サーバや記憶メディア(例えば、不揮発性記録メディア)によって各ノードにインストールされてもよい。
まず、第1実施形態に係る計算機システムの概要について説明する。
第1実施形態に係る計算機システムは、類似するタスクを検索し、タスクの割り当てを行うタスク管理ノード100(図1参照)と、タスク処理を実行するとともに、タスク処理で必要なデータを管理する複数のタスク処理ノード200(図2参照)とを含む。
タスク管理ノードは、タスク処理要求を受け取って、タスク内容を解析し、タスクの履歴情報と類似検索を行い、タスク間の類似率等を条件にタスクを割り当てるタスク処理ノードを決定する処理を実行する。また、タスク処理ノードは、割り当てられたタスクを処理するとともに、タスクに使用するデータのキャッシュを管理する処理を実行する。
次に、第1実施形態に係る計算機システムについて詳細に説明する。
図1は、第1実施形態に係る計算機システムの全体構成図である。
タスク管理システムの一例としての計算機システム10は、クライアント50と、タスク管理ノード100と、複数のタスク処理ノード200とを備える。クライアント50と、タスク管理ノード100と、タスク処理ノード200とは、ネットワーク300を介して接続されている。ネットワーク300は、例えば、有線LAN(Local Area Network)、無線LAN、WAN(Wide Area Network)や、これらを組み合わせたものであってもよい。
クライアント50は、例えば、PC(Personal Computer)によって構成され、タスクの実行を要求するユーザにより利用される。クライアント50は、例えば、ユーザからのタスク処理要求をタスク管理ノード100に送信し、タスク管理ノード100からタスク処理結果を受信し、例えば、ディスプレイ等に表示する。
タスク管理ノード100は、例えば、サーバ等の計算機で構成され、プロセッサの一例としてのCPU(Central Processing Unit)101と、メモリ102と、ネットワークインターフェース103とを有する。
ネットワークインターフェース103は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、ネットワーク300を介して他の装置(例えば、クライアント50、タスク処理ノード200等)と通信する。
CPU101は、メモリ102に格納されたプログラム(モジュール)を実行することにより、各種処理を実行する。
メモリ102は、例えば、RAM(RANDOM ACCESS MEMORY)であり、CPU101で実行されるプログラムや、必要な情報を記憶する。
メモリ102は、プログラムの一例としてのタスク管理モジュール111と、タスク割当情報の一例としてのタスク割当履歴情報112とを格納する。
タスク管理モジュール111は、タスク割当モジュール131と、タスク解析モジュール132と、類似検索モジュール133とを含む。タスク割当モジュール131は、CPU101に、タスクの受付およびタスクの割当に関する処理を実行させるプログラムモジュールである。タスク解析モジュール132は、CPU101に、タスク内容の解析、タスクの数値化等の処理を実行させるプログラムモジュールである。類似検索モジュール133は、CPU101に、数値化された新規タスクの情報と既に割り当てられてタスクの情報とを比較し、類似率を評価する処理を実行させるプログラムモジュールである。なお、これらモジュールによる処理の詳細については後述する。
タスク割当履歴情報112は、タスクの割当に関する履歴の情報である。なお、タス割当履歴情報112の詳細については、後述する。
タスク処理ノード200は、例えば、サーバ等の計算機で構成され、プロセッサの一例としてのCPU201と、メモリ202と、記憶装置203と、ネットワークインターフェース204とを有する。
ネットワークインターフェース204は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、ネットワーク300を介して他の装置(例えば、クライアント50、タスク管理ノード100、他のタスク処理ノード200等)と通信する。
CPU201は、メモリ202に格納されたプログラム(モジュール)を実行することにより、各種処理を実行する。
メモリ202は、例えば、RAMであり、CPU201で実行されるプログラムや、必要な情報を記憶する。
メモリ202は、タスク処理モジュール211、キャッシュ管理モジュール212、データ管理モジュール213、キャッシュ管理情報214を格納する。
タスク処理モジュール211は、CPU201に、タスク管理ノード100から受信したタスクを処理し、タスク管理ノード100にタスクの結果および完了通知を行う処理を実行させるプログラムモジュールである。タスク処理モジュール211は、CPU201に、タスク処理として、AIによる自然言語処理を実行させるようにしてもよい。キャッシュ管理モジュール212は、CPU201に、タスクを処理する際にキャッシュ215にキャッシュされたデータを管理させ、キャッシュ215の容量不足の際に整理を行わせる処理(キャッシュ内整理処理)を実行させるプログラムモジュールである。データ管理モジュール213は、CPU201に、複数のタスク処理ノード200の記憶装置203内のデータ231の配置状況を管理させるプログラムモジュールである。このデータ管理モジュール213をCPU210が実行することにより、記憶装置203内のデータ231を単体、もしくは複数のタスク処理ノード200の記憶装置203により分散管理することができる。
キャッシュ管理情報214は、キャッシュ215におけるキャッシュ状況及びタスクが使用したデータの一覧に関する情報である。なお、キャッシュ管理情報214の詳細については、後述する。
また、メモリ202は、タスク処理に利用するために自身のタスク処理ノード200又は他のタスク処理ノード200の記憶装置203から取得したデータ(キャッシュデータ)221を格納するための領域であるキャッシュ215を有する。キャッシュ215の容量は、予め所定の容量に設定されている。キャッシュデータ221は、キャッシュ管理モジュール212によりキャッシュ215から削除されるまで、キャッシュ215に保持された状態が維持される。
記憶装置203は、例えば、ハードディスクやフラッシュメモリなどであり、CPU201で実行されるプログラムや、CPU201に利用されるデータを記憶する。本実施形態では、記憶装置203は、タスクの処理で使用されるデータ231を格納する。
次に、タスク割当履歴情報112について説明する。
図2は、第1実施形態に係るタスク割当履歴情報の構成を示す図である。
タスク割当履歴情報112は、タスクで使用するデータがタスク処理ノード200においてキャッシュされている各タスクに対応するエントリを格納する。タスク割当履歴情報112のエントリは、タスク301、実行ノードID302、解析結果303、処理状況304、比較回数305、平均類似率306、採択数307、及び最終実行日時308のフィールドを含む。
タスク301には、タスク処理ノード200に割り当てられたタスク(割当タスク)の識別子(タスクID)が格納される。なお、本実施形態では、タスク301には、タスク処理ノード200のキャッシュ215にタスクで使用するデータがキャッシュされた状態が維持されているタスクのタスクIDが格納されている。実行ノードID302には、エントリに対応するタスクが割り当てられたノード(タスク処理ノード200)の識別子(実行ノードID)が格納される。解析結果303には、エントリに対応するタスク(タスクの内容)をタスク解析モジュール133により解析した結果が格納される。例えば、自然言語処理系のタスクについては、解析結果303には、タスク内容の文章や単語を数値化(ベクトル化)した結果が格納される。処理状況304には、エントリに対応するタスクが処理中であるか、又は処理済みであるかの情報が格納される。比較回数305には、類似検索モジュール132が新たに要求されたタスク(新規タスク)と、エントリに対応するタスク(割当タスク)とを比較した回数が格納される。平均類似率306には、類似検索モジュール132が新規タスクと割当タスクとを比較した結果(類似率:類似度の一例)についての今までの平均(平均類似率)が格納される。採択数307には、タスク割当モジュール131がタスクを割り当てるタスク処理ノード200を決定するためにこのエントリを要因とした、すなわち、このエントリに対応するタスク処理ノード200を新規タスクの割当先と決定した回数(採択数)が格納される。最終実行日時308には、エントリに対応するタスクを実行した最終日時(例えば、YYMMDD hh:mm:ss)が格納される。
次に、キャッシュ管理情報214について説明する。
図3は、第1実施形態に係るキャッシュ管理情報の構成を示す図である。
キャッシュ管理情報214は、タスク処理ノード200に対応するエントリを保持する。キャッシュ管理情報214のエントリは、ノードID401、キャッシュ容量402、使用済みキャッシュ容量403、データ削除閾値404、キャッシュ整理方式405、キャッシュ済みタスク406、及びキャッシュデータ一覧407のフィールドを有する。
ノードID401には、タスク処理ノード200を識別するためのユニークな識別子(ノードID)が格納される。なお、キャッシュ管理情報214が、自身が格納されたタスク処理ノード200に関する情報のみを管理する場合には、ノードID401を備えなくてもよい。キャッシュ容量402には、エントリに対応するタスク処理ノード200のキャッシュ215として使用可能なメモリ202の記憶容量が格納される。使用済みキャッシュ容量403には、エントリに対応するタスク処理ノード200のキャッシュ215にキャッシュされているキャッシュデータ221の総容量が格納される。データ削除閾値404には、キャッシュ215におけるデータの削除をするか否かの判断に使用する容量に関する閾値が格納される。キャッシュ整理方式405には、キャッシュ215のキャッシュ容量が不足した際に、キャッシュデータを整理する方式を示す情報が格納される。キャッシュ済みタスク406には、エントリに対応するタスク処理ノード200のキャッシュ215に使用するデータがキャッシュされているタスクの識別子が格納される。キャッシュ済みタスク406は、複数のタスクの識別子を格納することができる。キャッシュデータ一覧407には、キャッシュ済みタスク406のタスク識別子に対応するタスクが使用した又使用しているデータの内、キャッシュ215にキャッシュされているキャッシュデータ221の識別子の一覧が保持される。
次に、計算機システム10における処理動作について説明する。
まず、タスク管理ノード100によるタスク管理処理について説明する。
図4は、第1実施形態に係るタスク管理処理のフローチャートである。
タスク管理処理は、タスク管理ノード100がクライアント50からタスク実行要求を受信した場合に開始される。なお、本実施形態では、タスク実行要求の対象とするタスク(新規タスク)が自然言語処理のタスクである場合を例に説明する。なお、タスクの種類は自然言語処理のタスクに限らない。
タスク管理モジュール111(正確には、タスク管理モジュール111を実行するCPU101)は、クライアント50から受信したタスク処理要求に含まれている新規タスクの解析をタスク解析モジュール132に実行させることにより、タスク(タスクの内容
を解析させる(ステップS101)。具体的には、タスク解析モジュール132は、タスクのワード(文章又は語)をベクトル情報に変換(数値化)する。ワードをベクトル情報に変換する方法としては、例えば、word2vec等の公知の技術を用いることができる。
次いで、タスク管理モジュール111は、タスク割当履歴情報112の各エントリの処理状況304を参照することにより、現在タスクを処理していないタスク処理ノード200(空きノード)があるか否かを判定する(ステップS102)。
この結果、空きノードがない場合(ステップS102:NO)には、タスク管理モジュール111は、タスク割当履歴情報112にエントリがある全タスクを対象に、類似検索モジュール133により新規タスクとの類似率を算出させ(ステップS104)、処理をステップS106に進める。ここで、類似検索モジュール133は、算出された新規タスクのベクトル情報と、タスク割当履歴情報112の全タスクのエントリの解析結果303の情報とに基づいて、新規タスクと割当タスクとの類似率を算出する。
一方、空きノードがある場合(ステップS102:YES)には、タスク管理モジュール111は、全ての空きノードを対象に、類似検索モジュール133により新規タスクとの類似率を算出させ(ステップS105)、処理をステップS106に進める。
ステップS106では、タスク管理モジュール111は、類似検索モジュール133によって算出された類似率に基づいて、最も類似率の高いタスクが存在するタスク処理ノード200を新規タスクの割当先のノード(割当先ノード)として選択する。
ここで、新規タスクとの類似率が最も高いタスクは、新規タスクで利用されるデータと同じデータを使用する可能性が高く、そのデータがキャッシュされている可能性も高い。したがって、最も類似率が高いタスクが存在するタスク処理ノード200を新規タスクの割当先ノードとすると、新規タスクを実行する際に、キャッシュされているデータを利用できる可能性(すなわち、キャッシュヒット率)が高くなる。新規タスクと最も類似度が高いタスクとが同じデータを使用する可能性は、タスクの種類によって異なるが、例えば、タスクが自然言語処理に関するタスクであれば、同じデータを使用する可能性はより高くなる傾向にあることが言える。
次いで、タスク割当モジュール131は、割当先ノードとして選択されたタスク処理ノード200にタスク処理を依頼する、すなわち、新規タスクを送付する(ステップS107)。これにより、割当先ノードのタスク処理ノード200では、タスクの処理が実行され、タスク処理が終了した場合には、タスクの処理結果とタスク完了通知とがタスク管理ノード100に送信されることとなる。
次いで、タスク管理モジュール111は、タスク割当履歴情報112を更新する(ステップS108)具体的には、タスク管理モジュール111は、新規タスクに対応するエントリをタスク割当履歴情報112に追加し、追加したエントリにおけるタスク301に新規タスクの識別子を設定し、実行ノード302に割当先ノードの識別子を設定し、解析結果303にステップS101で得られたベクトル情報を設定し、処理状況304にタスクが実行中であることを示す処理中を設定し、比較回数305に割当タスクと比較した数(類似率を算出した数)を格納し、平均類似率306に比較した割当タスクとの平均の類似率を格納し、採択数307に0を格納する。また、タスク管理モジュール111は、比較を行った割当タスクに対応するエントリの比較回数305の比較回数に1を加算し、平均類似率306に、比較回数と、更新前の平均類似率と、算出した類似率とに基づいて算出した最新の平均類似率を格納する。また、タスク管理モジュール111は、割当先ノードとして選択されたタスク処理ノード200に対応するエントリの採択数307に1を加算する。
その後、タスク管理モジュール111は、タスク処理ノード200からタスク完了通知とタスク処理結果とを受信し(S109)、タスク完了通知がされたタスクに対応するタスク割当履歴情報112のエントリの処理状況304を処理済みに更新し(S110)、タスク処理結果をタスク処理要求の要求元のクライアント50に通知する(S111)。
次に、タスク処理ノード200によるタスク実行処理について説明する。
図5は、第1実施形態に係るタスク実行処理のフローチャートである。
タスク実行処理は、タスク処理ノード200がタスク管理ノード100から新規タスクを受領した場合に開始される。
タスク実行処理が開始されると、タスク処理ノード200のタスク処理モジュール211は、タスクを解析してタスク処理に必要なデータ(取得対象データ)を調査する(S201)。
次いで、タスク処理モジュール211は、取得対象データのそれぞれを処理対象として、ループAの処理(ステップS203~S208)を繰り返し実行する。
ループAでは、タスク処理モジュール211は、処理対象の取得対象データ(処理対象データ)について、キャッシュ215に存在するか否かをキャッシュ管理モジュール212に問い合わせる(ステップS203)。この結果、キャッシュ215に存在する場合(ステップS203:YES)には、タスク処理モジュール211は、キャッシュ管理モジュール212を介して、キャッシュ215から処理対象データに対応するキャッシュデータ221を取得する(ステップS205)。
一方、キャッシュ215に存在しない場合(ステップS203:NO)には、タスク処理モジュール211は、データ管理モジュール213を介して、全てのタスク処理ノード200の記憶装置203のいずれかから処理対象データに対応するデータ231を取得する(ステップS204)。
次いで、タスク処理モジュール211は、キャッシュ管理モジュール212に、キャッシュ215にデータ231を格納できる空き容量があるか否かを問い合わせる(ステップS206)。
この結果、キャッシュ215にデータ231を格納できる空き容量がない場合(ステップS206:NO)には、タスク処理モジュール211は、キャッシュ管理モジュール212にキャッシュ容量不足を通知して、キャッシュ215内を整理して空き容量を増やすキャッシュ内整理処理を実行させる(ステップS207)。キャッシュ内整理処理の方法は、キャッシュ管理情報214のキャッシュ整理方式405の情報によって異なる。キャッシュ内整理処理については、図6、図8を用いて後述する。
空き容量がある場合(ステップS206:YES)又はキャッシュ内整理処理(ステップS207)を実行した後には、タスク処理モジュール211は、キャッシュ215へデータ231を書込み、キャッシュ管理情報214を更新する(S208)。具体的には、タスク処理モジュール211は、キャッシュ管理情報214のタスク処理ノード200に対応するエントリのキャッシュ済みタスク406に新規タスクの識別子を格納するとともに、キャッシュデータ一覧407に取得したデータの識別子を追加し、使用済みキャッシュ容量403をその時点の容量に変更する。
取得対象データのすべてを処理対象として、ループAの処理を実行した場合には、タスク処理モジュール211は、ループAを抜けて、タスクの処理を実行する(ステップS209)。
次いで、タスク処理モジュール211は、タスク処理の実行を終えた場合には、タスクの実行結果を、タスク管理ノード100へ通知し(ステップS210)、処理を終了する。
次に、タスク処理ノード200におけるタスク単位のキャッシュ内整理処理について説明する。タスク単位のキャッシュ内整理処理は、図5のステップS207のキャッシュ内整理処理の一例である。
図6は、第1実施形態に係るタスク単位のキャッシュ内整理処理のフローチャートである。
タスク単位のキャッシュ内整理処理は、キャッシュ管理モジュール212が、タスク処理モジュール211からキャッシュ容量不足の通知を受領した場合に開始される。
まず、キャッシュ管理モジュール212は、自身のタスク処理ノード200の識別子をタスク管理ノード100に通知し、削除対象タスクの順位(削除の優先順位)をタスク管理ノード100に問い合わせる(ステップS301)。これにより、タスク管理ノード100は、削除対象タスク決定処理(図7参照)を実行することとなり、この処理の結果として、キャッシュ管理モジュール212は、削除対象タスクの順位を取得することとなる。
キャッシュ管理モジュール212は、タスク管理ノード100から削除対象タスクの順位を受領すると、その順位の上位から順に、削除対象タスクに対応するキャッシュ管理情報214のキャッシュデータ一覧407から削除対象とするキャッシュデータ(削除対象キャッシュデータ)の一覧を取得する(S302)。
次いで、キャッシュ管理モジュール212は、順位に従って1つの削除対象タスクに対応する削除対象キャッシュデータのそれぞれを処理対象としてループBの処理(ステップS304,S305)を実行する。
ループBでは、キャッシュ管理モジュール212は、キャッシュ管理情報214のキャッシュデータ一覧407の情報を参照して、処理対象の削除対象キャッシュデータ(処理対象キャッシュデータ)を、他のタスクが使用しているか否かを判定する(ステップS304)。
この結果、他のタスクが使用していると判定した場合(ステップS304:YES)には、キャッシュ215から処理対象キャッシュデータを削除すると他のタスクに影響があるので、キャッシュ管理モジュール212は、この処理対象キャッシュデータを削除せずに、次に削除対象キャッシュデータを処理対象として、ループBの処理を実行する。
一方、他のタスクが使用していないと判定した場合(ステップS304:NO)には、処理対象キャッシュデータを削除しても他のタスクの実行に影響がないので、キャッシュ管理モジュール212は、キャッシュ215から処理対象キャッシュデータを削除し(ステップS305)、次の削除対象キャッシュデータを処理対象として、ループBの処理を実行する。
そして、削除対象キャッシュデータのすべてを処理対象として、ループBの処理を実行した場合には、キャッシュ管理モジュール212は、ループBを抜けて、削除対象タスクに対応するキャッシュタスク406及びキャッシュデータ一覧407をキャッシュ管理情報214のエントリから削除する(S306)。
次いで、キャッシュ管理モジュール212は、キャッシュ215の容量不足が解消したか否かを判定する(ステップS307)。この結果、キャッシュ215の容量不足が解消されていない場合(ステップS307:NO)には、キャッシュ管理モジュール212は、次の順位の削除対象タスクについてループBの処理を実行する。
一方、キャッシュ215の容量不足を解消した場合(ステップS307:YES)には、キャッシュ管理モジュール212は、キャッシュデータを削除したタスクをタスク管理ノード100に通知し(ステップS308)、処理を終了する。
以上説明したように、タスク単位のキャッシュ内整理処理によると、キャッシュ215の容量を適切に確保することができる。また、他のタスクで使用されているデータについては、キャッシュ215から削除されないようにすることができる。
次に、タスク管理ノード100による削除対象タスク決定処理について説明する。
図7は、第1実施形態に係る削除対象タスク決定処理のフローチャートである。
削除対象タスク決定処理は、タスク処理ノード200から、タスク処理ノード200の識別子と、削除対象タスクの順位の問い合わせを受信した場合に実行が開始される。
タスク管理モジュール111は、削除対象タスクの順位を決定する(ステップS401)。ここで、削除対象タスクの順位を決定する方法としては、例えば、タスク割当履歴情報112の比較回数305の比較回数に基づいて決定する方法(例えば、比較回数が少ないものを上位としたり、或いは、比較回数が多いものを上位にしたりする方法)や、タスク割当履歴情報112の最終実行日時308の日時に基づいて決定する方法(最新のものを上位としたり、最古のものを上位としたりする方法)や、実行済みのタスクであってタスク割当履歴情報112の平均類似率306の平均類似率が小さいものを上位とする方法等のいずれか少なくとも一つとしてもよい。
次いで、タスク管理モジュール111は、決定した削除対象タスクの順位をタスク処理ノード200に通知する(ステップS402)。
次いで、タスク管理モジュール111は、タスク処理ノード200からキャッシュデータを削除したタスクの通知を受けた場合には、タスク割当履歴情報112から削除したタスクのエントリを削除して(ステップS403)、削除対象タスク決定処理を終了する。
この削除対象タスク決定処理によると、削除対象タスクの順位を適切に決定することができ、キャッシュ215からキャッシュデータが削除されたタスクについてのエントリをタスク割当履歴情報112から削除することができる。したがって、タスク割当履歴情報112には、タスク処理ノード200のキャッシュ215に使用するデータがキャッシュされているタスクについてのエントリのみが存在することとなる。
次に、タスク処理ノード200におけるキャッシュデータ単位のキャッシュ内整理処理について説明する。キャッシュデータ単位のキャッシュ内整理処理は、図5のステップS207のキャッシュ内整理処理の一例である。なお、図6に示すキャッシュ内整理処理とのいずれかを実行してもよいし、両方を実行するようにしてもよい。
図8は、第1実施形態に係るキャッシュデータ単位のキャッシュ内整理処理のフローチャートである。
まず、キャッシュ管理モジュール212は、削除対象とするキャッシュデータ(削除対象キャッシュデータ)を決定する(ステップS501)。削除対象キャッシュデータは、例えば、複数のタスクで重複して利用されていないデータ、利用するタスクの数が少ないデータ、データサイズが大きいデータ、データサイズが小さいデータのいずれとしてもよく、任意の方法で決定することができる。
次いで、キャッシュ管理モジュール212は、キャッシュ管理情報214のキャッシュデータ一覧407から削除対象キャッシュデータを削除し(ステップS502)、キャッシュ215に存在する削除対象キャッシュデータを削除する(ステップS503)。
次いで、キャッシュ管理モジュール212は、キャッシュ215に必要な空き容量を確保できたか否かを確認する(ステップS504)。この結果、必要な空き容量を確保できていない場合(ステップS504:NO)には、キャッシュ管理モジュール212は、処理をステップS501に進め、次の削除対象キャッシュデータを削除する処理を行う。一方、必要な空き容量を確保できた場合(ステップS504:YES)には、キャッシュ管理モジュール212は、キャッシュデータ単位のキャッシュ内整理処理を終了する。
上記したキャッシュデータ単位のキャッシュ内整理処理によると、タスク管理ノード100に問い合わせることなく、キャッシュ215の空き容量を適切に確保することができる。
以上説明したように、第1実施形態に係る計算機システム10によれば、新規タスクと類似度の高いタスクが割り当てられていたタスク処理ノード200を新規タスクの割当先とするようにしているので、新規タスクを実行する際に必要なデータがこのタスク処理ノード200のキャッシュ215に存在する可能性が高く、このタスク処理ノード200の記憶装置203からメモリ202にデータを読み出したり、或いは、別のタスク処理ノード200の記憶装置203からノード間通信によりデータを取得したりすることが低減され、ノード間通信の通信量を低減することができる。また、ノード間通信の通信量を低減することができるので、データを受信する時間が低減されてタスク処理の実行時間を短縮することができ、タスク処理の結果を得るまでのユーザの待機時間を短縮することができる。
次に、本発明の第2実施形態に係る計算機システムについて説明する。なお、以下においては、第1実施形態に係る計算機システムとの相違点を主に説明し、共通点については、説明を省略または簡略する。
図9は、第2実施形態に係る計算機システムの全体構成図である。
第2実施形態に係る計算機システム10Aは、第1実施形態に係る計算機システム10におけるタスク処理ノード200の記憶装置203及びデータ管理モジュール213に相当する構成を含む1以上のデータ管理ノード500をタスク処理ノード400と別体とし、このデータ管理ノード500をネットワーク300に接続するようにしたものである。なお、図9に示すタスク処理ノード400は、第1実施形態に係るタスク処理ノード200から記憶装置203及びデータ管理モジュール213を除いた構成となっているが、本発明はこれに限られず、タスク処理ノード200を同じ構成としてもよい。
データ管理ノード500は、CPU501と、メモリ502と、記憶装置203と、ネットワークインターフェース503とを備える。
ネットワークインターフェース503は、例えば、有線LANカードや無線LANカードなどのインターフェースであり、ネットワーク300を介して他の装置(例えば、クライアント50、タスク管理ノード100、タスク処理ノード400、データ管理ノード500等)と通信する。
CPU501は、メモリ502に格納されたプログラム(モジュール)を実行することにより、各種処理を実行する。
メモリ502は、例えば、RAMであり、CPU501で実行されるプログラムや、必要な情報を記憶する。
メモリ502は、データ管理モジュール213を格納する。
データ管理モジュール213は、CPU501に、複数のデータ管理ノード500で管理された記憶装置203内のデータ231の配置状況を管理させるプログラムモジュールである。
第2実施形態に係る計算機システム10Aは、計算機システム10との構成の違いにより各処理を実行するノードが異なる場合があるが、図4~図8と同様な処理を実行することができる。
上記した第2実施形態によると、第1実施形態と同様な効果が得られる。また、第2実施形態によると、タスク処理及びキャッシュ管理を行うノード(タスク処理ノード400)と、データの管理を行うノード(データ管理ノード500)とを分離して備えるようにしているので、例えば、タスク処理ノード400のみを拡張したり、データ管理ノード500のみを拡張したりすることができるので、低コストで必要な性能を実現することができる。
なお、本発明は、上述の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で、適宜変形して実施することが可能である。
例えば、上記実施形態に係るタスク管理処理では、タスクを割り当てるノードを決定する際に、図4のステップS102及びS105に示すように、空きノードがある場合には、空きノードを対象にタスクを割り当てるノードを決定するようにしていたが、本発明はこれに限られず、空きノードがあるか否かに関わらず、全てのノードを対象にタスクを割り当てるノードを決定するようにしてもよい。
また、上記実施形態では、類似度が最も高いタスクのデータをキャッシュしているノード(タスク処理ノード)をタスクの割当先のノードに決定していたが、本発明はこれに限られず、例えば、割り当てられているタスクの数が所定範囲内であるノードのなかで、類似度が最も高いタスクのデータをキャッシュしているノードをタスクの割当先のノードに決定してもよく、類似度が所定値以上であるタスクのデータをキャッシュしているノードをタスクの割当先のノードに決定してもよく、要は、類似度に基づいてタスクを割り当てるノードを決定すればよい。
10,10A…計算機システム、100…タスク管理ノード、101…CPU、102…メモリ、112…タスク割当履歴情報、200,400…タスク処理ノード、201…CPU、202…メモリ、203…記憶装置、214…キャッシュ管理情報、215…キャッシュ、300…ネットワーク、500…データ管理ノード

Claims (12)

  1. タスクを実行可能な複数のタスク処理ノードと、新規タスクを割り当てるタスク処理ノードを決定するタスク管理ノードとを有するタスク管理システムであって、
    複数の前記タスク処理ノードのそれぞれは、自身に割り当てられたタスクである割当タスクが使用するデータをキャッシュ可能なメモリを備え、
    前記タスク管理ノードは、
    前記割当タスクと、前記割当タスクが割り当てられ、且つ、前記割当タスクが使用するデータがキャッシュされている前記タスク処理ノードとの対応関係を含むタスク割当情報を記憶し、
    前記タスク管理ノードのプロセッサは、
    前記新規タスクと、前記割当タスクとの類似度を判定し、
    前記類似度に基づいて、前記タスク割当情報に含まれている前記タスク処理ノードの中から前記新規タスクを割り当てるタスク処理ノードを決定し、
    前記決定したタスク処理ノードに前記新規タスクを割り当て、
    現在前記タスクを処理していない前記タスク処理ノードである空きノードがあるか否かを判定し、前記空きノードがないと判定したら、最も前記類似度が高い前記タスクが存在する前記タスク処理ノードを前記新規タスクの割当先として選択し、前記空きノードがあると判定したら、前記空きノードの中で最も前記類似度が高い前記タスクを処理した前記タスク処理ノードを前記新規タスクの割当先として選択し、
    前記タスク処理ノードのプロセッサは、
    前記メモリに前記データをキャッシュするための空き容量がない場合に、複数のタスクで重複して利用されていない前記データを前記メモリから削除する
    タスク管理システム。
  2. 前記タスク管理ノードは、
    前記割当タスクに、前記割当タスクを所定の解析方法により解析した解析結果を対応付けて記憶し、
    前記タスク管理ノードのプロセッサは、
    前記新規タスクを前記所定の解析方法で解析し、
    前記新規タスクの解析結果と、前記割当タスクの前記解析結果とに基づいて、前記類似度を判定する
    請求項1に記載のタスク管理システム。
  3. タスクを実行可能な複数のタスク処理ノードと、新規タスクを割り当てるタスク処理ノードを決定するタスク管理ノードとを有するタスク管理システムであって、
    複数の前記タスク処理ノードのそれぞれは、自身に割り当てられたタスクである割当タスクが使用するデータをキャッシュ可能なメモリを備え、
    前記タスク管理ノードは、
    前記割当タスクと、前記割当タスクが割り当てられ、且つ、前記割当タスクが使用するデータがキャッシュされている前記タスク処理ノードとの対応関係を含むタスク割当情報を記憶し、
    前記割当タスクに、前記割当タスクを所定の解析方法により解析した解析結果を対応付けて記憶し、
    前記タスク管理ノードのプロセッサは、
    前記新規タスクを前記所定の解析方法で解析し、
    前記新規タスクの解析結果と、前記割当タスクの前記解析結果とに基づいて、前記新規タスクと、前記割当タスクとの類似度を判定し、
    前記類似度に基づいて、前記タスク割当情報に含まれている前記タスク処理ノードの中から前記新規タスクを割り当てるタスク処理ノードを決定し、
    前記決定したタスク処理ノードに前記新規タスクを割り当て、
    前記割当タスク及び前記新規タスクは、自然言語処理に関するタスクであり、
    前記所定の解析方法は、前記割当タスク又は前記新規タスクの語又は文章をベクトル化する方法である
    タスク管理システム。
  4. 前記タスク処理ノードのプロセッサは、
    自身の前記タスク処理ノードに割り当てられた前記新規タスクで使用するデータであって、前記メモリにキャッシュされていないデータを所定の記憶装置から取得して前記メモリにキャッシュする
    請求項1から請求項3のいずれか一項に記載のタスク管理システム。
  5. 前記タスク処理ノードは、
    前記割当タスクと、前記割当タスクで使用されるデータの内のキャッシュされているデータとの対応関係の情報を記憶し、
    前記タスク管理ノードのプロセッサは、
    所定の条件に従って、前記割当タスクについて、キャッシュされているデータを削除する際の削除対象とするデータに対応する前記割当タスクの優先順位を決定して前記タスク処理ノードに通知し、
    前記タスク処理ノードのプロセッサは、
    前記メモリに前記記憶装置から取得した前記データをキャッシュするための空き容量がない場合に、前記優先順位に従って、前記割当タスクで使用するデータを前記メモリから削除する
    請求項4に記載のタスク管理システム。
  6. 前記タスク処理ノードのプロセッサは、
    前記割当タスクで使用するデータであって、他の割当タスクで使用されないデータを前記メモリから削除する
    請求項5に記載のタスク管理システム。
  7. 前記タスク管理ノードのプロセッサは、
    前記割当タスクの最終実行日時、前記割当タスクと1以上の新規タスクとの類似度、新規タスクとの類似度を算出した回数、前記割当タスクを実行した実行ノードに対して前記新規タスクを割り当てた回数の少なくともいずれか1つに基づいて、前記優先順位を決定する
    請求項5又は請求項6に記載のタスク管理システム。
  8. タスクを実行可能な複数のタスク処理ノードと、新規タスクを割り当てるタスク処理ノードを決定するタスク管理ノードとを有するタスク管理システムであって、
    複数の前記タスク処理ノードのそれぞれは、自身に割り当てられたタスクである割当タスクが使用するデータをキャッシュ可能なメモリを備え、
    前記タスク管理ノードは、
    前記割当タスクと、前記割当タスクが割り当てられ、且つ、前記割当タスクが使用するデータがキャッシュされている前記タスク処理ノードとの対応関係を含むタスク割当情報を記憶し、
    前記タスク管理ノードのプロセッサは、
    前記新規タスクと、前記割当タスクとの類似度を判定し、
    前記類似度に基づいて、前記タスク割当情報に含まれている前記タスク処理ノードの中から前記新規タスクを割り当てるタスク処理ノードを決定し、
    前記決定したタスク処理ノードに前記新規タスクを割り当て、
    前記タスク処理ノードのプロセッサは、
    自身の前記タスク処理ノードに割り当てられた前記新規タスクで使用するデータであって、前記メモリにキャッシュされていないデータを所定の記憶装置から取得して前記メモリにキャッシュし、
    前記タスク処理ノードは、
    前記割当タスクと、前記割当タスクで使用されるデータの内のキャッシュされているデータとの対応関係の情報を記憶し、
    前記タスク管理ノードのプロセッサは、
    所定の条件に従って、前記割当タスクについて、キャッシュされているデータを削除する際の前記割当タスクの優先順位を決定して前記タスク処理ノードに通知し、
    前記タスク処理ノードのプロセッサは、
    前記メモリに前記記憶装置から取得した前記データをキャッシュするための空き容量がない場合に、前記優先順位に従って、前記割当タスクで使用するデータを前記メモリから削除し、
    前記タスク管理ノードのプロセッサは、
    前記割当タスクで使用する全てのデータが前記メモリから削除された場合に、前記割当タスクを実行した前記タスク処理ノードを特定する情報を削除する
    タスク管理システム。
  9. 前記タスク処理ノードは、
    前記割当タスクと、前記割当タスクで使用されるデータの内のキャッシュされているデータとの対応関係の情報を記憶し、
    前記タスク処理ノードのプロセッサは、
    前記メモリに前記記憶装置から取得した前記データをキャッシュするための空き容量がない場合に、複数の前記割当タスクで使用されていないデータを前記メモリから削除する請求項4から請求項8のいずれか一項に記載のタスク管理システム。
  10. 前記所定の記憶装置は、
    前記複数のタスク処理ノードの少なくともいずれか1つに備えられている
    請求項9に記載のタスク管理システム。
  11. 前記所定の記憶装置は、
    前記タスク処理ノードと別体で構成されるデータ管理ノードに備えられている
    請求項9に記載のタスク管理システム。
  12. タスクを実行可能な複数のタスク処理ノードと、新規タスクを割り当てるタスク処理ノードを決定するタスク管理ノードとを有するタスク管理システムによるタスク管理方法であって、
    複数の前記タスク処理ノードのそれぞれは、自身に割り当てられたタスクである割当タスクが使用するデータをキャッシュ可能なメモリを備えており、
    前記割当タスクと、前記割当タスクが割り当てられ、且つ、前記割当タスクが使用するデータがキャッシュされている前記タスク処理ノードとの対応関係を含むタスク割当情報を記憶し、
    前記割当タスクに、前記割当タスクを所定の解析方法により解析した解析結果を対応付けて記憶し、
    前記新規タスクを前記所定の解析方法で解析し、
    前記新規タスクの解析結果と、前記割当タスクの前記解析結果とに基づいて、前記新規タスクと、前記割当タスクとの類似度を判定し、
    前記類似度に基づいて、前記タスク割当情報に含まれている前記タスク処理ノードの中から前記新規タスクを割り当てるタスク処理ノードを決定し、
    前記決定したタスク処理ノードに前記新規タスクを割り当て、
    前記割当タスク及び前記新規タスクは、自然言語処理に関するタスクであり、
    前記所定の解析方法は、前記割当タスク又は前記新規タスクの語又は文章をベクトル化する方法である
    タスク管理方法。
JP2017214872A 2017-11-07 2017-11-07 タスク管理システム、タスク管理方法、及びタスク管理プログラム Active JP7080033B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2017214872A JP7080033B2 (ja) 2017-11-07 2017-11-07 タスク管理システム、タスク管理方法、及びタスク管理プログラム
US16/180,866 US10915362B2 (en) 2017-11-07 2018-11-05 Task management system, task management method, and task management program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017214872A JP7080033B2 (ja) 2017-11-07 2017-11-07 タスク管理システム、タスク管理方法、及びタスク管理プログラム

Publications (2)

Publication Number Publication Date
JP2019087039A JP2019087039A (ja) 2019-06-06
JP7080033B2 true JP7080033B2 (ja) 2022-06-03

Family

ID=66327286

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017214872A Active JP7080033B2 (ja) 2017-11-07 2017-11-07 タスク管理システム、タスク管理方法、及びタスク管理プログラム

Country Status (2)

Country Link
US (1) US10915362B2 (ja)
JP (1) JP7080033B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10601903B2 (en) 2018-05-17 2020-03-24 International Business Machines Corporation Optimizing dynamical resource allocations based on locality of resources in disaggregated data centers
US11330042B2 (en) 2018-05-17 2022-05-10 International Business Machines Corporation Optimizing dynamic resource allocations for storage-dependent workloads in disaggregated data centers
US11221886B2 (en) * 2018-05-17 2022-01-11 International Business Machines Corporation Optimizing dynamical resource allocations for cache-friendly workloads in disaggregated data centers
US10936374B2 (en) 2018-05-17 2021-03-02 International Business Machines Corporation Optimizing dynamic resource allocations for memory-dependent workloads in disaggregated data centers
US10841367B2 (en) 2018-05-17 2020-11-17 International Business Machines Corporation Optimizing dynamical resource allocations for cache-dependent workloads in disaggregated data centers
US10893096B2 (en) 2018-05-17 2021-01-12 International Business Machines Corporation Optimizing dynamical resource allocations using a data heat map in disaggregated data centers
US10977085B2 (en) 2018-05-17 2021-04-13 International Business Machines Corporation Optimizing dynamical resource allocations in disaggregated data centers
WO2020024272A1 (en) * 2018-08-03 2020-02-06 Shanghai United Imaging Healthcare Co., Ltd. Systems and methods for computing resources allocation for medical applications
CN116720645A (zh) * 2022-10-21 2023-09-08 荣耀终端有限公司 一种任务分配方法、分配设备及任务分配系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012059204A (ja) 2010-09-13 2012-03-22 Nec Corp 情報処理装置、情報処理方法およびコンピュータ・プログラム
JP2012523048A (ja) 2009-04-03 2012-09-27 グーグル インコーポレイテッド ソフトウェアアプリケーションの起動コストを低減するためのシステムおよび方法
JP2015162109A (ja) 2014-02-27 2015-09-07 日本電信電話株式会社 タスク割り当てサーバ、タスク割り当て方法およびプログラム
US20160179581A1 (en) 2014-12-19 2016-06-23 Netapp, Inc. Content-aware task assignment in distributed computing systems using de-duplicating cache
WO2016166844A1 (ja) 2015-04-15 2016-10-20 株式会社日立製作所 分散処理システム、タスク処理方法、記憶媒体
US20170316078A1 (en) 2016-04-28 2017-11-02 Snowflake Computing, Inc. Multi-Cluster Warehouse

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166479B2 (en) * 2007-06-26 2012-04-24 Softlife Projects Limited As Applied Cytometry Systems Optimizing data analysis through directional dependencies of a graph including plurality of nodes and attributing threading models and setting status to each of the nodes
US9262181B2 (en) * 2011-05-10 2016-02-16 International Business Machines Corporation Process grouping for improved cache and memory affinity
US20130226639A1 (en) * 2012-02-27 2013-08-29 Hitachi, Ltd. Task management method and task management apparatus
US20160006630A1 (en) * 2013-05-17 2016-01-07 Hitachi, Ltd. Computer system evaluation method, computer system control method, and computer system
JP2015001828A (ja) 2013-06-14 2015-01-05 富士通株式会社 割当プログラム、割当装置および割当方法
WO2015121925A1 (ja) * 2014-02-12 2015-08-20 株式会社日立製作所 システム管理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012523048A (ja) 2009-04-03 2012-09-27 グーグル インコーポレイテッド ソフトウェアアプリケーションの起動コストを低減するためのシステムおよび方法
JP2012059204A (ja) 2010-09-13 2012-03-22 Nec Corp 情報処理装置、情報処理方法およびコンピュータ・プログラム
JP2015162109A (ja) 2014-02-27 2015-09-07 日本電信電話株式会社 タスク割り当てサーバ、タスク割り当て方法およびプログラム
US20160179581A1 (en) 2014-12-19 2016-06-23 Netapp, Inc. Content-aware task assignment in distributed computing systems using de-duplicating cache
WO2016166844A1 (ja) 2015-04-15 2016-10-20 株式会社日立製作所 分散処理システム、タスク処理方法、記憶媒体
US20170316078A1 (en) 2016-04-28 2017-11-02 Snowflake Computing, Inc. Multi-Cluster Warehouse

Also Published As

Publication number Publication date
JP2019087039A (ja) 2019-06-06
US10915362B2 (en) 2021-02-09
US20190138358A1 (en) 2019-05-09

Similar Documents

Publication Publication Date Title
JP7080033B2 (ja) タスク管理システム、タスク管理方法、及びタスク管理プログラム
US7092971B2 (en) Prefetch appliance server
US7325041B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
US6928451B2 (en) Storage system having means for acquiring execution information of database management system
CN107273522B (zh) 面向多应用的数据存储系统和数据调用方法
EP2478442B1 (en) Caching data between a database server and a storage system
US20070067575A1 (en) Method of managing cache memory based on data temperature
US11475006B2 (en) Query and change propagation scheduling for heterogeneous database systems
CN102819586A (zh) 一种基于高速缓存的url分类方法和设备
US10691723B2 (en) Distributed database systems and methods of distributing and accessing data
CN106529917A (zh) 一种工作流处理方法和装置
US10747773B2 (en) Database management system, computer, and database management method
JP6951846B2 (ja) 計算機システム及びタスクの割当方法
WO2020215580A1 (zh) 一种分布式全局数据去重方法和装置
US9851925B2 (en) Data allocation control apparatus and data allocation control method
US10642745B2 (en) Key invalidation in cache systems
US10606795B2 (en) Methods for managing a buffer cache and devices thereof
CN117033831A (zh) 一种客户端缓存方法、装置及其介质
US20210191727A1 (en) Tuple checkout with notify in coordination namespace system
US20180081959A1 (en) Efficient dual-objective cache
KR102280443B1 (ko) 셀렉트 쿼리 처리 시 네트워크 비용 절감을 위해 멀티 캐시를 구비한 클라우드 데이터베이스 시스템
US20160253094A1 (en) Information processing device, data cache device, information processing method, and data caching method
CN110659312A (zh) 数据处理的方法、装置、设备和计算机存储介质
CN117009439B (zh) 数据处理方法、装置、电子设备及存储介质
US11966393B2 (en) Adaptive data prefetch

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200303

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210309

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210412

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20211005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211206

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220524

R150 Certificate of patent or registration of utility model

Ref document number: 7080033

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150