JP2013515991A - アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム - Google Patents

アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP2013515991A
JP2013515991A JP2012545219A JP2012545219A JP2013515991A JP 2013515991 A JP2013515991 A JP 2013515991A JP 2012545219 A JP2012545219 A JP 2012545219A JP 2012545219 A JP2012545219 A JP 2012545219A JP 2013515991 A JP2013515991 A JP 2013515991A
Authority
JP
Japan
Prior art keywords
information processing
processing system
job
jobs
hardware accelerator
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012545219A
Other languages
English (en)
Other versions
JP5744909B2 (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2013515991A publication Critical patent/JP2013515991A/ja
Application granted granted Critical
Publication of JP5744909B2 publication Critical patent/JP5744909B2/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]
    • 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/5044Allocation 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 hardware capabilities
    • 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/505Allocation 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 load
    • 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
    • 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/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Abstract

【課題】 アクセラレータ・リソースを動的に管理するため方法、情報処理システム、およびコンピュータ可読記憶媒体を提供する。
【解決手段】 第1の組のハードウェア・アクセラレータ・リソースが第1の情報処理システムに初めに割り当てられ、第2の組のハードウェア・アクセラレータ・リソースが第2の情報処理システムに初めに割り当てられる。第1および第2の情報処理システム上で実行されるジョブがモニターされる。ジョブの1つが目標を満足し損なったときに、第2の組のハードウェア・アクセラレータ・リソース内の少なくとも1つのハードウェア・アクセラレータ・リソースが第2の情報処理システムから第1の情報処理システムに動的に再割り当てされる。
【選択図】 図1

Description

本発明は、一般に、作業負荷管理の分野に関し、詳細には、ハードウェア・アクセラレータを使用して作業負荷を管理することに関する。
Intel(R)、AMD(R)、およびIBM POWER(R)などの汎用プロセッサは、広範囲の作業負荷をサポートするように設計されている。既存の能力を上回る処理能力が必要な場合、特定の適用例の要件を満たすために、ハードウェア・アクセラレータをコンピュータ・システムに接続することができる。また、パフォーマンス上のボトルネックに対処するためにハードウェア・アクセラレータを使用することもできる。このようなアクセラレータは、システムによって使用可能なコンピューティング・リソースと見なされる。ハードウェア・アクセラレータの例としては、フィールド・プログラマブル・アレイ(FPGA)、IBM Cell B.E.(ブロードバンド・エンジン)プロセッサ、およびグラフィック処理ユニット(GPU)を含む。アクセラレータは、その特定のタスクに関する価格/パフォーマンスの点でシステムの汎用プロセッサより優れている。ハードウェア・アクセラレータは、PCIエクスプレス入出力スロットによるかまたはイーサネットおよびインフィニバンド(R)などの高速ネットワークの使用などにより、プロセッサ複合体またはネストに直接接続することができる。
米国特許第5473773号
従来の作業負荷管理システムは、特定のホスト・システムに割り当てられたアクセラレータ・リソースをそのホスト上で実行されるジョブ間に分散する。しかし、このような従来の作業負荷管理システムは、一般に、複数システム間で割り当てられた使用可能アクセラレータ・リソースを効果的かつ効率的に使用するわけではない。
したがって、本発明は、第1の態様では、アクセラレータ・リソースを動的に管理するための方法を提供し、このコンピュータによって実行される方法は、初めに、第1の組のハードウェア・アクセラレータ・リソースを第1の情報処理システムに割り当て、第2の組のハードウェア・アクセラレータ・リソースを第2の情報処理システムに割り当てるステップと、少なくとも1つのプロセッサにより、第1および第2の情報処理システム上で実行される複数のジョブをモニターするステップと、ジョブの1つが目標を満足し損なったときに、第2の組のハードウェア・アクセラレータ・リソース内の少なくとも1つのハードウェア・アクセラレータ・リソースを第2の情報処理システムから第1の情報処理システムに動的に再割り当てするステップとを含む。
好ましくは、モニターするステップは、ジョブに関連するランタイム統計情報を分析することを含む。好ましくは、動的に再割り当てするステップは、1つのジョブに関連する優先レベルがしきい値を上回るときに実行される。好ましくは、モニターするステップは、ジョブに関連するランタイム統計情報を分析するサブステップと、1つまたは複数のハードウェア・アクセラレータ・リソースを第1の情報処理システムに再割り当てすると、1つのジョブが目標を満足する可能性が高まるかどうかを判断するサブステップとを含む。好ましくは、動的に再割り当てするステップは、その可能性がしきい値を上回る場合に実行される。好ましくは、モニターするステップは、1つまたは複数のハードウェア・アクセラレータ・リソースが第1の情報処理システムに再割り当てされる場合に第1の情報処理システムが獲得する値と、1つまたは複数のハードウェア・アクセラレータ・リソースが第1の情報処理システムに再割り当てされる場合に第2の情報処理システムが喪失する値を比較するサブステップを含み、動的に再割り当てするステップは、第1の情報処理システムが獲得する値が第2の情報処理システムが喪失する値より高い場合に実行される。好ましくは、動的に再割り当てするステップは、少なくとも1つのハードウェア・アクセラレータ・リソースに対して新しいジョブを発行するのを停止するよう第2の情報処理システムに指示するサブステップと、第2の情報処理システムによって少なくとも1つのハードウェア・アクセラレータ・リソースに発行されたジョブのすべてが完了した時期を判断するサブステップとを含む。
第2の態様では、アクセラレータ・リソースを動的に管理するための情報処理システムが提供され、この情報処理システムは、メモリと、メモリに通信可能に結合されたプロセッサと、メモリおよびプロセッサに通信可能に結合された割り当てマネージャ(assignment manager)であって、初めに、第1の組のハードウェア・アクセラレータ・リソースを第1の情報処理システムに割り当て、第2の組のハードウェア・アクセラレータ・リソースを第2の情報処理システムに割り当て、第1および第2の情報処理システム上で実行される複数のジョブをモニターし、ジョブの1つが目標を満足し損なったときに、第2の組のハードウェア・アクセラレータ・リソース内の少なくとも1つのハードウェア・アクセラレータ・リソースを第2の情報処理システムから第1の情報処理システムに動的に再割り当てするように構成される、割り当てマネージャとを含む。
好ましくは、複数のジョブをモニターすることは、ジョブに関連するランタイム統計情報を分析することを含む。好ましくは、動的に再割り当てすることは、1つのジョブに関連する優先レベルがしきい値を上回るときに実行される。好ましくは、複数のジョブをモニターすることは、ジョブに関連するランタイム統計情報を分析することと、1つまたは複数のハードウェア・アクセラレータ・リソースを第1の情報処理システムに再割り当てすると、1つのジョブが目標を満足する可能性が高まるかどうかを判断することを含む。好ましくは、動的に再割り当てすることは、その可能性がしきい値を上回る場合に実行される。好ましくは、複数のジョブをモニターすることは、1つまたは複数のハードウェア・アクセラレータ・リソースが第1の情報処理システムに再割り当てされる場合に第1の情報処理システムが獲得する値と、1つまたは複数のハードウェア・アクセラレータ・リソースが第1の情報処理システムに再割り当てされる場合に第2の情報処理システムが喪失する値を比較することを含み、動的に再割り当てすることは、第1の情報処理システムが獲得する値が第2の情報処理システムが喪失する値より高い場合に実行される。好ましくは、動的に再割り当てすることは、少なくとも1つのハードウェア・アクセラレータ・リソースに対して新しいジョブを発行するのを停止するよう第2の情報処理システムに指示することと、第2の情報処理システムによって少なくとも1つのハードウェア・アクセラレータ・リソースに発行されたジョブのすべてが完了した時期を判断することを含む。
第3の態様では、コンピュータ・システムにロードされ、そこで実行されたときに、第1の態様の方法のステップのすべてをコンピュータ・システムに実行させるコンピュータ・プログラム・コードを含むコンピュータ可読記憶媒体上に保管されたコンピュータ・プログラムが提供される。第1の態様の方法の好ましい特徴は、対応する好ましいコンピュータ・プログラム・コードの特徴を有する。
本発明の一実施形態は、アクセラレータ・リソースを動的に管理するためのコンピュータによって実行される方法を提供する。この方法により、第1の組のハードウェア・アクセラレータ・リソースが第1の情報処理システムに初めに割り当てられ、第2の組のハードウェア・アクセラレータ・リソースが第2の情報処理システムに初めに割り当てられる。少なくとも1つのプロセッサにより、第1および第2の情報処理システム上で実行されるジョブがモニターされる。ジョブの1つが目標を満足し損なったときに、第2の組のハードウェア・アクセラレータ・リソース内の少なくとも1つのハードウェア・アクセラレータ・リソースが第2の情報処理システムから第1の情報処理システムに動的に再割り当てされる。
本発明の他の実施形態は、アクセラレータ・リソースを動的に管理するための情報処理システムを提供する。この情報処理システムは、メモリと、メモリに通信可能に結合されたプロセッサとを含む。また、この情報処理システムは、メモリおよびプロセッサに通信可能に結合された割り当てマネージャも含む。割り当てマネージャは、初めに、第1の組のハードウェア・アクセラレータ・リソースを第1の情報処理システムに割り当て、第2の組のハードウェア・アクセラレータ・リソースを第2の情報処理システムに割り当てるように構成される。第1および第2の情報処理システム上で実行されるジョブがモニターされる。ジョブの1つが目標を満足し損なったときに、第2の組のハードウェア・アクセラレータ・リソース内の少なくとも1つのハードウェア・アクセラレータ・リソースが第2の情報処理システムから第1の情報処理システムに動的に再割り当てされる。
次に、添付図面に関連して、一例としてのみ、本発明の好ましい一実施形態について説明する。
本発明の一実施形態による動作環境を示すブロック図である。 本発明の一実施形態によるホスト・システムへのアクセラレータ・リソースの初期割り当てを示すブロック図である。 本発明の一実施形態によるホスト・システムへのアクセラレータ・リソースの動的再割り当てを示すブロック図である。 本発明の一実施形態によりアクセラレータ・リソースを動的に管理するためのプロセスを示す動作流れ図である。 本発明の一実施形態によりアクセラレータ・リソースを動的に管理するためのプロセスを示す動作流れ図である。 本発明の一実施形態によりアクセラレータ・リソースを動的に管理するためのプロセスを示す動作流れ図である。 本発明の一実施形態による情報処理システムを示すブロック図である。 本発明の一実施形態により、サービス・クラス内のジョブがアクセラレータの使用を待っている長さと、ホスト・システムに割り当てられたアクセラレータの数との関係を示す図である。
動作環境
図1は、本発明の諸実施形態に適用可能な模範的な動作環境を示している。図1の模範的な環境100は、SMPコンピューティング環境で動作する並列分散処理システムである。SMPコンピューティング環境では、並列アプリケーションは、同じ処理ノード上の複数のプロセッサ上で実行される、いくつかのジョブ(プロセス)を有することができる。図1の模範的な環境はSMP環境であるが、本発明はこのように限定されない。その他のアーキテクチャも適用可能であり、本発明のいくつかの実施形態は単一システム内で動作する。
図1は、複数のホスト・システム102、104、および106を示している。各ホスト・システム102、104、および106は、それぞれが実行すべき1つまたは複数のジョブ114、116、および118を含む、1つまたは複数の作業負荷108、110、および112を有する。また、各ホスト・システム102、104、および106は、そのホスト・システムに現在割り当てられているハードウェア・アクセラレータを識別するアクセラレータ割り当て情報119も有する。ホスト・システム102、104、および106のそれぞれは、イーサネット・ネットワークまたはインフィニバンド(R)などの相互接続ファブリック(interconnect fabric)120に通信可能に結合される。また、複数のハードウェア・アクセラレータ122、124、および126も相互接続ファブリック120に通信可能に結合される。各ハードウェア・アクセラレータ122、124、および126は、(汎用プロセッサと比べると)最適化したパフォーマンスを有する限られた1組の特定の機能を実行することができる特殊目的ハードウェア・コンポーネントまたは電気製品である。ホスト・システム102、104、および106のうちの1つまたは複数は、アクセラレータ122、124、および126のうちの1つまたは複数を使用して、その作業負荷の少なくとも一部分を実行する。
図1は、割り当てマネージャ130を有する情報処理システム128も示している。割り当てマネージャ130は、1つまたは複数のアクセラレータ122、124、および126をホスト・システム102、104、および106に動的に割り当てる。このアクセラレータの動的再割り当てにより、それぞれのホスト上で実行されるサービス・クラス/ジョブのパフォーマンスおよび重要性に基づいて、アクセラレータを様々なホストに割り当てることができる。ホストがそのパフォーマンス目標を満たしていない優先順位の高いジョブを実行している場合、割り当てマネージャは、優先順位のより低いジョブまたはこの動的再割り当てによって影響されないジョブを実行している他のホストからアクセラレータ・リソースを動的に再割り当てすることができる。作業負荷に基づいてアクセラレータ・リソースのバランスを取るこの能力により、より高い全体使用率を達成することができる。また、アクセラレータ・リソースが制約される状況では、最も重要なジョブを優先することができる。
割り当てマネージャ130は、ジョブ・モニター(job monitor)132と、ジョブ選別器(job classifier)134と、ホスト照会モジュール(host queryingmodule)136と、アクセラレータ割り当て器(accelerator assigner)138と、初期割り当て構成データ140とを含む。また、情報処理システム128は、ジョブ統計142と、ジョブ分類情報144と、サービス・クラス情報146も含む。他の諸実施形態では、割り当てマネージャ130は、ホスト・システムのうちの1つまたは複数に常駐することができる。
アクセラレータ・リソースの動的再割り当て
例示されている実施形態では、割り当てマネージャ130のジョブ選別器134は、ホスト・システム102、104、および106に常駐するジョブ114、116、および118のそれぞれを分析し、その「サービス・クラス」と呼ばれる特定タイプの作業として各ジョブを分類する。それぞれのサービス・クラスは関連の目標および優先順位を有する。たとえば、目標は、「5秒以内に終了する」などのターゲット付きの応答時間にすることができる。この実施形態では、サービス・クラスの目標および重要性は管理者によって設定される。この情報はサービス・クラス情報146内に保管される。ジョブ選別器134は、ジョブの属性(ジョブ名、ジョブをサブミットしたユーザのユーザIDなど)を分析し、ジョブの属性とサービス・クラス情報146に基づいて、そのジョブがどのサービス・クラスに分類されるかを識別する。代替実施形態では、ジョブ選別器134は、ジョブに関連する統計情報142を使用して、どのサービス・クラスをそのジョブに関連付けるかを判断する。その他の関連属性にも基づいて、ジョブをサービス・クラスに分類することができる。
例示されている実施形態では、割り当てマネージャは、初めに、初期割り当て構成データ140に基づいて、アクセラレータ122、124、および126をホスト・システム102、104、および106に割り当てる。この実施形態では、初期割り当て構成データ140は、その特定のシステムにどのアクセラレータが割り振られているかをホスト・システムに通知する、事前定義アクセラレータ割り振りである。図2の例に示されているように、アクセラレータW122は初めにホスト・システムA102に割り当てられ、アクセラレータX124は初めにホスト・システムB104に割り当てられ、アクセラレータYはホスト・システムN106に割り当てられる。
割り当てマネージャ130によってアクセラレータがホスト・システムに割り当てられた後、ホスト・システムはその作業負荷の一部を割り当てられたアクセラレータに送信することができる。この実施形態では、割り当てマネージャのジョブ・モニター132は、それぞれの作業負荷108、110、112内のそれぞれのジョブ114、116、および118をモニターして、ジョブ統計142を決定する。ジョブ・モニター132は、アクセラレータにおけるジョブの実行時間、ジョブによって使用されるアクセラレータの数、アクセラレータによって実行される前にアクセラレータのキュー内にジョブが保持されていた長さなどの統計をモニターする。この情報はジョブ統計情報142として保管される。ジョブ選別器134が統計情報を使用してジョブをサービス・クラスに割り当てる実施形態では、ジョブ選別器134はジョブ統計情報142を使用して、ジョブに関連付けるサービス・クラスを決定する。一例では、あるジョブが完了するのに3秒を要し、2つのアクセラレータを使用した場合、ジョブ選別器134は、実質的にこの統計に一致するサービス・クラスをこのジョブに関連付け、この分類をジョブ分類情報144に保管する。
サービス・クラスの優先順位は、事前定義することができるが、事前定義する必要があるわけではない。一例では、ジョブ・モニター132は、各ジョブが実行されるのを待ってアクセラレータ・キュー内に在留する時間、ジョブがアクセラレータによって完了されるのに要する時間、ジョブが使用するアクセラレータの数などのパラメータをモニターする。次に、ジョブ・モニター132は、この統計情報に基づいてジョブに関連するサービス・クラスの平均を決定する。次に、割り当てマネージャは、所与のサービス・クラスのジョブに関連する平均に基づいて、その所与のサービス・クラスについて、完了目標、キュー時間平均などを決定することができる。一例では、所与のサービス・クラスのすべてのジョブがアクセラレータによって完了される平均時間が5秒であった場合、これはそのサービス・クラスのパフォーマンス目標として設定することができる。代替一実施形態では、ホスト・システムのそれぞれは、割り当てマネージャ130にこれらの動作を実行させる代わりに、それ自体のジョブをモニターし、統計情報を記録する。次に、この情報は、必要なときに割り当てマネージャ130に渡される。割り当てマネージャ130は、サービス・クラスに関連する情報(たとえば、目標および優先順位)を使用して、アクセラレータをホスト・システムに動的に割り当てる方法を決定する。
ジョブがサービス・クラスに割り当てられた後、各ホスト・システムがそれに割り当てられたアクセラレータ(複数も可)にジョブを送信するときに、ジョブ・モニター132は各ジョブをモニターして、そのサービス・クラスがそれぞれの目標を満足していることを保証する。たとえば、サービス・クラスの各ジョブについて、実行中のジョブからの統計データ(たとえば、ジョブ統計情報142)が収集され、集約される。この集約されたパフォーマンス・データにより、そのサービス・クラスに割り当てられるすべてのジョブの平均として、サービス・クラスのパフォーマンスを決定することができる。ジョブ・モニター132はサービス・クラスの目標(複数も可)を識別する。一例では、これらの目標は、アクセラレータ・キュー時間、実行時間などに関連する。集約された統計情報に基づいて、割り当てマネージャ130は、サービス・クラスがその目標(複数も可)を逸しているかどうかを判断する。たとえば、あるサービス・クラスは、そのサービス・クラス内のジョブの平均応答時間が10秒でなければならないことを指定する目標を有する。そのサービス・クラス内の3つのジョブが5秒、10秒、および30秒の応答時間を有する場合、平均応答時間は15秒であり、そのサービス・クラスは目標を満足し損なっている。
このような情報に基づいて、割り当てマネージャ130は、その目標を達成し損なったサービス・クラスのジョブを発行したホスト・システムに関するアクセラレータ割り当て構成を動的に変更すべきかどうかを判断する。
この実施形態では、割り当てマネージャ130は、追加のアクセラレータ・リソースを追加すべきかどうかを判断するときにサービス・クラスの優先順位を決定する。たとえば、各サービス・クラスは(したがって、そのジョブも)優先レベルを有する。サービス・クラスの優先レベルがしきい値を上回る場合、割り当てマネージャ130は、アクセラレータ・リソースの動的再割り当てを行うことを決定することができる。優先レベルが所与のしきい値を下回る場合、割り当てマネージャ130は、アクセラレータ・リソースの動的再割り当てがまったく必要ないと決定する。実施形態によっては、サービス・クラスが優先レベルを持っていないこともある。
所与のホストに追加のアクセラレータを動的に再割り当てするべきかどうかを判断するときに、割り当てマネージャ130は、そのホストに対するこの再割り当ての影響を判断する。割り当てマネージャ130は、サービス・クラスのジョブ(複数も可)に関連する統計情報142を使用して、追加のアクセラレータを追加することによりサービス・クラスに関連する目標が達成されることが保証されるかどうかを判断する。一例では、割り当てマネージャ130は、ホスト・システムの1つまたは複数のサービス・クラスのジョブをモニターして、そのサービス・クラス内の各ジョブに関するキュー時間、実行時間、平均時間などを識別し、この情報をそのジョブのサービス・クラスに集約する。この情報は、これらの統計に基づいて追加のアクセラレータを追加することの影響を推定するために使用される。
たとえば、割り当てマネージャ130は、サービス・クラスについて収集されたデータ(すなわち、アクセラレータのジョブの使用を示す、サービス・クラス内の各ジョブに関するキュー時間、実行時間、平均時間などのジョブ統計情報142)を使用し、図8に示されている模範的なグラフ800などの各サービス・クラスに関するグラフを生成する。このグラフは、ホスト・システムに割り当てられたアクセラレータの数を示すX軸と、サービス・クラス内のジョブがアクセラレータに関するキュー内にある時間を示すY軸とを有する。この情報により、割り当てマネージャ130は、サービス・クラスに関するジョブがアクセラレータの使用を待っている長さと、ホスト・システムに割り当てられたアクセラレータの数との関係を学習することができる。図8に示されているものなどのキューイング・モデルから、割り当てマネージャ130は、アクセラレータの動的割り振りが実行された場合のサービス・クラスの平均応答時間に対する影響を予測することができる。より多くのアクセラレータがホスト・システムに追加される場合、ジョブがキュー内で待っている時間は減少する。ホスト・システムからアクセラレータが取り去られる場合、ジョブがキュー内で待っている時間は増加する。サービス・クラス内のジョブが平均してキュー上で待っている時間の変化は、サービス・クラスの平均応答時間に直接影響する。
他の実施形態では、割り当てマネージャ130の代わりに、ホスト・システム自体がこの推定を実行する。このような実施形態では、追加のアクセラレータが割り当てられることから利得が得られるとホスト・システムが判断した場合、ホスト・システムは割り当てマネージャ130から追加のアクセラレータ・リソースを要求する。
所与のホスト・システムに1つまたは複数の追加のアクセラレータを割り当てることから利得が得られると割り当てマネージャが判断した場合(または割り当てマネージャがホスト・システムから追加のアクセラレータ・リソースを求める要求を受信した場合)、割り当てマネージャ130は、所与のホスト・システムに追加のアクセラレータ・リソースを動的に再割り当てすることによる他のホスト・システムへの影響を判断する。一例では、1つまたは複数の追加のアクセラレータ・リソースを動的に再割り当てすることにより、(結果的に完了時間がより速くなるように)その目標を逸しているサービス・クラスに関する平均キュー待ち時間が減少すると割り当てマネージャ130(または所与のホスト・システム)が判断した場合、割り当てマネージャ130は、他のホスト・システムに対するこのアクセラレータ割り当ての影響を判断する。所与のホスト・システムに対する追加のアクセラレータ・リソースの動的再割り当ての結果、他のホスト・システムに現在割り当てられているアクセラレータ・リソースが所与のホスト・システムに動的に再割り当てされるので、他のホスト・システムに対する影響が存在する。この実施形態では、割り当てマネージャ130は、1つまたは複数のサービス・クラス/ホスト・システムに関連するグラフ800を分析することにより、他のシステムからの1つまたは複数のアクセラレータ・リソースの割り振り解除がその作業負荷にどのように影響するかを推定する。割り当てマネージャ130は、グラフを分析し、ホスト・システムからアクセラレータ・リソースを割り振り解除することと、そのリソースを他のシステムに割り振ることが、これらのホスト・システムの両方にどのように影響するかを判断する。
ホスト・システムがそのジョブ/サービス・クラスについてそれ自体の統計情報を維持する実施形態では、割り当てマネージャ130はホスト照会モジュール136を介して他のホスト・システムに照会する。この照会は、他のホスト・システムのそれぞれからの影響推定を要求する。あるホスト・システムが割り当てマネージャからこの照会を受信すると、そのホスト・システムは影響推定を実行する。一例では、それぞれのホスト・システムはそのジョブに関連するその統計情報142を分析し、1つまたは複数のアクセラレータ・リソースの割り振り解除がその作業負荷にどのように影響するかを判断する。統計情報は、キュー待ち時間、実行時間、使用されるアクセラレータの数などを含むことができる。各ホスト・システムは、そのサービス・クラスのそれぞれに関連する統計情報またはグラフを分析することにより、1つまたは複数のアクセラレータ・リソースの割り振り解除がその作業負荷にどのように影響するかを推定することができる。次に、他のホスト・システムはその推定を割り当てマネージャに送信する。
それぞれの推定は、割り振り解除および再割り当てがシステムに否定的な影響を及ぼすかまたは中立的な影響を及ぼすかを示し、その影響を定量化することもできる。一例では、あるホスト・システムに関する影響推定は、キュー待ち時間が5%、5秒など増加すること、完了時間が同じままであるかまたは所与の量だけ増加すること、ならびにジョブがその目標を満足し損なう確率が所与の量だけ増加することを示す。
次に、割り当てマネージャ130は、追加のアクセラレータ・リソースを所与のホスト・システムに追加することの影響と、他のホスト・システムからアクセラレータ・リソースを割り振り解除することの影響とを比較する。所与のシステムに対する肯定的な影響が他のシステムに対する否定的な影響より大きい場合、割り当てマネージャ130は、他のホスト・システムに現在割り当てられている1つまたは複数のアクセラレータ・リソースを所与のホスト・システムに動的に再割り当てする。
この実施形態では、この比較プロセスは様々な割り当てしきい値を使用する。一例では、所与のホスト・システムに関連する肯定的な影響が第1のしきい値を上回り(キュー待ち時間の減少が3秒を超えることまたはジョブ目標が満足される確率が80%より高いことなど)、他のホスト・システムに対する否定的な影響が第2のしきい値を下回る(キュー待ち時間が3秒だけ増加することなど)と割り当てマネージャ130が判断した場合、割り当てマネージャ130は、アクセラレータ・リソースを所与のホスト・システムに動的に再割り当てする。
また、割り当てマネージャ130は、他のホスト・システムの影響推定同士を比較して、そこからアクセラレータ・リソースを取るホスト・システムを決定することができる。一例では、2つの他のホスト・システムが存在し、第1のホスト・システムに関する割り振り解除の影響が第2のホスト・システムに関するものより大きい場合、割り当てマネージャ130は、所与のホスト・システムに再割り当てするために、第2のホスト・システムに関連するアクセラレータ・リソースを選択する。これにより、他のホスト・システムに対する再割り当ての否定的な影響が低減される。
一実施形態では、動的に再割り当てするためにアクセラレータ・リソースを識別した後、割り当てマネージャ130は、これらのアクセラレータ・リソースに現在割り当てられているホスト・システムに対し、これらのアクセラレータ・リソースに新しいジョブを送信するのを停止するよう通知する。すべての既存のジョブを完了した後、割り当てマネージャ130は現行ホスト・システムからアクセラレータ・リソースを割り振り解除し、そのホスト・システムはこの割り振り解除を反映するようにその割り当て情報を更新する。次に、割り当てマネージャ130はこれらのアクセラレータ・リソースを所与のホスト・システムに割り当て、その後、このホスト・システムはこの割り当てを反映するようにその割り当て情報を更新する。次に、所与のホスト・システムは、その作業負荷から新たに割り当てられたアクセラレータ・リソースにジョブを発行し始める。
図3は、図2に示されているように元々ホスト・システムB104に割り当てられていたアクセラレータX124がホスト・システムA102に動的に再割り当てされた例を示している。ここで、ホスト・システムA102は、その作業負荷からその初期アクセラレータであるアクセラレータW122ならびに新たに割り当てられたアクセラレータであるアクセラレータX124にジョブを発行することができる。
したがって、本発明は、アクセラレータ・リソースのプールを効率的かつ効果的に管理する。これらのアクセラレータ・リソースは初めに様々なホスト・システムに割り当てられる。次に、これらのシステムのそれぞれで実行されるジョブのパフォーマンスおよび優先順位などの要因に基づいて、これらのアクセラレータ・リソースを他のホスト・システムに再割り当てすることができる。
動作流れ図
図4、図5、および図6は、本発明の一実施形態によりアクセラレータ・リソースを動的に管理するためのプロセスを示す動作流れ図である。図4の動作流れ図は、ステップ402から始まり、ステップ404に直接流れる。割り当てマネージャ130は、ステップ404で、初めにアクセラレータ・リソースを複数のホスト・システム102、104、および106に割り当てる。割り当てマネージャは、ステップ406で、各ホスト・システム102、104、および106の各ジョブ114、116、および118にサービス・クラスを割り当てる。
割り当てマネージャは、ステップ408で、第1のホスト・システム上の各ジョブ114に関連する統計情報142を収集し、この統計情報を各ジョブのサービス・クラスに集約する。各サービス・クラスに集約された統計情報に基づいて、割り当てマネージャ130は、ステップ410で、各サービス・クラスが第1のホスト・システム上でその目標をどの程度十分に達成しているかを判断する。割り当てマネージャ130は、ステップ412で、アクセラレータ・リソースを追加することによって最近支援されていないサービス・クラスがその目標を逸しているかどうかを判断する。この判断が否定である場合、割り当てマネージャ130は、ステップ414で、次のモニター間隔を待つ。次のモニター間隔が始まると、割り当てマネージャ130はステップ408に戻る。ステップ412の判断の結果が肯定である場合、割り当てマネージャ130は、ステップ416で、その目標を逸している最も重要なサービス・クラスを選択する。上述の通り、「重要性」は、優先レベル、追加のアクセラレータ・リソースを追加することにより最も多くの恩恵を得ることになるサービス・クラスなどによって測定することができる。選択されたサービス・クラスは受信側サービス・クラスと呼ばれる。この時点で制御は図5の入口点A(502)に流れる。
ステップ504では、割り当てマネージャ130は受信側サービス・クラスに関する統計情報を分析する。割り当てマネージャ130は、ステップ506で、この分析に基づいて、1つまたは複数のアクセラレータ・リソースを第1のホスト・システムに追加することによる受信側サービス・クラスのパフォーマンスに対する影響を判断する。割り当てマネージャ130は、ステップ508で、リソースの再割り振りを正当化するためにこの影響が十分な値を提供するかどうか(たとえば、所与のホスト・システムの利得が、リソースが割り振り解除されたシステムに対する損失より大きいかどうか)を判断する。米国特許第5473773号では、受信側クラス値についてより詳細に論じている。この判断の結果が否定である場合、割り当てマネージャ130は、ステップ509で、リソースを再割り振りしないことを決定し、制御は入口点Bでステップ412に戻り、他のサービス・クラスがその目標を逸しているかどうかを判断する。
ステップ508の判断の結果が肯定である場合、割り当てマネージャ130は、ステップ510で、第2のホスト・システムに関連する統計情報142を分析する。割り当てマネージャ130は、ステップ512で、この統計情報142に基づいて、第2のホスト・システムから1つまたは複数のアクセラレータ・リソースを割り振り解除することが第2のホスト・システム上のジョブを有するサービス・クラスに対して及ぼす影響を判断する。割り当てマネージャ130は、ステップ514で、これらのリソースを第1のホスト・システムに追加することが獲得する値と、これらのリソースの再割り当てにより第2のホスト・システムから取り去られる値を比較する。
割り当てマネージャ130は、ステップ516で、獲得した値が喪失した値より大きいかどうかを判断する。この判断の結果が否定である場合、制御の流れは入口点Bでステップ412に戻り、他のサービス・クラスがその目標を逸しているかどうかを判断する。この判断の結果が肯定である場合、制御は図6の入口点C(602)に流れる。割り当てマネージャ130は、ステップ604で、初めに第2のホスト・システムに割り当てられた1つまたは複数のアクセラレータ・リソースにジョブが新しい要求を発行するのを停止するよう、第2のホスト・システムに指示する。割り当てマネージャ130は、ステップ606で、これらのアクセラレータ・リソースで現行作業が完了したかどうかを判断する。この判断の結果が否定である場合、割り当てマネージャ130は、その作業が完了したかどうかを判断し続ける。この判断の結果が肯定である場合、割り当てマネージャは、ステップ608で、1つまたは複数のアクセラレータ・リソースを第1のホスト・システムに動的に再割り当てする。第1のホスト・システム上のジョブは、ステップ610で、初めに割り当てられたアクセラレータ・リソースと新たに割り当てられたアクセラレータ・リソースの両方を使用する。制御の流れは入口点Dでステップ414に戻り、次のモニター間隔を待つ。
情報処理システム
図7は、本発明の諸実施形態において使用するための模範的な情報処理システムを示すブロック図である。適切に構成された処理システムであれば、どのような処理システムでも同様に本発明の他の諸実施形態で情報処理システムとして使用することができる(たとえば、パーソナル・コンピュータ、ワークステーションなど)。情報処理システムはコンピュータ702を含む。
コンピュータ702は、システム・バス712を介してメイン・メモリ706に通信可能に結合された1つまたは複数のプロセッサ704を含む。
また、コンピュータ702は、大容量記憶インターフェース708と、ネットワーク・アダプタ・ハードウェア710も含む。大容量記憶インターフェース708は大容量記憶装置714を情報処理システムに接続するために使用される。データ記憶装置の特定のタイプの1つは光学式ドライブ・ディスクであり、これはCD716またはDVDなどのコンピュータ可読記憶媒体にデータを保管し、そこからデータを読み取るために使用することができる。もう1つのタイプのデータ記憶装置は、たとえば、JFSタイプ・ファイル・システム動作をサポートするように構成されたハード・ディスクである。この実施形態では、メイン・メモリ706はランダム・アクセス・メモリ(「RAM」)などの揮発性メモリである。この実施形態のメイン・メモリ706は、割り当てマネージャ、そのコンポーネント、ジョブ統計、ジョブ分類情報、およびサービス・クラス情報を含む。
ネットワーク・アダプタ・ハードウェア710は、他のコンピュータとのデータ通信を実現する相互接続ファブリックへのインターフェースを提供する。本発明の諸実施形態は、現代のアナログあるいはデジタルまたはその両方の技法を含むかもしくは将来のネットワーキング・メカニズムを介する任意のデータ通信接続とともに機能するように適合させることができる。
完全に機能的なコンピュータ・システムに関連して本発明の模範的な諸実施形態について説明してきたが、他の諸実施形態は、CDおよびそれと同等のもの、フレキシブル・ディスク、またはその他の形式の記録可能媒体を介して、あるいは任意のタイプの電子伝送メカニズムを介して、プログラム(program product)として配布することができる。
本発明の好ましい実施形態であると現在考えられているものが例示し説明されているが、当業者であれば、本発明の真の範囲を逸脱せずに、様々なその他の変更を行うことができ、同等のものを代用することができることを理解するであろう。

Claims (15)

  1. アクセラレータ・リソースを動的に管理するための方法であって、前記コンピュータによって実行される方法が、
    初めに、第1の組のハードウェア・アクセラレータ・リソースを第1の情報処理システムに割り当て、第2の組のハードウェア・アクセラレータ・リソースを第2の情報処理システムに割り当てるステップと、
    少なくとも1つのプロセッサにより、前記第1および第2の情報処理システム上で実行される複数のジョブをモニターするステップと、
    前記ジョブの1つが目標を満足し損なったときに、前記第2の組のハードウェア・アクセラレータ・リソース内の少なくとも1つのハードウェア・アクセラレータ・リソースを前記第2の情報処理システムから前記第1の情報処理システムに動的に再割り当てするステップと
    を含む、方法。
  2. 前記モニターするステップが、前記ジョブに関連するランタイム統計情報を分析することを含む、請求項1記載の方法。
  3. 前記動的に再割り当てするステップが、前記1つのジョブに関連する優先レベルがしきい値を上回るときに実行される、請求項1または請求項2記載の方法。
  4. 前記モニターするステップが、
    前記ジョブに関連するランタイム統計情報を分析するサブステップと、
    1つまたは複数のハードウェア・アクセラレータ・リソースを前記第1の情報処理システムに再割り当てすると、前記1つのジョブが前記目標を満足する可能性が高まるかどうかを判断するサブステップと
    を含む、請求項1ないし3のいずれかに記載の方法。
  5. 前記動的に再割り当てするステップが、前記可能性がしきい値を上回る場合に実行される、請求項4記載の方法。
  6. 前記モニターするステップが、
    1つまたは複数のハードウェア・アクセラレータ・リソースが前記第1の情報処理システムに再割り当てされる場合に前記第1の情報処理システムが獲得する値と、前記1つまたは複数のハードウェア・アクセラレータ・リソースが前記第1の情報処理システムに再割り当てされる場合に前記第2の情報処理システムが喪失する値を比較するサブステップを含み、
    前記動的に再割り当てするステップが、前記第1の情報処理システムが獲得する前記値が前記第2の情報処理システムが喪失する前記値より高い場合に実行される、請求項1ないし5のいずれかに記載の方法。
  7. 前記動的に再割り当てするステップが、
    前記少なくとも1つのハードウェア・アクセラレータ・リソースに対して新しいジョブを発行するのを停止するよう前記第2の情報処理システムに指示するサブステップと、
    前記第2の情報処理システムによって前記少なくとも1つのハードウェア・アクセラレータ・リソースに発行された前記ジョブのすべてが完了した時期を判断するサブステップと
    を含む、請求項1ないし6のいずれかに記載の方法。
  8. アクセラレータ・リソースを動的に管理するための情報処理システムであって、前記情報処理システムが、
    メモリと、
    前記メモリに通信可能に結合されたプロセッサと、
    前記メモリおよび前記プロセッサに通信可能に結合された割り当てマネージャであって、
    初めに、第1の組のハードウェア・アクセラレータ・リソースを第1の情報処理システムに割り当て、第2の組のハードウェア・アクセラレータ・リソースを第2の情報処理システムに割り当て、
    前記第1および第2の情報処理システム上で実行される複数のジョブをモニターし、
    前記ジョブの1つが目標を満足し損なったときに、前記第2の組のハードウェア・アクセラレータ・リソース内の少なくとも1つのハードウェア・アクセラレータ・リソースを前記第2の情報処理システムから前記第1の情報処理システムに動的に再割り当てする
    ように構成される、割り当てマネージャと
    を含む、情報処理システム。
  9. 前記複数のジョブをモニターすることが、前記ジョブに関連するランタイム統計情報を分析することを含む、請求項8記載の情報処理システム。
  10. 前記動的に再割り当てすることが、前記1つのジョブに関連する優先レベルがしきい値を上回るときに実行される、請求項8または請求項9記載の情報処理システム。
  11. 前記複数のジョブをモニターすることが、
    前記ジョブに関連するランタイム統計情報を分析することと、
    1つまたは複数のハードウェア・アクセラレータ・リソースを前記第1の情報処理システムに再割り当てすると、前記1つのジョブが前記目標を満足する可能性が高まるかどうかを判断すること
    を含む、請求項8ないし10のいずれかに記載の情報処理システム。
  12. 前記動的に再割り当てすることが、前記可能性がしきい値を上回る場合に実行される、請求項11記載の情報処理システム。
  13. 前記複数のジョブをモニターすることが、
    1つまたは複数のハードウェア・アクセラレータ・リソースが前記第1の情報処理システムに再割り当てされる場合に前記第1の情報処理システムが獲得する値と、前記1つまたは複数のハードウェア・アクセラレータ・リソースが前記第1の情報処理システムに再割り当てされる場合に前記第2の情報処理システムが喪失する値を比較することを含み、
    前記動的に再割り当てすることが、前記第1の情報処理システムが獲得する前記値が前記第2の情報処理システムが喪失する前記値より高い場合に実行される、請求項8ないし12のいずれかに記載の情報処理システム。
  14. 前記動的に再割り当てすることが、
    前記少なくとも1つのハードウェア・アクセラレータ・リソースに対して新しいジョブを発行するのを停止するよう前記第2の情報処理システムに指示することと、
    前記第2の情報処理システムによって前記少なくとも1つのハードウェア・アクセラレータ・リソースに発行された前記ジョブのすべてが完了した時期を判断すること
    を含む、請求項8ないし13のいずれかに記載の情報処理システム。
  15. コンピュータ・システムにロードされ、そこで実行されたときに、請求項1ないし7のいずれかに記載の方法の前記ステップのすべてを前記コンピュータ・システムに実行させるコンピュータ・プログラム・コードを含むコンピュータ可読記憶媒体上に保管されたコンピュータ・プログラム。
JP2012545219A 2009-12-24 2010-12-14 アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム Active JP5744909B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/647,272 US8869160B2 (en) 2009-12-24 2009-12-24 Goal oriented performance management of workload utilizing accelerators
US12/647,272 2009-12-24
PCT/EP2010/069559 WO2011076608A2 (en) 2009-12-24 2010-12-14 Goal oriented performance management of workload utilizing accelerators

Publications (2)

Publication Number Publication Date
JP2013515991A true JP2013515991A (ja) 2013-05-09
JP5744909B2 JP5744909B2 (ja) 2015-07-08

Family

ID=44189095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012545219A Active JP5744909B2 (ja) 2009-12-24 2010-12-14 アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム

Country Status (7)

Country Link
US (1) US8869160B2 (ja)
JP (1) JP5744909B2 (ja)
KR (1) KR20120124386A (ja)
CN (1) CN102667724B (ja)
CA (1) CA2780231C (ja)
TW (1) TW201140451A (ja)
WO (1) WO2011076608A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016538621A (ja) * 2013-10-10 2016-12-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ハードウェア・アクセラレータの性能測定のための方法、装置、およびコンピュータ・プログラム
JP2019533249A (ja) * 2016-10-05 2019-11-14 パルテック・クラスター・コンペテンス・センター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングPartec Cluster Competence Center Gmbh 高性能のコンピューティングシステムおよび方法
JP2020047032A (ja) * 2018-09-20 2020-03-26 富士ゼロックス株式会社 情報処理装置、画像形成装置及びプログラム
JP2021511609A (ja) * 2018-01-23 2021-05-06 パルテック・クラスター・コンペテンス・センター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングPartec Cluster Competence Center Gmbh アプリケーションの実行中に決定される異種コンピューティングリソースの動的な割り当て

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2442228A1 (en) 2010-10-13 2012-04-18 Thomas Lippert A computer cluster arrangement for processing a computaton task and method for operation thereof
WO2012124125A1 (ja) * 2011-03-17 2012-09-20 富士通株式会社 システムおよびスケジューリング方法
US9448846B2 (en) 2011-12-13 2016-09-20 International Business Machines Corporation Dynamically configurable hardware queues for dispatching jobs to a plurality of hardware acceleration engines
US9626216B2 (en) 2012-05-09 2017-04-18 Nvidia Corporation Graphics processing unit sharing between many applications
US20130339978A1 (en) * 2012-06-13 2013-12-19 Advanced Micro Devices, Inc. Load balancing for heterogeneous systems
US9632822B2 (en) * 2012-09-21 2017-04-25 Htc Corporation Multi-core device and multi-thread scheduling method thereof
CN103888279A (zh) * 2012-12-20 2014-06-25 阿里巴巴集团控股有限公司 基于反馈控制循环的资源池动态管理的方法和系统
WO2016069038A1 (en) * 2014-10-30 2016-05-06 Hewlett Packard Enterprise Development Lp Policy based workload scaler
US9876713B2 (en) 2014-12-31 2018-01-23 International Business Machines Corporation Cross-domain service request placement in a software defined environment (SDE)
US10198294B2 (en) 2015-04-17 2019-02-05 Microsoft Licensing Technology, LLC Handling tenant requests in a system that uses hardware acceleration components
US10019270B2 (en) * 2015-08-19 2018-07-10 International Business Machines Corporation Enhanced computer performance based on selectable device capabilities
CN105159753B (zh) 2015-09-25 2018-09-28 华为技术有限公司 加速器虚拟化的方法、装置及集中资源管理器
CN105824706B (zh) * 2015-12-31 2020-11-06 华为技术有限公司 一种配置加速器的方法和装置
US20210004658A1 (en) * 2016-03-31 2021-01-07 SolidRun Ltd. System and method for provisioning of artificial intelligence accelerator (aia) resources
US10091904B2 (en) * 2016-07-22 2018-10-02 Intel Corporation Storage sled for data center
US10572310B2 (en) 2016-09-21 2020-02-25 International Business Machines Corporation Deploying and utilizing a software library and corresponding field programmable device binary
US10248466B2 (en) * 2016-09-21 2019-04-02 International Business Machines Corporation Managing workload distribution among processing systems based on field programmable devices
US10417012B2 (en) * 2016-09-21 2019-09-17 International Business Machines Corporation Reprogramming a field programmable device on-demand
US10599479B2 (en) 2016-09-21 2020-03-24 International Business Machines Corporation Resource sharing management of a field programmable device
US10355945B2 (en) 2016-09-21 2019-07-16 International Business Machines Corporation Service level management of a workload defined environment
US11487585B1 (en) * 2016-12-14 2022-11-01 Xilinx, Inc. Dynamic load balancing and configuration management for heterogeneous compute accelerators in a data center
EP3644180A4 (en) 2017-06-23 2020-06-17 Nokia Solutions and Networks Oy METHOD AND APPARATUS FOR MANAGING RESOURCES IN A PERIPHERAL CLOUD
US10585717B2 (en) * 2017-08-24 2020-03-10 International Business Machines Corporation Hybrid acceleration in a processing environment
US11275991B2 (en) 2018-04-04 2022-03-15 Nokia Technologies Oy Coordinated heterogeneous processing of training data for deep neural networks
US11144357B2 (en) * 2018-05-25 2021-10-12 International Business Machines Corporation Selecting hardware accelerators based on score
US10977098B2 (en) 2018-08-14 2021-04-13 International Business Machines Corporation Automatically deploying hardware accelerators based on requests from users
US11030012B2 (en) * 2018-09-28 2021-06-08 Intel Corporation Methods and apparatus for allocating a workload to an accelerator using machine learning
CN112997156A (zh) * 2018-10-22 2021-06-18 西门子工业软件有限公司 用于电子设计自动化操作的计算资源的动态分配
US11216314B2 (en) * 2018-11-02 2022-01-04 EMC IP Holding Company LLC Dynamic reallocation of resources in accelerator-as-a-service computing environment
US11275622B2 (en) * 2018-11-29 2022-03-15 International Business Machines Corporation Utilizing accelerators to accelerate data analytic workloads in disaggregated systems
US10892944B2 (en) 2018-11-29 2021-01-12 International Business Machines Corporation Selecting and using a cloud-based hardware accelerator
CN111459650B (zh) * 2019-01-21 2023-08-18 伊姆西Ip控股有限责任公司 管理专用处理资源的存储器的方法、设备和介质
US11681598B2 (en) * 2020-04-16 2023-06-20 Texas Instruments Incorporated Method and apparatus to facilitate low latency fault mitigation, QoS management and debug of a processing pipeline
CN114585057A (zh) * 2022-04-15 2022-06-03 南京星思半导体有限公司 小区搜索方法、装置、设备、存储介质、程序产品及终端

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003514270A (ja) * 1999-09-28 2003-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ環境におけるワークロード管理
JP2007108944A (ja) * 2005-10-12 2007-04-26 Renesas Technology Corp 半導体集積回路装置
JP2007328415A (ja) * 2006-06-06 2007-12-20 Univ Waseda ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
JP2008243203A (ja) * 2007-03-28 2008-10-09 Internatl Business Mach Corp <Ibm> 仮想化されたデータ処理環境におけるワークロード管理

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5473773A (en) 1994-04-04 1995-12-05 International Business Machines Corporation Apparatus and method for managing a data processing system workload according to two or more distinct processing goals
US5675739A (en) 1995-02-03 1997-10-07 International Business Machines Corporation Apparatus and method for managing a distributed data processing system workload according to a plurality of distinct processing goal types
US5974462A (en) 1997-03-28 1999-10-26 International Business Machines Corporation Method and apparatus for controlling the number of servers in a client/server system
US6192389B1 (en) * 1997-03-28 2001-02-20 International Business Machines Corporation Method and apparatus for transferring file descriptors in a multiprocess, multithreaded client/server system
US6230183B1 (en) 1998-03-11 2001-05-08 International Business Machines Corporation Method and apparatus for controlling the number of servers in a multisystem cluster
US6470478B1 (en) 1999-06-29 2002-10-22 International Business Machines Corporation Method and system for counting events within a simulation model
KR100727901B1 (ko) * 1999-07-10 2007-06-14 삼성전자주식회사 마이크로 스케듈링 방법 및 운영체제 커널 장치
US7051188B1 (en) * 1999-09-28 2006-05-23 International Business Machines Corporation Dynamically redistributing shareable resources of a computing environment to manage the workload of that environment
AU1614901A (en) 1999-11-18 2001-05-30 Quikcat.Com, Inc. Method and apparatus for controlling server networks
JP2002202959A (ja) * 2000-12-28 2002-07-19 Hitachi Ltd 動的な資源分配をする仮想計算機システム
US7451070B2 (en) 2005-04-08 2008-11-11 International Business Machines Optimal bus operation performance in a logic simulation environment
US20070055771A1 (en) * 2005-07-25 2007-03-08 International Business Machines Corporation Controlling workload of a computer system through only external monitoring
US7490223B2 (en) * 2005-10-31 2009-02-10 Sun Microsystems, Inc. Dynamic resource allocation among master processors that require service from a coprocessor
US8713574B2 (en) 2006-06-05 2014-04-29 International Business Machines Corporation Soft co-processors to provide a software service function off-load architecture in a multi-core processing environment
WO2009029496A1 (en) * 2007-08-24 2009-03-05 Yiping Ding Virtualization planning system
WO2010064277A1 (en) * 2008-12-03 2010-06-10 Hitachi, Ltd. Techniques for managing processor resource for a multi-processor server executing multiple operating systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003514270A (ja) * 1999-09-28 2003-04-15 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ環境におけるワークロード管理
JP2007108944A (ja) * 2005-10-12 2007-04-26 Renesas Technology Corp 半導体集積回路装置
JP2007328415A (ja) * 2006-06-06 2007-12-20 Univ Waseda ヘテロジニアス・マルチプロセッサシステムの制御方法及びマルチグレイン並列化コンパイラ
JP2008243203A (ja) * 2007-03-28 2008-10-09 Internatl Business Mach Corp <Ibm> 仮想化されたデータ処理環境におけるワークロード管理

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016538621A (ja) * 2013-10-10 2016-12-08 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation ハードウェア・アクセラレータの性能測定のための方法、装置、およびコンピュータ・プログラム
JP2019533249A (ja) * 2016-10-05 2019-11-14 パルテック・クラスター・コンペテンス・センター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングPartec Cluster Competence Center Gmbh 高性能のコンピューティングシステムおよび方法
JP2022050541A (ja) * 2016-10-05 2022-03-30 パルテック・クラスター・コンペテンス・センター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング 高性能のコンピューティングシステムおよび方法
JP7066694B2 (ja) 2016-10-05 2022-05-13 パルテック・クラスター・コンペテンス・センター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツング 高性能のコンピューティングシステムおよび方法
US11494245B2 (en) 2016-10-05 2022-11-08 Partec Cluster Competence Center Gmbh High performance computing system and method
JP7405876B2 (ja) 2016-10-05 2023-12-26 パルテック・アーゲー 高性能のコンピューティングシステムおよび方法
JP2021511609A (ja) * 2018-01-23 2021-05-06 パルテック・クラスター・コンペテンス・センター・ゲゼルシャフト・ミット・ベシュレンクテル・ハフツングPartec Cluster Competence Center Gmbh アプリケーションの実行中に決定される異種コンピューティングリソースの動的な割り当て
JP2020047032A (ja) * 2018-09-20 2020-03-26 富士ゼロックス株式会社 情報処理装置、画像形成装置及びプログラム
JP7139819B2 (ja) 2018-09-20 2022-09-21 富士フイルムビジネスイノベーション株式会社 情報処理装置、画像形成装置及びプログラム

Also Published As

Publication number Publication date
US20110161972A1 (en) 2011-06-30
CA2780231A1 (en) 2011-06-30
WO2011076608A2 (en) 2011-06-30
CN102667724B (zh) 2016-07-06
KR20120124386A (ko) 2012-11-13
US8869160B2 (en) 2014-10-21
TW201140451A (en) 2011-11-16
WO2011076608A3 (en) 2011-09-22
CN102667724A (zh) 2012-09-12
CA2780231C (en) 2018-05-29
JP5744909B2 (ja) 2015-07-08

Similar Documents

Publication Publication Date Title
JP5744909B2 (ja) アクセラレータ・リソースを動的に管理するための方法、情報処理システム、およびコンピュータ・プログラム
US10733026B2 (en) Automated workflow selection
Grandl et al. Multi-resource packing for cluster schedulers
US10387202B2 (en) Quality of service implementation in a networked storage system with hierarchical schedulers
JP3823098B2 (ja) グリッド計算ワークロードをネットワーク・ワークステーションに割り当てるためのシステムおよび方法
JP5853624B2 (ja) ワークロード・メタデータの生成、分析、及び利用のための方法、プログラム、及びシステム
US7958509B2 (en) Method and system for scheduling of jobs
JP5040773B2 (ja) メモリバッファ割当装置およびプログラム
US20050210472A1 (en) Method and data processing system for per-chip thread queuing in a multi-processor system
Chatzistergiou et al. Fast heuristics for near-optimal task allocation in data stream processing over clusters
US20070169127A1 (en) Method, system and computer program product for optimizing allocation of resources on partitions of a data processing system
US20080109817A1 (en) Schedule control program and schedule control method
JP2015146154A (ja) ジョブスケジューリング装置、ジョブスケジューリング方法、およびジョブスケジューリングプログラム
US8090903B2 (en) Fair and dynamic disk input/output bandwidth distribution
JP2013509637A (ja) Cpuの仮想化を支援することが可能なコンピュータサーバ
Xu et al. Prophet: Scheduling executors with time-varying resource demands on data-parallel computation frameworks
US8819239B2 (en) Distributed resource management systems and methods for resource management thereof
US20110154357A1 (en) Storage Management In A Data Processing System
US10185384B2 (en) Reducing power by vacating subsets of CPUs and memory
CN111625339A (zh) 集群资源调度方法、装置、介质和计算设备
Weng et al. Beware of Fragmentation: Scheduling {GPU-Sharing} Workloads with Fragmentation Gradient Descent
Yao et al. OpERA: opportunistic and efficient resource allocation in Hadoop YARN by harnessing idle resources
Divya et al. Workload characteristics and resource aware Hadoop scheduler
CN115658295A (zh) 资源调度方法、装置、电子设备和存储介质
CN111338782A (zh) 面向共享式突发数据缓存的基于竞争感知的节点分配方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131004

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141219

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150305

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150305

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20150305

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150306

TRDD Decision of grant or rejection written
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20150410

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20150410

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150410

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150430

R150 Certificate of patent or registration of utility model

Ref document number: 5744909

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150